From 22635388664aad2c91ef06fa1e4297f7e1ace9b2 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Wed, 10 Apr 2024 03:36:05 +0200 Subject: [PATCH] chore: update dev script --- eslint.config.js | 44 ++----------------- eslint.config.ts | 36 +++++++++++++++ package.json | 3 +- pnpm-lock.yaml | 112 +++++++---------------------------------------- 4 files changed, 57 insertions(+), 138 deletions(-) create mode 100644 eslint.config.ts diff --git a/eslint.config.js b/eslint.config.js index 901d9102b7..fbce5323a2 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,42 +1,6 @@ // @ts-check -import styleMigrate from '@stylistic/eslint-plugin-migrate' -import JITI from 'jiti' +import { bundleRequire } from 'bundle-require' -const jiti = JITI(import.meta.url) -/** - * @type {import('./src').default} - */ -const antfu = jiti('./src').default - -export default antfu( - { - vue: true, - react: true, - solid: true, - svelte: true, - astro: true, - typescript: true, - formatters: true, - }, - { - ignores: [ - 'fixtures', - '_fixtures', - ], - }, - { - files: ['src/**/*.ts'], - rules: { - 'perfectionist/sort-objects': 'error', - }, - }, - { - files: ['src/configs/*.ts'], - plugins: { - 'style-migrate': styleMigrate, - }, - rules: { - 'style-migrate/migrate': ['error', { namespaceTo: 'style' }], - }, - }, -) +export default bundleRequire({ + filepath: './eslint.config.ts', +}).then(r => r.mod.default) diff --git a/eslint.config.ts b/eslint.config.ts new file mode 100644 index 0000000000..09a817d79c --- /dev/null +++ b/eslint.config.ts @@ -0,0 +1,36 @@ +// @ts-expect-error missing types +import styleMigrate from '@stylistic/eslint-plugin-migrate' +import { antfu } from './src' + +export default antfu( + { + vue: true, + react: true, + solid: true, + svelte: true, + astro: true, + typescript: true, + formatters: true, + }, + { + ignores: [ + 'fixtures', + '_fixtures', + ], + }, + { + files: ['src/**/*.ts'], + rules: { + 'perfectionist/sort-objects': 'error', + }, + }, + { + files: ['src/configs/*.ts'], + plugins: { + 'style-migrate': styleMigrate, + }, + rules: { + 'style-migrate/migrate': ['error', { namespaceTo: 'style' }], + }, + }, +) diff --git a/package.json b/package.json index 82d316f0f1..fe6883d632 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "scripts": { "build": "nr typegen && tsup --format esm,cjs --clean --dts", "stub": "tsup --format esm", - "dev": "tsup --format esm,cjs --watch & npx @eslint/config-inspector", + "dev": "npx @eslint/config-inspector --config eslint.config.ts", "build:inspector": "pnpm build && npx @eslint/config-inspector build", "watch": "tsup --format esm,cjs --watch", "lint": "eslint .", @@ -140,6 +140,7 @@ "@unocss/eslint-plugin": "^0.59.0", "astro-eslint-parser": "^0.17.0", "bumpp": "^9.4.0", + "bundle-require": "^4.0.2", "eslint": "^9.0.0", "eslint-plugin-astro": "^0.34.0", "eslint-plugin-format": "^0.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85b778d201..334b2e7194 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,6 +147,9 @@ importers: bumpp: specifier: ^9.4.0 version: 9.4.0 + bundle-require: + specifier: ^4.0.2 + version: 4.0.2(esbuild@0.20.2) eslint: specifier: ^9.0.0 version: 9.0.0 @@ -767,11 +770,6 @@ packages: /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: false - - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint-stylistic/metadata@1.7.0: resolution: {integrity: sha512-EdyFKr1BHcx45o6gMZuCkFS64XHzVGFql0V3oL6mZwepnueulpmjsPxTiRRdrYdRknmQA+vjj1/znFkGRrPWHQ==} @@ -811,7 +809,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.2.4 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -828,7 +826,7 @@ packages: debug: 4.3.4 espree: 10.0.1 globals: 14.0.0 - ignore: 5.2.4 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -1174,12 +1172,8 @@ packages: kleur: 3.0.3 dev: true - /@types/semver@7.5.4: - resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} - /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: false /@types/unist@2.0.9: resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==} @@ -1259,20 +1253,12 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - /@typescript-eslint/scope-manager@7.5.0: - resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} - engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 - /@typescript-eslint/scope-manager@7.6.0: resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.6.0 '@typescript-eslint/visitor-keys': 7.6.0 - dev: false /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} @@ -1302,14 +1288,9 @@ packages: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - /@typescript-eslint/types@7.5.0: - resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} - engines: {node: ^18.18.0 || >=20.0.0} - /@typescript-eslint/types@7.6.0: resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} engines: {node: ^18.18.0 || >=20.0.0} - dev: false /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.4): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -1347,28 +1328,7 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) - typescript: 5.4.4 - transitivePeerDependencies: - - supports-color - - /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4): - resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 transitivePeerDependencies: - supports-color @@ -1393,7 +1353,6 @@ packages: typescript: 5.4.4 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} @@ -1403,7 +1362,7 @@ packages: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.4 + '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) @@ -1413,24 +1372,6 @@ packages: - supports-color - typescript - /@typescript-eslint/utils@7.5.0(eslint@9.0.0)(typescript@5.4.4): - resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - eslint: 9.0.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.4): resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1448,7 +1389,6 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: false /@typescript-eslint/visitor-keys@5.62.0: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} @@ -1464,20 +1404,12 @@ packages: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - /@typescript-eslint/visitor-keys@7.5.0: - resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} - engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.5.0 - eslint-visitor-keys: 3.4.3 - /@typescript-eslint/visitor-keys@7.6.0: resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.6.0 eslint-visitor-keys: 3.4.3 - dev: false /@unocss/config@0.59.0: resolution: {integrity: sha512-uBsLXmT8Dap6YRHSdlsVLYev8L6JVK6vUFcVCe0w7B74TC+GceE13lNOG3Zhz1EVfHaOrUEcYFthDILUkjBR3Q==} @@ -1495,7 +1427,7 @@ packages: resolution: {integrity: sha512-/tjX9Z84/EQy5UFR4xn+1aoXKTkAGH3roQMYPPS+cmbchy9vjgON/6mWvm1oRwHHt9RnLsCM/uT0IT/QfS4W7g==} engines: {node: '>=14'} dependencies: - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) '@unocss/config': 0.59.0 '@unocss/core': 0.59.0 magic-string: 0.30.9 @@ -2602,7 +2534,7 @@ packages: eslint: '>=8' dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 eslint: 9.0.0 eslint-compat-utils: 0.1.2(eslint@9.0.0) dev: false @@ -2615,7 +2547,7 @@ packages: dependencies: escape-string-regexp: 1.0.5 eslint: 9.0.0 - ignore: 5.2.4 + ignore: 5.3.1 dev: false /eslint-plugin-format@0.1.0(eslint@9.0.0): @@ -2639,7 +2571,7 @@ packages: peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 dependencies: - '@typescript-eslint/utils': 7.5.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.4) debug: 4.3.4 doctrine: 3.0.0 eslint: 9.0.0 @@ -2713,7 +2645,7 @@ packages: eslint-plugin-es-x: 7.5.0(eslint@9.0.0) get-tsconfig: 4.7.3 globals: 14.0.0 - ignore: 5.2.4 + ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.0 dev: false @@ -3013,7 +2945,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 3.0.2 '@eslint/js': 9.0.0 '@humanwhocodes/config-array': 0.12.3 @@ -3034,7 +2966,7 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -3398,7 +3330,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -3492,14 +3424,9 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - dev: false /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -5294,14 +5221,6 @@ packages: hasBin: true dev: true - /ts-api-utils@1.0.3(typescript@5.4.4): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.4.4 - /ts-api-utils@1.3.0(typescript@5.4.4): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -5309,7 +5228,6 @@ packages: typescript: '>=4.2.0' dependencies: typescript: 5.4.4 - dev: false /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}