@servicetitan/startup 22.6.1 → 22.7.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/dist/cli/utils/bundle.d.ts +2 -0
- package/dist/cli/utils/bundle.d.ts.map +1 -1
- package/dist/cli/utils/bundle.js +33 -17
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/webpack/index.d.ts.map +1 -1
- package/dist/webpack/index.js +8 -0
- package/dist/webpack/index.js.map +1 -1
- package/dist/webpack/utils/get-caller-filename.d.ts +2 -0
- package/dist/webpack/utils/get-caller-filename.d.ts.map +1 -0
- package/dist/webpack/utils/get-caller-filename.js +27 -0
- package/dist/webpack/utils/get-caller-filename.js.map +1 -0
- package/package.json +12 -12
- package/src/cli/utils/bundle.ts +52 -37
- package/src/webpack/index.ts +14 -0
- package/src/webpack/utils/get-caller-filename.ts +26 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export declare const webpackDevConfigFileName = "webpack.dev.config.js";
|
|
2
|
+
export declare const webpackProdConfigFileName = "webpack.prod.config.js";
|
|
1
3
|
export declare function bundle(buildStat: boolean): Promise<void | [void, void]>;
|
|
2
4
|
export declare function bundleWatch(): Promise<void | [void, void]>;
|
|
3
5
|
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAyClE,wBAAsB,MAAM,CAAC,SAAS,EAAE,OAAO,gCAkE9C;AAED,wBAAsB,WAAW,iCA8EhC"}
|
package/dist/cli/utils/bundle.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
23
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.bundleWatch = exports.bundle = void 0;
|
|
26
|
+
exports.bundleWatch = exports.bundle = exports.webpackProdConfigFileName = exports.webpackDevConfigFileName = void 0;
|
|
27
27
|
const fs_1 = __importDefault(require("fs"));
|
|
28
28
|
const path_1 = __importDefault(require("path"));
|
|
29
29
|
const crypto_1 = __importDefault(require("crypto"));
|
|
@@ -39,6 +39,8 @@ function getName() {
|
|
|
39
39
|
const hash = crypto_1.default.randomBytes(4).toString('hex');
|
|
40
40
|
return `${packageName}-${hash}`;
|
|
41
41
|
}
|
|
42
|
+
exports.webpackDevConfigFileName = 'webpack.dev.config.js';
|
|
43
|
+
exports.webpackProdConfigFileName = 'webpack.prod.config.js';
|
|
42
44
|
function generateWebComponentMetadata(name) {
|
|
43
45
|
const { destination } = (0, utils_1.getFolders)();
|
|
44
46
|
const packageData = (0, utils_1.getPackageData)();
|
|
@@ -77,21 +79,28 @@ function bundle(buildStat) {
|
|
|
77
79
|
process.stdout.write(stats.toString(config.stats) + '\n');
|
|
78
80
|
});
|
|
79
81
|
const name = getName();
|
|
82
|
+
const configRelativePath = `./${exports.webpackProdConfigFileName}`;
|
|
80
83
|
if ((0, utils_1.isWebComponent)()) {
|
|
84
|
+
let webpackConfig = {
|
|
85
|
+
configuration: { mode: 'production' },
|
|
86
|
+
};
|
|
87
|
+
if (fs_1.default.existsSync(configRelativePath)) {
|
|
88
|
+
const { configuration, plugins } = require(path_1.default.resolve(configRelativePath));
|
|
89
|
+
webpackConfig = {
|
|
90
|
+
configuration: Object.assign(Object.assign({}, configuration), webpackConfig.configuration),
|
|
91
|
+
plugins: Object.assign(Object.assign({}, plugins), webpackConfig.plugins),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
81
94
|
return Promise.all([
|
|
82
|
-
run((0, webpack_2.createWebpackConfig)({
|
|
83
|
-
|
|
84
|
-
}, { embed: true, name, buildStat })),
|
|
85
|
-
run((0, webpack_2.createWebpackConfig)({
|
|
86
|
-
configuration: { mode: 'production' },
|
|
87
|
-
}, { name, buildStat })),
|
|
95
|
+
run((0, webpack_2.createWebpackConfig)(webpackConfig, { embed: true, name, buildStat })),
|
|
96
|
+
run((0, webpack_2.createWebpackConfig)(webpackConfig, { name, buildStat })),
|
|
88
97
|
]).then(result => {
|
|
89
98
|
generateWebComponentMetadata(name);
|
|
90
99
|
return result;
|
|
91
100
|
});
|
|
92
101
|
}
|
|
93
|
-
return run(fs_1.default.existsSync(
|
|
94
|
-
? require(path_1.default.resolve(
|
|
102
|
+
return run(fs_1.default.existsSync(configRelativePath)
|
|
103
|
+
? require(path_1.default.resolve(configRelativePath))
|
|
95
104
|
: (0, webpack_2.createWebpackConfig)({
|
|
96
105
|
configuration: { mode: 'production' },
|
|
97
106
|
}, { buildStat, name }));
|
|
@@ -133,19 +142,26 @@ function bundleWatch() {
|
|
|
133
142
|
});
|
|
134
143
|
});
|
|
135
144
|
const name = getName();
|
|
145
|
+
const configRelativePath = `./${exports.webpackDevConfigFileName}`;
|
|
136
146
|
if ((0, utils_1.isWebComponent)()) {
|
|
137
147
|
generateWebComponentMetadata(name);
|
|
148
|
+
let webpackConfig = {
|
|
149
|
+
configuration: { mode: 'development' },
|
|
150
|
+
};
|
|
151
|
+
if (fs_1.default.existsSync(configRelativePath)) {
|
|
152
|
+
const { configuration, plugins } = require(path_1.default.resolve(configRelativePath));
|
|
153
|
+
webpackConfig = {
|
|
154
|
+
configuration: Object.assign(Object.assign({}, configuration), webpackConfig.configuration),
|
|
155
|
+
plugins: Object.assign(Object.assign({}, plugins), webpackConfig.plugins),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
138
158
|
return Promise.all([
|
|
139
|
-
run((0, webpack_2.createWebpackConfig)({
|
|
140
|
-
|
|
141
|
-
}, { embed: true, name })),
|
|
142
|
-
runServe((0, webpack_2.createWebpackConfig)({
|
|
143
|
-
configuration: { mode: 'development' },
|
|
144
|
-
}, { name })),
|
|
159
|
+
run((0, webpack_2.createWebpackConfig)(webpackConfig, { embed: true, name })),
|
|
160
|
+
runServe((0, webpack_2.createWebpackConfig)(webpackConfig, { name })),
|
|
145
161
|
]);
|
|
146
162
|
}
|
|
147
|
-
return runServe(fs_1.default.existsSync(
|
|
148
|
-
? require(path_1.default.resolve(
|
|
163
|
+
return runServe(fs_1.default.existsSync(configRelativePath)
|
|
164
|
+
? require(path_1.default.resolve(configRelativePath))
|
|
149
165
|
: (0, webpack_2.createWebpackConfig)({
|
|
150
166
|
configuration: { mode: 'development' },
|
|
151
167
|
}, { name }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,oDAA4B;AAC5B,2CAA4C;AAE5C,sDAAiD;AACjD,4EAAkD;AAElD,uCASqB;AACrB,
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webpack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EACH,SAAS,IAAI,oBAAoB,EAEpC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,SAAS,IAAI,mBAAmB,EAEnC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webpack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EACH,SAAS,IAAI,oBAAoB,EAEpC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,SAAS,IAAI,mBAAmB,EAEnC,MAAM,qBAAqB,CAAC;AAK7B,oBAAY,SAAS,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAEnE,MAAM,WAAW,OAAO;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,OAAO,CAAC,OAAO,CAAM,GAC/B,aAAa,CAqBf"}
|
package/dist/webpack/index.js
CHANGED
|
@@ -3,10 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createWebpackConfig = void 0;
|
|
4
4
|
const development_config_1 = require("./development.config");
|
|
5
5
|
const production_config_1 = require("./production.config");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const utils_2 = require("../cli/utils");
|
|
8
|
+
const get_caller_filename_1 = require("./utils/get-caller-filename");
|
|
6
9
|
function isProduction(overrides) {
|
|
7
10
|
return overrides.configuration.mode === 'production';
|
|
8
11
|
}
|
|
9
12
|
function createWebpackConfig(overrides, options = {}) {
|
|
13
|
+
const callerFileName = (0, get_caller_filename_1.getCallerFile)();
|
|
14
|
+
const invokedInConfigFile = [utils_2.webpackDevConfigFileName, utils_2.webpackProdConfigFileName].some(configFileName => callerFileName.includes(configFileName));
|
|
15
|
+
if ((0, utils_1.isWebComponent)() && invokedInConfigFile) {
|
|
16
|
+
throw new Error('You cannot call createWebpackConfig in a custom webpack config file in a web component (MFE) project. Export webpack configuration itself as a default export from the config file instead.');
|
|
17
|
+
}
|
|
10
18
|
const opts = Object.assign({ embed: false, name: '' }, options);
|
|
11
19
|
return isProduction(overrides)
|
|
12
20
|
? (0, production_config_1.createConfig)(overrides, opts)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webpack/index.ts"],"names":[],"mappings":";;;AAEA,6DAG8B;AAE9B,2DAG6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webpack/index.ts"],"names":[],"mappings":";;;AAEA,6DAG8B;AAE9B,2DAG6B;AAC7B,oCAA0C;AAC1C,wCAAmF;AACnF,qEAA4D;AAU5D,SAAS,YAAY,CAAC,SAAoB;IACtC,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,YAAY,CAAC;AACzD,CAAC;AAED,SAAgB,mBAAmB,CAC/B,SAAoB,EACpB,UAA4B,EAAE;IAE9B,MAAM,cAAc,GAAG,IAAA,mCAAa,GAAE,CAAC;IACvC,MAAM,mBAAmB,GAAG,CAAC,gCAAwB,EAAE,iCAAyB,CAAC,CAAC,IAAI,CAClF,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC5D,CAAC;IAEF,IAAI,IAAA,sBAAc,GAAE,IAAI,mBAAmB,EAAE;QACzC,MAAM,IAAI,KAAK,CACX,6LAA6L,CAChM,CAAC;KACL;IAED,MAAM,IAAI,mBACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,EAAE,IACL,OAAO,CACb,CAAC;IAEF,OAAO,YAAY,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,IAAA,gCAAsB,EAAC,SAAS,EAAE,IAAI,CAAC;QACzC,CAAC,CAAC,IAAA,iCAAuB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AAxBD,kDAwBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-caller-filename.d.ts","sourceRoot":"","sources":["../../../src/webpack/utils/get-caller-filename.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,WAyB5B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCallerFile = void 0;
|
|
4
|
+
function getCallerFile() {
|
|
5
|
+
var _a;
|
|
6
|
+
let filename = '';
|
|
7
|
+
const originalPrepareStackTrace = Error.prepareStackTrace;
|
|
8
|
+
Error.prepareStackTrace = (err, stack) => stack;
|
|
9
|
+
try {
|
|
10
|
+
const err = new Error();
|
|
11
|
+
let callerFile;
|
|
12
|
+
const currentFile = err.stack.shift().getFileName();
|
|
13
|
+
while ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.length) {
|
|
14
|
+
callerFile = err.stack.shift().getFileName();
|
|
15
|
+
if (currentFile !== callerFile) {
|
|
16
|
+
filename = callerFile;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
Error.prepareStackTrace = originalPrepareStackTrace;
|
|
23
|
+
}
|
|
24
|
+
return filename;
|
|
25
|
+
}
|
|
26
|
+
exports.getCallerFile = getCallerFile;
|
|
27
|
+
//# sourceMappingURL=get-caller-filename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-caller-filename.js","sourceRoot":"","sources":["../../../src/webpack/utils/get-caller-filename.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa;;IACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,MAAM,yBAAyB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC1D,KAAK,CAAC,iBAAiB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAEhD,IAAI;QACA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,UAAU,CAAC;QAEf,MAAM,WAAW,GAAI,GAAG,CAAC,KAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7D,OAAO,MAAA,GAAG,CAAC,KAAK,0CAAE,MAAM,EAAE;YACtB,UAAU,GAAI,GAAG,CAAC,KAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;YAEtD,IAAI,WAAW,KAAK,UAAU,EAAE;gBAC5B,QAAQ,GAAG,UAAU,CAAC;gBACtB,MAAM;aACT;SACJ;KACJ;YAAS;QACN,KAAK,CAAC,iBAAiB,GAAG,yBAAyB,CAAC;KACvD;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAzBD,sCAyBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.7.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -29,27 +29,27 @@
|
|
|
29
29
|
"@types/sass": "~1.43.1",
|
|
30
30
|
"@types/webpack-assets-manifest": "~5.1.0",
|
|
31
31
|
"@types/webpack-dev-server": "~3.11.5",
|
|
32
|
-
"@types/yargs": "~17.0.
|
|
32
|
+
"@types/yargs": "~17.0.24"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@babel/preset-env": "~7.
|
|
35
|
+
"@babel/preset-env": "~7.22.4",
|
|
36
36
|
"@jest/core": "~27.5.1",
|
|
37
37
|
"@jest/types": "~27.5.1",
|
|
38
38
|
"@lerna/exec": "~5.6.2",
|
|
39
|
-
"@servicetitan/eslint-config": "22.
|
|
40
|
-
"@servicetitan/stylelint-config": "22.
|
|
39
|
+
"@servicetitan/eslint-config": "22.7.0",
|
|
40
|
+
"@servicetitan/stylelint-config": "22.7.0",
|
|
41
41
|
"@types/jest": "~27.4.0",
|
|
42
42
|
"chalk": "~4.1.2",
|
|
43
43
|
"chokidar": "~3.5.3",
|
|
44
44
|
"cpx": "~1.5.0",
|
|
45
|
-
"css-loader": "~6.
|
|
45
|
+
"css-loader": "~6.8.1",
|
|
46
46
|
"deepmerge": "~4.3.1",
|
|
47
47
|
"esbuild-loader": "~2.21.0",
|
|
48
48
|
"eslint": "~8.36.0",
|
|
49
49
|
"execa": "~5.1.1",
|
|
50
50
|
"fork-ts-checker-webpack-plugin": "~7.3.0",
|
|
51
51
|
"glob": "~7.2.0",
|
|
52
|
-
"html-webpack-plugin": "~5.5.
|
|
52
|
+
"html-webpack-plugin": "~5.5.1",
|
|
53
53
|
"identity-obj-proxy": "~3.0.0",
|
|
54
54
|
"jest": "~27.5.1",
|
|
55
55
|
"jest-circus": "~27.5.1",
|
|
@@ -63,10 +63,10 @@
|
|
|
63
63
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
64
64
|
"portfinder": "~1.0.28",
|
|
65
65
|
"prettier": "~2.7.1",
|
|
66
|
-
"sass": "~1.62.
|
|
66
|
+
"sass": "~1.62.1",
|
|
67
67
|
"sass-loader": "~12.6.0",
|
|
68
68
|
"source-map-loader": "~3.0.1",
|
|
69
|
-
"style-loader": "~3.3.
|
|
69
|
+
"style-loader": "~3.3.3",
|
|
70
70
|
"stylelint": "~14.16.1",
|
|
71
71
|
"ts-jest": "~27.1.4",
|
|
72
72
|
"ts-loader": "~9.3.1",
|
|
@@ -79,11 +79,11 @@
|
|
|
79
79
|
"webpack-bundle-analyzer": "^4.8.0",
|
|
80
80
|
"webpack-dev-server": "~3.11.2",
|
|
81
81
|
"webpack-filter-warnings-plugin": "~1.2.1",
|
|
82
|
-
"webpack-merge": "~5.
|
|
82
|
+
"webpack-merge": "~5.9.0",
|
|
83
83
|
"webpack-virtual-modules": "~0.5.0",
|
|
84
84
|
"worker-loader": "~3.0.8",
|
|
85
85
|
"xhr-mock": "~2.5.1",
|
|
86
|
-
"yargs": "~17.7.
|
|
86
|
+
"yargs": "~17.7.2"
|
|
87
87
|
},
|
|
88
88
|
"publishConfig": {
|
|
89
89
|
"access": "public"
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"cli": {
|
|
92
92
|
"webpack": false
|
|
93
93
|
},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "e519bdec4693b7eeea5686ce40e418175b7930c5"
|
|
95
95
|
}
|
package/src/cli/utils/bundle.ts
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
log,
|
|
17
17
|
readJsonSafe,
|
|
18
18
|
} from '../../utils';
|
|
19
|
-
import { createWebpackConfig } from '../../webpack';
|
|
19
|
+
import { Overrides, createWebpackConfig } from '../../webpack';
|
|
20
20
|
|
|
21
21
|
function getName() {
|
|
22
22
|
const packageName = getPackageName()
|
|
@@ -27,6 +27,9 @@ function getName() {
|
|
|
27
27
|
return `${packageName}-${hash}`;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
export const webpackDevConfigFileName = 'webpack.dev.config.js';
|
|
31
|
+
export const webpackProdConfigFileName = 'webpack.prod.config.js';
|
|
32
|
+
|
|
30
33
|
function generateWebComponentMetadata(name: string) {
|
|
31
34
|
const { destination } = getFolders();
|
|
32
35
|
const packageData = getPackageData();
|
|
@@ -90,25 +93,31 @@ export async function bundle(buildStat: boolean) {
|
|
|
90
93
|
};
|
|
91
94
|
|
|
92
95
|
const name = getName();
|
|
96
|
+
const configRelativePath = `./${webpackProdConfigFileName}`;
|
|
93
97
|
|
|
94
98
|
if (isWebComponent()) {
|
|
99
|
+
let webpackConfig: Overrides = {
|
|
100
|
+
configuration: { mode: 'production' },
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
if (fs.existsSync(configRelativePath)) {
|
|
104
|
+
const { configuration, plugins } = require(path.resolve(configRelativePath));
|
|
105
|
+
|
|
106
|
+
webpackConfig = {
|
|
107
|
+
configuration: {
|
|
108
|
+
...configuration,
|
|
109
|
+
...webpackConfig.configuration,
|
|
110
|
+
},
|
|
111
|
+
plugins: {
|
|
112
|
+
...plugins,
|
|
113
|
+
...webpackConfig.plugins,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
95
118
|
return Promise.all([
|
|
96
|
-
run(
|
|
97
|
-
|
|
98
|
-
{
|
|
99
|
-
configuration: { mode: 'production' },
|
|
100
|
-
},
|
|
101
|
-
{ embed: true, name, buildStat }
|
|
102
|
-
)
|
|
103
|
-
),
|
|
104
|
-
run(
|
|
105
|
-
createWebpackConfig(
|
|
106
|
-
{
|
|
107
|
-
configuration: { mode: 'production' },
|
|
108
|
-
},
|
|
109
|
-
{ name, buildStat }
|
|
110
|
-
)
|
|
111
|
-
),
|
|
119
|
+
run(createWebpackConfig(webpackConfig, { embed: true, name, buildStat })),
|
|
120
|
+
run(createWebpackConfig(webpackConfig, { name, buildStat })),
|
|
112
121
|
]).then(result => {
|
|
113
122
|
generateWebComponentMetadata(name);
|
|
114
123
|
|
|
@@ -117,8 +126,8 @@ export async function bundle(buildStat: boolean) {
|
|
|
117
126
|
}
|
|
118
127
|
|
|
119
128
|
return run(
|
|
120
|
-
fs.existsSync(
|
|
121
|
-
? require(path.resolve(
|
|
129
|
+
fs.existsSync(configRelativePath)
|
|
130
|
+
? require(path.resolve(configRelativePath))
|
|
122
131
|
: createWebpackConfig(
|
|
123
132
|
{
|
|
124
133
|
configuration: { mode: 'production' },
|
|
@@ -166,33 +175,39 @@ export async function bundleWatch() {
|
|
|
166
175
|
};
|
|
167
176
|
|
|
168
177
|
const name = getName();
|
|
178
|
+
const configRelativePath = `./${webpackDevConfigFileName}`;
|
|
169
179
|
|
|
170
180
|
if (isWebComponent()) {
|
|
171
181
|
generateWebComponentMetadata(name);
|
|
172
182
|
|
|
183
|
+
let webpackConfig: Overrides = {
|
|
184
|
+
configuration: { mode: 'development' },
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
if (fs.existsSync(configRelativePath)) {
|
|
188
|
+
const { configuration, plugins } = require(path.resolve(configRelativePath));
|
|
189
|
+
|
|
190
|
+
webpackConfig = {
|
|
191
|
+
configuration: {
|
|
192
|
+
...configuration,
|
|
193
|
+
...webpackConfig.configuration,
|
|
194
|
+
},
|
|
195
|
+
plugins: {
|
|
196
|
+
...plugins,
|
|
197
|
+
...webpackConfig.plugins,
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
173
202
|
return Promise.all([
|
|
174
|
-
run(
|
|
175
|
-
|
|
176
|
-
{
|
|
177
|
-
configuration: { mode: 'development' },
|
|
178
|
-
},
|
|
179
|
-
{ embed: true, name }
|
|
180
|
-
)
|
|
181
|
-
),
|
|
182
|
-
runServe(
|
|
183
|
-
createWebpackConfig(
|
|
184
|
-
{
|
|
185
|
-
configuration: { mode: 'development' },
|
|
186
|
-
},
|
|
187
|
-
{ name }
|
|
188
|
-
)
|
|
189
|
-
),
|
|
203
|
+
run(createWebpackConfig(webpackConfig, { embed: true, name })),
|
|
204
|
+
runServe(createWebpackConfig(webpackConfig, { name })),
|
|
190
205
|
]);
|
|
191
206
|
}
|
|
192
207
|
|
|
193
208
|
return runServe(
|
|
194
|
-
fs.existsSync(
|
|
195
|
-
? require(path.resolve(
|
|
209
|
+
fs.existsSync(configRelativePath)
|
|
210
|
+
? require(path.resolve(configRelativePath))
|
|
196
211
|
: createWebpackConfig(
|
|
197
212
|
{
|
|
198
213
|
configuration: { mode: 'development' },
|
package/src/webpack/index.ts
CHANGED
|
@@ -9,6 +9,9 @@ import {
|
|
|
9
9
|
Overrides as ProductionOverrides,
|
|
10
10
|
createConfig as createProductionConfig,
|
|
11
11
|
} from './production.config';
|
|
12
|
+
import { isWebComponent } from '../utils';
|
|
13
|
+
import { webpackDevConfigFileName, webpackProdConfigFileName } from '../cli/utils';
|
|
14
|
+
import { getCallerFile } from './utils/get-caller-filename';
|
|
12
15
|
|
|
13
16
|
export type Overrides = DevelopmentOverrides | ProductionOverrides;
|
|
14
17
|
|
|
@@ -26,6 +29,17 @@ export function createWebpackConfig(
|
|
|
26
29
|
overrides: Overrides,
|
|
27
30
|
options: Partial<Options> = {}
|
|
28
31
|
): Configuration {
|
|
32
|
+
const callerFileName = getCallerFile();
|
|
33
|
+
const invokedInConfigFile = [webpackDevConfigFileName, webpackProdConfigFileName].some(
|
|
34
|
+
configFileName => callerFileName.includes(configFileName)
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
if (isWebComponent() && invokedInConfigFile) {
|
|
38
|
+
throw new Error(
|
|
39
|
+
'You cannot call createWebpackConfig in a custom webpack config file in a web component (MFE) project. Export webpack configuration itself as a default export from the config file instead.'
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
29
43
|
const opts: Options = {
|
|
30
44
|
embed: false,
|
|
31
45
|
name: '',
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function getCallerFile() {
|
|
2
|
+
let filename = '';
|
|
3
|
+
|
|
4
|
+
const originalPrepareStackTrace = Error.prepareStackTrace;
|
|
5
|
+
Error.prepareStackTrace = (err, stack) => stack;
|
|
6
|
+
|
|
7
|
+
try {
|
|
8
|
+
const err = new Error();
|
|
9
|
+
let callerFile;
|
|
10
|
+
|
|
11
|
+
const currentFile = (err.stack as any).shift().getFileName();
|
|
12
|
+
|
|
13
|
+
while (err.stack?.length) {
|
|
14
|
+
callerFile = (err.stack as any).shift().getFileName();
|
|
15
|
+
|
|
16
|
+
if (currentFile !== callerFile) {
|
|
17
|
+
filename = callerFile;
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
} finally {
|
|
22
|
+
Error.prepareStackTrace = originalPrepareStackTrace;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return filename;
|
|
26
|
+
}
|