@js-toolkit/configs 3.91.1 → 3.93.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/appEnv.js CHANGED
@@ -1 +1 @@
1
- "use strict";function parseJson(t){if(null==t)return t;try{return JSON.parse(t)}catch(e){return t}}function getAppEnvironment(){const t=/^APP_/i,e=process.env,n=Object.keys(e).filter((e=>t.test(e))).reduce(((t,n)=>(t[n]=parseJson(e[n]),t)),{NODE_ENV:parseJson(e.NODE_ENV||"development"),APP_SSR:!1,APP_TEST:!1}),r={raw:n,envStringify(){return{"process.env":Object.keys(this.raw).reduce(((t,e)=>{const n=e;return t[e]=JSON.stringify(this.raw[n]),t}),{})}},has:t=>t in n,get:t=>n[t],get ssr(){return!0===this.raw.APP_SSR},get dev(){return"development"===this.raw.NODE_ENV},get test(){return"test"===this.raw.NODE_ENV||!0===this.raw.APP_TEST},get prod(){return"production"===this.raw.NODE_ENV},ifDev(t,e){return this.dev?"function"==typeof t?t():t:"function"==typeof e?e():e},ifTest(t,e){return this.test?"function"==typeof t?t():t:"function"==typeof e?e():e},ifProd(t,e){return this.prod?"function"==typeof t?t():t:"function"==typeof e?e():e}};return("undefined"==typeof window?global:window).Proxy?new Proxy(r,{get:(t,e)=>"string"!=typeof e||e in t?t[e]:t.raw[e],has:(t,e)=>e in t||e in t.raw}):r}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getAppEnvironment=void 0,exports.getAppEnvironment=getAppEnvironment;const appEnv=getAppEnvironment();exports.default=appEnv;
1
+ "use strict";function parseJson(t){if(null==t)return t;try{return JSON.parse(t)}catch(e){return t}}function getAppEnvironment(){const t=/^APP_/i,e=process.env,n=Object.keys(e).filter((e=>t.test(e))).reduce(((t,n)=>(t[n]=parseJson(e[n]),t)),{NODE_ENV:parseJson(e.NODE_ENV||"development"),APP_SSR:!1,APP_TEST:!1}),r={raw:n,envStringify(){return{"process.env":Object.keys(this.raw).reduce(((t,e)=>{const n=e;return t[e]=JSON.stringify(this.raw[n]),t}),{})}},has:t=>t in n,get:t=>n[t],get ssr(){return!0===this.raw.APP_SSR},get dev(){return"development"===this.raw.NODE_ENV},get test(){return"test"===this.raw.NODE_ENV||!0===this.raw.APP_TEST},get prod(){return"production"===this.raw.NODE_ENV},ifDev(t,e){return this.dev?"function"==typeof t?t():t:"function"==typeof e?e():e},ifTest(t,e){return this.test?"function"==typeof t?t():t:"function"==typeof e?e():e},ifProd(t,e){return this.prod?"function"==typeof t?t():t:"function"==typeof e?e():e}};return("undefined"==typeof window?global:window).Proxy?new Proxy(r,{get:(t,e)=>"string"!=typeof e||e in t?t[e]:t.raw[e],has:(t,e)=>e in t||e in t.raw}):r}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getAppEnvironment=getAppEnvironment;const appEnv=getAppEnvironment();exports.default=appEnv;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getInstalledPlugin=void 0;const getInstalledPackage_1=require("../getInstalledPackage");function getInstalledPlugin(e,t){const l=(0,getInstalledPackage_1.getInstalledPackage)(e);if(l)return t?[l,t]:l}exports.getInstalledPlugin=getInstalledPlugin;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getInstalledPlugin=getInstalledPlugin;const getInstalledPackage_1=require("../getInstalledPackage");function getInstalledPlugin(e,t){const l=(0,getInstalledPackage_1.getInstalledPackage)(e);if(l)return t?[l,t]:l}
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.resolveConfigPath=resolveConfigPath,exports.getBuildConfig=getBuildConfig;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)}}})}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. */
@@ -20,8 +20,8 @@ export declare function getClientConfig(root?: string): {
20
20
  root: string;
21
21
  js: string;
22
22
  styles: string | {
23
- dir?: string;
24
- extractorOptions?: AnyObject;
23
+ dir?: string | undefined;
24
+ extractorOptions?: AnyObject | undefined;
25
25
  };
26
26
  assets: string;
27
27
  external: string;
@@ -29,17 +29,19 @@ export declare function getClientConfig(root?: string): {
29
29
  /** Generated asset manifest. */
30
30
  assetManifest: {
31
31
  /** For example: `asset-manifest.json`. */
32
- fileName: string;
33
- filterTemplate: {};
32
+ fileName: string | undefined;
33
+ filterTemplate: AnyObject | undefined;
34
34
  };
35
35
  /** Generating service worker options (workbox-webpack-plugin). */
36
36
  sw: {
37
37
  /** For example: `service-worker.js`. */
38
- swDest: string;
38
+ swDest: string | undefined;
39
+ /** If provided then InjectManifest mode will be used. */
40
+ swSrc: string | undefined;
39
41
  };
40
42
  };
41
43
  };
42
- export declare function getServerConfig(root?: string): {
44
+ export declare function getNodeAppConfig(root?: string): {
43
45
  root: string;
44
46
  sources: string;
45
47
  /** Used by webpack loaders and plugins. */
@@ -61,8 +63,8 @@ export type BuildConfigDefaults = {
61
63
  nodeModules: {
62
64
  root: string;
63
65
  };
64
- client: ReturnType<typeof getClientConfig>;
65
- server: ReturnType<typeof getServerConfig>;
66
+ web: ReturnType<typeof getWebAppConfig>;
67
+ node: ReturnType<typeof getNodeAppConfig>;
66
68
  shared: ReturnType<typeof getSharedConfig>;
67
69
  };
68
70
  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:void 0,filterTemplate:void 0},sw:{swDest:void 0,swSrc:void 0}}}}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.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")),globals_1=__importDefault(require("globals")),js_1=__importDefault(require("@eslint/js")),compat_1=require("@eslint/compat"),recommended_1=__importDefault(require("eslint-plugin-prettier/recommended")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),utils_1=require("./utils"),hasImportPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-import"),hasTsDocPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("eslint-plugin-tsdoc"),hasTypescriptEslintPlugin=!!(0,getInstalledPackage_1.getInstalledPackage)("typescript-eslint"),config=[js_1.default.configs.recommended,recommended_1.default,...hasImportPlugin?(0,compat_1.fixupConfigRules)(utils_1.compat.extends("plugin:import/recommended")):[],{languageOptions:{parser:require("@babel/eslint-parser"),ecmaVersion:"latest",globals:Object.assign({},globals_1.default.node)},linterOptions:{reportUnusedDisableDirectives:!0},settings:{"import/extensions":(0,paths_1.getJSExtensions)(),"import/resolver":{node:{extensions:(0,paths_1.getJSExtensions)(),moduleDirectory:["node_modules",paths_1.default.web.sources,paths_1.default.node.sources,paths_1.default.shared.sources].filter((e=>!!e))}},"import/parsers":{"@babel/eslint-parser":(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"})},...hasTypescriptEslintPlugin?(()=>{const e=require("typescript-eslint");return e.config({extends:[...e.configs.recommendedTypeChecked,...hasImportPlugin?(0,compat_1.fixupConfigRules)(utils_1.compat.extends("plugin:import/typescript")):[]],files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSExtensions)())],plugins:Object.assign({},hasTsDocPlugin&&{tsdoc:require("eslint-plugin-tsdoc")}),languageOptions:{parserOptions:{project:fs_1.default.existsSync(consts_1.eslintTsProject)?consts_1.eslintTsProject:"tsconfig.json"}},settings:{"import/extensions":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/parsers":{"@typescript-eslint/parser":paths_1.moduleExtensions,"@babel/eslint-parser":[]}},rules:Object.assign({"no-useless-constructor":"off","no-void":["error",{allowAsStatement:!0}],"@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"})})})():[],{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,i,n){void 0===n&&(n=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,r)}: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},__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=[...require("./common"),{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSExtensions)())],languageOptions:{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,s,n){void 0===n&&(n=s);var a=Object.getOwnPropertyDescriptor(t,s);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,a)}:function(e,t,s,n){void 0===n&&(n=s),e[n]=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")),globals_1=__importDefault(require("globals")),buildConfig_1=__importDefault(require("../buildConfig")),paths_1=__importStar(require("../paths")),getInstalledPackage_1=require("../getInstalledPackage"),consts_1=require("./consts"),utils_1=require("./utils"),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");delete globals_1.default.browser["AudioWorkletGlobalScope "];const config=[...require("./common"),{languageOptions:{globals:Object.assign({},globals_1.default.browser)}},...(hasReactPlugin?[require("eslint-plugin-react/configs/recommended")]:[]).map((e=>{var t,s;return Object.assign(Object.assign({},e),{files:[...null!==(t=e.files)&&void 0!==t?t:[],(0,paths_1.getFilesGlob)((0,paths_1.getJSXExtensions)())],settings:Object.assign(Object.assign({},e.settings),{react:Object.assign(Object.assign({},null===(s=e.settings)||void 0===s?void 0:s.react),{version:"detect"})}),rules:Object.assign(Object.assign({},e.rules),{"react/prop-types":"off","react/sort-comp":"off","react/display-name":"off","react/destructuring-assignment":["error","always",{ignoreClassFields:!0}],"react/jsx-filename-extension":["error",{extensions:(0,paths_1.getJSXExtensions)()}],"react/jsx-wrap-multilines":"off","react/jsx-props-no-spreading":"off","react/function-component-definition":["error",{namedComponents:"function-declaration",unnamedComponents:"arrow-function"}]})})})),...(hasA11yPlugin?[require("eslint-plugin-jsx-a11y").flatConfigs.recommended]:[]).map((e=>{var t;return Object.assign(Object.assign({},e),{files:[...null!==(t=e.files)&&void 0!==t?t:[],(0,paths_1.getFilesGlob)((0,paths_1.getJSXExtensions)())],rules:Object.assign(Object.assign({},e.rules),{"jsx-a11y/anchor-is-valid":["error",{specialLink:["to"]}],"jsx-a11y/label-has-for":["error",{allowChildren:!0}]})})})),...(hasReactHooksPlugin?utils_1.compat.extends("plugin:react-hooks/recommended"):[]).map((e=>Object.assign(Object.assign({},e),{rules:Object.assign(Object.assign({},e.rules),{"react-hooks/exhaustive-deps":"error"})}))),...hasMobxPlugin?utils_1.compat.extends("plugin:mobx/recommended"):[],{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSExtensions)())],languageOptions:{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"})()}}},{files:[(0,paths_1.getFilesGlob)((0,paths_1.getTSJSXExtensions)())],rules:Object.assign({},hasReactPlugin&&{"react/jsx-filename-extension":["error",{extensions:(0,paths_1.getJSXExtensions)()}]})}];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"),filesGlobs={web:buildConfig_1.default.web&&fs_1.default.existsSync(paths_1.default.web.root)?[(0,paths_1.getFilesGlob)(paths_1.moduleExtensions,buildConfig_1.default.web.root)]:[],node:buildConfig_1.default.node&&fs_1.default.existsSync(paths_1.default.node.root)?[(0,paths_1.getFilesGlob)(paths_1.moduleExtensions,buildConfig_1.default.node.root)]:[],shared:buildConfig_1.default.shared&&fs_1.default.existsSync(paths_1.default.shared.root)?[(0,paths_1.getFilesGlob)(paths_1.moduleExtensions,buildConfig_1.default.shared.root)]:[],other:paths_1.moduleExtensions.map((e=>`*${e}`))},config=[{settings:{filesGlobs:filesGlobs,getFilesGlob:paths_1.getFilesGlob}},...filesGlobs.web.length>0?[{files:filesGlobs.web,rules:{}},...require("./react")]:[],...filesGlobs.node.length>0?[{files:filesGlobs.node,rules:{}},...require("./react"),...require("./node")]:[],...filesGlobs.shared.length>0?[{files:filesGlobs.shared,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:{}},...require("./common")]:[],...filesGlobs.other.length>0?[{files:filesGlobs.other,ignores:[...filesGlobs.web,...filesGlobs.node,...filesGlobs.shared].filter(Boolean),rules:{}},...require("./common")]:[]];module.exports=config;
@@ -0,0 +1,4 @@
1
+ import type { ESLint } from 'eslint';
2
+ import { FlatCompat } from '@eslint/eslintrc';
3
+ export declare const compat: FlatCompat;
4
+ export declare function legacyPlugin(name: string, alias?: string): ESLint.Plugin;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.compat=void 0,exports.legacyPlugin=legacyPlugin;const eslintrc_1=require("@eslint/eslintrc"),compat_1=require("@eslint/compat");function legacyPlugin(e,t=e){var o,l;const i=null===(l=null===(o=exports.compat.plugins(e)[0])||void 0===o?void 0:o.plugins)||void 0===l?void 0:l[t];if(!i)throw new Error(`Unable to resolve plugin ${e} and/or alias ${t}`);return(0,compat_1.fixupPluginRules)(i)}exports.compat=new eslintrc_1.FlatCompat({});
@@ -1,2 +1 @@
1
- /// <reference types="node" />
2
1
  export declare function getInstalledPackage(name: string, requireFn?: typeof require): string | undefined;
@@ -1 +1 @@
1
- "use strict";function getInstalledPackage(e,t=require){try{return t(e),e}catch(e){return}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getInstalledPackage=void 0,exports.getInstalledPackage=getInstalledPackage;
1
+ "use strict";function getInstalledPackage(e,t=require){try{return t(e),e}catch(e){return}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getInstalledPackage=getInstalledPackage;
@@ -4,6 +4,6 @@
4
4
  "module": "ES2015",
5
5
  "moduleResolution": "node",
6
6
  "jsx": "preserve",
7
- "lib": ["DOM", "DOM.Iterable", "ScriptHost", "ESNext"]
7
+ "lib": ["DOM", "DOM.Iterable", "ESNext"]
8
8
  }
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@js-toolkit/configs",
3
- "version": "3.91.1",
3
+ "version": "3.93.0",
4
4
  "description": "Preconfigured configurations",
5
5
  "author": "VZH",
6
6
  "license": "MIT",
@@ -19,27 +19,29 @@
19
19
  "minor-publish": "yarn run build && yarn run minify && npm version minor --no-workspaces-update -m 'v%s' && yarn run copy && cd ./dist && npm publish --access public && git push --follow-tags"
20
20
  },
21
21
  "devDependencies": {
22
- "@types/eslint": "^8.56.2",
22
+ "@eslint/compat": "^1.1.0",
23
+ "@eslint/eslintrc": "^3.1.0",
24
+ "@eslint/js": "^9.5.0",
25
+ "@types/eslint": "^8.56.10",
26
+ "@types/eslint__eslintrc": "^2.1.1",
27
+ "@types/eslint__js": "^8.42.3",
23
28
  "@types/webpack-node-externals": "^3.0.4",
24
- "@typescript-eslint/eslint-plugin": "^7.0.2",
25
- "@typescript-eslint/parser": "^7.0.2",
26
29
  "copy-webpack-plugin": "^12.0.2",
27
30
  "copyfiles": "^2.4.1",
28
- "eslint": "^8.56.0",
29
- "eslint-config-airbnb": "^19.0.4",
30
- "eslint-config-airbnb-base": "^15.0.0",
31
+ "eslint": "^9.5.0",
31
32
  "eslint-config-prettier": "^9.1.0",
32
33
  "eslint-plugin-import": "^2.29.1",
33
- "eslint-plugin-jsx-a11y": "^6.8.0",
34
+ "eslint-plugin-jsx-a11y": "^6.9.0",
34
35
  "eslint-plugin-prettier": "^5.1.3",
35
- "eslint-plugin-react": "^7.33.2",
36
- "eslint-plugin-react-hooks": "^4.6.0",
36
+ "eslint-plugin-react": "^7.34.3",
37
+ "eslint-plugin-react-hooks": "^4.6.2",
37
38
  "html-webpack-plugin": "^5.6.0",
38
- "prettier": "^3.2.5",
39
- "rimraf": "^5.0.5",
40
- "typescript": "^5.3.3",
41
- "webpack": "^5.90.3",
42
- "webpack-dev-server": "^5.0.2",
39
+ "prettier": "^3.3.2",
40
+ "rimraf": "^5.0.7",
41
+ "typescript": "^5.5.2",
42
+ "typescript-eslint": "^7.14.1",
43
+ "webpack": "^5.92.1",
44
+ "webpack-dev-server": "^5.0.4",
43
45
  "webpack-node-externals": "^3.0.0"
44
46
  }
45
47
  }
package/paths.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export declare const moduleExtensions: string[];
2
- export declare function getTSExtensions(): string[];
3
- export declare function getJSExtensions(): string[];
4
- export declare function getReactExtensions(): string[];
2
+ export declare function getFilesGlob(extensions: string[], basePath?: string): string;
3
+ export declare function getTSExtensions(withStar?: boolean): string[];
4
+ export declare function getJSExtensions(withStar?: boolean): string[];
5
+ export declare function getJSXExtensions(withStar?: boolean): string[];
6
+ export declare function getTSJSXExtensions(withStar?: boolean): string[];
5
7
  export declare function getPaths(baseDir?: string, buildConfig?: import("./buildConfig").BuildConfig): Readonly<{
6
8
  root: string;
7
9
  nodeModules: {
@@ -12,7 +14,7 @@ export declare function getPaths(baseDir?: string, buildConfig?: import("./build
12
14
  output: {
13
15
  root: string;
14
16
  };
15
- client: {
17
+ web: {
16
18
  root: string;
17
19
  sources: string;
18
20
  assets: string;
@@ -26,7 +28,7 @@ export declare function getPaths(baseDir?: string, buildConfig?: import("./build
26
28
  jsPath: string;
27
29
  };
28
30
  };
29
- server: {
31
+ node: {
30
32
  root: string;
31
33
  sources: string;
32
34
  tsconfig: string;
@@ -51,7 +53,7 @@ declare const paths: Readonly<{
51
53
  output: {
52
54
  root: string;
53
55
  };
54
- client: {
56
+ web: {
55
57
  root: string;
56
58
  sources: string;
57
59
  assets: string;
@@ -65,7 +67,7 @@ declare const paths: Readonly<{
65
67
  jsPath: string;
66
68
  };
67
69
  };
68
- server: {
70
+ node: {
69
71
  root: string;
70
72
  sources: string;
71
73
  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.moduleExtensions=void 0,exports.getFilesGlob=getFilesGlob,exports.getTSExtensions=getTSExtensions,exports.getJSExtensions=getJSExtensions,exports.getJSXExtensions=getJSXExtensions,exports.getTSJSXExtensions=getTSJSXExtensions,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 getJSXExtensions(t=!1){const e=exports.moduleExtensions.filter((t=>t.endsWith("sx")));return t?addStar(e):e}function getTSJSXExtensions(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(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",".mjsx",".ts",".tsx",".mtsx",".d.ts"];const paths=getPaths();exports.default=paths;
@@ -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.cssExtractLoader=exports.TsLoaderType=void 0,exports.ts=ts,exports.getTsLoader=getTsLoader,exports.getTsCheckerPlugin=getTsCheckerPlugin,exports.tsRHL=tsRHL,exports.babelLoader=babelLoader,exports.css=css,exports.cssNodeModules=cssNodeModules;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:i,postcssLoaderOptions:p}=e,d=__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,o),localIdentContext:paths_1.default.root,exportOnlyLocals:t},n),importLoaders:r?1:void 0},d)},...r?[{loader:"postcss-loader",options:p}]:[]]}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.cssExtractLoader="mini-css-extract-plugin/dist/loader";
@@ -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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  /** Original require function (non webpack) to correct load modules in universal projects */
3
2
  declare const _default: NodeRequire;
4
3
  export default _default;
@@ -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 a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(s[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(s[a[o]]=e[a[o]])}return s},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.webDefaultRules=void 0,exports.prepareRules=prepareRules;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 a=e[t];return a&&s(a.loader||a.use)}))}function prepareRules(e,t){return Object.entries(e).reduce(((e,[s,a])=>("function"==typeof a&&s in t&&t[s]?e[s]=a(t[s]):e[s]=a,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]`}}};const webBuildConfig=buildConfig_1.default.web||buildConfig_1.default.default.web;exports.default=e=>{var t,s,a,o,i,n,u,{outputPath:l=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 w=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:j}=exports.webDefaultRules,O=__rest(exports.webDefaultRules,["tsBaseRule"]),v=Object.assign({tsRule:Object.assign(Object.assign(Object.assign({},j),h),{use:(0,loaders_1.getTsLoader)(Object.assign(Object.assign({tsconfig:w.configFile,forkedChecks:w.forkedChecks,useThreadLoader:w.threadLoader,threadLoaderOptions:w.threadLoaderOptions},w.loaderOptions),{loaderType:w.loader}))})},O),y=prepareRules(_,v),k=Object.assign(Object.assign({},v),y);return(0,common_config_1.default)(Object.assign(Object.assign({outputPath:l,outputPublicPath:r,outputJsDir:d,hash:p,chunkSuffix:c,typescript:f?Object.assign(Object.assign({},w),{checkerOptions:Object.assign(Object.assign({},w.checkerOptions),{typescript:Object.assign(Object.assign({},w.checkerOptions.typescript),{diagnosticsOptions:Object.assign({syntactic:w.threadLoader},null===(t=w.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===(a=m.resolve)||void 0===a?void 0:a.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:[...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===(u=m.module)||void 0===u?void 0:u.rules)||[]]}),plugins:[...(()=>{const e=normalizeHtml(webBuildConfig.html);return e.filter((e=>!!e.template)).map((e=>{var{inject:t,template:s}=e,a=__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)},a))}))})(),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,a=appEnv_1.default.prod&&t?".[contenthash:8]":"",o=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]${a}.css`,chunkFilename:`${n}/[name]${o}${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})})(),(webBuildConfig.output.sw.swDest||webBuildConfig.output.sw.swSrc)&&(()=>{const{GenerateSW:e,InjectManifest:t}=(0,nodeRequire_1.default)("workbox-webpack-plugin"),s=[/\.map$/,/^manifest.*\.js$/,webBuildConfig.output.assetManifest.fileName&&new RegExp(`${webBuildConfig.output.assetManifest.fileName}$`)].filter(Boolean),a=webBuildConfig.output.sw,{swSrc:o,swDest:i}=a,n=__rest(a,["swSrc","swDest"]);return o?new t(Object.assign(Object.assign(Object.assign({swSrc:o},i&&{swDest:i}),{exclude:s}),n)):new e(Object.assign(Object.assign(Object.assign({},i&&{swDest:i}),{clientsClaim:!0,exclude:s}),n))})(),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,a=__rest(e,["path","ignore"]);return Object.assign(Object.assign({from:t},s&&{globOptions:{ignore:s}}),a)}))})})(),...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,i,n,l,{outputPath:u=paths_1.default.client.output.path,outputPublicPath:r=clientBuildConfig.output.publicPath,outputJsDir:d=clientBuildConfig.output.js,hash:p=!0,chunkSuffix:c=".chunk",typescript:f}=e,g=e.rules,h=void 0===g?{}:g,{tsBaseRule:_}=h,m=__rest(h,["tsBaseRule"]),b=__rest(e,["outputPath","outputPublicPath","outputJsDir","hash","chunkSuffix","typescript","rules"]);const j=Object.assign({configFile:paths_1.default.client.tsconfig,loader:loaders_1.TsLoaderType.Default,loaderOptions:{},forkedChecks:!1,checkerOptions:{},threadLoader:!1,threadLoaderOptions:{}},"object"==typeof f&&f),{tsBaseRule:O}=exports.clientDefaultRules,v=__rest(exports.clientDefaultRules,["tsBaseRule"]),k=Object.assign({tsRule:Object.assign(Object.assign(Object.assign({},O),_),{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}))})},v),y=prepareRules(m,k),P=Object.assign(Object.assign({},k),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:clientBuildConfig.root,target:"web",context:paths_1.default.client.sources,stats:appEnv_1.default.ifDev("minimal",void 0)},b),{optimization:Object.assign(Object.assign({},b.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=b.optimization)||void 0===s?void 0:s.minimizer)||[]]},void 0)),resolve:Object.assign(Object.assign({},b.resolve),{modules:[paths_1.default.client.sources,...(null===(o=b.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=b.resolve)||void 0===a?void 0:a.alias)||void 0),plugins:[...clientBuildConfig.webpackPnpEnabled?[getPnpWebpackPlugin()]:[],...(null===(i=b.resolve)||void 0===i?void 0:i.plugins)||[]]}),resolveLoader:Object.assign(Object.assign({},b.resolveLoader),{plugins:[...clientBuildConfig.webpackPnpEnabled?[getPnpWebpackPlugin().moduleLoader(module)]:[],...(null===(n=b.resolveLoader)||void 0===n?void 0:n.plugins)||[]]}),module:Object.assign(Object.assign({},b.module),{rules:[...Object.getOwnPropertyNames(P).map((e=>P[e]||{})),...normalizeHtml(clientBuildConfig.html).some((({template:e})=>e&&e.endsWith(".pug")))?[{test:/\.pug$/,use:{loader:"pug-loader"}}]:[],...(null===(l=b.module)||void 0===l?void 0:l.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(P,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}=clientBuildConfig.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))})(),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)}))})})(),...b.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"},b.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)}))};