7 changed files with 128 additions and 2 deletions
@ -0,0 +1,87 @@ |
|||
import type { Linter } from 'eslint'; |
|||
|
|||
import { interopDefault } from '../util'; |
|||
|
|||
export async function yaml(): Promise<Linter.Config[]> { |
|||
const [pluginYaml, parserYaml] = await Promise.all([ |
|||
interopDefault(import('eslint-plugin-yml')), |
|||
interopDefault(import('yaml-eslint-parser')), |
|||
] as const); |
|||
|
|||
return [ |
|||
{ |
|||
files: ['**/*.y?(a)ml'], |
|||
plugins: { |
|||
yaml: pluginYaml as any, |
|||
}, |
|||
languageOptions: { |
|||
parser: parserYaml, |
|||
}, |
|||
rules: { |
|||
'style/spaced-comment': 'off', |
|||
|
|||
'yaml/block-mapping': 'error', |
|||
'yaml/block-sequence': 'error', |
|||
'yaml/no-empty-key': 'error', |
|||
'yaml/no-empty-sequence-entry': 'error', |
|||
'yaml/no-irregular-whitespace': 'error', |
|||
'yaml/plain-scalar': 'error', |
|||
|
|||
'yaml/vue-custom-block/no-parsing-error': 'error', |
|||
|
|||
'yaml/block-mapping-question-indicator-newline': 'error', |
|||
'yaml/block-sequence-hyphen-indicator-newline': 'error', |
|||
'yaml/flow-mapping-curly-newline': 'error', |
|||
'yaml/flow-mapping-curly-spacing': 'error', |
|||
'yaml/flow-sequence-bracket-newline': 'error', |
|||
'yaml/flow-sequence-bracket-spacing': 'error', |
|||
'yaml/indent': ['error', 2], |
|||
'yaml/key-spacing': 'error', |
|||
'yaml/no-tab-indent': 'error', |
|||
'yaml/quotes': [ |
|||
'error', |
|||
{ |
|||
avoidEscape: true, |
|||
prefer: 'single', |
|||
}, |
|||
], |
|||
'yaml/spaced-comment': 'error', |
|||
}, |
|||
}, |
|||
{ |
|||
files: ['pnpm-workspace.yaml'], |
|||
rules: { |
|||
'yaml/sort-keys': [ |
|||
'error', |
|||
{ |
|||
order: [ |
|||
'packages', |
|||
'overrides', |
|||
'patchedDependencies', |
|||
'hoistPattern', |
|||
'catalog', |
|||
'catalogs', |
|||
|
|||
'allowedDeprecatedVersions', |
|||
'allowNonAppliedPatches', |
|||
'configDependencies', |
|||
'ignoredBuiltDependencies', |
|||
'ignoredOptionalDependencies', |
|||
'neverBuiltDependencies', |
|||
'onlyBuiltDependencies', |
|||
'onlyBuiltDependenciesFile', |
|||
'packageExtensions', |
|||
'peerDependencyRules', |
|||
'supportedArchitectures', |
|||
], |
|||
pathPattern: '^$', |
|||
}, |
|||
{ |
|||
order: { type: 'asc' }, |
|||
pathPattern: '.*', |
|||
}, |
|||
], |
|||
}, |
|||
}, |
|||
]; |
|||
} |
|||
Loading…
Reference in new issue