Ultracite — это надежная конфигурация проверки для современных приложений TypeScript, созданная на основе Biome. Он невероятно упрям и строг, обеспечивая максимальную безопасность типов и качество кода. После настройки Ultracite он автоматически проверит, исправит и отформатирует ваш код при сохранении.
Запустите команду ниже, чтобы установить Ultracite:
pnpm add -D --save-exact ultracite @biomejs/biome
Если вы используете VS Code, убедитесь, что у вас установлены следующие расширения:
code --install-extension biomejs.biome
code --install-extension bradlc.vscode-tailwindcss
Создайте biome.json
со следующим содержимым:
{ "extends" : [ " ultracite " ] }
Ultracite предназначен для использования с VS Code. Создайте файл .vscode/settings.json
со следующим содержимым, чтобы включить полное форматирование и исправление при сохранении:
{
"typescript.tsdk" : " node_modules/typescript/lib " ,
"editor.defaultFormatter" : " biomejs.biome " ,
"editor.formatOnSave" : true ,
"editor.formatOnPaste" : true ,
"emmet.showExpandedAbbreviation" : " never " ,
"editor.codeActionsOnSave" : {
"quickfix.biome" : " explicit " ,
"source.organizeImports.biome" : " explicit "
},
"[typescript]" : {
"editor.defaultFormatter" : " biomejs.biome "
},
"[json]" : {
"editor.defaultFormatter" : " biomejs.biome "
},
"[javascript]" : {
"editor.defaultFormatter" : " biomejs.biome "
},
"[jsonc]" : {
"editor.defaultFormatter" : " biomejs.biome "
},
"[typescriptreact]" : {
"editor.defaultFormatter" : " biomejs.biome "
}
}
Наконец, убедитесь, что ваш tsconfig.json
(если он существует) включает вашу новую конфигурацию ESLint и включена функция strictNullChecks
.
{
"compilerOptions" : {
"strictNullChecks" : true
}
}
Ultracite автоматически проверит, исправит и отформатирует ваш код при сохранении. Если вы хотите запустить Ultracite вручную, вы можете сделать это с помощью следующей команды:
npx ultracite
Хотя Ultracite спроектирован так, чтобы не требовать настройки, вы можете изменить все, что захотите, в своем файле biome.json
. Например, чтобы включить правило noAutofocus
, вы можете сделать следующее:
{
"extends" : [ " ultracite " ],
"linter" : {
"rules" : {
"a11y" : {
"noAutofocus" : " off "
}
}
}
}
Вы также можете отключить правила для каждой строки, добавив комментарий в конец строки:
// biome-ignore lint/security/noDangerouslySetInnerHtml: I do what I want mate.
< div dangerouslySetInnerHTML = { { ... } } / >
Ultracite ранее был построен на ESLint, Prettier и Stylelint. Если вы хотите использовать этот стек, вы можете установить совместимую версию Ultracite с помощью следующей команды:
pnpm add -D ultracite@3 eslint@8 prettier stylelint typescript jest