@jabworks/oxlint-config 0.3.0 → 0.3.1
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/README.md +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -67,7 +67,7 @@ The typescript preset enables type-aware rules (`typescript/no-misused-promises`
|
|
|
67
67
|
|
|
68
68
|
Sets `env.node: true` and enables the built-in `node` plugin with Node.js best practices:
|
|
69
69
|
|
|
70
|
-
- `
|
|
70
|
+
- `unicorn/no-process-exit` — use `process.exitCode` instead of `process.exit()` (registered under oxlint's `unicorn` plugin)
|
|
71
71
|
- `node/no-path-concat` — use `path.join()` or `path.resolve()` over string concatenation
|
|
72
72
|
- `node/no-new-require` — disallow `new require(…)`
|
|
73
73
|
- `node/no-exports-assign` — disallow reassigning `exports`
|
package/dist/index.cjs
CHANGED
|
@@ -250,10 +250,10 @@ const next = mergeConfigs(react, {
|
|
|
250
250
|
ignorePatterns: [".next/**"]
|
|
251
251
|
});
|
|
252
252
|
const node = mergeConfigs(typescript, {
|
|
253
|
-
plugins: ["node"],
|
|
253
|
+
plugins: ["node", "unicorn"],
|
|
254
254
|
env: { node: true },
|
|
255
255
|
rules: {
|
|
256
|
-
"
|
|
256
|
+
"unicorn/no-process-exit": "error",
|
|
257
257
|
"node/no-path-concat": "error",
|
|
258
258
|
"node/no-new-require": "error",
|
|
259
259
|
"node/no-exports-assign": "error",
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/configs/base.ts","../src/configs/library.ts","../src/configs/next.ts","../src/configs/node.ts","../src/configs/react.ts","../src/configs/typescript.ts","../src/configs/vitest.ts","../src/lib/merge.ts","../src/index.ts"],"mappings":";KAAY,cAAA;AAAA,KAEA,eAAA,GAAkB,cAAA,IAAkB,cAAc;;;;KAKlD,YAAA;AAAA,UAiBK,cAAA;EACf,KAAA;EACA,OAAA,GAAU,YAAA;EACV,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,GAAA,GAAM,MAAA;AAAA;AAAA,UAGS,YAAA;EACf,OAAA;EACA,OAAA,GAAU,YAAA;EACV,UAAA,GAAa,MAAA,SAAe,cAAA;EAC5B,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,SAAA,GAAY,cAAA;EACZ,cAAA;EACA,GAAA,GAAM,MAAA;EACN,QAAA,GAAW,MAAA;AAAA;;;AAvCb;;;;AAA0B;AAE1B;;;;AAFA,cCWM,IAAA,EAAM,YA4GX;;;cCtGK,OAAA,EAAS,YAAqD;;;AFjBpE;;;;AAA0B;AAA1B,cGSM,IAAA,EAAM,YAoCV;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/configs/base.ts","../src/configs/library.ts","../src/configs/next.ts","../src/configs/node.ts","../src/configs/react.ts","../src/configs/typescript.ts","../src/configs/vitest.ts","../src/lib/merge.ts","../src/index.ts"],"mappings":";KAAY,cAAA;AAAA,KAEA,eAAA,GAAkB,cAAA,IAAkB,cAAc;;;;KAKlD,YAAA;AAAA,UAiBK,cAAA;EACf,KAAA;EACA,OAAA,GAAU,YAAA;EACV,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,GAAA,GAAM,MAAA;AAAA;AAAA,UAGS,YAAA;EACf,OAAA;EACA,OAAA,GAAU,YAAA;EACV,UAAA,GAAa,MAAA,SAAe,cAAA;EAC5B,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,SAAA,GAAY,cAAA;EACZ,cAAA;EACA,GAAA,GAAM,MAAA;EACN,QAAA,GAAW,MAAA;AAAA;;;AAvCb;;;;AAA0B;AAE1B;;;;AAFA,cCWM,IAAA,EAAM,YA4GX;;;cCtGK,OAAA,EAAS,YAAqD;;;AFjBpE;;;;AAA0B;AAA1B,cGSM,IAAA,EAAM,YAoCV;;;cChBI,IAAA,EAAM,YAAkD;;;cCSxD,KAAA,EAAO,YAAmD;;;cCK1D,UAAA,EAAY,YAAkD;;;cCrB9D,MAAA,EAAQ,YAKb;;;AP3BD;;;;AAA0B;AAE1B;AAFA,cQQa,YAAA,MAAmB,OAAA,EAAS,YAAA,OAAiB,YAsBzD;;;cCnBY,MAAA;;UAUZ,YAAA"}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/configs/base.ts","../src/configs/library.ts","../src/configs/next.ts","../src/configs/node.ts","../src/configs/react.ts","../src/configs/typescript.ts","../src/configs/vitest.ts","../src/lib/merge.ts","../src/index.ts"],"mappings":";KAAY,cAAA;AAAA,KAEA,eAAA,GAAkB,cAAA,IAAkB,cAAc;;;;KAKlD,YAAA;AAAA,UAiBK,cAAA;EACf,KAAA;EACA,OAAA,GAAU,YAAA;EACV,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,GAAA,GAAM,MAAA;AAAA;AAAA,UAGS,YAAA;EACf,OAAA;EACA,OAAA,GAAU,YAAA;EACV,UAAA,GAAa,MAAA,SAAe,cAAA;EAC5B,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,SAAA,GAAY,cAAA;EACZ,cAAA;EACA,GAAA,GAAM,MAAA;EACN,QAAA,GAAW,MAAA;AAAA;;;AAvCb;;;;AAA0B;AAE1B;;;;AAFA,cCWM,IAAA,EAAM,YA4GX;;;cCtGK,OAAA,EAAS,YAAqD;;;AFjBpE;;;;AAA0B;AAA1B,cGSM,IAAA,EAAM,YAoCV;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/configs/base.ts","../src/configs/library.ts","../src/configs/next.ts","../src/configs/node.ts","../src/configs/react.ts","../src/configs/typescript.ts","../src/configs/vitest.ts","../src/lib/merge.ts","../src/index.ts"],"mappings":";KAAY,cAAA;AAAA,KAEA,eAAA,GAAkB,cAAA,IAAkB,cAAc;;;;KAKlD,YAAA;AAAA,UAiBK,cAAA;EACf,KAAA;EACA,OAAA,GAAU,YAAA;EACV,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,GAAA,GAAM,MAAA;AAAA;AAAA,UAGS,YAAA;EACf,OAAA;EACA,OAAA,GAAU,YAAA;EACV,UAAA,GAAa,MAAA,SAAe,cAAA;EAC5B,KAAA,GAAQ,MAAA,SAAe,eAAA;EACvB,SAAA,GAAY,cAAA;EACZ,cAAA;EACA,GAAA,GAAM,MAAA;EACN,QAAA,GAAW,MAAA;AAAA;;;AAvCb;;;;AAA0B;AAE1B;;;;AAFA,cCWM,IAAA,EAAM,YA4GX;;;cCtGK,OAAA,EAAS,YAAqD;;;AFjBpE;;;;AAA0B;AAA1B,cGSM,IAAA,EAAM,YAoCV;;;cChBI,IAAA,EAAM,YAAkD;;;cCSxD,KAAA,EAAO,YAAmD;;;cCK1D,UAAA,EAAY,YAAkD;;;cCrB9D,MAAA,EAAQ,YAKb;;;AP3BD;;;;AAA0B;AAE1B;AAFA,cQQa,YAAA,MAAmB,OAAA,EAAS,YAAA,OAAiB,YAsBzD;;;cCnBY,MAAA;;UAUZ,YAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -249,10 +249,10 @@ const next = mergeConfigs(react, {
|
|
|
249
249
|
ignorePatterns: [".next/**"]
|
|
250
250
|
});
|
|
251
251
|
const node = mergeConfigs(typescript, {
|
|
252
|
-
plugins: ["node"],
|
|
252
|
+
plugins: ["node", "unicorn"],
|
|
253
253
|
env: { node: true },
|
|
254
254
|
rules: {
|
|
255
|
-
"
|
|
255
|
+
"unicorn/no-process-exit": "error",
|
|
256
256
|
"node/no-path-concat": "error",
|
|
257
257
|
"node/no-new-require": "error",
|
|
258
258
|
"node/no-exports-assign": "error",
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/configs/base.ts","../src/lib/merge.ts","../src/configs/typescript.ts","../src/configs/library.ts","../src/configs/vitest.ts","../src/configs/react.ts","../src/configs/next.ts","../src/configs/node.ts","../src/index.ts"],"sourcesContent":["import type { OxlintConfig } from '../types.js';\n\n/**\n * Base preset, ported from `@jabworks/eslint-plugin` configs.base.\n *\n * Dropped (no oxlint equivalent as of 1.73): no-octal-escape,\n * object-shorthand, camelcase, no-undef-init,\n * import/newline-after-import, import/no-extraneous-dependencies,\n * import/no-relative-packages, import/no-useless-path-segments,\n * import/no-deprecated, simple-import-sort/*, eslint-comments/*, @stylistic/*.\n */\nconst base: OxlintConfig = {\n plugins: ['import', 'unicorn'],\n categories: {\n correctness: 'error',\n },\n env: {\n builtin: true,\n },\n rules: {\n // Best practices\n 'eslint/array-callback-return': ['error', { allowImplicit: true }],\n 'eslint/block-scoped-var': 'error',\n 'eslint/curly': ['warn', 'multi-line'],\n 'eslint/default-case-last': 'error',\n 'eslint/eqeqeq': 'error',\n 'eslint/grouped-accessor-pairs': 'error',\n 'eslint/no-alert': 'error',\n 'eslint/no-caller': 'error',\n 'eslint/no-constructor-return': 'error',\n 'eslint/no-else-return': 'warn',\n 'eslint/no-eval': 'error',\n 'eslint/no-extend-native': 'error',\n 'eslint/no-extra-bind': 'error',\n 'eslint/no-extra-label': 'error',\n 'eslint/no-implicit-coercion': 'error',\n 'eslint/no-implied-eval': 'error',\n 'eslint/no-iterator': 'error',\n 'eslint/no-labels': 'error',\n 'eslint/no-lone-blocks': 'error',\n 'eslint/no-new': 'error',\n 'eslint/no-new-func': 'error',\n 'eslint/no-new-wrappers': 'error',\n 'eslint/no-param-reassign': 'error',\n 'eslint/no-proto': 'error',\n 'eslint/no-return-assign': 'error',\n 'eslint/no-script-url': 'error',\n 'eslint/no-self-compare': 'error',\n 'eslint/no-sequences': 'error',\n 'eslint/no-useless-call': 'error',\n 'eslint/no-useless-concat': 'error',\n 'eslint/no-useless-return': 'warn',\n 'eslint/prefer-promise-reject-errors': ['error', { allowEmptyReject: true }],\n 'eslint/prefer-regex-literals': 'error',\n 'eslint/yoda': 'warn',\n // ES6\n 'eslint/no-useless-computed-key': 'warn',\n 'eslint/no-useless-rename': 'warn',\n 'eslint/no-var': 'error',\n 'eslint/prefer-const': 'warn',\n 'eslint/prefer-numeric-literals': 'error',\n 'eslint/prefer-rest-params': 'error',\n 'eslint/prefer-spread': 'error',\n 'eslint/prefer-template': 'warn',\n 'eslint/symbol-description': 'error',\n // Possible errors\n 'eslint/no-console': ['warn', { allow: ['error', 'warn'] }],\n 'eslint/no-constant-binary-expression': 'error',\n 'eslint/no-promise-executor-return': 'error',\n 'eslint/no-template-curly-in-string': 'error',\n 'eslint/no-unreachable-loop': 'error',\n // Stylistic\n 'eslint/func-names': ['error', 'as-needed'],\n 'eslint/new-cap': ['error', { capIsNew: false }],\n 'eslint/no-array-constructor': 'error',\n 'eslint/no-bitwise': 'error',\n 'eslint/no-lonely-if': 'warn',\n 'eslint/no-multi-assign': 'error',\n 'eslint/no-nested-ternary': 'error',\n 'eslint/no-unneeded-ternary': 'error',\n 'eslint/prefer-arrow-callback': 'warn',\n 'eslint/prefer-object-spread': 'warn',\n // Variables\n 'eslint/no-label-var': 'error',\n 'eslint/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n ignoreRestSiblings: false,\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n // Import\n 'import/first': 'error',\n 'import/no-absolute-path': 'error',\n 'import/no-default-export': 'error',\n 'import/no-mutable-exports': 'error',\n 'import/no-self-import': 'error',\n // This rule is the most taxing on performance, so we disable it by default.\n 'import/no-cycle': 'off',\n 'import/named': 'off',\n // Unicorn\n 'unicorn/filename-case': ['error', { case: 'kebabCase' }],\n },\n ignorePatterns: [\n 'dist/**',\n 'build/**',\n 'out/**',\n 'coverage/**',\n 'node_modules/**',\n 'eslint.config.js',\n 'eslint.config.mjs',\n 'eslint.config.cjs',\n '*.config.js',\n '*.config.mjs',\n '*.config.cjs',\n ],\n};\n\nexport default base;\n","import type { OxlintConfig } from '../types.js';\n\n/**\n * Merge oxlint configs left-to-right into a single standalone config.\n *\n * Plugins and ignorePatterns are unioned, categories/rules/env/settings are\n * shallow-merged (later configs win), and overrides are concatenated.\n */\nexport const mergeConfigs = (...configs: OxlintConfig[]): OxlintConfig => {\n const result: OxlintConfig = {};\n\n for (const config of configs) {\n if (config.plugins) result.plugins = [...new Set([...(result.plugins ?? []), ...config.plugins])];\n\n if (config.categories) result.categories = { ...result.categories, ...config.categories };\n\n if (config.rules) result.rules = { ...result.rules, ...config.rules };\n\n if (config.env) result.env = { ...result.env, ...config.env };\n\n if (config.settings) result.settings = { ...result.settings, ...config.settings };\n\n if (config.overrides) result.overrides = [...(result.overrides ?? []), ...config.overrides];\n\n if (config.ignorePatterns)\n result.ignorePatterns = [...new Set([...(result.ignorePatterns ?? []), ...config.ignorePatterns])];\n }\n\n return result;\n};\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport base from './base.js';\n\n/**\n * TypeScript preset, ported from `@jabworks/eslint-plugin` configs.typescript.\n *\n * Type-aware rules (consistent-type-exports, no-misused-promises,\n * no-redundant-type-constituents, no-unnecessary-qualifier,\n * prefer-regexp-exec, require-array-sort-compare,\n * restrict-template-expressions, switch-exhaustiveness-check) only run when\n * `oxlint-tsgolint` is installed and oxlint runs with `--type-aware`.\n *\n * Dropped (no oxlint equivalent as of 1.73): naming-convention.\n */\nexport const typescriptRules: OxlintConfig = {\n plugins: ['typescript'],\n rules: {\n 'typescript/consistent-type-exports': ['warn', { fixMixedExportsWithInlineTypeSpecifier: true }],\n 'typescript/consistent-type-imports': [\n 'warn',\n {\n disallowTypeAnnotations: true,\n fixStyle: 'inline-type-imports',\n prefer: 'type-imports',\n },\n ],\n 'typescript/method-signature-style': 'warn',\n 'typescript/no-misused-promises': ['error', { checksVoidReturn: { attributes: false } }],\n 'typescript/no-redundant-type-constituents': 'warn',\n 'typescript/no-unnecessary-qualifier': 'warn',\n 'typescript/prefer-regexp-exec': 'warn',\n 'typescript/require-array-sort-compare': ['error', { ignoreStringArrays: true }],\n 'typescript/restrict-template-expressions': ['error', { allowNumber: true }],\n 'typescript/switch-exhaustiveness-check': ['warn', { considerDefaultExhaustiveForUnions: true }],\n 'typescript/no-empty-object-type': ['error', { allowInterfaces: 'with-single-extends' }],\n // Extension rules: oxlint's eslint/* implementations handle TS sources.\n 'eslint/default-param-last': 'error',\n 'eslint/no-loop-func': 'error',\n 'eslint/no-useless-constructor': 'error',\n },\n};\n\nconst typescript: OxlintConfig = mergeConfigs(base, typescriptRules);\n\nexport default typescript;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport typescript from './typescript.js';\n\n/**\n * Framework-agnostic library preset (e.g. utility libraries, shared packages).\n *\n * No env globals — libraries should be environment-agnostic.\n * Enables import/no-cycle (disabled in base for performance) since library\n * consumers depend on clean, tree-shakeable module graphs.\n */\nexport const libraryRules: OxlintConfig = {\n rules: {\n 'import/no-cycle': 'error',\n },\n};\n\nconst library: OxlintConfig = mergeConfigs(typescript, libraryRules);\n\nexport default library;\n","import type { OxlintConfig, OxlintOverride } from '../types.js';\n\n/**\n * Vitest preset, ported from `@jabworks/eslint-plugin` configs.vitest.\n * Scoped to test files via an override, like the original flat config.\n */\nexport const vitestOverride: OxlintOverride = {\n files: ['**/*.test.{js,ts,mjs,cjs,jsx,tsx}', '**/__tests__/**', '**/tests/**'],\n plugins: ['vitest'],\n env: {\n node: true,\n vitest: true,\n },\n rules: {\n 'vitest/max-nested-describe': ['error', { max: 3 }],\n 'vitest/no-commented-out-tests': 'error',\n 'vitest/no-disabled-tests': 'error',\n 'vitest/no-focused-tests': 'error',\n 'vitest/no-identical-title': 'error',\n },\n};\n\nconst vitest: OxlintConfig = {\n categories: {\n correctness: 'error',\n },\n overrides: [vitestOverride],\n};\n\nexport default vitest;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport typescript from './typescript.js';\nimport { vitestOverride } from './vitest.js';\n\n/**\n * React preset, ported from `@jabworks/eslint-plugin` configs.react.\n * Includes the react-hooks rules (folded into oxlint's react plugin) and the\n * vitest override for test files.\n *\n * Dropped (no oxlint equivalent as of 1.73): function-component-definition,\n * hook-use-state, jsx-no-leaked-render, jsx-sort-props,\n * no-unstable-nested-components.\n */\nexport const reactRules: OxlintConfig = {\n plugins: ['react', 'jsx-a11y'],\n env: {\n browser: true,\n },\n rules: {\n 'react/react-in-jsx-scope': 'off',\n 'react/button-has-type': 'warn',\n 'react/jsx-boolean-value': 'warn',\n 'react/jsx-curly-brace-presence': 'warn',\n 'react/jsx-fragments': 'warn',\n 'react/jsx-no-target-blank': ['error', { allowReferrer: true }],\n 'react/jsx-no-useless-fragment': ['warn', { allowExpressions: true }],\n 'react/jsx-pascal-case': 'warn',\n 'react/no-array-index-key': 'warn',\n 'react/self-closing-comp': 'warn',\n // react-hooks rules live under oxlint's react plugin.\n 'react/rules-of-hooks': 'error',\n 'react/exhaustive-deps': 'warn',\n 'jsx-a11y/no-autofocus': 'off',\n },\n overrides: [vitestOverride],\n};\n\nconst react: OxlintConfig = mergeConfigs(typescript, reactRules);\n\nexport default react;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport react from './react.js';\n\n/**\n * Next.js preset, ported from `@jabworks/eslint-plugin` configs.next.\n * The nextjs plugin's recommended/core-web-vitals rules are enabled through\n * the `correctness` category.\n */\nconst next: OxlintConfig = mergeConfigs(react, {\n plugins: ['nextjs'],\n overrides: [\n {\n files: [\n '*.config.js',\n '*.config.mjs',\n '*.config.cjs',\n '*.config.ts',\n '**/*.d.ts',\n '**/*.stories.ts',\n '**/*.stories.tsx',\n 'app/**/*error.tsx',\n 'app/**/layout.tsx',\n 'app/**/not-found.tsx',\n 'app/**/opengraph-image.tsx',\n 'app/**/page.tsx',\n 'app/apple-icon.tsx',\n 'app/robots.ts',\n 'app/sitemap.ts',\n 'next.config.mjs',\n 'src/app/**/*error.tsx',\n 'src/app/**/layout.tsx',\n 'src/app/**/not-found.tsx',\n 'src/app/**/opengraph-image.tsx',\n 'src/app/**/page.tsx',\n 'src/app/apple-icon.tsx',\n 'src/app/robots.ts',\n 'src/app/sitemap.ts',\n ],\n rules: {\n 'import/no-default-export': 'off',\n },\n },\n ],\n ignorePatterns: ['.next/**'],\n});\n\nexport default next;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport typescript from './typescript.js';\nimport { vitestOverride } from './vitest.js';\n\n/**\n * Node.js preset, ported from `@jabworks/eslint-plugin` configs.node.\n *\n * Dropped (no oxlint equivalent as of 1.73): n/prefer-promises/fs,\n * n/prefer-promises/dns, n/no-callback-literal, n/prefer-global/*.\n */\nexport const nodeRules: OxlintConfig = {\n plugins: ['node'],\n env: {\n node: true,\n },\n rules: {\n 'node/no-process-exit': 'error',\n 'node/no-path-concat': 'error',\n 'node/no-new-require': 'error',\n 'node/no-exports-assign': 'error',\n 'node/handle-callback-err': 'error',\n // process.env access is allowed — use a secrets manager or dotenv in practice\n 'node/no-process-env': 'off',\n },\n overrides: [vitestOverride],\n};\n\nconst node: OxlintConfig = mergeConfigs(typescript, nodeRules);\n\nexport default node;\n","import base from './configs/base.js';\nimport library from './configs/library.js';\nimport next from './configs/next.js';\nimport node from './configs/node.js';\nimport react from './configs/react.js';\nimport typescript from './configs/typescript.js';\nimport vitest from './configs/vitest.js';\n\nexport { mergeConfigs } from './lib/merge.js';\nexport type { OxlintConfig, OxlintOverride, OxlintPlugin, OxlintRuleEntry, OxlintSeverity } from './types.js';\n\nexport const config = {\n configs: {\n base,\n typescript,\n react,\n next,\n node,\n library,\n vitest,\n },\n};\n\nexport { base, library, next, node, react, typescript, vitest };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/configs/base.ts","../src/lib/merge.ts","../src/configs/typescript.ts","../src/configs/library.ts","../src/configs/vitest.ts","../src/configs/react.ts","../src/configs/next.ts","../src/configs/node.ts","../src/index.ts"],"sourcesContent":["import type { OxlintConfig } from '../types.js';\n\n/**\n * Base preset, ported from `@jabworks/eslint-plugin` configs.base.\n *\n * Dropped (no oxlint equivalent as of 1.73): no-octal-escape,\n * object-shorthand, camelcase, no-undef-init,\n * import/newline-after-import, import/no-extraneous-dependencies,\n * import/no-relative-packages, import/no-useless-path-segments,\n * import/no-deprecated, simple-import-sort/*, eslint-comments/*, @stylistic/*.\n */\nconst base: OxlintConfig = {\n plugins: ['import', 'unicorn'],\n categories: {\n correctness: 'error',\n },\n env: {\n builtin: true,\n },\n rules: {\n // Best practices\n 'eslint/array-callback-return': ['error', { allowImplicit: true }],\n 'eslint/block-scoped-var': 'error',\n 'eslint/curly': ['warn', 'multi-line'],\n 'eslint/default-case-last': 'error',\n 'eslint/eqeqeq': 'error',\n 'eslint/grouped-accessor-pairs': 'error',\n 'eslint/no-alert': 'error',\n 'eslint/no-caller': 'error',\n 'eslint/no-constructor-return': 'error',\n 'eslint/no-else-return': 'warn',\n 'eslint/no-eval': 'error',\n 'eslint/no-extend-native': 'error',\n 'eslint/no-extra-bind': 'error',\n 'eslint/no-extra-label': 'error',\n 'eslint/no-implicit-coercion': 'error',\n 'eslint/no-implied-eval': 'error',\n 'eslint/no-iterator': 'error',\n 'eslint/no-labels': 'error',\n 'eslint/no-lone-blocks': 'error',\n 'eslint/no-new': 'error',\n 'eslint/no-new-func': 'error',\n 'eslint/no-new-wrappers': 'error',\n 'eslint/no-param-reassign': 'error',\n 'eslint/no-proto': 'error',\n 'eslint/no-return-assign': 'error',\n 'eslint/no-script-url': 'error',\n 'eslint/no-self-compare': 'error',\n 'eslint/no-sequences': 'error',\n 'eslint/no-useless-call': 'error',\n 'eslint/no-useless-concat': 'error',\n 'eslint/no-useless-return': 'warn',\n 'eslint/prefer-promise-reject-errors': ['error', { allowEmptyReject: true }],\n 'eslint/prefer-regex-literals': 'error',\n 'eslint/yoda': 'warn',\n // ES6\n 'eslint/no-useless-computed-key': 'warn',\n 'eslint/no-useless-rename': 'warn',\n 'eslint/no-var': 'error',\n 'eslint/prefer-const': 'warn',\n 'eslint/prefer-numeric-literals': 'error',\n 'eslint/prefer-rest-params': 'error',\n 'eslint/prefer-spread': 'error',\n 'eslint/prefer-template': 'warn',\n 'eslint/symbol-description': 'error',\n // Possible errors\n 'eslint/no-console': ['warn', { allow: ['error', 'warn'] }],\n 'eslint/no-constant-binary-expression': 'error',\n 'eslint/no-promise-executor-return': 'error',\n 'eslint/no-template-curly-in-string': 'error',\n 'eslint/no-unreachable-loop': 'error',\n // Stylistic\n 'eslint/func-names': ['error', 'as-needed'],\n 'eslint/new-cap': ['error', { capIsNew: false }],\n 'eslint/no-array-constructor': 'error',\n 'eslint/no-bitwise': 'error',\n 'eslint/no-lonely-if': 'warn',\n 'eslint/no-multi-assign': 'error',\n 'eslint/no-nested-ternary': 'error',\n 'eslint/no-unneeded-ternary': 'error',\n 'eslint/prefer-arrow-callback': 'warn',\n 'eslint/prefer-object-spread': 'warn',\n // Variables\n 'eslint/no-label-var': 'error',\n 'eslint/no-unused-vars': [\n 'error',\n {\n args: 'after-used',\n argsIgnorePattern: '^_',\n ignoreRestSiblings: false,\n vars: 'all',\n varsIgnorePattern: '^_',\n },\n ],\n // Import\n 'import/first': 'error',\n 'import/no-absolute-path': 'error',\n 'import/no-default-export': 'error',\n 'import/no-mutable-exports': 'error',\n 'import/no-self-import': 'error',\n // This rule is the most taxing on performance, so we disable it by default.\n 'import/no-cycle': 'off',\n 'import/named': 'off',\n // Unicorn\n 'unicorn/filename-case': ['error', { case: 'kebabCase' }],\n },\n ignorePatterns: [\n 'dist/**',\n 'build/**',\n 'out/**',\n 'coverage/**',\n 'node_modules/**',\n 'eslint.config.js',\n 'eslint.config.mjs',\n 'eslint.config.cjs',\n '*.config.js',\n '*.config.mjs',\n '*.config.cjs',\n ],\n};\n\nexport default base;\n","import type { OxlintConfig } from '../types.js';\n\n/**\n * Merge oxlint configs left-to-right into a single standalone config.\n *\n * Plugins and ignorePatterns are unioned, categories/rules/env/settings are\n * shallow-merged (later configs win), and overrides are concatenated.\n */\nexport const mergeConfigs = (...configs: OxlintConfig[]): OxlintConfig => {\n const result: OxlintConfig = {};\n\n for (const config of configs) {\n if (config.plugins) result.plugins = [...new Set([...(result.plugins ?? []), ...config.plugins])];\n\n if (config.categories) result.categories = { ...result.categories, ...config.categories };\n\n if (config.rules) result.rules = { ...result.rules, ...config.rules };\n\n if (config.env) result.env = { ...result.env, ...config.env };\n\n if (config.settings) result.settings = { ...result.settings, ...config.settings };\n\n if (config.overrides) result.overrides = [...(result.overrides ?? []), ...config.overrides];\n\n if (config.ignorePatterns) {\n result.ignorePatterns = [...new Set([...(result.ignorePatterns ?? []), ...config.ignorePatterns])];\n }\n }\n\n return result;\n};\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport base from './base.js';\n\n/**\n * TypeScript preset, ported from `@jabworks/eslint-plugin` configs.typescript.\n *\n * Type-aware rules (consistent-type-exports, no-misused-promises,\n * no-redundant-type-constituents, no-unnecessary-qualifier,\n * prefer-regexp-exec, require-array-sort-compare,\n * restrict-template-expressions, switch-exhaustiveness-check) only run when\n * `oxlint-tsgolint` is installed and oxlint runs with `--type-aware`.\n *\n * Dropped (no oxlint equivalent as of 1.73): naming-convention.\n */\nexport const typescriptRules: OxlintConfig = {\n plugins: ['typescript'],\n rules: {\n 'typescript/consistent-type-exports': ['warn', { fixMixedExportsWithInlineTypeSpecifier: true }],\n 'typescript/consistent-type-imports': [\n 'warn',\n {\n disallowTypeAnnotations: true,\n fixStyle: 'inline-type-imports',\n prefer: 'type-imports',\n },\n ],\n 'typescript/method-signature-style': 'warn',\n 'typescript/no-misused-promises': ['error', { checksVoidReturn: { attributes: false } }],\n 'typescript/no-redundant-type-constituents': 'warn',\n 'typescript/no-unnecessary-qualifier': 'warn',\n 'typescript/prefer-regexp-exec': 'warn',\n 'typescript/require-array-sort-compare': ['error', { ignoreStringArrays: true }],\n 'typescript/restrict-template-expressions': ['error', { allowNumber: true }],\n 'typescript/switch-exhaustiveness-check': ['warn', { considerDefaultExhaustiveForUnions: true }],\n 'typescript/no-empty-object-type': ['error', { allowInterfaces: 'with-single-extends' }],\n // Extension rules: oxlint's eslint/* implementations handle TS sources.\n 'eslint/default-param-last': 'error',\n 'eslint/no-loop-func': 'error',\n 'eslint/no-useless-constructor': 'error',\n },\n};\n\nconst typescript: OxlintConfig = mergeConfigs(base, typescriptRules);\n\nexport default typescript;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport typescript from './typescript.js';\n\n/**\n * Framework-agnostic library preset (e.g. utility libraries, shared packages).\n *\n * No env globals — libraries should be environment-agnostic.\n * Enables import/no-cycle (disabled in base for performance) since library\n * consumers depend on clean, tree-shakeable module graphs.\n */\nexport const libraryRules: OxlintConfig = {\n rules: {\n 'import/no-cycle': 'error',\n },\n};\n\nconst library: OxlintConfig = mergeConfigs(typescript, libraryRules);\n\nexport default library;\n","import type { OxlintConfig, OxlintOverride } from '../types.js';\n\n/**\n * Vitest preset, ported from `@jabworks/eslint-plugin` configs.vitest.\n * Scoped to test files via an override, like the original flat config.\n */\nexport const vitestOverride: OxlintOverride = {\n files: ['**/*.test.{js,ts,mjs,cjs,jsx,tsx}', '**/__tests__/**', '**/tests/**'],\n plugins: ['vitest'],\n env: {\n node: true,\n vitest: true,\n },\n rules: {\n 'vitest/max-nested-describe': ['error', { max: 3 }],\n 'vitest/no-commented-out-tests': 'error',\n 'vitest/no-disabled-tests': 'error',\n 'vitest/no-focused-tests': 'error',\n 'vitest/no-identical-title': 'error',\n },\n};\n\nconst vitest: OxlintConfig = {\n categories: {\n correctness: 'error',\n },\n overrides: [vitestOverride],\n};\n\nexport default vitest;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport typescript from './typescript.js';\nimport { vitestOverride } from './vitest.js';\n\n/**\n * React preset, ported from `@jabworks/eslint-plugin` configs.react.\n * Includes the react-hooks rules (folded into oxlint's react plugin) and the\n * vitest override for test files.\n *\n * Dropped (no oxlint equivalent as of 1.73): function-component-definition,\n * hook-use-state, jsx-no-leaked-render, jsx-sort-props,\n * no-unstable-nested-components.\n */\nexport const reactRules: OxlintConfig = {\n plugins: ['react', 'jsx-a11y'],\n env: {\n browser: true,\n },\n rules: {\n 'react/react-in-jsx-scope': 'off',\n 'react/button-has-type': 'warn',\n 'react/jsx-boolean-value': 'warn',\n 'react/jsx-curly-brace-presence': 'warn',\n 'react/jsx-fragments': 'warn',\n 'react/jsx-no-target-blank': ['error', { allowReferrer: true }],\n 'react/jsx-no-useless-fragment': ['warn', { allowExpressions: true }],\n 'react/jsx-pascal-case': 'warn',\n 'react/no-array-index-key': 'warn',\n 'react/self-closing-comp': 'warn',\n // react-hooks rules live under oxlint's react plugin.\n 'react/rules-of-hooks': 'error',\n 'react/exhaustive-deps': 'warn',\n 'jsx-a11y/no-autofocus': 'off',\n },\n overrides: [vitestOverride],\n};\n\nconst react: OxlintConfig = mergeConfigs(typescript, reactRules);\n\nexport default react;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport react from './react.js';\n\n/**\n * Next.js preset, ported from `@jabworks/eslint-plugin` configs.next.\n * The nextjs plugin's recommended/core-web-vitals rules are enabled through\n * the `correctness` category.\n */\nconst next: OxlintConfig = mergeConfigs(react, {\n plugins: ['nextjs'],\n overrides: [\n {\n files: [\n '*.config.js',\n '*.config.mjs',\n '*.config.cjs',\n '*.config.ts',\n '**/*.d.ts',\n '**/*.stories.ts',\n '**/*.stories.tsx',\n 'app/**/*error.tsx',\n 'app/**/layout.tsx',\n 'app/**/not-found.tsx',\n 'app/**/opengraph-image.tsx',\n 'app/**/page.tsx',\n 'app/apple-icon.tsx',\n 'app/robots.ts',\n 'app/sitemap.ts',\n 'next.config.mjs',\n 'src/app/**/*error.tsx',\n 'src/app/**/layout.tsx',\n 'src/app/**/not-found.tsx',\n 'src/app/**/opengraph-image.tsx',\n 'src/app/**/page.tsx',\n 'src/app/apple-icon.tsx',\n 'src/app/robots.ts',\n 'src/app/sitemap.ts',\n ],\n rules: {\n 'import/no-default-export': 'off',\n },\n },\n ],\n ignorePatterns: ['.next/**'],\n});\n\nexport default next;\n","import { mergeConfigs } from '../lib/merge.js';\nimport type { OxlintConfig } from '../types.js';\nimport typescript from './typescript.js';\nimport { vitestOverride } from './vitest.js';\n\n/**\n * Node.js preset, ported from `@jabworks/eslint-plugin` configs.node.\n *\n * Dropped (no oxlint equivalent as of 1.73): n/prefer-promises/fs,\n * n/prefer-promises/dns, n/no-callback-literal, n/prefer-global/*.\n */\nexport const nodeRules: OxlintConfig = {\n plugins: ['node', 'unicorn'],\n env: {\n node: true,\n },\n rules: {\n // Registered under the unicorn plugin in oxlint (not node/).\n 'unicorn/no-process-exit': 'error',\n 'node/no-path-concat': 'error',\n 'node/no-new-require': 'error',\n 'node/no-exports-assign': 'error',\n 'node/handle-callback-err': 'error',\n // process.env access is allowed — use a secrets manager or dotenv in practice\n 'node/no-process-env': 'off',\n },\n overrides: [vitestOverride],\n};\n\nconst node: OxlintConfig = mergeConfigs(typescript, nodeRules);\n\nexport default node;\n","import base from './configs/base.js';\nimport library from './configs/library.js';\nimport next from './configs/next.js';\nimport node from './configs/node.js';\nimport react from './configs/react.js';\nimport typescript from './configs/typescript.js';\nimport vitest from './configs/vitest.js';\n\nexport { mergeConfigs } from './lib/merge.js';\nexport type { OxlintConfig, OxlintOverride, OxlintPlugin, OxlintRuleEntry, OxlintSeverity } from './types.js';\n\nexport const config = {\n configs: {\n base,\n typescript,\n react,\n next,\n node,\n library,\n vitest,\n },\n};\n\nexport { base, library, next, node, react, typescript, vitest };\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jabworks/oxlint-config",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Opinionated oxlint presets for JS, TS, React, Next.js, and Vitest, ported from @jabworks/eslint-plugin",
|
|
6
6
|
"keywords": [
|
|
7
|
+
"linter",
|
|
8
|
+
"oxc",
|
|
7
9
|
"oxlint",
|
|
8
10
|
"oxlint-config",
|
|
9
|
-
"oxc",
|
|
10
|
-
"linter",
|
|
11
11
|
"typescript"
|
|
12
12
|
],
|
|
13
13
|
"homepage": "https://github.com/jabworks/style-guide/tree/main/packages/oxlint-config#readme",
|
|
14
14
|
"bugs": {
|
|
15
15
|
"url": "https://github.com/jabworks/style-guide/issues"
|
|
16
16
|
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Vi Minh Hiếu <jabworks@hieuvi.dev> (https://hieuvi.dev)",
|
|
17
19
|
"repository": {
|
|
18
20
|
"type": "git",
|
|
19
21
|
"url": "git+https://github.com/jabworks/style-guide.git",
|
|
20
22
|
"directory": "packages/oxlint-config"
|
|
21
23
|
},
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
27
|
+
"main": "dist/index.cjs",
|
|
28
|
+
"module": "dist/index.mjs",
|
|
24
29
|
"exports": {
|
|
25
30
|
".": {
|
|
26
31
|
"types": "./dist/index.d.mts",
|
|
@@ -29,11 +34,9 @@
|
|
|
29
34
|
"default": "./dist/index.mjs"
|
|
30
35
|
}
|
|
31
36
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"dist"
|
|
36
|
-
],
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public"
|
|
39
|
+
},
|
|
37
40
|
"devDependencies": {
|
|
38
41
|
"oxlint": "^1.73.0",
|
|
39
42
|
"tsdown": "^0.22.2",
|
|
@@ -43,9 +46,6 @@
|
|
|
43
46
|
"peerDependencies": {
|
|
44
47
|
"oxlint": ">=1.73.0"
|
|
45
48
|
},
|
|
46
|
-
"publishConfig": {
|
|
47
|
-
"access": "public"
|
|
48
|
-
},
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "tsdown"
|
|
51
51
|
}
|