@mainset/bundler-webpack 0.2.1-rc.1 → 0.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/generate-webpack-config.mjs +19 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/webpack-config/config-fragments/common.fragment.mjs +1 -1
- package/dist/esm/webpack-config/config-fragments/module-rules/module-rules.fragment.mjs +3 -1
- package/dist/esm/webpack-config/config-fragments/ssr-webapp.fragment.mjs +2 -1
- package/dist/esm/webpack-config/server.ssr.config.mjs +2 -1
- package/dist/esm/webpack-config/webapp.csr.config.mjs +4 -2
- package/dist/esm/webpack-config/webapp.ssr.config.mjs +6 -2
- package/dist/types/generate-webpack-config.d.mts +4 -0
- package/dist/types/index.d.mts +1 -1
- package/dist/types/webpack-config/config-fragments/common-webapp.fragment.d.mts +2 -0
- package/dist/types/webpack-config/config-fragments/common.fragment.d.mts +3 -0
- package/dist/types/webpack-config/config-fragments/csr-webapp.fragment.d.mts +2 -0
- package/dist/types/webpack-config/config-fragments/dev.fragment.d.mts +3 -0
- package/dist/types/webpack-config/config-fragments/module-rules/index.d.mts +2 -0
- package/dist/types/webpack-config/config-fragments/module-rules/module-rules.chunk.d.mts +21 -0
- package/dist/types/webpack-config/config-fragments/module-rules/module-rules.fragment.d.mts +4 -0
- package/dist/types/webpack-config/config-fragments/prod.fragment.d.mts +3 -0
- package/dist/types/webpack-config/config-fragments/ssr-webapp.fragment.d.mts +2 -0
- package/dist/types/webpack-config/dev-server.csr.config.d.mts +4 -0
- package/dist/types/webpack-config/server.ssr.config.d.mts +3 -0
- package/dist/types/webpack-config/webapp.csr.config.d.mts +2 -0
- package/dist/types/webpack-config/webapp.ssr.config.d.mts +5 -0
- package/package.json +11 -7
- package/src/@types/process-env-type.d.ts +1 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { merge } from '@mainset/toolkit-js';
|
|
2
|
+
import csrDevServerWebappEnvBasedConfig from './webpack-config/dev-server.csr.config.mjs';
|
|
3
|
+
import ssrEnvBasedConfigs from './webpack-config/webapp.ssr.config.mjs';
|
|
4
|
+
const generateEnvBasedWebpackConfig = (extendedWebpackConfig = {}) => {
|
|
5
|
+
const [ssrServerEnvBasedConfig, ssrWebappEnvBasedConfig] = ssrEnvBasedConfigs;
|
|
6
|
+
const msCliWebpackServeMode = process.env.MS_CLI__WEBPACK_SERVE_MODE;
|
|
7
|
+
switch (msCliWebpackServeMode) {
|
|
8
|
+
case 'ssr':
|
|
9
|
+
return [
|
|
10
|
+
ssrServerEnvBasedConfig,
|
|
11
|
+
merge(ssrWebappEnvBasedConfig, extendedWebpackConfig),
|
|
12
|
+
];
|
|
13
|
+
case 'csr':
|
|
14
|
+
return merge(csrDevServerWebappEnvBasedConfig, extendedWebpackConfig);
|
|
15
|
+
default:
|
|
16
|
+
throw new Error(`Unknown MS_CLI__WEBPACK_SERVE_MODE: ${msCliWebpackServeMode}. Expected 'ssr' or 'csr'.`);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export { generateEnvBasedWebpackConfig };
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { generateEnvBasedWebpackConfig } from './generate-webpack-config.mjs';
|
|
@@ -15,7 +15,7 @@ const commonWebpackConfigFragment = {
|
|
|
15
15
|
],
|
|
16
16
|
},
|
|
17
17
|
resolve: {
|
|
18
|
-
modules: [
|
|
18
|
+
modules: ['node_modules'],
|
|
19
19
|
extensions: [
|
|
20
20
|
// Default for {extensions} key: https://webpack.js.org/configuration/resolve/#resolveloader
|
|
21
21
|
'.js',
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { resolveHostPackageNodeModulesPath } from '@mainset/cli/runtime';
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore
|
|
2
4
|
import babelConfig from '../../../babel.config.mjs';
|
|
3
5
|
const BABEL_LOADER__RULE__WEBPACK_CONFIG_FRAGMENT = {
|
|
4
6
|
test: /\.(ts|mts|tsx)$/,
|
|
@@ -16,4 +18,4 @@ const IMAGES__RULE__WEBPACK_CONFIG_FRAGMENT = {
|
|
|
16
18
|
outputPath: 'dist/assets/images',
|
|
17
19
|
},
|
|
18
20
|
};
|
|
19
|
-
export {
|
|
21
|
+
export { BABEL_LOADER__RULE__WEBPACK_CONFIG_FRAGMENT, IMAGES__RULE__WEBPACK_CONFIG_FRAGMENT, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
import { runtimePathById } from '@mainset/cli/runtime';
|
|
2
3
|
import { merge } from '@mainset/toolkit-js';
|
|
3
4
|
import CopyWebpackPlugin from 'copy-webpack-plugin';
|
|
@@ -8,7 +9,7 @@ import { commonWebappWebpackConfigFragment } from './common-webapp.fragment.mjs'
|
|
|
8
9
|
const defaultEntry = path.join(runtimePathById.src, 'index.ts');
|
|
9
10
|
const ssrEntry = path.join(runtimePathById.src, 'index.ssr.ts');
|
|
10
11
|
const bundlerEntry = fs.existsSync(ssrEntry) ? ssrEntry : defaultEntry;
|
|
11
|
-
const ssrPublicOutputPath = path.join(commonWebappWebpackConfigFragment.output.path, 'public');
|
|
12
|
+
const ssrPublicOutputPath = path.join(((_a = commonWebappWebpackConfigFragment.output) === null || _a === void 0 ? void 0 : _a.path) || '', 'public');
|
|
12
13
|
const ssrWebappWebpackConfigFragment = merge(
|
|
13
14
|
// NOTE: the Web App config used to compile entry point of {global.css} styles
|
|
14
15
|
commonWebappWebpackConfigFragment, {
|
|
@@ -43,7 +43,7 @@ const ssrServerCommonWebpackConfigFragment = {
|
|
|
43
43
|
],
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
|
-
const generateSSRCssStylesRuleWebpackConfigFragment = ({ mode }) => {
|
|
46
|
+
const generateSSRCssStylesRuleWebpackConfigFragment = ({ mode, }) => {
|
|
47
47
|
const CSS_LOADER__RULE_USE_OPTIONS__BY_MODE = {
|
|
48
48
|
[NODE_ENV.PRODUCTION]: CSS_LOADER__PROD_RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK,
|
|
49
49
|
[NODE_ENV.DEVELOPMENT]: CSS_LOADER__DEV_RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK,
|
|
@@ -101,4 +101,5 @@ const ssrServerEnvBasedConfig = {
|
|
|
101
101
|
[NODE_ENV.PRODUCTION]: merge(ssrServerProdWebpackConfigFragment, ssrServerCommonWebpackConfigFragment),
|
|
102
102
|
[NODE_ENV.DEVELOPMENT]: merge(ssrServerDevWebpackConfigFragment, ssrServerCommonWebpackConfigFragment),
|
|
103
103
|
};
|
|
104
|
+
// NOTE: the {NODE_ENV} handled and established in {verifyOrSetNodeEnv} of {ms-cli}
|
|
104
105
|
export default ssrServerEnvBasedConfig[process.env.NODE_ENV];
|
|
@@ -12,8 +12,10 @@ const csrWebappGeneralConfig = merge(csrWebappWebpackConfigFragment, {
|
|
|
12
12
|
}),
|
|
13
13
|
],
|
|
14
14
|
});
|
|
15
|
-
const
|
|
15
|
+
const csrWebappConfigByNodeEnv = {
|
|
16
16
|
[NODE_ENV.PRODUCTION]: merge(prodWebpackConfigFragment, csrWebappGeneralConfig),
|
|
17
17
|
[NODE_ENV.DEVELOPMENT]: merge(devWebpackConfigFragment, csrWebappGeneralConfig),
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
const csrWebappEnvBasedConfig = csrWebappConfigByNodeEnv[process.env.NODE_ENV];
|
|
20
|
+
// NOTE: the {NODE_ENV} handled and established in {verifyOrSetNodeEnv} of {ms-cli}
|
|
21
|
+
export default csrWebappEnvBasedConfig;
|
|
@@ -14,12 +14,16 @@ const ssrWebappGeneralConfig = merge(ssrWebappWebpackConfigFragment, {
|
|
|
14
14
|
}),
|
|
15
15
|
],
|
|
16
16
|
});
|
|
17
|
-
const
|
|
17
|
+
const ssrWebappConfigByNodeEnv = {
|
|
18
18
|
[NODE_ENV.PRODUCTION]: merge(prodWebpackConfigFragment, ssrWebappGeneralConfig),
|
|
19
19
|
[NODE_ENV.DEVELOPMENT]: merge(devWebpackConfigFragment, ssrWebappGeneralConfig),
|
|
20
20
|
};
|
|
21
|
+
// NOTE: the {NODE_ENV} handled and established in {verifyOrSetNodeEnv} of {ms-cli}
|
|
22
|
+
const ssrWebappEnvBasedConfig = ssrWebappConfigByNodeEnv[process.env.NODE_ENV];
|
|
23
|
+
// NOTE: the {tsc} stripping the export in favor of the default export
|
|
24
|
+
export { ssrServerEnvBasedConfig, ssrWebappEnvBasedConfig };
|
|
21
25
|
export default [
|
|
22
26
|
ssrServerEnvBasedConfig,
|
|
23
27
|
// NOTE: all Env Based configs declared outside {config-fragments} folder
|
|
24
|
-
ssrWebappEnvBasedConfig
|
|
28
|
+
ssrWebappEnvBasedConfig,
|
|
25
29
|
];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Configuration as WebpackConfig } from 'webpack';
|
|
2
|
+
import type { Configuration as DevServerConfig } from 'webpack-dev-server';
|
|
3
|
+
declare const generateEnvBasedWebpackConfig: (extendedWebpackConfig?: WebpackConfig & DevServerConfig) => (WebpackConfig & DevServerConfig) | WebpackConfig[];
|
|
4
|
+
export { generateEnvBasedWebpackConfig };
|
package/dist/types/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { generateEnvBasedWebpackConfig } from './generate-webpack-config.mjs';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RuleSetRule } from 'webpack';
|
|
2
|
+
declare const CSS_STYLES__RULE_TEST_REGEX__WEBPACK_CONFIG_CHUNK: {
|
|
3
|
+
test: RegExp;
|
|
4
|
+
};
|
|
5
|
+
declare const CSS_MODULES__RULE_TEST_REGEX__WEBPACK_CONFIG_CHUNK: {
|
|
6
|
+
test: RegExp;
|
|
7
|
+
};
|
|
8
|
+
declare const FONTS__RULE_TEST_REGEX__WEBPACK_CONFIG_CHUNK: {
|
|
9
|
+
test: RegExp;
|
|
10
|
+
};
|
|
11
|
+
declare const CSS_LOADER__PROD_RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK: RuleSetRule;
|
|
12
|
+
declare const CSS_LOADER__DEV_RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK: RuleSetRule;
|
|
13
|
+
declare const CSS_STYLES__RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK: (string | {
|
|
14
|
+
loader: string;
|
|
15
|
+
options: {
|
|
16
|
+
postcssOptions: {
|
|
17
|
+
config: string | false;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
})[];
|
|
21
|
+
export { CSS_LOADER__DEV_RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK, CSS_LOADER__PROD_RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK, CSS_MODULES__RULE_TEST_REGEX__WEBPACK_CONFIG_CHUNK, CSS_STYLES__RULE_TEST_REGEX__WEBPACK_CONFIG_CHUNK, CSS_STYLES__RULE_USE_OPTIONS__WEBPACK_CONFIG_CHUNK, FONTS__RULE_TEST_REGEX__WEBPACK_CONFIG_CHUNK, };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RuleSetRule } from 'webpack';
|
|
2
|
+
declare const BABEL_LOADER__RULE__WEBPACK_CONFIG_FRAGMENT: RuleSetRule;
|
|
3
|
+
declare const IMAGES__RULE__WEBPACK_CONFIG_FRAGMENT: RuleSetRule;
|
|
4
|
+
export { BABEL_LOADER__RULE__WEBPACK_CONFIG_FRAGMENT, IMAGES__RULE__WEBPACK_CONFIG_FRAGMENT, };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Configuration as WebpackConfig } from 'webpack';
|
|
2
|
+
import type { Configuration as DevServerConfig } from 'webpack-dev-server';
|
|
3
|
+
declare const csrDevServerWebappEnvBasedConfig: WebpackConfig & DevServerConfig;
|
|
4
|
+
export default csrDevServerWebappEnvBasedConfig;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ssrServerEnvBasedConfig from './server.ssr.config.mjs';
|
|
2
|
+
declare const ssrWebappEnvBasedConfig: import("webpack").Configuration;
|
|
3
|
+
export { ssrServerEnvBasedConfig, ssrWebappEnvBasedConfig };
|
|
4
|
+
declare const _default: import("webpack").Configuration[];
|
|
5
|
+
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mainset/bundler-webpack",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-rc.1",
|
|
4
4
|
"description": "Bundler for web apps",
|
|
5
5
|
"homepage": "https://github.com/mainset/dev-stack-fe/tree/main/packages/bundler-webpack",
|
|
6
6
|
"bugs": {
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"src/@types"
|
|
20
20
|
],
|
|
21
21
|
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/types/index.d.mts",
|
|
24
|
+
"import": "./dist/esm/index.mjs"
|
|
25
|
+
},
|
|
22
26
|
"./global-types": "./src/@types/bundler.d.ts"
|
|
23
27
|
},
|
|
24
28
|
"dependencies": {
|
|
@@ -45,14 +49,14 @@
|
|
|
45
49
|
"webpack-dev-server": "^5.2.2"
|
|
46
50
|
},
|
|
47
51
|
"devDependencies": {
|
|
48
|
-
"@mainset/
|
|
49
|
-
"@mainset/
|
|
50
|
-
"@mainset/
|
|
52
|
+
"@mainset/cli": "^0.3.0-rc.1",
|
|
53
|
+
"@mainset/toolkit-js": "^0.1.1-rc.1",
|
|
54
|
+
"@mainset/dev-stack-fe": "^0.2.0-rc.1"
|
|
51
55
|
},
|
|
52
56
|
"peerDependencies": {
|
|
53
|
-
"@mainset/cli": "^0.
|
|
54
|
-
"@mainset/dev-stack-fe": "^0.
|
|
55
|
-
"@mainset/toolkit-js": "^0.1.
|
|
57
|
+
"@mainset/cli": "^0.3.0",
|
|
58
|
+
"@mainset/dev-stack-fe": "^0.2.0",
|
|
59
|
+
"@mainset/toolkit-js": "^0.1.1"
|
|
56
60
|
},
|
|
57
61
|
"scripts": {
|
|
58
62
|
"build": "ms-cli source-code --exec compile",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@mainset/cli/process-env-type';
|