@js-toolkit/configs 3.91.0 → 3.92.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/buildConfig.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { type BuildConfigDefaults } from './buildConfigDefaults';
2
- export interface BuildConfig extends Omit<BuildConfigDefaults, 'client' | 'server' | 'shared'> {
3
- client: BuildConfigDefaults['client'] | undefined;
4
- server: BuildConfigDefaults['server'] | undefined;
5
- shared: BuildConfigDefaults['shared'] | undefined;
2
+ export interface BuildConfig extends Pick<BuildConfigDefaults, 'output' | 'nodeModules'> {
3
+ web?: BuildConfigDefaults['web'] | undefined;
4
+ node?: BuildConfigDefaults['node'] | undefined;
5
+ shared?: BuildConfigDefaults['shared'] | undefined;
6
6
  default: BuildConfigDefaults;
7
7
  envStringify(): {
8
8
  'process.env.buildConfig': string;
package/buildConfig.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBuildConfig=exports.resolveConfigPath=void 0;const buildConfigDefaults_1=__importDefault(require("./buildConfigDefaults"));function resolveConfigPath(e=["build.config"],t=[process.cwd()]){let i="";for(let r=0,o=e[r];r<e.length;r+=1)try{if(i=require.resolve(`./${o}`,{paths:t}),i)return i}catch(e){}return i}function merge(e,t){return Array.from(new Set([...Object.getOwnPropertyNames(e),...Object.getOwnPropertyNames(t)])).reduce(((i,r)=>{var o,n;const s=r;return Array.isArray(e[s])||Array.isArray(t[s])?i[s]=null!==(o=t[s])&&void 0!==o?o:e[s]:"object"==typeof e[s]&&"object"==typeof t[s]?i[s]=merge(e[s],null!==(n=t[s])&&void 0!==n?n:{}):i[s]=s in t?t[s]:e[s],i}),{})}function getBuildConfig(e=resolveConfigPath()){const t=process.env.buildConfig||(e?merge(buildConfigDefaults_1.default,require(e)):Object.assign(Object.assign({},buildConfigDefaults_1.default),{client:void 0,server:void 0,shared:void 0}));return Object.assign(Object.assign({},t),{default:buildConfigDefaults_1.default,envStringify(){return{"process.env.buildConfig":JSON.stringify(this)}}})}exports.resolveConfigPath=resolveConfigPath,exports.getBuildConfig=getBuildConfig;const buildConfig=getBuildConfig();exports.default=buildConfig;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBuildConfig=exports.resolveConfigPath=void 0;const buildConfigDefaults_1=__importDefault(require("./buildConfigDefaults"));function resolveConfigPath(e=["build.config"],t=[process.cwd()]){let i="";for(let r=0,o=e[r];r<e.length;r+=1)try{if(i=require.resolve(`./${o}`,{paths:t}),i)return i}catch(e){}return i}function merge(e,t){return Array.from(new Set([...Object.getOwnPropertyNames(e),...Object.getOwnPropertyNames(t)])).reduce(((i,r)=>{var o,n;const u=r;return Array.isArray(e[u])||Array.isArray(t[u])?i[u]=null!==(o=t[u])&&void 0!==o?o:e[u]:"object"==typeof e[u]&&"object"==typeof t[u]?i[u]=merge(e[u],null!==(n=t[u])&&void 0!==n?n:{}):i[u]=u in t?t[u]:e[u],i}),{})}function getBuildConfig(e=resolveConfigPath()){const t=process.env.buildConfig||(e?merge(buildConfigDefaults_1.default,require(e)):Object.assign(Object.assign({},buildConfigDefaults_1.default),{web:void 0,node:void 0,shared:void 0}));return Object.assign(Object.assign({},t),{default:buildConfigDefaults_1.default,envStringify(){return{"process.env.buildConfig":JSON.stringify(this)}}})}exports.resolveConfigPath=resolveConfigPath,exports.getBuildConfig=getBuildConfig;const buildConfig=getBuildConfig();exports.default=buildConfig;
@@ -1,17 +1,17 @@
1
- type HtmlOptions = import('html-webpack-plugin').Options & {
2
- readonly main?: boolean | undefined;
3
- };
4
- type StaticContentOptions = (string | {
5
- path: string;
6
- ignore?: (string | RegExp)[] | undefined;
7
- })[];
8
- export declare function getClientConfig(root?: string): {
1
+ export declare function getWebAppConfig(root?: string): {
9
2
  root: string;
10
3
  sources: string;
11
4
  assets: string;
12
- staticContent: StaticContentOptions;
5
+ staticContent: (string | {
6
+ path: string;
7
+ ignore?: (string | RegExp)[] | undefined;
8
+ })[];
13
9
  /** Generating html options. */
14
- html: HtmlOptions | HtmlOptions[];
10
+ html: (import("html-webpack-plugin").Options & {
11
+ readonly main?: boolean | undefined;
12
+ }) | (import("html-webpack-plugin").Options & {
13
+ readonly main?: boolean | undefined;
14
+ })[];
15
15
  /** Used by webpack loaders and plugins. */
16
16
  tsconfig: string;
17
17
  /** Plug'n'Play resolver for Webpack. */
@@ -39,7 +39,7 @@ export declare function getClientConfig(root?: string): {
39
39
  };
40
40
  };
41
41
  };
42
- export declare function getServerConfig(root?: string): {
42
+ export declare function getNodeAppConfig(root?: string): {
43
43
  root: string;
44
44
  sources: string;
45
45
  /** Used by webpack loaders and plugins. */
@@ -61,8 +61,8 @@ export type BuildConfigDefaults = {
61
61
  nodeModules: {
62
62
  root: string;
63
63
  };
64
- client: ReturnType<typeof getClientConfig>;
65
- server: ReturnType<typeof getServerConfig>;
64
+ web: ReturnType<typeof getWebAppConfig>;
65
+ node: ReturnType<typeof getNodeAppConfig>;
66
66
  shared: ReturnType<typeof getSharedConfig>;
67
67
  };
68
68
  declare const _default: Readonly<BuildConfigDefaults>;
@@ -1 +1 @@
1
- "use strict";function getClientConfig(e="client"){return{root:e,sources:"src",assets:"src/assets",staticContent:["public"],html:[],tsconfig:"tsconfig.json",webpackPnpEnabled:!1,output:{root:e,js:"js",styles:"styles",assets:"assets",external:"lib",publicPath:"/",assetManifest:{fileName:"",filterTemplate:{}},sw:{swDest:""}}}}function getServerConfig(e="server"){return{root:e,sources:"src",tsconfig:"tsconfig.json",output:{root:e,publicPath:"/"}}}function getSharedConfig(e="shared"){return{root:e,sources:"src",tsconfig:"tsconfig.json"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSharedConfig=exports.getServerConfig=exports.getClientConfig=void 0,exports.getClientConfig=getClientConfig,exports.getServerConfig=getServerConfig,exports.getSharedConfig=getSharedConfig;const buildConfigDefaults={output:{root:"build"},nodeModules:{root:"node_modules"},client:getClientConfig(),server:getServerConfig(),shared:getSharedConfig()};exports.default=Object.freeze(buildConfigDefaults);
1
+ "use strict";function getWebAppConfig(e="web"){return{root:e,sources:"src",assets:"src/assets",staticContent:["public"],html:[],tsconfig:"tsconfig.json",webpackPnpEnabled:!1,output:{root:e,js:"js",styles:"styles",assets:"assets",external:"lib",publicPath:"/",assetManifest:{fileName:"",filterTemplate:{}},sw:{swDest:""}}}}function getNodeAppConfig(e="node"){return{root:e,sources:"src",tsconfig:"tsconfig.json",output:{root:e,publicPath:"/"}}}function getSharedConfig(e="shared"){return{root:e,sources:"src",tsconfig:"tsconfig.json"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSharedConfig=exports.getNodeAppConfig=exports.getWebAppConfig=void 0,exports.getWebAppConfig=getWebAppConfig,exports.getNodeAppConfig=getNodeAppConfig,exports.getSharedConfig=getSharedConfig;const buildConfigDefaults={output:{root:"build"},nodeModules:{root:"node_modules"},web:getWebAppConfig(),node:getNodeAppConfig(),shared:getSharedConfig()};exports.default=Object.freeze(buildConfigDefaults);
@@ -1 +1 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths"));exports.default=({import:e=!!paths_1.default.client.sources&&{path:[paths_1.default.client.sources]},presetEnv:t,nested:s=!0,minimizer:a=appEnv_1.default.prod,autoprefixer:r=appEnv_1.default.prod}={})=>({sourceMap:appEnv_1.default.dev,plugins:[e&&["postcss-import",e],s&&"postcss-nested",["postcss-preset-env",Object.assign(Object.assign({stage:2},t),{features:Object.assign({"custom-media-queries":!0,autoprefixer:r},t?t.features:void 0)})],a&&["cssnano",{preset:["default",{discardComments:{removeAll:!0}}]}]].filter(Boolean)});
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths"));exports.default=({import:e=!!paths_1.default.web.sources&&{path:[paths_1.default.web.sources]},presetEnv:t,nested:s=!0,minimizer:a=appEnv_1.default.prod,autoprefixer:r=appEnv_1.default.prod}={})=>({sourceMap:appEnv_1.default.dev,plugins:[e&&["postcss-import",e],s&&"postcss-nested",["postcss-preset-env",Object.assign(Object.assign({stage:2},t),{features:Object.assign({"custom-media-queries":!0,autoprefixer:r},t?t.features:void 0)})],a&&["cssnano",{preset:["default",{discardComments:{removeAll:!0}}]}]].filter(Boolean)});
package/eslint/common.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,n)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t},__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")),eslint_config_airbnb_base_1=__importDefault(require("eslint-config-airbnb-base")),style_1=__importDefault(require("eslint-config-airbnb-base/rules/style")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),hasImportPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-import"),hasTsDocPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-tsdoc"),airbnbExtends=hasImportPlugin?eslint_config_airbnb_base_1.default.extends:eslint_config_airbnb_base_1.default.extends.filter((e=>!e.includes("rules/imports.js"))),config={extends:[...airbnbExtends,"plugin:prettier/recommended"],env:{es2020:!0},parser:"@babel/eslint-parser",parserOptions:{ecmaVersion:2020},reportUnusedDisableDirectives:!0,settings:{"import/resolver":{node:{extensions:(0,paths_1.getJSExtensions)(),moduleDirectory:["node_modules",paths_1.default.nodeModules.root,paths_1.default.client.sources,paths_1.default.server.sources,paths_1.default.shared.sources].filter((e=>!!e))},typescript:{}},"import/extensions":(0,paths_1.getJSExtensions)()},rules:Object.assign({"no-console":"off","no-unused-expressions":["error",{allowShortCircuit:!0}],"lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"func-names":["warn","as-needed",{generators:"as-needed"}],"no-restricted-exports":["error",{restrictedNamedExports:["then"],restrictDefaultExports:{named:!0,namedFrom:!0,namespaceFrom:!0,defaultFrom:!1}}]},hasImportPlugin&&{"import/no-extraneous-dependencies":["error",{devDependencies:!0}],"import/extensions":["error","ignorePackages",paths_1.moduleExtensions.reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.substring(1)]:"never"})),{"":"never"})],"import/order":["error",{groups:["builtin","external","internal","parent","sibling","index","object"]}],"import/prefer-default-export":"off"}),overrides:[{files:(0,paths_1.getTSExtensions)().map((e=>`*${e}`)),extends:["plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],parser:"@typescript-eslint/parser",parserOptions:{project:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"},plugins:["@typescript-eslint",...hasTsDocPlugin?["eslint-plugin-tsdoc"]:[]],settings:{"import/parsers":{"@typescript-eslint/parser":paths_1.moduleExtensions},"import/resolver":{node:{extensions:paths_1.moduleExtensions},typescript:{project:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"}},"import/extensions":paths_1.moduleExtensions,"import/external-module-folders":["node_modules","node_modules/@types"]},rules:Object.assign(Object.assign(Object.assign({"no-restricted-syntax":Array.isArray(style_1.default.rules["no-restricted-syntax"])?style_1.default.rules["no-restricted-syntax"].filter((e=>"object"!=typeof e||"ForOfStatement"!==e.selector)):style_1.default.rules["no-restricted-syntax"],"no-useless-constructor":"off","no-void":["error",{allowAsStatement:!0}]},hasImportPlugin&&{"import/export":"off","import/named":"off"}),{"@typescript-eslint/explicit-member-accessibility":"off","@typescript-eslint/explicit-function-return-type":["warn",{allowExpressions:!0,allowTypedFunctionExpressions:!0,allowHigherOrderFunctions:!0,allowDirectConstAssertionInArrowFunctions:!0,allowConciseArrowFunctionExpressionsStartingWithVoid:!0}]}),hasTsDocPlugin&&{"tsdoc/syntax":"warn"}),overrides:[{files:["*.d.ts"],rules:{"max-classes-per-file":"off"}}]}]};module.exports=config;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,n)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t},__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")),eslint_config_airbnb_base_1=__importDefault(require("eslint-config-airbnb-base")),style_1=__importDefault(require("eslint-config-airbnb-base/rules/style")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),hasImportPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-import"),hasTsDocPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-tsdoc"),airbnbExtends=hasImportPlugin?eslint_config_airbnb_base_1.default.extends:eslint_config_airbnb_base_1.default.extends.filter((e=>!e.includes("rules/imports.js"))),config={extends:[...airbnbExtends,"plugin:prettier/recommended"],env:{es2020:!0},parser:"@babel/eslint-parser",parserOptions:{ecmaVersion:2020},reportUnusedDisableDirectives:!0,settings:{"import/resolver":{node:{extensions:(0,paths_1.getJSExtensions)(),moduleDirectory:["node_modules",paths_1.default.nodeModules.root,paths_1.default.web.sources,paths_1.default.node.sources,paths_1.default.shared.sources].filter((e=>!!e))},typescript:{}},"import/extensions":(0,paths_1.getJSExtensions)()},rules:Object.assign({"no-console":"off","no-unused-expressions":["error",{allowShortCircuit:!0}],"lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"func-names":["warn","as-needed",{generators:"as-needed"}],"no-restricted-exports":["error",{restrictedNamedExports:["then"],restrictDefaultExports:{named:!0,namedFrom:!0,namespaceFrom:!0,defaultFrom:!1}}]},hasImportPlugin&&{"import/no-extraneous-dependencies":["error",{devDependencies:!0}],"import/extensions":["error","ignorePackages",paths_1.moduleExtensions.reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.substring(1)]:"never"})),{"":"never"})],"import/order":["error",{groups:["builtin","external","internal","parent","sibling","index","object"]}],"import/prefer-default-export":"off"}),overrides:[{files:(0,paths_1.getTSExtensions)().map((e=>`*${e}`)),extends:["plugin:@typescript-eslint/recommended","plugin:@typescript-eslint/recommended-requiring-type-checking"],parser:"@typescript-eslint/parser",parserOptions:{project:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"},plugins:["@typescript-eslint",...hasTsDocPlugin?["eslint-plugin-tsdoc"]:[]],settings:{"import/parsers":{"@typescript-eslint/parser":paths_1.moduleExtensions},"import/resolver":{node:{extensions:paths_1.moduleExtensions},typescript:{project:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"}},"import/extensions":paths_1.moduleExtensions,"import/external-module-folders":["node_modules","node_modules/@types"]},rules:Object.assign(Object.assign(Object.assign({"no-restricted-syntax":Array.isArray(style_1.default.rules["no-restricted-syntax"])?style_1.default.rules["no-restricted-syntax"].filter((e=>"object"!=typeof e||"ForOfStatement"!==e.selector)):style_1.default.rules["no-restricted-syntax"],"no-useless-constructor":"off","no-void":["error",{allowAsStatement:!0}]},hasImportPlugin&&{"import/export":"off","import/named":"off"}),{"@typescript-eslint/explicit-member-accessibility":"off","@typescript-eslint/explicit-function-return-type":["warn",{allowExpressions:!0,allowTypedFunctionExpressions:!0,allowHigherOrderFunctions:!0,allowDirectConstAssertionInArrowFunctions:!0,allowConciseArrowFunctionExpressionsStartingWithVoid:!0}]}),hasTsDocPlugin&&{"tsdoc/syntax":"warn"}),overrides:[{files:["*.d.ts"],rules:{"max-classes-per-file":"off"}}]}]};module.exports=config;
package/eslint/node.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,i)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),__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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__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")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),consts_1=require("./consts"),enabled=buildConfig_1.default.server&&fs_1.default.existsSync(paths_1.default.server.root),config={extends:[require.resolve("./common")],env:{node:!0},overrides:[{files:(0,paths_1.getTSExtensions)().map((e=>`*${e}`)),parserOptions:{project:(()=>{if(enabled){const e=path_1.default.join(paths_1.default.server.root,consts_1.eslintTsProject);if(fs_1.default.existsSync(e))return e;if(fs_1.default.existsSync(paths_1.default.server.tsconfig))return paths_1.default.server.tsconfig}return fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"})()}}]};module.exports=config;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__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")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),consts_1=require("./consts"),enabled=buildConfig_1.default.node&&fs_1.default.existsSync(paths_1.default.node.root),config={extends:[require.resolve("./common")],env:{node:!0},overrides:[{files:(0,paths_1.getTSExtensions)().map((e=>`*${e}`)),parserOptions:{project:(()=>{if(enabled){const e=path_1.default.join(paths_1.default.node.root,consts_1.eslintTsProject);if(fs_1.default.existsSync(e))return e;if(fs_1.default.existsSync(paths_1.default.node.tsconfig))return paths_1.default.node.tsconfig}return fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"})()}}]};module.exports=config;
package/eslint/react.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,s,a)}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),__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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__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")),eslint_config_airbnb_1=__importDefault(require("eslint-config-airbnb")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),enabled=buildConfig_1.default.client&&fs_1.default.existsSync(paths_1.default.client.root),hasReactPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-react"),hasA11yPlugin=!!(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"),airbnbExtends=eslint_config_airbnb_1.default.extends.filter((e=>!(e.includes("eslint-config-airbnb-base")||!hasReactPlugin&&e.includes("rules/react.js")||!hasA11yPlugin&&e.includes("rules/react-a11y.js")))),config={extends:[...airbnbExtends,require.resolve("./common"),...hasReactHooksPlugin?["plugin:react-hooks/recommended"]:[],...hasMobxPlugin?["plugin:mobx/recommended"]:[]],env:{browser:!0},rules:Object.assign(Object.assign(Object.assign({},hasReactPlugin&&{"react/prop-types":"off","react/sort-comp":"off","react/destructuring-assignment":["error","always",{ignoreClassFields:!0}],"react/jsx-filename-extension":["error",{extensions:[".jsx"]}],"react/jsx-wrap-multilines":"off","react/jsx-props-no-spreading":"off","react/function-component-definition":["error",{namedComponents:"function-declaration",unnamedComponents:"arrow-function"}]}),hasA11yPlugin&&{"jsx-a11y/anchor-is-valid":["error",{specialLink:["to"]}],"jsx-a11y/label-has-for":["error",{allowChildren:!0}]}),hasReactHooksPlugin&&{"react-hooks/exhaustive-deps":"error"}),overrides:[{files:(0,paths_1.getTSExtensions)().map((e=>`*${e}`)),parserOptions:{project:(()=>{if(enabled){const e=path_1.default.join(paths_1.default.client.root,consts_1.eslintTsProject);if(fs_1.default.existsSync(e))return e;if(fs_1.default.existsSync(paths_1.default.client.tsconfig))return paths_1.default.client.tsconfig}return fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"})()},rules:Object.assign({},hasReactPlugin&&{"react/jsx-filename-extension":["error",{extensions:(0,paths_1.getReactExtensions)()}]})}]};module.exports=config;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,s,a)}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),__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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__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")),eslint_config_airbnb_1=__importDefault(require("eslint-config-airbnb")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),enabled=buildConfig_1.default.web&&fs_1.default.existsSync(paths_1.default.web.root),hasReactPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-react"),hasA11yPlugin=!!(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"),airbnbExtends=eslint_config_airbnb_1.default.extends.filter((e=>!(e.includes("eslint-config-airbnb-base")||!hasReactPlugin&&e.includes("rules/react.js")||!hasA11yPlugin&&e.includes("rules/react-a11y.js")))),config={extends:[...airbnbExtends,require.resolve("./common"),...hasReactHooksPlugin?["plugin:react-hooks/recommended"]:[],...hasMobxPlugin?["plugin:mobx/recommended"]:[]],env:{browser:!0},rules:Object.assign(Object.assign(Object.assign({},hasReactPlugin&&{"react/prop-types":"off","react/sort-comp":"off","react/destructuring-assignment":["error","always",{ignoreClassFields:!0}],"react/jsx-filename-extension":["error",{extensions:[".jsx"]}],"react/jsx-wrap-multilines":"off","react/jsx-props-no-spreading":"off","react/function-component-definition":["error",{namedComponents:"function-declaration",unnamedComponents:"arrow-function"}]}),hasA11yPlugin&&{"jsx-a11y/anchor-is-valid":["error",{specialLink:["to"]}],"jsx-a11y/label-has-for":["error",{allowChildren:!0}]}),hasReactHooksPlugin&&{"react-hooks/exhaustive-deps":"error"}),overrides:[{files:(0,paths_1.getTSExtensions)().map((e=>`*${e}`)),parserOptions:{project:(()=>{if(enabled){const e=path_1.default.join(paths_1.default.web.root,consts_1.eslintTsProject);if(fs_1.default.existsSync(e))return e;if(fs_1.default.existsSync(paths_1.default.web.tsconfig))return paths_1.default.web.tsconfig}return fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"})()},rules:Object.assign({},hasReactPlugin&&{"react/jsx-filename-extension":["error",{extensions:(0,paths_1.getReactExtensions)()}]})}]};module.exports=config;
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var l=Object.getOwnPropertyDescriptor(t,s);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,l)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t},__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")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),consts_1=require("./consts");function getFilesGlob(e){return paths_1.moduleExtensions.map((t=>`${e||"."}/**/*${t}`))}const filesGlobs={client:buildConfig_1.default.client&&fs_1.default.existsSync(paths_1.default.client.root)?getFilesGlob(buildConfig_1.default.client.root):[],server:buildConfig_1.default.server&&fs_1.default.existsSync(paths_1.default.server.root)?getFilesGlob(buildConfig_1.default.server.root):[],shared:buildConfig_1.default.shared&&fs_1.default.existsSync(paths_1.default.shared.root)?getFilesGlob(buildConfig_1.default.shared.root):[],other:paths_1.moduleExtensions.map((e=>`*${e}`))},config={settings:{filesGlobs:filesGlobs,getFilesGlob:getFilesGlob},overrides:[...filesGlobs.client.length>0?[{files:filesGlobs.client,extends:[require.resolve("./react")],rules:{}}]:[],...filesGlobs.server.length>0?[{files:filesGlobs.server,extends:[require.resolve("./react"),require.resolve("./node")],rules:{}}]:[],...filesGlobs.shared.length>0?[{files:filesGlobs.shared,extends:[require.resolve("./common")],env:{"shared-node-browser":!0},parserOptions:{project:(()=>{const e=path_1.default.join(paths_1.default.shared.root,consts_1.eslintTsProject);return fs_1.default.existsSync(e)?e:fs_1.default.existsSync(paths_1.default.shared.tsconfig)?paths_1.default.shared.tsconfig:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"})()},rules:{}}]:[],{files:filesGlobs.other,excludedFiles:[...filesGlobs.client,...filesGlobs.server,...filesGlobs.shared].filter((e=>!!e)),extends:[require.resolve("./common")],rules:{}}]};module.exports=config;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,o){void 0===o&&(o=s);var l=Object.getOwnPropertyDescriptor(t,s);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,o,l)}:function(e,t,s,o){void 0===o&&(o=s),e[o]=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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t},__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")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),consts_1=require("./consts");function getFilesGlob(e){return paths_1.moduleExtensions.map((t=>`${e||"."}/**/*${t}`))}const filesGlobs={web:buildConfig_1.default.web&&fs_1.default.existsSync(paths_1.default.web.root)?getFilesGlob(buildConfig_1.default.web.root):[],node:buildConfig_1.default.node&&fs_1.default.existsSync(paths_1.default.node.root)?getFilesGlob(buildConfig_1.default.node.root):[],shared:buildConfig_1.default.shared&&fs_1.default.existsSync(paths_1.default.shared.root)?getFilesGlob(buildConfig_1.default.shared.root):[],other:paths_1.moduleExtensions.map((e=>`*${e}`))},config={settings:{filesGlobs:filesGlobs,getFilesGlob:getFilesGlob},overrides:[...filesGlobs.web.length>0?[{files:filesGlobs.web,extends:[require.resolve("./react")],rules:{}}]:[],...filesGlobs.node.length>0?[{files:filesGlobs.node,extends:[require.resolve("./react"),require.resolve("./node")],rules:{}}]:[],...filesGlobs.shared.length>0?[{files:filesGlobs.shared,extends:[require.resolve("./common")],env:{"shared-node-browser":!0},parserOptions:{project:(()=>{const e=path_1.default.join(paths_1.default.shared.root,consts_1.eslintTsProject);return fs_1.default.existsSync(e)?e:fs_1.default.existsSync(paths_1.default.shared.tsconfig)?paths_1.default.shared.tsconfig:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"})()},rules:{}}]:[],{files:filesGlobs.other,excludedFiles:[...filesGlobs.web,...filesGlobs.node,...filesGlobs.shared].filter(Boolean),extends:[require.resolve("./common")],rules:{}}]};module.exports=config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@js-toolkit/configs",
3
- "version": "3.91.0",
3
+ "version": "3.92.0",
4
4
  "description": "Preconfigured configurations",
5
5
  "author": "VZH",
6
6
  "license": "MIT",
package/paths.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare function getPaths(baseDir?: string, buildConfig?: import("./build
12
12
  output: {
13
13
  root: string;
14
14
  };
15
- client: {
15
+ web: {
16
16
  root: string;
17
17
  sources: string;
18
18
  assets: string;
@@ -26,7 +26,7 @@ export declare function getPaths(baseDir?: string, buildConfig?: import("./build
26
26
  jsPath: string;
27
27
  };
28
28
  };
29
- server: {
29
+ node: {
30
30
  root: string;
31
31
  sources: string;
32
32
  tsconfig: string;
@@ -51,7 +51,7 @@ declare const paths: Readonly<{
51
51
  output: {
52
52
  root: string;
53
53
  };
54
- client: {
54
+ web: {
55
55
  root: string;
56
56
  sources: string;
57
57
  assets: string;
@@ -65,7 +65,7 @@ declare const paths: Readonly<{
65
65
  jsPath: string;
66
66
  };
67
67
  };
68
- server: {
68
+ node: {
69
69
  root: string;
70
70
  sources: string;
71
71
  tsconfig: string;
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.getPaths=exports.getReactExtensions=exports.getJSExtensions=exports.getTSExtensions=exports.moduleExtensions=void 0;const path_1=__importDefault(require("path")),buildConfig_1=require("./buildConfig");function getTSExtensions(){return exports.moduleExtensions.filter((t=>t.includes("ts")))}function getJSExtensions(){return exports.moduleExtensions.filter((t=>t.includes("js")))}function getReactExtensions(){return exports.moduleExtensions.filter((t=>t.includes("sx")))}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(e){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)},client:(()=>{const{client: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:Object.assign(Object.assign({},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:""}}})(),server:(()=>{const{server: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",".ts",".tsx",".d.ts"],exports.getTSExtensions=getTSExtensions,exports.getJSExtensions=getJSExtensions,exports.getReactExtensions=getReactExtensions,exports.getPaths=getPaths;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.getPaths=exports.getReactExtensions=exports.getJSExtensions=exports.getTSExtensions=exports.moduleExtensions=void 0;const path_1=__importDefault(require("path")),buildConfig_1=require("./buildConfig");function getTSExtensions(){return exports.moduleExtensions.filter((t=>t.includes("ts")))}function getJSExtensions(){return exports.moduleExtensions.filter((t=>t.includes("js")))}function getReactExtensions(){return exports.moduleExtensions.filter((t=>t.includes("sx")))}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(e){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:Object.assign(Object.assign({},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",".ts",".tsx",".d.ts"],exports.getTSExtensions=getTSExtensions,exports.getJSExtensions=getJSExtensions,exports.getReactExtensions=getReactExtensions,exports.getPaths=getPaths;const paths=getPaths();exports.default=paths;
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,o)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),__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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(i[n[o]]=e[n[o]])}return i},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const webpack_1=__importDefault(require("webpack")),path_1=__importDefault(require("path")),appEnv_1=__importDefault(require("../appEnv")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),loaders_1=require("./loaders"),nodeRequire_1=__importDefault(require("./nodeRequire"));exports.default=e=>{var t,i,n,o,{outputPath:r,outputPublicPath:a,outputJsDir:s,hash:u,chunkSuffix:l=".chunk",typescript:p,minimizerPlugin:c="terser",minimizerPluginOptions:d}=e,f=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","minimizerPlugin","minimizerPluginOptions"]);const _=!0===u||"object"==typeof u&&u.entry,g=!0===u||"object"==typeof u&&u.chunk;return Object.assign(Object.assign({context:paths_1.default.root,mode:appEnv_1.default.raw.NODE_ENV,bail:appEnv_1.default.prod,devtool:appEnv_1.default.ifDev("eval-cheap-module-source-map",!1)},f),{output:Object.assign({path:r,publicPath:a,pathinfo:!1,filename:path_1.default.join(s,`[name]${appEnv_1.default.prod&&_?".[contenthash:8]":""}.js`),chunkFilename:path_1.default.join(s,`[name]${appEnv_1.default.prod&&g?".[contenthash:8]":""}${null!=l?l:""}.js`)},f.output),optimization:Object.assign(Object.assign({},appEnv_1.default.ifProd((()=>{var e;return{minimizer:["terser"===c&&(()=>{var e;const t=Array.isArray(d)?d.reduce(((e,t)=>Object.assign(Object.assign({},e),t)),{}):d;return new((0,nodeRequire_1.default)("terser-webpack-plugin"))(Object.assign(Object.assign({extractComments:!1},t),{terserOptions:Object.assign(Object.assign({},null==t?void 0:t.terserOptions),{output:Object.assign({comments:!1},null===(e=null==t?void 0:t.terserOptions)||void 0===e?void 0:e.output)})}))})(),"closure"===c&&(()=>{const[e,t]=Array.isArray(d)?null!=d?d:[]:[d,void 0];return new((0,nodeRequire_1.default)("closure-webpack-plugin"))(Object.assign({mode:"STANDARD"},e),Object.assign(Object.assign({},appEnv_1.default.ifDev({formatting:"PRETTY_PRINT",debug:!0,renaming:!1},void 0)),t))})(),...(null===(e=f.optimization)||void 0===e?void 0:e.minimizer)||[]]}}),void 0)),f.optimization),plugins:[new webpack_1.default.DefinePlugin(Object.assign(Object.assign({},appEnv_1.default.envStringify()),buildConfig_1.default.envStringify())),...(null==p?void 0:p.forkedChecks)&&p.configFile?[(0,loaders_1.getTsCheckerPlugin)(Object.assign(Object.assign({loaderType:null!==(t=p.loader)&&void 0!==t?t:loaders_1.TsLoaderType.Default},p.checkerOptions),{typescript:Object.assign({configFile:p.configFile},null===(i=p.checkerOptions)||void 0===i?void 0:i.typescript)}))]:[],...f.plugins||[]],resolve:(()=>{var e,t,i;const n=[...p?paths_1.moduleExtensions:(0,paths_1.getJSExtensions)(),...(null===(e=f.resolve)||void 0===e?void 0:e.extensions)||[]];return Object.assign(Object.assign({},f.resolve),{extensions:n,modules:["node_modules",paths_1.default.nodeModules.root,paths_1.default.root,...(null===(t=f.resolve)||void 0===t?void 0:t.modules)||[]],plugins:[...p?[new((0,nodeRequire_1.default)("tsconfig-paths-webpack-plugin"))({configFile:p.configFile,extensions:n})]:[],...(null===(i=f.resolve)||void 0===i?void 0:i.plugins)||[]]})})(),ignoreWarnings:[...p?[/export .* was not found in/]:[],...null!==(n=f.ignoreWarnings)&&void 0!==n?n:[]],module:Object.assign(Object.assign({exprContextCritical:!1,unknownContextCritical:!1},f.module),{rules:(null===(o=f.module)||void 0===o?void 0:o.rules)||[]})})};
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,o)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),__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(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(i[n[o]]=e[n[o]])}return i},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const webpack_1=__importDefault(require("webpack")),path_1=__importDefault(require("path")),appEnv_1=__importDefault(require("../appEnv")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),loaders_1=require("./loaders"),nodeRequire_1=__importDefault(require("./nodeRequire"));exports.default=e=>{var t,i,n,o,r,{outputPath:s,outputPublicPath:a,outputJsDir:u,hash:l,chunkSuffix:p=".chunk",typescript:c,minimizerPlugin:d="terser",minimizerPluginOptions:f}=e,_=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","minimizerPlugin","minimizerPluginOptions"]);const g=!0===l||"object"==typeof l&&l.entry,b=!0===l||"object"==typeof l&&l.chunk;return Object.assign(Object.assign({context:paths_1.default.root,mode:appEnv_1.default.raw.NODE_ENV,bail:appEnv_1.default.prod,devtool:appEnv_1.default.ifDev("eval-cheap-module-source-map",!1)},_),{output:Object.assign({path:s,publicPath:a,pathinfo:!1,filename:path_1.default.join(u,`[name]${appEnv_1.default.prod&&g?".[contenthash:8]":""}.js`),chunkFilename:path_1.default.join(u,`[name]${appEnv_1.default.prod&&b?".[contenthash:8]":""}${null!=p?p:""}.js`)},_.output),optimization:Object.assign(Object.assign({},_.optimization),appEnv_1.default.ifProd({minimizer:["terser"===d&&(()=>{var e;const t=Array.isArray(f)?f.reduce(((e,t)=>Object.assign(Object.assign({},e),t)),{}):f;return new((0,nodeRequire_1.default)("terser-webpack-plugin"))(Object.assign(Object.assign({extractComments:!1},t),{terserOptions:Object.assign(Object.assign({},null==t?void 0:t.terserOptions),{output:Object.assign({comments:!1},null===(e=null==t?void 0:t.terserOptions)||void 0===e?void 0:e.output)})}))})(),"closure"===d&&(()=>{const[e,t]=Array.isArray(f)?null!=f?f:[]:[f,void 0];return new((0,nodeRequire_1.default)("closure-webpack-plugin"))(Object.assign({mode:"STANDARD"},e),Object.assign(Object.assign({},appEnv_1.default.ifDev({formatting:"PRETTY_PRINT",debug:!0,renaming:!1},void 0)),t))})(),...(null===(t=_.optimization)||void 0===t?void 0:t.minimizer)||[]]},void 0)),plugins:[new webpack_1.default.DefinePlugin(Object.assign(Object.assign({},appEnv_1.default.envStringify()),buildConfig_1.default.envStringify())),...(null==c?void 0:c.forkedChecks)&&c.configFile?[(0,loaders_1.getTsCheckerPlugin)(Object.assign(Object.assign({loaderType:null!==(i=c.loader)&&void 0!==i?i:loaders_1.TsLoaderType.Default},c.checkerOptions),{typescript:Object.assign({configFile:c.configFile},null===(n=c.checkerOptions)||void 0===n?void 0:n.typescript)}))]:[],..._.plugins||[]],resolve:(()=>{var e,t,i;const n=[...c?paths_1.moduleExtensions:(0,paths_1.getJSExtensions)(),...(null===(e=_.resolve)||void 0===e?void 0:e.extensions)||[]];return Object.assign(Object.assign({},_.resolve),{extensions:n,modules:["node_modules",paths_1.default.nodeModules.root,paths_1.default.root,...(null===(t=_.resolve)||void 0===t?void 0:t.modules)||[]],plugins:[...c?[new((0,nodeRequire_1.default)("tsconfig-paths-webpack-plugin"))({configFile:c.configFile,extensions:n})]:[],...(null===(i=_.resolve)||void 0===i?void 0:i.plugins)||[]]})})(),ignoreWarnings:[...c?[/export .* was not found in/]:[],...null!==(o=_.ignoreWarnings)&&void 0!==o?o:[]],module:Object.assign(Object.assign({exprContextCritical:!1,unknownContextCritical:!1},_.module),{rules:(null===(r=_.module)||void 0===r?void 0:r.rules)||[]})})};
@@ -4,7 +4,6 @@ export interface BaseTsOptions {
4
4
  }
5
5
  export declare enum TsLoaderType {
6
6
  Default = "ts",
7
- ATL = "atl",
8
7
  Babel = "babel"
9
8
  }
10
9
  interface GetTsLoaderOptionsBase extends BaseTsOptions {
@@ -64,13 +63,6 @@ export declare function getTsLoader({ loaderType, ...rest }: GetTsLoaderOptions)
64
63
  happyPackMode: boolean | undefined;
65
64
  };
66
65
  })[] | {
67
- loader: string;
68
- options: {
69
- configFileName: string;
70
- useBabel: boolean;
71
- useCache: boolean;
72
- };
73
- } | {
74
66
  loader: string;
75
67
  options: {
76
68
  cacheDirectory: boolean;
@@ -78,18 +70,7 @@ export declare function getTsLoader({ loaderType, ...rest }: GetTsLoaderOptions)
78
70
  };
79
71
  };
80
72
  /** In order to runs typescript type checker on a separate process. */
81
- export declare function atlCheckerPlugin(): any;
82
- /** In order to runs typescript type checker on a separate process. */
83
- export declare function tsCheckerPlugin(options?: Record<string, any>): any;
84
- export declare function atl({ tsconfig, ...rest }: BaseTsOptions & Record<string, any>): {
85
- loader: string;
86
- options: {
87
- configFileName: string;
88
- useBabel: boolean;
89
- useCache: boolean;
90
- };
91
- };
92
- export declare function getTsCheckerPlugin({ loaderType, ...rest }: GetTsCheckerPluginOptions): any;
73
+ export declare function getTsCheckerPlugin(options?: Record<string, any>): any;
93
74
  export declare function tsRHL({ afterLoaders, ...rest }: TsDefaultLoaderOptions): (string | {
94
75
  ident?: string;
95
76
  loader?: string;
@@ -111,9 +92,6 @@ export declare function tsRHL({ afterLoaders, ...rest }: TsDefaultLoaderOptions)
111
92
  happyPackMode: boolean | undefined;
112
93
  };
113
94
  })[];
114
- export declare function atsRHL({ tsconfig, ...rest }: BaseTsOptions & Record<string, any>): {
115
- loader: string;
116
- }[];
117
95
  export declare function babelLoader(options?: Record<PropertyKey, any> | undefined): {
118
96
  loader: string;
119
97
  options: {
@@ -138,13 +116,4 @@ export declare function css({ ssr, pattern, prodPattern, postcss, extractor, mod
138
116
  postcssLoaderOptions?: Record<string, unknown> | undefined;
139
117
  } & Record<string, any>): RuleSetUseItem[];
140
118
  export declare function cssNodeModules(options?: Parameters<typeof css>[0]): RuleSetUseItem[];
141
- export declare function assets({ ssr, ...restOptions }?: Record<string, any>): {
142
- loader: string;
143
- options: {
144
- limit: number;
145
- fallback: string;
146
- emitFile: boolean;
147
- name: string;
148
- };
149
- };
150
119
  export {};
@@ -1 +1 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(s[r[o]]=e[r[o]])}return s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.assets=exports.cssNodeModules=exports.css=exports.cssExtractLoader=exports.babelLoader=exports.atsRHL=exports.tsRHL=exports.getTsCheckerPlugin=exports.atl=exports.tsCheckerPlugin=exports.atlCheckerPlugin=exports.getTsLoader=exports.ts=exports.TsLoaderType=void 0;const appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths")),buildConfig_1=__importDefault(require("../buildConfig")),nodeRequire_1=__importDefault(require("./nodeRequire"));var TsLoaderType;function ts(e){var{tsconfig:t,forkedChecks:s,useThreadLoader:r,threadLoaderOptions:o,afterLoaders:a}=e,n=__rest(e,["tsconfig","forkedChecks","useThreadLoader","threadLoaderOptions","afterLoaders"]);return[...r?[{loader:"thread-loader",options:Object.assign({workers:1,poolTimeout:appEnv_1.default.ifDev(1/0,void 0)},o)}]:[],...a||[],{loader:"ts-loader",options:Object.assign(Object.assign({configFile:t,transpileOnly:s,happyPackMode:r},n),{compilerOptions:Object.assign(Object.assign({},appEnv_1.default.ifProd((()=>({sourceMap:!1})),void 0)),n.compilerOptions)})}]}function getTsLoader(e){var{loaderType:t}=e,s=__rest(e,["loaderType"]);return t===TsLoaderType.ATL?atl(s):t===TsLoaderType.Babel?babelLoader():ts(s)}function atlCheckerPlugin(){const{CheckerPlugin:e}=(0,nodeRequire_1.default)("awesome-typescript-loader");return new e}function tsCheckerPlugin(e={}){var t;return new((0,nodeRequire_1.default)("fork-ts-checker-webpack-plugin"))(Object.assign(Object.assign({},e),{typescript:Object.assign(Object.assign({memoryLimit:1024},e.typescript),{diagnosticsOptions:Object.assign({syntactic:!1,semantic:!0,declaration:!1,global:!1},null===(t=e.typescript)||void 0===t?void 0:t.diagnosticsOptions)})}))}function atl(e){var{tsconfig:t}=e,s=__rest(e,["tsconfig"]);return{loader:"awesome-typescript-loader",options:Object.assign({configFileName:t,useBabel:!1,useCache:!0},s)}}function getTsCheckerPlugin(e){var{loaderType:t}=e,s=__rest(e,["loaderType"]);return t===TsLoaderType.ATL?atlCheckerPlugin():tsCheckerPlugin(s)}function tsRHL(e){var{afterLoaders:t}=e,s=__rest(e,["afterLoaders"]);return ts(Object.assign({afterLoaders:[...t||[],...appEnv_1.default.ifDev((()=>[{loader:"babel-loader"}]),[])]},s))}function atsRHL(e){var{tsconfig:t}=e,s=__rest(e,["tsconfig"]);return[...appEnv_1.default.ifDev((()=>[{loader:"babel-loader"}]),[]),atl(Object.assign({tsconfig:t},s))]}function babelLoader(e){return{loader:"babel-loader",options:Object.assign({cacheDirectory:!0,cacheCompression:!1},e)}}function css(e={}){var{ssr:t=!1,pattern:s="[name]__[local]--[hash:5]",prodPattern:r="[hash:5]",postcss:o=!0,extractor:a=!1,modules:n,styleLoaderOptions:i,postcssLoaderOptions:l}=e,c=__rest(e,["ssr","pattern","prodPattern","postcss","extractor","modules","styleLoaderOptions","postcssLoaderOptions"]);return[...t?[]:[a?exports.cssExtractLoader:{loader:"style-loader",options:i}],{loader:"css-loader",options:Object.assign({modules:null!=n&&"object"!=typeof n?n:Object.assign({mode:"local",localIdentName:appEnv_1.default.ifDev(s,r),localIdentContext:paths_1.default.root,exportOnlyLocals:t},n),importLoaders:o?1:void 0},c)},...o?[{loader:"postcss-loader",options:l}]:[]]}function cssNodeModules(e={}){return css(Object.assign({pattern:"[local]",prodPattern:"[local]",modules:!1},e))}function assets(e={}){var{ssr:t=!1}=e,s=__rest(e,["ssr"]);return{loader:"url-loader",options:Object.assign({limit:1024,fallback:"file-loader",emitFile:!t,name:`${(buildConfig_1.default.client||buildConfig_1.default.default.client).output.assets}/[name].[hash:8].[ext]`},s)}}!function(e){e.Default="ts",e.ATL="atl",e.Babel="babel"}(TsLoaderType||(exports.TsLoaderType=TsLoaderType={})),exports.ts=ts,exports.getTsLoader=getTsLoader,exports.atlCheckerPlugin=atlCheckerPlugin,exports.tsCheckerPlugin=tsCheckerPlugin,exports.atl=atl,exports.getTsCheckerPlugin=getTsCheckerPlugin,exports.tsRHL=tsRHL,exports.atsRHL=atsRHL,exports.babelLoader=babelLoader,exports.cssExtractLoader="mini-css-extract-plugin/dist/loader",exports.css=css,exports.cssNodeModules=cssNodeModules,exports.assets=assets;
1
+ "use strict";var __rest=this&&this.__rest||function(e,t){var s={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(s[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(s[o[r]]=e[o[r]])}return s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.cssNodeModules=exports.css=exports.cssExtractLoader=exports.babelLoader=exports.tsRHL=exports.getTsCheckerPlugin=exports.getTsLoader=exports.ts=exports.TsLoaderType=void 0;const appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths")),nodeRequire_1=__importDefault(require("./nodeRequire"));var TsLoaderType;function ts(e){var{tsconfig:t,forkedChecks:s,useThreadLoader:o,threadLoaderOptions:r,afterLoaders:a}=e,n=__rest(e,["tsconfig","forkedChecks","useThreadLoader","threadLoaderOptions","afterLoaders"]);return[...o?[{loader:"thread-loader",options:Object.assign({workers:1,poolTimeout:appEnv_1.default.ifDev(1/0,void 0)},r)}]:[],...a||[],{loader:"ts-loader",options:Object.assign(Object.assign({configFile:t,transpileOnly:s,happyPackMode:o},n),{compilerOptions:Object.assign(Object.assign({},appEnv_1.default.ifProd((()=>({sourceMap:!1})),void 0)),n.compilerOptions)})}]}function getTsLoader(e){var{loaderType:t}=e,s=__rest(e,["loaderType"]);return t===TsLoaderType.Babel?babelLoader():ts(s)}function getTsCheckerPlugin(e={}){var t;return new((0,nodeRequire_1.default)("fork-ts-checker-webpack-plugin"))(Object.assign(Object.assign({},e),{typescript:Object.assign(Object.assign({memoryLimit:1024},e.typescript),{diagnosticsOptions:Object.assign({syntactic:!1,semantic:!0,declaration:!1,global:!1},null===(t=e.typescript)||void 0===t?void 0:t.diagnosticsOptions)})}))}function tsRHL(e){var{afterLoaders:t}=e,s=__rest(e,["afterLoaders"]);return ts(Object.assign({afterLoaders:[...t||[],...appEnv_1.default.ifDev((()=>[{loader:"babel-loader"}]),[])]},s))}function babelLoader(e){return{loader:"babel-loader",options:Object.assign({cacheDirectory:!0,cacheCompression:!1},e)}}function css(e={}){var{ssr:t=!1,pattern:s="[name]__[local]--[hash:5]",prodPattern:o="[hash:5]",postcss:r=!0,extractor:a=!1,modules:n,styleLoaderOptions:p,postcssLoaderOptions:i}=e,d=__rest(e,["ssr","pattern","prodPattern","postcss","extractor","modules","styleLoaderOptions","postcssLoaderOptions"]);return[...t?[]:[a?exports.cssExtractLoader:{loader:"style-loader",options:p}],{loader:"css-loader",options:Object.assign({modules:null!=n&&"object"!=typeof n?n:Object.assign({mode:"local",localIdentName:appEnv_1.default.ifDev(s,o),localIdentContext:paths_1.default.root,exportOnlyLocals:t},n),importLoaders:r?1:void 0},d)},...r?[{loader:"postcss-loader",options:i}]:[]]}function cssNodeModules(e={}){return css(Object.assign({pattern:"[local]",prodPattern:"[local]",modules:!1},e))}!function(e){e.Default="ts",e.Babel="babel"}(TsLoaderType||(exports.TsLoaderType=TsLoaderType={})),exports.ts=ts,exports.getTsLoader=getTsLoader,exports.getTsCheckerPlugin=getTsCheckerPlugin,exports.tsRHL=tsRHL,exports.babelLoader=babelLoader,exports.cssExtractLoader="mini-css-extract-plugin/dist/loader",exports.css=css,exports.cssNodeModules=cssNodeModules;
@@ -0,0 +1,11 @@
1
+ import type { Configuration } from 'webpack';
2
+ import webpackNodeExternals from 'webpack-node-externals';
3
+ import { webDefaultRules, type WebConfigOptions } from './web.config';
4
+ export declare const nodeDefaultRules: Pick<typeof webDefaultRules, 'jsRule' | 'tsBaseRule'>;
5
+ export declare const universalDefaultRules: typeof webDefaultRules;
6
+ export interface NodeConfigOptions extends WebConfigOptions {
7
+ nodeExternalsOptions?: webpackNodeExternals.Options | undefined;
8
+ isUniversal?: boolean | undefined;
9
+ }
10
+ declare const _default: ({ outputPath, outputPublicPath, outputJsDir, hash, chunkSuffix, typescript, rules: { tsBaseRule, ...rules }, nodeExternalsOptions, isUniversal, ...restOptions }: NodeConfigOptions) => Configuration;
11
+ export default _default;
@@ -0,0 +1 @@
1
+ "use strict";var __rest=this&&this.__rest||function(e,s){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&s.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)s.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(t[a[o]]=e[a[o]])}return t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.universalDefaultRules=exports.nodeDefaultRules=void 0;const webpack_node_externals_1=__importDefault(require("webpack-node-externals")),appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths")),buildConfig_1=__importDefault(require("../buildConfig")),common_config_1=__importDefault(require("./common.config")),web_config_1=require("./web.config"),loaders_1=require("./loaders");exports.nodeDefaultRules={jsRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.jsRule),{include:[paths_1.default.node.sources,paths_1.default.shared.sources].filter((e=>!!e))}),tsBaseRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.tsBaseRule),{include:[paths_1.default.node.sources,paths_1.default.shared.sources].filter((e=>!!e))})},exports.universalDefaultRules={jsRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.jsRule),{include:[...web_config_1.webDefaultRules.jsRule.include,paths_1.default.node.sources]}),tsBaseRule:Object.assign(Object.assign({},exports.nodeDefaultRules.tsBaseRule),{include:[...web_config_1.webDefaultRules.jsRule.include,paths_1.default.node.sources]}),cssRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.cssRule),{use:(0,loaders_1.css)({ssr:!0,extractor:!appEnv_1.default.dev})}),cssNodeModulesRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.cssNodeModulesRule),{use:(0,loaders_1.cssNodeModules)({ssr:!0,extractor:!appEnv_1.default.dev})}),svgRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.svgRule),{generator:{emit:!1}}),fontRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.fontRule),{generator:{emit:!1}}),assetsRule:Object.assign(Object.assign({},web_config_1.webDefaultRules.assetsRule),{generator:{emit:!1}})};const nodeBuildConfig=buildConfig_1.default.node||buildConfig_1.default.default.node;exports.default=e=>{var s,{outputPath:t=paths_1.default.node.output.path,outputPublicPath:a=nodeBuildConfig.output.publicPath,outputJsDir:o="",hash:u=!1,chunkSuffix:n=".chunk",typescript:r}=e,l=e.rules,i=void 0===l?{}:l,{tsBaseRule:c}=i,d=__rest(i,["tsBaseRule"]),{nodeExternalsOptions:p,isUniversal:f}=e,b=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","rules","nodeExternalsOptions","isUniversal"]);const _=Object.assign({configFile:paths_1.default.node.tsconfig,loader:loaders_1.TsLoaderType.Default,loaderOptions:{},forkedChecks:!1,checkerOptions:{},threadLoader:!1,threadLoaderOptions:{}},"object"==typeof r?r:void 0),g=f?exports.universalDefaultRules:exports.nodeDefaultRules,{tsBaseRule:O}=g,h=__rest(g,["tsBaseRule"]),j=Object.assign({tsRule:Object.assign(Object.assign(Object.assign({},O),c),{use:(0,loaders_1.getTsLoader)(Object.assign(Object.assign({tsconfig:_.configFile,forkedChecks:_.forkedChecks,useThreadLoader:_.threadLoader,threadLoaderOptions:_.threadLoaderOptions},_.loaderOptions),{loaderType:_.loader}))})},h),R=(0,web_config_1.prepareRules)(d,j),w=Object.assign(Object.assign({},j),R);return(0,common_config_1.default)(Object.assign(Object.assign({outputPath:t,outputPublicPath:a,outputJsDir:o,hash:u,chunkSuffix:n,typescript:r?Object.assign(Object.assign({},_),{checkerOptions:Object.assign(Object.assign({},_.checkerOptions),{typescript:Object.assign(Object.assign({},_.checkerOptions.typescript),{diagnosticsOptions:Object.assign({syntactic:_.threadLoader},null===(s=_.checkerOptions.typescript)||void 0===s?void 0:s.diagnosticsOptions)})})}):void 0,name:nodeBuildConfig.root,target:"node",context:f?paths_1.default.root:paths_1.default.node.sources},b),{stats:!1===b.stats||b.stats&&"object"!=typeof b.stats?b.stats:Object.assign({all:!1,errors:!0,errorDetails:!0,warnings:!0,version:!0,timings:!0,builtAt:!0,entrypoints:!0},b.stats),externals:[(0,webpack_node_externals_1.default)(p),...b.externals&&(Array.isArray(b.externals)?b.externals:[b.externals])||[]],resolve:Object.assign(Object.assign({},b.resolve),{modules:[f?paths_1.default.web.sources:paths_1.default.node.sources,...b.resolve&&b.resolve.modules||[]],alias:Object.assign(Object.assign(Object.assign({},f?{node:paths_1.default.node.sources,web:paths_1.default.web.sources}:void 0),paths_1.default.shared.sources?{shared:paths_1.default.shared.sources}:void 0),b.resolve&&b.resolve.alias||void 0)}),module:Object.assign(Object.assign({},b.module),{rules:[...Object.getOwnPropertyNames(w).map((e=>w[e]||{})),...b.module&&b.module.rules||[]]}),watchOptions:Object.assign({ignored:[paths_1.default.nodeModules.root,...f&&!appEnv_1.default.ssr?[paths_1.default.web.root]:[]]},b.watchOptions)}))};
@@ -1,18 +1,18 @@
1
1
  import type { Configuration, RuleSetRule } from 'webpack';
2
2
  import { type CommonConfigOptions } from './common.config';
3
- export declare const clientDefaultRules: Record<'jsRule' | 'tsBaseRule' | 'cssRule' | 'cssNodeModulesRule' | 'svgRule' | 'fontRule' | 'assetsRule', RuleSetRule>;
3
+ export declare const webDefaultRules: Record<'jsRule' | 'tsBaseRule' | 'cssRule' | 'cssNodeModulesRule' | 'svgRule' | 'fontRule' | 'assetsRule', RuleSetRule>;
4
4
  type DefaultRuleValue = RuleSetRule | ((defaults: RuleSetRule) => RuleSetRule);
5
- type ClientDefaultRules = Record<Exclude<keyof typeof clientDefaultRules, 'tsBaseRule'>, DefaultRuleValue> & {
5
+ type WebDefaultRules = Record<Exclude<keyof typeof webDefaultRules, 'tsBaseRule'>, DefaultRuleValue> & {
6
6
  tsRule: (defaults: RuleSetRule) => RuleSetRule;
7
7
  };
8
- export interface ClientConfigOptions extends Omit<CommonConfigOptions, 'typescript'> {
8
+ export interface WebConfigOptions extends Omit<CommonConfigOptions, 'typescript'> {
9
9
  typescript?: (CommonConfigOptions['typescript'] & {
10
10
  loaderOptions?: Record<string, any> | undefined;
11
11
  threadLoader?: boolean | undefined;
12
12
  threadLoaderOptions?: Record<string, any> | undefined;
13
13
  }) | boolean | undefined;
14
- rules?: (Partial<ClientDefaultRules> & Record<string, RuleSetRule>) | undefined;
14
+ rules?: (Partial<WebDefaultRules> & Record<string, RuleSetRule>) | undefined;
15
15
  }
16
16
  export declare function prepareRules(rules: Record<string, DefaultRuleValue>, defaultRules: Record<string, RuleSetRule>): Record<string, RuleSetRule>;
17
- declare const _default: ({ outputPath, outputPublicPath, outputJsDir, hash, chunkSuffix, typescript, rules: { tsBaseRule, ...rules }, ...restOptions }: ClientConfigOptions) => Configuration;
17
+ declare const _default: ({ outputPath, outputPublicPath, outputJsDir, hash, chunkSuffix, typescript, rules: { tsBaseRule, ...rules }, ...restOptions }: WebConfigOptions) => Configuration;
18
18
  export default _default;
@@ -0,0 +1 @@
1
+ "use strict";var __rest=this&&this.__rest||function(e,t){var s={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(s[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)t.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(s[o[a]]=e[o[a]])}return s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.prepareRules=exports.webDefaultRules=void 0;const path_1=__importDefault(require("path")),appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths")),buildConfig_1=__importDefault(require("../buildConfig")),common_config_1=__importDefault(require("./common.config")),loaders_1=require("./loaders"),nodeRequire_1=__importDefault(require("./nodeRequire")),getInstalledPackage_1=require("../getInstalledPackage");function containsLoader(e,t){const s=e=>"string"==typeof e?e.includes(t):Array.isArray(e)?e.some(s):!("function"==typeof e||!e||!e.loader)&&e.loader.includes(t);return Object.getOwnPropertyNames(e).some((t=>{const o=e[t];return o&&s(o.loader||o.use)}))}function prepareRules(e,t){return Object.entries(e).reduce(((e,[s,o])=>("function"==typeof o&&s in t&&t[s]?e[s]=o(t[s]):e[s]=o,e)),{})}function getPnpWebpackPlugin(){return(0,nodeRequire_1.default)("pnp-webpack-plugin")}function normalizeHtml(e){return Array.isArray(e)?e:[e]}exports.webDefaultRules={jsRule:{test:/\.m?jsx?$/,include:[paths_1.default.web.sources,paths_1.default.shared.sources].filter((e=>!!e)),use:(0,loaders_1.babelLoader)()},tsBaseRule:{test:/\.tsx?$/,include:[paths_1.default.web.sources,paths_1.default.shared.sources].filter((e=>!!e))},cssRule:{test:/\.css$/,include:[paths_1.default.web.sources,path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"reflexy")],use:(0,loaders_1.css)({extractor:!appEnv_1.default.dev})},cssNodeModulesRule:{test:/\.css$/,include:[paths_1.default.nodeModules.root],exclude:[path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"reflexy")],use:(0,loaders_1.cssNodeModules)({extractor:!appEnv_1.default.dev})},svgRule:{test:/\.svg$/,include:[paths_1.default.web.sources,paths_1.default.nodeModules.root],type:"asset/inline"},fontRule:{test:/\.(eot|ttf|woff|woff2|otf)$/,include:[paths_1.default.web.assets,paths_1.default.nodeModules.root],type:"asset",parser:{dataUrlCondition:{maxSize:4096}},generator:{filename:`${(buildConfig_1.default.web||buildConfig_1.default.default.web).output.assets}/[name].[hash:8].[ext][query]`}},assetsRule:{test:/\.(png|jpg|gif|ico)$/,include:[paths_1.default.web.assets,paths_1.default.nodeModules.root],type:"asset",parser:{dataUrlCondition:{maxSize:8192}},generator:{filename:`${(buildConfig_1.default.web||buildConfig_1.default.default.web).output.assets}/[name].[hash:8].[ext][query]`}}},exports.prepareRules=prepareRules;const webBuildConfig=buildConfig_1.default.web||buildConfig_1.default.default.web;exports.default=e=>{var t,s,o,a,i,n,l,{outputPath:u=paths_1.default.web.output.path,outputPublicPath:r=webBuildConfig.output.publicPath,outputJsDir:d=webBuildConfig.output.js,hash:p=!0,chunkSuffix:c=".chunk",typescript:f}=e,g=e.rules,b=void 0===g?{}:g,{tsBaseRule:h}=b,_=__rest(b,["tsBaseRule"]),m=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","rules"]);const j=Object.assign({configFile:paths_1.default.web.tsconfig,loader:loaders_1.TsLoaderType.Default,loaderOptions:{},forkedChecks:!1,checkerOptions:{},threadLoader:!1,threadLoaderOptions:{}},"object"==typeof f&&f),{tsBaseRule:w}=exports.webDefaultRules,O=__rest(exports.webDefaultRules,["tsBaseRule"]),v=Object.assign({tsRule:Object.assign(Object.assign(Object.assign({},w),h),{use:(0,loaders_1.getTsLoader)(Object.assign(Object.assign({tsconfig:j.configFile,forkedChecks:j.forkedChecks,useThreadLoader:j.threadLoader,threadLoaderOptions:j.threadLoaderOptions},j.loaderOptions),{loaderType:j.loader}))})},O),y=prepareRules(_,v),k=Object.assign(Object.assign({},v),y);return(0,common_config_1.default)(Object.assign(Object.assign({outputPath:u,outputPublicPath:r,outputJsDir:d,hash:p,chunkSuffix:c,typescript:f?Object.assign(Object.assign({},j),{checkerOptions:Object.assign(Object.assign({},j.checkerOptions),{typescript:Object.assign(Object.assign({},j.checkerOptions.typescript),{diagnosticsOptions:Object.assign({syntactic:j.threadLoader},null===(t=j.checkerOptions.typescript)||void 0===t?void 0:t.diagnosticsOptions)})})}):void 0,name:webBuildConfig.root,target:"web",context:paths_1.default.web.sources,stats:appEnv_1.default.ifDev("minimal",void 0)},m),{optimization:Object.assign(Object.assign({},m.optimization),appEnv_1.default.ifProd({minimizer:[(0,getInstalledPackage_1.getInstalledPackage)("css-minimizer-webpack-plugin")&&new((0,nodeRequire_1.default)("css-minimizer-webpack-plugin"))({minimizerOptions:{preset:"default"}}),...(null===(s=m.optimization)||void 0===s?void 0:s.minimizer)||[]]},void 0)),resolve:Object.assign(Object.assign({},m.resolve),{modules:[paths_1.default.web.sources,...(null===(o=m.resolve)||void 0===o?void 0:o.modules)||[]],alias:Object.assign(Object.assign({},paths_1.default.shared.sources&&{shared:paths_1.default.shared.sources}),(null===(a=m.resolve)||void 0===a?void 0:a.alias)||void 0),plugins:[...webBuildConfig.webpackPnpEnabled?[getPnpWebpackPlugin()]:[],...(null===(i=m.resolve)||void 0===i?void 0:i.plugins)||[]]}),resolveLoader:Object.assign(Object.assign({},m.resolveLoader),{plugins:[...webBuildConfig.webpackPnpEnabled?[getPnpWebpackPlugin().moduleLoader(module)]:[],...(null===(n=m.resolveLoader)||void 0===n?void 0:n.plugins)||[]]}),module:Object.assign(Object.assign({},m.module),{rules:[...Object.getOwnPropertyNames(k).map((e=>k[e]||{})),...normalizeHtml(webBuildConfig.html).some((({template:e})=>e&&e.endsWith(".pug")))?[{test:/\.pug$/,use:{loader:"pug-loader"}}]:[],...(null===(l=m.module)||void 0===l?void 0:l.rules)||[]]}),plugins:[...(()=>{const e=normalizeHtml(webBuildConfig.html);return e.filter((e=>!!e.template)).map((e=>{var{inject:t,template:s}=e,o=__rest(e,["inject","template"]);return new((0,nodeRequire_1.default)("html-webpack-plugin"))(Object.assign({inject:null!=t&&t,template:path_1.default.join(paths_1.default.web.sources,s)},o))}))})(),containsLoader(k,loaders_1.cssExtractLoader)&&(()=>{const e=(0,nodeRequire_1.default)("mini-css-extract-plugin"),t=!0===p||"object"==typeof p&&p.entry,s=!0===p||"object"==typeof p&&p.chunk,o=appEnv_1.default.prod&&t?".[contenthash:8]":"",a=appEnv_1.default.prod&&s?".[contenthash:8]":"",{styles:i}=webBuildConfig.output,n=("string"==typeof i?i:null==i?void 0:i.dir)||".";return new e(Object.assign({filename:`${n}/[name]${o}.css`,chunkFilename:`${n}/[name]${a}${null!=c?c:""}.css`},"object"==typeof i&&i))})(),webBuildConfig.output.assetManifest.fileName&&(()=>{const{fileName:e,filterTemplate:t}=webBuildConfig.output.assetManifest,s=!!t&&!!Object.getOwnPropertyNames(t).length;return new((0,nodeRequire_1.default)("webpack-manifest-plugin"))({fileName:e,filter:s?e=>Object.getOwnPropertyNames(t).every((s=>!(s in e)||e[s]===t[s])):void 0})})(),appEnv_1.default.prod&&webBuildConfig.output.sw.swDest&&(()=>{var e;const{GenerateSW:t}=(0,nodeRequire_1.default)("workbox-webpack-plugin"),s=normalizeHtml(webBuildConfig.html),o=1===s.length?s[0].filename:null===(e=s.find((({main:e})=>!!e)))||void 0===e?void 0:e.filename;return new t(Object.assign({clientsClaim:!0,importWorkboxFrom:"cdn",exclude:[/\.map$/,new RegExp(`${webBuildConfig.output.assetManifest.fileName}$`)],navigateFallback:o&&"string"==typeof o?`${webBuildConfig.output.publicPath}${o}`:void 0,navigateFallbackBlacklist:[/^\/_/,/\/[^/]+\.[^/]+$/]},webBuildConfig.output.sw))})(),appEnv_1.default.prod&&paths_1.default.web.staticContent.length>0&&(()=>{const e=paths_1.default.web.staticContent.filter((e=>e.path!==paths_1.default.web.root&&e.path!==paths_1.default.web.sources));if(0===e.length)return;return new((0,nodeRequire_1.default)("copy-webpack-plugin"))({patterns:e.map((e=>{var{path:t,ignore:s}=e,o=__rest(e,["path","ignore"]);return Object.assign(Object.assign({from:t},s&&{globOptions:{ignore:s}}),o)}))})})(),...m.plugins||[]].filter(Boolean),devServer:Object.assign({static:paths_1.default.web.staticContent.map((({path:e,ignore:t})=>Object.assign({directory:e},t&&{watch:{ignored:t}}))),historyApiFallback:!0,host:"0.0.0.0",port:9e3,hot:"only"},m.devServer)}))};
@@ -1 +0,0 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,t){var s={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(s[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)t.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(s[o[a]]=e[o[a]])}return s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.prepareRules=exports.clientDefaultRules=void 0;const path_1=__importDefault(require("path")),appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths")),buildConfig_1=__importDefault(require("../buildConfig")),common_config_1=__importDefault(require("./common.config")),loaders_1=require("./loaders"),nodeRequire_1=__importDefault(require("./nodeRequire")),getInstalledPackage_1=require("../getInstalledPackage");function containsLoader(e,t){const s=e=>"string"==typeof e?e.includes(t):Array.isArray(e)?e.some(s):!("function"==typeof e||!e||!e.loader)&&e.loader.includes(t);return Object.getOwnPropertyNames(e).some((t=>{const o=e[t];return o&&s(o.loader||o.use)}))}function prepareRules(e,t){return Object.entries(e).reduce(((e,[s,o])=>("function"==typeof o&&s in t&&t[s]?e[s]=o(t[s]):e[s]=o,e)),{})}function getPnpWebpackPlugin(){return(0,nodeRequire_1.default)("pnp-webpack-plugin")}function normalizeHtml(e){return Array.isArray(e)?e:[e]}exports.clientDefaultRules={jsRule:{test:/\.m?jsx?$/,include:[paths_1.default.client.sources,paths_1.default.shared.sources].filter((e=>!!e)),use:(0,loaders_1.babelLoader)()},tsBaseRule:{test:/\.tsx?$/,include:[paths_1.default.client.sources,paths_1.default.shared.sources].filter((e=>!!e))},cssRule:{test:/\.css$/,include:[paths_1.default.client.sources,path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"reflexy")],use:(0,loaders_1.css)({extractor:!appEnv_1.default.dev})},cssNodeModulesRule:{test:/\.css$/,include:[paths_1.default.nodeModules.root],exclude:[path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@jstoolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/react-components"),path_1.default.join(paths_1.default.nodeModules.root,"@js-toolkit/editors"),path_1.default.join(paths_1.default.nodeModules.root,"reflexy")],use:(0,loaders_1.cssNodeModules)({extractor:!appEnv_1.default.dev})},svgRule:{test:/\.svg$/,include:[paths_1.default.client.sources,paths_1.default.nodeModules.root],use:(0,loaders_1.assets)({limit:void 0})},fontRule:{test:/\.(eot|ttf|woff|woff2|otf)$/,include:[paths_1.default.client.assets,paths_1.default.nodeModules.root],use:(0,loaders_1.assets)()},assetsRule:{test:/\.(png|jpg|gif|ico)$/,include:[paths_1.default.client.assets,paths_1.default.nodeModules.root],use:(0,loaders_1.assets)()}},exports.prepareRules=prepareRules;const clientBuildConfig=buildConfig_1.default.client||buildConfig_1.default.default.client;exports.default=e=>{var t,s,o,a,l,i,{outputPath:n=paths_1.default.client.output.path,outputPublicPath:u=clientBuildConfig.output.publicPath,outputJsDir:r=clientBuildConfig.output.js,hash:d=!0,chunkSuffix:c=".chunk",typescript:p}=e,f=e.rules,g=void 0===f?{}:f,{tsBaseRule:h}=g,_=__rest(g,["tsBaseRule"]),m=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","rules"]);const b=Object.assign({configFile:paths_1.default.client.tsconfig,loader:loaders_1.TsLoaderType.Default,loaderOptions:{},forkedChecks:!1,checkerOptions:{},threadLoader:!1,threadLoaderOptions:{}},"object"==typeof p&&p),{tsBaseRule:j}=exports.clientDefaultRules,O=__rest(exports.clientDefaultRules,["tsBaseRule"]),v=Object.assign({tsRule:Object.assign(Object.assign(Object.assign({},j),h),{use:(0,loaders_1.getTsLoader)(Object.assign(Object.assign({tsconfig:b.configFile,forkedChecks:b.forkedChecks,useThreadLoader:b.threadLoader,threadLoaderOptions:b.threadLoaderOptions},b.loaderOptions),{loaderType:b.loader}))})},O),k=prepareRules(_,v),y=Object.assign(Object.assign({},v),k);return(0,common_config_1.default)(Object.assign(Object.assign({outputPath:n,outputPublicPath:u,outputJsDir:r,hash:d,chunkSuffix:c,typescript:p?Object.assign(Object.assign({},b),{checkerOptions:Object.assign(Object.assign({},b.checkerOptions),{typescript:Object.assign(Object.assign({},b.checkerOptions.typescript),{diagnosticsOptions:Object.assign({syntactic:b.threadLoader},null===(t=b.checkerOptions.typescript)||void 0===t?void 0:t.diagnosticsOptions)})})}):void 0,name:clientBuildConfig.root,target:"web",context:paths_1.default.client.sources,stats:appEnv_1.default.ifDev("minimal",void 0)},m),{optimization:{minimizer:[(0,getInstalledPackage_1.getInstalledPackage)("css-minimizer-webpack-plugin")&&new((0,nodeRequire_1.default)("css-minimizer-webpack-plugin"))({minimizerOptions:{preset:"default"}})]},resolve:Object.assign(Object.assign({},m.resolve),{modules:[paths_1.default.client.sources,...(null===(s=m.resolve)||void 0===s?void 0:s.modules)||[]],alias:Object.assign(Object.assign({},paths_1.default.shared.sources&&{shared:paths_1.default.shared.sources}),(null===(o=m.resolve)||void 0===o?void 0:o.alias)||void 0),plugins:[...clientBuildConfig.webpackPnpEnabled?[getPnpWebpackPlugin()]:[],...(null===(a=m.resolve)||void 0===a?void 0:a.plugins)||[]]}),resolveLoader:Object.assign(Object.assign({},m.resolveLoader),{plugins:[...clientBuildConfig.webpackPnpEnabled?[getPnpWebpackPlugin().moduleLoader(module)]:[],...(null===(l=m.resolveLoader)||void 0===l?void 0:l.plugins)||[]]}),module:Object.assign(Object.assign({},m.module),{rules:[...Object.getOwnPropertyNames(y).map((e=>y[e]||{})),...normalizeHtml(clientBuildConfig.html).some((({template:e})=>e&&e.endsWith(".pug")))?[{test:/\.pug$/,use:{loader:"pug-loader"}}]:[],...(null===(i=m.module)||void 0===i?void 0:i.rules)||[]]}),plugins:[...(()=>{const e=normalizeHtml(clientBuildConfig.html);return e.filter((e=>!!e.template)).map((e=>{var{inject:t,template:s}=e,o=__rest(e,["inject","template"]);return new((0,nodeRequire_1.default)("html-webpack-plugin"))(Object.assign({inject:null!=t&&t,template:path_1.default.join(paths_1.default.client.sources,s)},o))}))})(),containsLoader(y,loaders_1.cssExtractLoader)&&(()=>{const e=(0,nodeRequire_1.default)("mini-css-extract-plugin"),t=!0===d||"object"==typeof d&&d.entry,s=!0===d||"object"==typeof d&&d.chunk,o=appEnv_1.default.prod&&t?".[contenthash:8]":"",a=appEnv_1.default.prod&&s?".[contenthash:8]":"",{styles:l}=clientBuildConfig.output,i=("string"==typeof l?l:null==l?void 0:l.dir)||".";return new e(Object.assign({filename:`${i}/[name]${o}.css`,chunkFilename:`${i}/[name]${a}${null!=c?c:""}.css`},"object"==typeof l&&l))})(),clientBuildConfig.output.assetManifest.fileName&&(()=>{const{fileName:e,filterTemplate:t}=clientBuildConfig.output.assetManifest,s=!!t&&!!Object.getOwnPropertyNames(t).length;return new((0,nodeRequire_1.default)("webpack-manifest-plugin"))({fileName:e,filter:s?e=>Object.getOwnPropertyNames(t).every((s=>!(s in e)||e[s]===t[s])):void 0})})(),appEnv_1.default.prod&&clientBuildConfig.output.sw.swDest&&(()=>{var e;const{GenerateSW:t}=(0,nodeRequire_1.default)("workbox-webpack-plugin"),s=normalizeHtml(clientBuildConfig.html),o=1===s.length?s[0].filename:null===(e=s.find((({main:e})=>!!e)))||void 0===e?void 0:e.filename;return new t(Object.assign({clientsClaim:!0,importWorkboxFrom:"cdn",exclude:[/\.map$/,new RegExp(`${clientBuildConfig.output.assetManifest.fileName}$`)],navigateFallback:o&&"string"==typeof o?`${clientBuildConfig.output.publicPath}${o}`:void 0,navigateFallbackBlacklist:[/^\/_/,/\/[^/]+\.[^/]+$/]},clientBuildConfig.output.sw))})(),appEnv_1.default.prod&&paths_1.default.client.staticContent.length>0&&(()=>{const e=paths_1.default.client.staticContent.filter((e=>e.path!==paths_1.default.client.root&&e.path!==paths_1.default.client.sources));if(0===e.length)return;return new((0,nodeRequire_1.default)("copy-webpack-plugin"))({patterns:e.map((e=>{var{path:t,ignore:s}=e,o=__rest(e,["path","ignore"]);return Object.assign(Object.assign({from:t},s&&{globOptions:{ignore:s}}),o)}))})})(),...m.plugins||[]].filter(Boolean),devServer:Object.assign({static:paths_1.default.client.staticContent.map((({path:e,ignore:t})=>Object.assign({directory:e},t&&{watch:{ignored:t}}))),historyApiFallback:!0,host:"0.0.0.0",port:9e3,hot:"only"},m.devServer)}))};
@@ -1,11 +0,0 @@
1
- import type { Configuration } from 'webpack';
2
- import webpackNodeExternals from 'webpack-node-externals';
3
- import { clientDefaultRules, type ClientConfigOptions } from './client.config';
4
- export declare const serverDefaultRules: Pick<typeof clientDefaultRules, 'jsRule' | 'tsBaseRule'>;
5
- export declare const universalDefaultRules: typeof clientDefaultRules;
6
- export interface ServerConfigOptions extends ClientConfigOptions {
7
- nodeExternalsOptions?: webpackNodeExternals.Options | undefined;
8
- isUniversal?: boolean | undefined;
9
- }
10
- declare const _default: ({ outputPath, outputPublicPath, outputJsDir, hash, chunkSuffix, typescript, rules: { tsBaseRule, ...rules }, nodeExternalsOptions, isUniversal, ...restOptions }: ServerConfigOptions) => Configuration;
11
- export default _default;
@@ -1 +0,0 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,s){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&s.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)s.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.universalDefaultRules=exports.serverDefaultRules=void 0;const webpack_node_externals_1=__importDefault(require("webpack-node-externals")),appEnv_1=__importDefault(require("../appEnv")),paths_1=__importDefault(require("../paths")),buildConfig_1=__importDefault(require("../buildConfig")),common_config_1=__importDefault(require("./common.config")),client_config_1=require("./client.config"),loaders_1=require("./loaders");exports.serverDefaultRules={jsRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.jsRule),{include:[paths_1.default.server.sources,paths_1.default.shared.sources].filter((e=>!!e))}),tsBaseRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.tsBaseRule),{include:[paths_1.default.server.sources,paths_1.default.shared.sources].filter((e=>!!e))})},exports.universalDefaultRules={jsRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.jsRule),{include:[...client_config_1.clientDefaultRules.jsRule.include,paths_1.default.server.sources]}),tsBaseRule:Object.assign(Object.assign({},exports.serverDefaultRules.tsBaseRule),{include:[...client_config_1.clientDefaultRules.jsRule.include,paths_1.default.server.sources]}),cssRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.cssRule),{use:(0,loaders_1.css)({ssr:!0,extractor:!appEnv_1.default.dev})}),cssNodeModulesRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.cssNodeModulesRule),{use:(0,loaders_1.cssNodeModules)({ssr:!0,extractor:!appEnv_1.default.dev})}),svgRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.svgRule),{use:(0,loaders_1.assets)({limit:void 0,ssr:!0})}),fontRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.fontRule),{use:(0,loaders_1.assets)({ssr:!0})}),assetsRule:Object.assign(Object.assign({},client_config_1.clientDefaultRules.assetsRule),{use:(0,loaders_1.assets)({ssr:!0})})};const serverBuildConfig=buildConfig_1.default.server||buildConfig_1.default.default.server;exports.default=e=>{var s,{outputPath:t=paths_1.default.server.output.path,outputPublicPath:a=serverBuildConfig.output.publicPath,outputJsDir:r="",hash:l=!1,chunkSuffix:i=".chunk",typescript:u}=e,o=e.rules,n=void 0===o?{}:o,{tsBaseRule:c}=n,d=__rest(n,["tsBaseRule"]),{nodeExternalsOptions:p,isUniversal:f}=e,_=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","rules","nodeExternalsOptions","isUniversal"]);const g=Object.assign({configFile:paths_1.default.server.tsconfig,loader:loaders_1.TsLoaderType.Default,loaderOptions:{},forkedChecks:!1,checkerOptions:{},threadLoader:!1,threadLoaderOptions:{}},"object"==typeof u?u:void 0),O=f?exports.universalDefaultRules:exports.serverDefaultRules,{tsBaseRule:b}=O,h=__rest(O,["tsBaseRule"]),j=Object.assign({tsRule:Object.assign(Object.assign(Object.assign({},b),c),{use:(0,loaders_1.getTsLoader)(Object.assign(Object.assign({tsconfig:g.configFile,forkedChecks:g.forkedChecks,useThreadLoader:g.threadLoader,threadLoaderOptions:g.threadLoaderOptions},g.loaderOptions),{loaderType:g.loader}))})},h),v=(0,client_config_1.prepareRules)(d,j),R=Object.assign(Object.assign({},j),v);return(0,common_config_1.default)(Object.assign(Object.assign({outputPath:t,outputPublicPath:a,outputJsDir:r,hash:l,chunkSuffix:i,typescript:u?Object.assign(Object.assign({},g),{checkerOptions:Object.assign(Object.assign({},g.checkerOptions),{typescript:Object.assign(Object.assign({},g.checkerOptions.typescript),{diagnosticsOptions:Object.assign({syntactic:g.threadLoader},null===(s=g.checkerOptions.typescript)||void 0===s?void 0:s.diagnosticsOptions)})})}):void 0,name:serverBuildConfig.root,target:"node",context:f?paths_1.default.root:paths_1.default.server.sources},_),{stats:!1===_.stats||_.stats&&"object"!=typeof _.stats?_.stats:Object.assign({all:!1,errors:!0,errorDetails:!0,warnings:!0,version:!0,timings:!0,builtAt:!0,entrypoints:!0},_.stats),externals:[(0,webpack_node_externals_1.default)(p),..._.externals&&(Array.isArray(_.externals)?_.externals:[_.externals])||[]],resolve:Object.assign(Object.assign({},_.resolve),{modules:[f?paths_1.default.client.sources:paths_1.default.server.sources,..._.resolve&&_.resolve.modules||[]],alias:Object.assign(Object.assign(Object.assign({},f?{server:paths_1.default.server.sources,client:paths_1.default.client.sources}:void 0),paths_1.default.shared.sources?{shared:paths_1.default.shared.sources}:void 0),_.resolve&&_.resolve.alias||void 0)}),module:Object.assign(Object.assign({},_.module),{rules:[...Object.getOwnPropertyNames(R).map((e=>R[e]||{})),..._.module&&_.module.rules||[]]}),watchOptions:Object.assign({ignored:[paths_1.default.nodeModules.root,...f&&!appEnv_1.default.ssr?[paths_1.default.client.root]:[]]},_.watchOptions)}))};