@js-toolkit/configs 3.93.14 → 3.94.0

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/eslint/web.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,a){void 0===a&&(a=s);var i=Object.getOwnPropertyDescriptor(t,s);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,a,i)}:function(e,t,s,a){void 0===a&&(a=s),e[a]=t[s]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[t.length]=s);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(null!=t)for(var a=e(t),i=0;i<a.length;i++)"default"!==a[i]&&__createBinding(s,t,a[i]);return __setModuleDefault(s,t),s}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path")),globals_1=__importDefault(require("globals")),compat_1=require("@eslint/compat"),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),utils_1=require("./utils"),webConfigEnabled=buildConfig_1.default.web&&fs_1.default.existsSync(paths_1.default.web.root),hasReactPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-react"),hasReactA11yPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-jsx-a11y"),hasReactHooksPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-react-hooks"),hasWCPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-wc"),hasMobxPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-mobx"),hasConfigAirbnb=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-config-airbnb"),hasTypescriptEslintPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("typescript-eslint"),hasPrettierEslintPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-prettier/recommended");delete globals_1.default.browser["AudioWorkletGlobalScope "];const filterAirbnbRules=e=>(0,compat_1.fixupConfigRules)({rules:require(require("eslint-config-airbnb").extends.find((t=>t.endsWith(`${e}.js`)))).rules}),config=[{languageOptions:{globals:{...globals_1.default.browser}}},...[hasReactPlugin&&require("eslint-plugin-react/configs/recommended"),...hasReactPlugin&&hasConfigAirbnb?filterAirbnbRules("react"):[],hasReactPlugin&&require("eslint-plugin-react/configs/jsx-runtime"),hasReactPlugin&&{settings:{react:{version:"detect"}},rules:{"react/jsx-props-no-spreading":"off"}}].filter(Boolean).map((e=>({...e,files:[...e.files??[],(0,paths_1.getFilesGlob)((0,paths_1.getSXExtensions)())]}))),...hasReactPlugin&&hasTypescriptEslintPlugin?[{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSXExtensions)())],rules:{"react/jsx-filename-extension":["error",{extensions:(0,paths_1.getSXExtensions)()}],"react/require-default-props":"off"}}]:[],...[hasReactA11yPlugin&&require("eslint-plugin-jsx-a11y").flatConfigs.recommended,...hasReactA11yPlugin&&hasConfigAirbnb?filterAirbnbRules("react-a11y"):[],hasReactA11yPlugin&&{rules:{"jsx-a11y/anchor-is-valid":["error",{specialLink:["to"]}],"jsx-a11y/label-has-for":["error",{allowChildren:!0}]}}].filter(Boolean).map((e=>({...e,files:[...e.files??[],(0,paths_1.getFilesGlob)((0,paths_1.getSXExtensions)())]}))),...hasReactHooksPlugin?[...utils_1.compat.extends("plugin:react-hooks/recommended"),{rules:{"react-hooks/exhaustive-deps":"error"}}]:[],...(hasWCPlugin?[require("eslint-plugin-wc").configs["flat/best-practice"],{settings:{wc:{elementBaseClasses:["HTMLElement"]}}}]:[]).map((e=>({...e,files:[...e.files??[],(0,paths_1.getFilesGlob)((0,paths_1.getNonSXExtensions)())]}))),...hasPrettierEslintPlugin?[require("eslint-plugin-prettier/recommended")]:[],...hasMobxPlugin?[...utils_1.compat.extends("plugin:mobx/recommended"),{rules:{"mobx/missing-observer":"off"}}]:[],...webConfigEnabled&&hasTypescriptEslintPlugin?(()=>{let e=path_1.default.join(paths_1.default.web.root,consts_1.eslintTsProject);return fs_1.default.existsSync(e)||(e=paths_1.default.web.tsconfig),fs_1.default.existsSync(e)||(e=""),e?[{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSXExtensions)())],languageOptions:{parserOptions:{project:e}}}]:[]})():[]];module.exports=config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@js-toolkit/configs",
3
- "version": "3.93.14",
3
+ "version": "3.94.0",
4
4
  "description": "Preconfigured configurations",
5
5
  "author": "VZH",
6
6
  "license": "MIT",
@@ -37,14 +37,14 @@
37
37
  "eslint-plugin-jsx-a11y": "^6.10.2",
38
38
  "eslint-plugin-prettier": "^5.2.1",
39
39
  "eslint-plugin-promise": "^7.2.1",
40
- "eslint-plugin-react": "^7.37.2",
40
+ "eslint-plugin-react": "^7.37.3",
41
41
  "eslint-plugin-react-hooks": "5.1.0",
42
42
  "globals": "^15.14.0",
43
43
  "html-webpack-plugin": "^5.6.3",
44
44
  "prettier": "^3.4.2",
45
45
  "rimraf": "^6.0.1",
46
46
  "typescript": "^5.7.2",
47
- "typescript-eslint": "^8.18.1",
47
+ "typescript-eslint": "^8.18.2",
48
48
  "webpack": "^5.97.1",
49
49
  "webpack-dev-server": "^5.2.0",
50
50
  "webpack-node-externals": "^3.0.0"
package/paths.d.ts CHANGED
@@ -4,6 +4,7 @@ export declare function getTSExtensions(withStar?: boolean): string[];
4
4
  export declare function getJSExtensions(withStar?: boolean): string[];
5
5
  export declare function getSXExtensions(withStar?: boolean): string[];
6
6
  export declare function getTSXExtensions(withStar?: boolean): string[];
7
+ export declare function getNonSXExtensions(withStar?: boolean): string[];
7
8
  export declare function getPaths(baseDir?: string, buildConfig?: import("./buildConfig").BuildConfig): Readonly<{
8
9
  root: string;
9
10
  nodeModules: {
package/paths.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.moduleExtensions=void 0,exports.getFilesGlob=getFilesGlob,exports.getTSExtensions=getTSExtensions,exports.getJSExtensions=getJSExtensions,exports.getSXExtensions=getSXExtensions,exports.getTSXExtensions=getTSXExtensions,exports.getPaths=getPaths;const path_1=__importDefault(require("path")),buildConfig_1=require("./buildConfig");function addStar(t){return t.map((t=>`*${t}`))}function getFilesGlob(t,e){return path_1.default.join(e||"","**/*.{")+t.map((t=>t.substring(1))).join(",")+"}"}function getTSExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.includes("ts")));return t?addStar(e):e}function getJSExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.includes("js")));return t?addStar(e):e}function getSXExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.endsWith("sx")));return t?addStar(e):e}function getTSXExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.endsWith("tsx")));return t?addStar(e):e}function getPaths(t=process.cwd(),e=(0,buildConfig_1.getBuildConfig)()){return Object.freeze({root:t,nodeModules:{root:(()=>{const o=e.nodeModules.root;try{const e=__dirname.indexOf(o);return e>=0?__dirname.substring(0,e+o.length):path_1.default.resolve(t,o)}catch{return path_1.default.resolve(t,o)}})()},getNodeModulesRoot(t){const e=require.resolve(t),o="node_modules";return e.substring(0,e.indexOf(o)+12)},output:{root:path_1.default.resolve(t,e.output.root)},web:(()=>{const{web:o}=e;return o?{root:path_1.default.resolve(t,o.root),sources:path_1.default.resolve(t,o.root,o.sources),assets:path_1.default.resolve(t,o.root,o.assets),staticContent:o.staticContent.map((e=>{const s="string"==typeof e?{path:e}:e;return path_1.default.isAbsolute(s.path)?s:{...s,path:path_1.default.resolve(t,o.root,s.path)}})),tsconfig:path_1.default.resolve(t,o.root,o.tsconfig),output:{path:path_1.default.resolve(t,e.output.root,o.output.root),jsPath:path_1.default.resolve(t,e.output.root,o.output.root,o.output.js)}}:{root:"",sources:"",assets:"",staticContent:[],tsconfig:"",output:{path:"",jsPath:""}}})(),node:(()=>{const{node:o}=e;return o?{root:path_1.default.resolve(t,o.root),sources:path_1.default.resolve(t,o.root,o.sources),tsconfig:path_1.default.resolve(t,o.root,o.tsconfig),output:{path:path_1.default.resolve(t,e.output.root,o.output.root)}}:{root:"",sources:"",tsconfig:"",output:{path:""}}})(),shared:(()=>{const{shared:o}=e;return o?{root:path_1.default.resolve(t,o.root),sources:path_1.default.resolve(t,o.root,o.sources),tsconfig:path_1.default.resolve(t,o.root,o.tsconfig)}:{root:"",sources:"",tsconfig:""}})()})}exports.moduleExtensions=[".js",".mjs",".cjs",".jsx",".mjsx",".ts",".tsx",".mtsx",".d.ts"];const paths=getPaths();exports.default=paths;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.moduleExtensions=void 0,exports.getFilesGlob=getFilesGlob,exports.getTSExtensions=getTSExtensions,exports.getJSExtensions=getJSExtensions,exports.getSXExtensions=getSXExtensions,exports.getTSXExtensions=getTSXExtensions,exports.getNonSXExtensions=getNonSXExtensions,exports.getPaths=getPaths;const path_1=__importDefault(require("path")),buildConfig_1=require("./buildConfig");function addStar(t){return t.map((t=>`*${t}`))}function getFilesGlob(t,e){return path_1.default.join(e||"","**/*.{")+t.map((t=>t.substring(1))).join(",")+"}"}function getTSExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.includes("ts")));return t?addStar(e):e}function getJSExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.includes("js")));return t?addStar(e):e}function getSXExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.endsWith("sx")));return t?addStar(e):e}function getTSXExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.endsWith("tsx")));return t?addStar(e):e}function getNonSXExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>!t.endsWith("sx")));return t?addStar(e):e}function getPaths(t=process.cwd(),e=(0,buildConfig_1.getBuildConfig)()){return Object.freeze({root:t,nodeModules:{root:(()=>{const o=e.nodeModules.root;try{const e=__dirname.indexOf(o);return e>=0?__dirname.substring(0,e+o.length):path_1.default.resolve(t,o)}catch{return path_1.default.resolve(t,o)}})()},getNodeModulesRoot(t){const e=require.resolve(t),o="node_modules";return e.substring(0,e.indexOf(o)+12)},output:{root:path_1.default.resolve(t,e.output.root)},web:(()=>{const{web:o}=e;return o?{root:path_1.default.resolve(t,o.root),sources:path_1.default.resolve(t,o.root,o.sources),assets:path_1.default.resolve(t,o.root,o.assets),staticContent:o.staticContent.map((e=>{const s="string"==typeof e?{path:e}:e;return path_1.default.isAbsolute(s.path)?s:{...s,path:path_1.default.resolve(t,o.root,s.path)}})),tsconfig:path_1.default.resolve(t,o.root,o.tsconfig),output:{path:path_1.default.resolve(t,e.output.root,o.output.root),jsPath:path_1.default.resolve(t,e.output.root,o.output.root,o.output.js)}}:{root:"",sources:"",assets:"",staticContent:[],tsconfig:"",output:{path:"",jsPath:""}}})(),node:(()=>{const{node:o}=e;return o?{root:path_1.default.resolve(t,o.root),sources:path_1.default.resolve(t,o.root,o.sources),tsconfig:path_1.default.resolve(t,o.root,o.tsconfig),output:{path:path_1.default.resolve(t,e.output.root,o.output.root)}}:{root:"",sources:"",tsconfig:"",output:{path:""}}})(),shared:(()=>{const{shared:o}=e;return o?{root:path_1.default.resolve(t,o.root),sources:path_1.default.resolve(t,o.root,o.sources),tsconfig:path_1.default.resolve(t,o.root,o.tsconfig)}:{root:"",sources:"",tsconfig:""}})()})}exports.moduleExtensions=[".js",".mjs",".cjs",".jsx",".mjsx",".ts",".tsx",".mtsx",".d.ts"];const paths=getPaths();exports.default=paths;
package/eslint/react.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,a){void 0===a&&(a=s);var i=Object.getOwnPropertyDescriptor(t,s);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,a,i)}:function(e,t,s,a){void 0===a&&(a=s),e[a]=t[s]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[t.length]=s);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(null!=t)for(var a=e(t),i=0;i<a.length;i++)"default"!==a[i]&&__createBinding(s,t,a[i]);return __setModuleDefault(s,t),s}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path")),globals_1=__importDefault(require("globals")),compat_1=require("@eslint/compat"),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),utils_1=require("./utils"),webConfigEnabled=buildConfig_1.default.web&&fs_1.default.existsSync(paths_1.default.web.root),hasReactPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-react"),hasReactA11yPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-jsx-a11y"),hasReactHooksPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-react-hooks"),hasMobxPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-mobx"),hasConfigAirbnb=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-config-airbnb"),hasTypescriptEslintPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("typescript-eslint"),hasPrettierEslintPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-prettier/recommended");delete globals_1.default.browser["AudioWorkletGlobalScope "];const filterAirbnbRules=e=>(0,compat_1.fixupConfigRules)({rules:require(require("eslint-config-airbnb").extends.find((t=>t.endsWith(`${e}.js`)))).rules}),config=[{languageOptions:{globals:{...globals_1.default.browser}}},...[hasReactPlugin&&require("eslint-plugin-react/configs/recommended"),...hasReactPlugin&&hasConfigAirbnb?filterAirbnbRules("react"):[],hasReactPlugin&&require("eslint-plugin-react/configs/jsx-runtime"),hasReactPlugin&&{settings:{react:{version:"detect"}},rules:{"react/jsx-props-no-spreading":"off"}}].filter(Boolean).map((e=>({...e,files:[...e.files??[],(0,paths_1.getFilesGlob)((0,paths_1.getSXExtensions)())]}))),...hasReactPlugin&&hasTypescriptEslintPlugin?[{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSXExtensions)())],rules:{"react/jsx-filename-extension":["error",{extensions:(0,paths_1.getSXExtensions)()}],"react/require-default-props":"off"}}]:[],...[hasReactA11yPlugin&&require("eslint-plugin-jsx-a11y").flatConfigs.recommended,...hasReactA11yPlugin&&hasConfigAirbnb?filterAirbnbRules("react-a11y"):[],hasReactA11yPlugin&&{rules:{"jsx-a11y/anchor-is-valid":["error",{specialLink:["to"]}],"jsx-a11y/label-has-for":["error",{allowChildren:!0}]}}].filter(Boolean).map((e=>({...e,files:[...e.files??[],(0,paths_1.getFilesGlob)((0,paths_1.getSXExtensions)())]}))),...hasReactHooksPlugin?[...utils_1.compat.extends("plugin:react-hooks/recommended"),{rules:{"react-hooks/exhaustive-deps":"error"}}]:[],...hasPrettierEslintPlugin?[require("eslint-plugin-prettier/recommended")]:[],...hasMobxPlugin?[...utils_1.compat.extends("plugin:mobx/recommended"),{rules:{"mobx/missing-observer":"off"}}]:[],...webConfigEnabled&&hasTypescriptEslintPlugin?(()=>{let e=path_1.default.join(paths_1.default.web.root,consts_1.eslintTsProject);return fs_1.default.existsSync(e)||(e=paths_1.default.web.tsconfig),fs_1.default.existsSync(e)||(e=""),e?[{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSXExtensions)())],languageOptions:{parserOptions:{project:e}}}]:[]})():[]];module.exports=config;
File without changes