@standard-config/oxlint 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -41,6 +41,7 @@ const config = {
41
41
  "eslint/grouped-accessor-pairs": ["error", "getBeforeSet"],
42
42
  "eslint/id-length": "off",
43
43
  "eslint/init-declarations": "off",
44
+ "eslint/max-depth": "off",
44
45
  "eslint/max-lines": "off",
45
46
  "eslint/max-lines-per-function": "off",
46
47
  "eslint/max-params": "off",
@@ -214,7 +215,7 @@ function mergeConfig(baseConfig, extensionConfig) {
214
215
  continue;
215
216
  }
216
217
  if (isArray(value) && isArray(result[key])) {
217
- result[key] = [...result[key], ...value];
218
+ result[key] = [...new Set([...result[key], ...value])];
218
219
  continue;
219
220
  }
220
221
  result[key] = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["config","config","config","clone","oxlintDefineConfig","configBase","configTypeDefinitions","configTestFiles","configConfigFiles","config"],"sources":["../src/config-base/index.ts","../src/config-config-files/index.ts","../src/config-test-files/index.ts","../src/config-type-definitions/index.ts","../src/clone/index.ts","../src/merge-config/index.ts","../src/define-config/index.ts"],"sourcesContent":["import type { LinterConfigEntry } from '../types/index.js';\n\nconst config: LinterConfigEntry = {\n\tplugins: [\n\t\t'eslint',\n\t\t'import',\n\t\t'jest',\n\t\t'node',\n\t\t'oxc',\n\t\t'promise',\n\t\t'typescript',\n\t\t'unicorn',\n\t\t'vitest',\n\t],\n\tcategories: {\n\t\tcorrectness: 'error',\n\t\tpedantic: 'error',\n\t\tperf: 'error',\n\t\trestriction: 'error',\n\t\tstyle: 'error',\n\t\tsuspicious: 'error',\n\t},\n\tenv: {\n\t\tbrowser: true,\n\t\tnode: true,\n\t},\n\tsettings: {\n\t\tvitest: {\n\t\t\ttypecheck: true,\n\t\t},\n\t},\n\trules: {\n\t\t'eslint/accessor-pairs': ['error', { enforceForClassMembers: true }],\n\t\t'eslint/array-callback-return': ['error', { allowImplicit: true }],\n\t\t'eslint/arrow-body-style': 'off',\n\t\t'eslint/capitalized-comments': 'off',\n\t\t'eslint/func-names': 'off',\n\t\t'eslint/func-style': [\n\t\t\t'error',\n\t\t\t'declaration',\n\t\t\t{ allowArrowFunctions: true },\n\t\t],\n\t\t'eslint/grouped-accessor-pairs': ['error', 'getBeforeSet'],\n\t\t'eslint/id-length': 'off',\n\t\t'eslint/init-declarations': 'off',\n\t\t'eslint/max-lines': 'off',\n\t\t'eslint/max-lines-per-function': 'off',\n\t\t'eslint/max-params': 'off',\n\t\t'eslint/max-statements': 'off',\n\t\t'eslint/new-cap': 'off',\n\t\t'eslint/no-await-in-loop': 'off',\n\t\t'eslint/no-continue': 'off',\n\t\t'eslint/no-duplicate-imports': 'off',\n\t\t'eslint/no-else-return': ['error', { allowElseIf: false }],\n\t\t'eslint/no-empty': ['error', { allowEmptyCatch: true }],\n\t\t'eslint/no-magic-numbers': 'off',\n\t\t'eslint/no-return-assign': ['error', 'always'],\n\t\t'eslint/no-self-assign': ['error', { props: true }],\n\t\t'eslint/no-ternary': 'off',\n\t\t'eslint/no-undefined': 'off',\n\t\t'eslint/no-unsafe-negation': [\n\t\t\t'error',\n\t\t\t{ enforceForOrderingRelations: true },\n\t\t],\n\t\t'eslint/no-unsafe-optional-chaining': [\n\t\t\t'error',\n\t\t\t{ disallowArithmeticOperators: true },\n\t\t],\n\t\t'eslint/no-unused-expressions': ['error', { enforceForJSX: true }],\n\t\t'eslint/no-unused-vars': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\targsIgnorePattern: '^_',\n\t\t\t\tcaughtErrorsIgnorePattern: '^_',\n\t\t\t\tdestructuredArrayIgnorePattern: '^_',\n\t\t\t\tvarsIgnorePattern: '^_',\n\t\t\t},\n\t\t],\n\t\t'eslint/no-void': 'off',\n\t\t'eslint/prefer-destructuring': [\n\t\t\t'error',\n\t\t\t{ enforceForRenamedProperties: false },\n\t\t],\n\t\t'eslint/prefer-promise-reject-errors': 'off',\n\t\t'eslint/require-await': 'off',\n\t\t'eslint/sort-imports': 'off',\n\t\t'eslint/sort-keys': 'off',\n\t\t'eslint/valid-typeof': ['error', { requireStringLiterals: false }],\n\t\t'import/exports-last': 'off',\n\t\t'import/group-exports': 'off',\n\t\t'import/max-dependencies': 'off',\n\t\t'import/no-default-export': 'off',\n\t\t'import/no-named-export': 'off',\n\t\t'import/no-namespace': 'off',\n\t\t'import/no-nodejs-modules': 'off',\n\t\t'import/no-relative-parent-imports': 'off',\n\t\t'import/unambiguous': 'warn',\n\t\t'node/no-process-env': 'off',\n\t\t'oxc/no-async-await': 'off',\n\t\t'oxc/no-optional-chaining': 'off',\n\t\t'oxc/no-rest-spread-properties': 'off',\n\t\t'promise/avoid-new': 'off',\n\t\t'promise/prefer-await-to-callbacks': 'off',\n\t\t'typescript/array-type': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tdefault: 'array-simple',\n\t\t\t\treadonly: 'generic',\n\t\t\t},\n\t\t],\n\t\t'typescript/ban-ts-comment': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\t'ts-check': true,\n\t\t\t\t'ts-expect-error': false,\n\t\t\t\t'ts-ignore': true,\n\t\t\t\t'ts-nocheck': true,\n\t\t\t},\n\t\t],\n\t\t'typescript/consistent-type-definitions': ['error', 'type'],\n\t\t'typescript/consistent-type-imports': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tfixStyle: 'separate-type-imports',\n\t\t\t\tprefer: 'type-imports',\n\t\t\t},\n\t\t],\n\t\t'typescript/explicit-function-return-type': 'off',\n\t\t'typescript/no-confusing-void-expression': [\n\t\t\t'error',\n\t\t\t{ ignoreArrowShorthand: true },\n\t\t],\n\t\t'typescript/no-explicit-any': 'off',\n\t\t'typescript/no-misused-promises': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tchecksConditionals: true,\n\t\t\t\tchecksVoidReturn: false,\n\t\t\t},\n\t\t],\n\t\t'typescript/no-namespace': ['error', { allowDeclarations: true }],\n\t\t'typescript/no-non-null-assertion': 'off',\n\t\t'typescript/no-restricted-types': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\ttypes: {\n\t\t\t\t\t'[]': true,\n\t\t\t\t\t'null': true,\n\t\t\t\t\t'object': true,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t'typescript/no-unsafe-type-assertion': 'off',\n\t\t'typescript/only-throw-error': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tallowThrowingAny: false,\n\t\t\t\tallowThrowingUnknown: true,\n\t\t\t},\n\t\t],\n\t\t'typescript/prefer-nullish-coalescing': [\n\t\t\t'error',\n\t\t\t{ ignoreConditionalTests: false },\n\t\t],\n\t\t'typescript/prefer-promise-reject-errors': 'off',\n\t\t'typescript/require-array-sort-compare': [\n\t\t\t'error',\n\t\t\t{ ignoreStringArrays: true },\n\t\t],\n\t\t'typescript/require-await': 'warn',\n\t\t'typescript/restrict-template-expressions': [\n\t\t\t'error',\n\t\t\t{ allowNumber: true },\n\t\t],\n\t\t'typescript/strict-boolean-expressions': 'off',\n\t\t'typescript/switch-exhaustiveness-check': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tallowDefaultCaseForExhaustiveSwitch: false,\n\t\t\t\tconsiderDefaultExhaustiveForUnions: true,\n\t\t\t\trequireDefaultForNonUnion: true,\n\t\t\t},\n\t\t],\n\t\t'typescript/unbound-method': 'off',\n\t\t'unicorn/no-array-callback-reference': 'off',\n\t\t'unicorn/no-empty-file': 'warn',\n\t\t'unicorn/no-null': 'off',\n\t\t'unicorn/no-single-promise-in-promise-methods': 'off',\n\t\t'unicorn/no-useless-undefined': 'off',\n\t\t'unicorn/prefer-bigint-literals': 'off',\n\t\t'vitest/consistent-test-filename': 'off',\n\t\t'vitest/require-hook': 'off',\n\t},\n};\n\nexport default config;\n","import type { LinterConfigOverrideEntry } from '../types/index.d.ts';\n\nconst config: LinterConfigOverrideEntry = {\n\trules: {\n\t\t'import/no-anonymous-default-export': ['error', { allowObject: true }],\n\t\t'import/unambiguous': 'off',\n\t\t'unicorn/no-empty-file': 'off',\n\t},\n};\n\nexport default config;\n","import type { LinterConfigOverrideEntry } from '../types/index.d.ts';\n\nconst config: LinterConfigOverrideEntry = {\n\trules: {\n\t\t'eslint/no-alert': 'off',\n\t\t'import/unambiguous': 'off',\n\t\t'promise/prefer-await-to-then': 'off',\n\t\t'typescript/ban-ts-comment': 'off',\n\t\t'typescript/no-confusing-void-expression': 'off',\n\t\t'typescript/no-empty-function': 'off',\n\t\t'typescript/no-extraneous-class': 'off',\n\t\t'typescript/no-unsafe-assignment': 'off',\n\t\t'typescript/no-unsafe-member-access': 'off',\n\t\t'unicorn/consistent-function-scoping': 'off',\n\t\t'unicorn/error-message': 'off',\n\t\t'unicorn/no-empty-file': 'off',\n\t\t'vitest/consistent-test-it': 'off',\n\t\t'vitest/max-expects': 'off',\n\t\t'vitest/no-alias-methods': 'off',\n\t\t'vitest/no-conditional-tests': 'off',\n\t\t'vitest/no-hooks': 'off',\n\t\t'vitest/prefer-called-once': 'off',\n\t\t'vitest/prefer-called-with': 'off',\n\t\t'vitest/prefer-lowercase-title': 'off',\n\t\t'vitest/prefer-spy-on': 'off',\n\t\t'vitest/prefer-to-be-falsy': 'off',\n\t\t'vitest/prefer-to-be-truthy': 'off',\n\t\t'vitest/require-top-level-describe': 'off',\n\t},\n};\n\nexport default config;\n","import type { LinterConfigOverrideEntry } from '../types/index.d.ts';\n\nconst config: LinterConfigOverrideEntry = {\n\trules: {\n\t\t'import/no-empty-named-blocks': 'off',\n\t\t'import/no-unassigned-import': 'off',\n\t\t'import/prefer-default-export': 'off',\n\t\t'import/unambiguous': 'off',\n\t\t'typescript/consistent-type-definitions': 'off',\n\t\t'typescript/no-empty-interface': 'off',\n\t\t'typescript/no-empty-object-type': 'off',\n\t\t'typescript/no-restricted-types': 'off',\n\t\t'unicorn/require-module-specifiers': 'off',\n\t},\n};\n\nexport default config;\n","import defineClone from 'rfdc';\n\nexport default defineClone({ circles: true });\n","/* oxlint-disable eslint/no-unsafe-member-access */\n\nimport type { OxlintConfig } from 'oxlint';\nimport clone from '../clone/index.ts';\n\nexport default function mergeConfig(\n\tbaseConfig: OxlintConfig,\n\textensionConfig: OxlintConfig\n): OxlintConfig {\n\tif (!(isObject(baseConfig) && isObject(extensionConfig))) {\n\t\tthrow new TypeError(\n\t\t\t'Standard Config error: expected config to be an object'\n\t\t);\n\t}\n\n\tconst result = clone(baseConfig);\n\n\tfor (const [key, value] of Object.entries(\n\t\tclone(extensionConfig)\n\t) as ReadonlyArray<[keyof OxlintConfig, unknown]>) {\n\t\tif (value === undefined || value === null) {\n\t\t\t/* oxlint-disable-next-line typescript/no-dynamic-delete */\n\t\t\tdelete result[key];\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (result[key] === undefined) {\n\t\t\t(result as any)[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isArray(value) && isArray(result[key])) {\n\t\t\t(result as any)[key] = [...result[key], ...value];\n\t\t\tcontinue;\n\t\t}\n\n\t\t/* oxlint-disable-next-line typescript/no-misused-spread */\n\t\t(result as any)[key] = { ...result[key], ...value };\n\t}\n\n\treturn result;\n}\n\nfunction isArray(value: unknown): value is unknown[] {\n\treturn Array.isArray(value);\n}\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === 'object' && value !== null;\n}\n","import type { OxlintConfig } from 'oxlint';\nimport { defineConfig as oxlintDefineConfig } from 'oxlint';\nimport configBase from '../config-base/index.ts';\nimport configConfigFiles from '../config-config-files/index.ts';\nimport configTestFiles from '../config-test-files/index.ts';\nimport configTypeDefinitions from '../config-type-definitions/index.ts';\nimport mergeConfig from '../merge-config/index.ts';\n\nexport default function defineConfig(config: OxlintConfig = {}): OxlintConfig {\n\tconst baseConfig: OxlintConfig = {\n\t\t...configBase,\n\t\toverrides: [\n\t\t\t{\n\t\t\t\tfiles: ['**/*.d.{ts,cts,mts}'],\n\t\t\t\t...configTypeDefinitions,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfiles: ['**/*.test.{ts,tsx,cts,mts}'],\n\t\t\t\t...configTestFiles,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfiles: ['**/*.config.{ts,cts,mts}', '**/*.setup.{ts,cts,mts}'],\n\t\t\t\t...configConfigFiles,\n\t\t\t},\n\t\t],\n\t};\n\n\tconst extendedConfig = mergeConfig(baseConfig, config);\n\treturn oxlintDefineConfig(extendedConfig);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["config","config","config","clone","oxlintDefineConfig","configBase","configTypeDefinitions","configTestFiles","configConfigFiles","config"],"sources":["../src/config-base/index.ts","../src/config-config-files/index.ts","../src/config-test-files/index.ts","../src/config-type-definitions/index.ts","../src/clone/index.ts","../src/merge-config/index.ts","../src/define-config/index.ts"],"sourcesContent":["import type { LinterConfigEntry } from '../types/index.js';\n\nconst config: LinterConfigEntry = {\n\tplugins: [\n\t\t'eslint',\n\t\t'import',\n\t\t'jest',\n\t\t'node',\n\t\t'oxc',\n\t\t'promise',\n\t\t'typescript',\n\t\t'unicorn',\n\t\t'vitest',\n\t],\n\tcategories: {\n\t\tcorrectness: 'error',\n\t\tpedantic: 'error',\n\t\tperf: 'error',\n\t\trestriction: 'error',\n\t\tstyle: 'error',\n\t\tsuspicious: 'error',\n\t},\n\tenv: {\n\t\tbrowser: true,\n\t\tnode: true,\n\t},\n\tsettings: {\n\t\tvitest: {\n\t\t\ttypecheck: true,\n\t\t},\n\t},\n\trules: {\n\t\t'eslint/accessor-pairs': ['error', { enforceForClassMembers: true }],\n\t\t'eslint/array-callback-return': ['error', { allowImplicit: true }],\n\t\t'eslint/arrow-body-style': 'off',\n\t\t'eslint/capitalized-comments': 'off',\n\t\t'eslint/func-names': 'off',\n\t\t'eslint/func-style': [\n\t\t\t'error',\n\t\t\t'declaration',\n\t\t\t{ allowArrowFunctions: true },\n\t\t],\n\t\t'eslint/grouped-accessor-pairs': ['error', 'getBeforeSet'],\n\t\t'eslint/id-length': 'off',\n\t\t'eslint/init-declarations': 'off',\n\t\t'eslint/max-depth': 'off',\n\t\t'eslint/max-lines': 'off',\n\t\t'eslint/max-lines-per-function': 'off',\n\t\t'eslint/max-params': 'off',\n\t\t'eslint/max-statements': 'off',\n\t\t'eslint/new-cap': 'off',\n\t\t'eslint/no-await-in-loop': 'off',\n\t\t'eslint/no-continue': 'off',\n\t\t'eslint/no-duplicate-imports': 'off',\n\t\t'eslint/no-else-return': ['error', { allowElseIf: false }],\n\t\t'eslint/no-empty': ['error', { allowEmptyCatch: true }],\n\t\t'eslint/no-magic-numbers': 'off',\n\t\t'eslint/no-return-assign': ['error', 'always'],\n\t\t'eslint/no-self-assign': ['error', { props: true }],\n\t\t'eslint/no-ternary': 'off',\n\t\t'eslint/no-undefined': 'off',\n\t\t'eslint/no-unsafe-negation': [\n\t\t\t'error',\n\t\t\t{ enforceForOrderingRelations: true },\n\t\t],\n\t\t'eslint/no-unsafe-optional-chaining': [\n\t\t\t'error',\n\t\t\t{ disallowArithmeticOperators: true },\n\t\t],\n\t\t'eslint/no-unused-expressions': ['error', { enforceForJSX: true }],\n\t\t'eslint/no-unused-vars': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\targsIgnorePattern: '^_',\n\t\t\t\tcaughtErrorsIgnorePattern: '^_',\n\t\t\t\tdestructuredArrayIgnorePattern: '^_',\n\t\t\t\tvarsIgnorePattern: '^_',\n\t\t\t},\n\t\t],\n\t\t'eslint/no-void': 'off',\n\t\t'eslint/prefer-destructuring': [\n\t\t\t'error',\n\t\t\t{ enforceForRenamedProperties: false },\n\t\t],\n\t\t'eslint/prefer-promise-reject-errors': 'off',\n\t\t'eslint/require-await': 'off',\n\t\t'eslint/sort-imports': 'off',\n\t\t'eslint/sort-keys': 'off',\n\t\t'eslint/valid-typeof': ['error', { requireStringLiterals: false }],\n\t\t'import/exports-last': 'off',\n\t\t'import/group-exports': 'off',\n\t\t'import/max-dependencies': 'off',\n\t\t'import/no-default-export': 'off',\n\t\t'import/no-named-export': 'off',\n\t\t'import/no-namespace': 'off',\n\t\t'import/no-nodejs-modules': 'off',\n\t\t'import/no-relative-parent-imports': 'off',\n\t\t'import/unambiguous': 'warn',\n\t\t'node/no-process-env': 'off',\n\t\t'oxc/no-async-await': 'off',\n\t\t'oxc/no-optional-chaining': 'off',\n\t\t'oxc/no-rest-spread-properties': 'off',\n\t\t'promise/avoid-new': 'off',\n\t\t'promise/prefer-await-to-callbacks': 'off',\n\t\t'typescript/array-type': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tdefault: 'array-simple',\n\t\t\t\treadonly: 'generic',\n\t\t\t},\n\t\t],\n\t\t'typescript/ban-ts-comment': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\t'ts-check': true,\n\t\t\t\t'ts-expect-error': false,\n\t\t\t\t'ts-ignore': true,\n\t\t\t\t'ts-nocheck': true,\n\t\t\t},\n\t\t],\n\t\t'typescript/consistent-type-definitions': ['error', 'type'],\n\t\t'typescript/consistent-type-imports': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tfixStyle: 'separate-type-imports',\n\t\t\t\tprefer: 'type-imports',\n\t\t\t},\n\t\t],\n\t\t'typescript/explicit-function-return-type': 'off',\n\t\t'typescript/no-confusing-void-expression': [\n\t\t\t'error',\n\t\t\t{ ignoreArrowShorthand: true },\n\t\t],\n\t\t'typescript/no-explicit-any': 'off',\n\t\t'typescript/no-misused-promises': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tchecksConditionals: true,\n\t\t\t\tchecksVoidReturn: false,\n\t\t\t},\n\t\t],\n\t\t'typescript/no-namespace': ['error', { allowDeclarations: true }],\n\t\t'typescript/no-non-null-assertion': 'off',\n\t\t'typescript/no-restricted-types': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\ttypes: {\n\t\t\t\t\t'[]': true,\n\t\t\t\t\t'null': true,\n\t\t\t\t\t'object': true,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t'typescript/no-unsafe-type-assertion': 'off',\n\t\t'typescript/only-throw-error': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tallowThrowingAny: false,\n\t\t\t\tallowThrowingUnknown: true,\n\t\t\t},\n\t\t],\n\t\t'typescript/prefer-nullish-coalescing': [\n\t\t\t'error',\n\t\t\t{ ignoreConditionalTests: false },\n\t\t],\n\t\t'typescript/prefer-promise-reject-errors': 'off',\n\t\t'typescript/require-array-sort-compare': [\n\t\t\t'error',\n\t\t\t{ ignoreStringArrays: true },\n\t\t],\n\t\t'typescript/require-await': 'warn',\n\t\t'typescript/restrict-template-expressions': [\n\t\t\t'error',\n\t\t\t{ allowNumber: true },\n\t\t],\n\t\t'typescript/strict-boolean-expressions': 'off',\n\t\t'typescript/switch-exhaustiveness-check': [\n\t\t\t'error',\n\t\t\t{\n\t\t\t\tallowDefaultCaseForExhaustiveSwitch: false,\n\t\t\t\tconsiderDefaultExhaustiveForUnions: true,\n\t\t\t\trequireDefaultForNonUnion: true,\n\t\t\t},\n\t\t],\n\t\t'typescript/unbound-method': 'off',\n\t\t'unicorn/no-array-callback-reference': 'off',\n\t\t'unicorn/no-empty-file': 'warn',\n\t\t'unicorn/no-null': 'off',\n\t\t'unicorn/no-single-promise-in-promise-methods': 'off',\n\t\t'unicorn/no-useless-undefined': 'off',\n\t\t'unicorn/prefer-bigint-literals': 'off',\n\t\t'vitest/consistent-test-filename': 'off',\n\t\t'vitest/require-hook': 'off',\n\t},\n};\n\nexport default config;\n","import type { LinterConfigOverrideEntry } from '../types/index.d.ts';\n\nconst config: LinterConfigOverrideEntry = {\n\trules: {\n\t\t'import/no-anonymous-default-export': ['error', { allowObject: true }],\n\t\t'import/unambiguous': 'off',\n\t\t'unicorn/no-empty-file': 'off',\n\t},\n};\n\nexport default config;\n","import type { LinterConfigOverrideEntry } from '../types/index.d.ts';\n\nconst config: LinterConfigOverrideEntry = {\n\trules: {\n\t\t'eslint/no-alert': 'off',\n\t\t'import/unambiguous': 'off',\n\t\t'promise/prefer-await-to-then': 'off',\n\t\t'typescript/ban-ts-comment': 'off',\n\t\t'typescript/no-confusing-void-expression': 'off',\n\t\t'typescript/no-empty-function': 'off',\n\t\t'typescript/no-extraneous-class': 'off',\n\t\t'typescript/no-unsafe-assignment': 'off',\n\t\t'typescript/no-unsafe-member-access': 'off',\n\t\t'unicorn/consistent-function-scoping': 'off',\n\t\t'unicorn/error-message': 'off',\n\t\t'unicorn/no-empty-file': 'off',\n\t\t'vitest/consistent-test-it': 'off',\n\t\t'vitest/max-expects': 'off',\n\t\t'vitest/no-alias-methods': 'off',\n\t\t'vitest/no-conditional-tests': 'off',\n\t\t'vitest/no-hooks': 'off',\n\t\t'vitest/prefer-called-once': 'off',\n\t\t'vitest/prefer-called-with': 'off',\n\t\t'vitest/prefer-lowercase-title': 'off',\n\t\t'vitest/prefer-spy-on': 'off',\n\t\t'vitest/prefer-to-be-falsy': 'off',\n\t\t'vitest/prefer-to-be-truthy': 'off',\n\t\t'vitest/require-top-level-describe': 'off',\n\t},\n};\n\nexport default config;\n","import type { LinterConfigOverrideEntry } from '../types/index.d.ts';\n\nconst config: LinterConfigOverrideEntry = {\n\trules: {\n\t\t'import/no-empty-named-blocks': 'off',\n\t\t'import/no-unassigned-import': 'off',\n\t\t'import/prefer-default-export': 'off',\n\t\t'import/unambiguous': 'off',\n\t\t'typescript/consistent-type-definitions': 'off',\n\t\t'typescript/no-empty-interface': 'off',\n\t\t'typescript/no-empty-object-type': 'off',\n\t\t'typescript/no-restricted-types': 'off',\n\t\t'unicorn/require-module-specifiers': 'off',\n\t},\n};\n\nexport default config;\n","import defineClone from 'rfdc';\n\nexport default defineClone({ circles: true });\n","/* oxlint-disable eslint/no-unsafe-member-access */\n\nimport type { OxlintConfig } from 'oxlint';\nimport clone from '../clone/index.ts';\n\nexport default function mergeConfig(\n\tbaseConfig: OxlintConfig,\n\textensionConfig: OxlintConfig\n): OxlintConfig {\n\tif (!(isObject(baseConfig) && isObject(extensionConfig))) {\n\t\tthrow new TypeError(\n\t\t\t'Standard Config error: expected config to be an object'\n\t\t);\n\t}\n\n\tconst result = clone(baseConfig);\n\n\tfor (const [key, value] of Object.entries(\n\t\tclone(extensionConfig)\n\t) as ReadonlyArray<[keyof OxlintConfig, unknown]>) {\n\t\tif (value === undefined || value === null) {\n\t\t\t/* oxlint-disable-next-line typescript/no-dynamic-delete */\n\t\t\tdelete result[key];\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (result[key] === undefined) {\n\t\t\t(result as any)[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isArray(value) && isArray(result[key])) {\n\t\t\t(result as any)[key] = [...new Set([...result[key], ...value])];\n\t\t\tcontinue;\n\t\t}\n\n\t\t/* oxlint-disable-next-line typescript/no-misused-spread */\n\t\t(result as any)[key] = { ...result[key], ...value };\n\t}\n\n\treturn result;\n}\n\nfunction isArray(value: unknown): value is unknown[] {\n\treturn Array.isArray(value);\n}\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === 'object' && value !== null;\n}\n","import type { OxlintConfig } from 'oxlint';\nimport { defineConfig as oxlintDefineConfig } from 'oxlint';\nimport configBase from '../config-base/index.ts';\nimport configConfigFiles from '../config-config-files/index.ts';\nimport configTestFiles from '../config-test-files/index.ts';\nimport configTypeDefinitions from '../config-type-definitions/index.ts';\nimport mergeConfig from '../merge-config/index.ts';\n\nexport default function defineConfig(config: OxlintConfig = {}): OxlintConfig {\n\tconst baseConfig: OxlintConfig = {\n\t\t...configBase,\n\t\toverrides: [\n\t\t\t{\n\t\t\t\tfiles: ['**/*.d.{ts,cts,mts}'],\n\t\t\t\t...configTypeDefinitions,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfiles: ['**/*.test.{ts,tsx,cts,mts}'],\n\t\t\t\t...configTestFiles,\n\t\t\t},\n\t\t\t{\n\t\t\t\tfiles: ['**/*.config.{ts,cts,mts}', '**/*.setup.{ts,cts,mts}'],\n\t\t\t\t...configConfigFiles,\n\t\t\t},\n\t\t],\n\t};\n\n\tconst extendedConfig = mergeConfig(baseConfig, config);\n\treturn oxlintDefineConfig(extendedConfig);\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@standard-config/oxlint",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Curated Oxlint config with sensible defaults",
5
5
  "license": "MIT",
6
6
  "author": {