| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- 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,
- },
- 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: '.*',
- },
- ],
- },
- },
- ];
- }
|