@servicetitan/startup 26.2.0 → 26.4.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/__mocks__/create-package.js +9 -3
- package/dist/__mocks__/create-package.js.map +1 -1
- package/dist/cli/commands/build.js +34 -45
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.js +17 -28
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/eslint.js +3 -14
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/get-command.js +1 -2
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/get-user-commands.d.ts.map +1 -1
- package/dist/cli/commands/get-user-commands.js +1 -2
- package/dist/cli/commands/get-user-commands.js.map +1 -1
- package/dist/cli/commands/init.js +16 -29
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.js +6 -17
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +25 -40
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/lint.js +59 -81
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +95 -110
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/prepare-package.js +10 -21
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/start.js +50 -61
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/styles-check.js +19 -30
- package/dist/cli/commands/styles-check.js.map +1 -1
- package/dist/cli/commands/tests.js +7 -18
- package/dist/cli/commands/tests.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/assets-copy.js +12 -26
- package/dist/cli/utils/assets-copy.js.map +1 -1
- package/dist/cli/utils/bundle.js +87 -118
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/cli-npm.js +18 -38
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/dist/cli/utils/cli-os.d.ts +0 -1
- package/dist/cli/utils/cli-os.d.ts.map +1 -1
- package/dist/cli/utils/compile-less.js +7 -19
- package/dist/cli/utils/compile-less.js.map +1 -1
- package/dist/cli/utils/compile-sass.js +5 -17
- package/dist/cli/utils/compile-sass.js.map +1 -1
- package/dist/cli/utils/eslint.js +33 -50
- package/dist/cli/utils/eslint.js.map +1 -1
- package/dist/cli/utils/get-module-type.js +1 -2
- package/dist/cli/utils/get-module-type.js.map +1 -1
- package/dist/cli/utils/is-module-installed.js +1 -2
- package/dist/cli/utils/is-module-installed.js.map +1 -1
- package/dist/cli/utils/lerna-exec.js +12 -24
- package/dist/cli/utils/lerna-exec.js.map +1 -1
- package/dist/cli/utils/maybe-create-git-folder.js +1 -2
- package/dist/cli/utils/maybe-create-git-folder.js.map +1 -1
- package/dist/cli/utils/set-node-options.js +1 -2
- package/dist/cli/utils/set-node-options.js.map +1 -1
- package/dist/cli/utils/styles-copy.js +12 -26
- package/dist/cli/utils/styles-copy.js.map +1 -1
- package/dist/cli/utils/tcm.js +42 -60
- package/dist/cli/utils/tcm.js.map +1 -1
- package/dist/cli/utils/tsc.js +10 -22
- package/dist/cli/utils/tsc.js.map +1 -1
- package/dist/jest/index.js +1 -2
- package/dist/jest/index.js.map +1 -1
- package/dist/utils/debug.js +1 -2
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/find-packages.js +2 -3
- package/dist/utils/find-packages.js.map +1 -1
- package/dist/utils/get-configuration.js +14 -14
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-destination-folders.js +1 -2
- package/dist/utils/get-destination-folders.js.map +1 -1
- package/dist/utils/get-folders.js +1 -2
- package/dist/utils/get-folders.js.map +1 -1
- package/dist/utils/get-jest-config.d.ts.map +1 -1
- package/dist/utils/get-jest-config.js +23 -21
- package/dist/utils/get-jest-config.js.map +1 -1
- package/dist/utils/get-package-data.js +6 -4
- package/dist/utils/get-package-data.js.map +1 -1
- package/dist/utils/get-package-name.js +1 -2
- package/dist/utils/get-package-name.js.map +1 -1
- package/dist/utils/get-packages.js +4 -4
- package/dist/utils/get-packages.js.map +1 -1
- package/dist/utils/get-startup-version.js +1 -2
- package/dist/utils/get-startup-version.js.map +1 -1
- package/dist/utils/get-tsconfig.js +1 -2
- package/dist/utils/get-tsconfig.js.map +1 -1
- package/dist/utils/load-shared-dependencies.js +7 -5
- package/dist/utils/load-shared-dependencies.js.map +1 -1
- package/dist/utils/log.d.ts +0 -1
- package/dist/utils/log.d.ts.map +1 -1
- package/dist/utils/log.js +2 -2
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/pick.js +1 -2
- package/dist/utils/pick.js.map +1 -1
- package/dist/utils/read-json.js +2 -3
- package/dist/utils/read-json.js.map +1 -1
- package/dist/utils/to-array.js +1 -2
- package/dist/utils/to-array.js.map +1 -1
- package/dist/webpack/__mocks__/style-rules.js +6 -6
- package/dist/webpack/__mocks__/style-rules.js.map +1 -1
- package/dist/webpack/configs/amd-config.js +1 -2
- package/dist/webpack/configs/amd-config.js.map +1 -1
- package/dist/webpack/configs/cache-config.js +1 -2
- package/dist/webpack/configs/cache-config.js.map +1 -1
- package/dist/webpack/configs/dev-server-config.js +11 -5
- package/dist/webpack/configs/dev-server-config.js.map +1 -1
- package/dist/webpack/configs/devtool-config.js +1 -2
- package/dist/webpack/configs/devtool-config.js.map +1 -1
- package/dist/webpack/configs/entry.config.js +1 -2
- package/dist/webpack/configs/entry.config.js.map +1 -1
- package/dist/webpack/configs/externals-config.js +1 -2
- package/dist/webpack/configs/externals-config.js.map +1 -1
- package/dist/webpack/configs/loaders/css-loader.js +6 -3
- package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
- package/dist/webpack/configs/loaders/less-loader.js +1 -2
- package/dist/webpack/configs/loaders/less-loader.js.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.js +1 -2
- package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
- package/dist/webpack/configs/module-config.js +2 -3
- package/dist/webpack/configs/module-config.js.map +1 -1
- package/dist/webpack/configs/optimization-config.js +6 -3
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.js +6 -3
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +1 -2
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +1 -2
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +1 -2
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +1 -2
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/filter-warnings-plugin.js +1 -2
- package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/html-plugin.js +17 -13
- package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +2 -1
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js +24 -11
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +4 -4
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.d.ts +14 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.d.ts.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.js +15 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.js.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts +7 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js +8 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js.map +1 -0
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +5 -3
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.js +1 -2
- package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/provide-react-plugin.js +1 -2
- package/dist/webpack/configs/plugins/provide-react-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ts-checker-plugin.js +1 -2
- package/dist/webpack/configs/plugins/ts-checker-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js +1 -2
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins-config.js +1 -2
- package/dist/webpack/configs/plugins-config.js.map +1 -1
- package/dist/webpack/configs/resolve-config.js +1 -2
- package/dist/webpack/configs/resolve-config.js.map +1 -1
- package/dist/webpack/configs/rules/css-rules.js +1 -2
- package/dist/webpack/configs/rules/css-rules.js.map +1 -1
- package/dist/webpack/configs/rules/font-rules.js +1 -2
- package/dist/webpack/configs/rules/font-rules.js.map +1 -1
- package/dist/webpack/configs/rules/image-rules.js +1 -2
- package/dist/webpack/configs/rules/image-rules.js.map +1 -1
- package/dist/webpack/configs/rules/js-rules.js +1 -2
- package/dist/webpack/configs/rules/js-rules.js.map +1 -1
- package/dist/webpack/configs/rules/less-rules.js +1 -2
- package/dist/webpack/configs/rules/less-rules.js.map +1 -1
- package/dist/webpack/configs/rules/scss-rules.js +1 -2
- package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
- package/dist/webpack/configs/rules/svg-rules.js +1 -2
- package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
- package/dist/webpack/configs/rules/tsx-rules.js +1 -2
- package/dist/webpack/configs/rules/tsx-rules.js.map +1 -1
- package/dist/webpack/configs/rules-config.js +1 -2
- package/dist/webpack/configs/rules-config.js.map +1 -1
- package/dist/webpack/configs/stats-config.js +1 -2
- package/dist/webpack/configs/stats-config.js.map +1 -1
- package/dist/webpack/configs/utils/generate-metadata.js +2 -3
- package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
- package/dist/webpack/configs/utils/get-web-components-version.js +1 -2
- package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -1
- package/dist/webpack/create-webpack-config.js +18 -5
- package/dist/webpack/create-webpack-config.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/contextify-request.js +1 -2
- package/dist/webpack/loaders/expose-loader/utils/contextify-request.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js +1 -2
- package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/stringify-request.js +1 -2
- package/dist/webpack/loaders/expose-loader/utils/stringify-request.js.map +1 -1
- package/dist/webpack/utils/bundle.js +1 -2
- package/dist/webpack/utils/bundle.js.map +1 -1
- package/dist/webpack/utils/feature-cohort.js +1 -2
- package/dist/webpack/utils/feature-cohort.js.map +1 -1
- package/dist/webpack/utils/get-caller-filename.js +1 -2
- package/dist/webpack/utils/get-caller-filename.js.map +1 -1
- package/dist/webpack/utils/hash-mod.js +1 -2
- package/dist/webpack/utils/hash-mod.js.map +1 -1
- package/dist/webpack/utils/split-by-entry.d.ts.map +1 -1
- package/dist/webpack/utils/split-by-entry.js +1 -2
- package/dist/webpack/utils/split-by-entry.js.map +1 -1
- package/dist/webpack/utils/testing/compile.js +1 -2
- package/dist/webpack/utils/testing/compile.js.map +1 -1
- package/dist/webpack/utils/testing/execute.js +1 -2
- package/dist/webpack/utils/testing/execute.js.map +1 -1
- package/dist/webpack/utils/testing/get-compiler.js +1 -2
- package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
- package/dist/webpack/utils/testing/get-errors.js +1 -2
- package/dist/webpack/utils/testing/get-errors.js.map +1 -1
- package/dist/webpack/utils/testing/get-module-source.d.ts +0 -1
- package/dist/webpack/utils/testing/get-module-source.d.ts.map +1 -1
- package/dist/webpack/utils/testing/get-module-source.js +1 -2
- package/dist/webpack/utils/testing/get-module-source.js.map +1 -1
- package/dist/webpack/utils/testing/get-warnings.js +1 -2
- package/dist/webpack/utils/testing/get-warnings.js.map +1 -1
- package/dist/webpack/utils/testing/index.js +1 -2
- package/dist/webpack/utils/testing/index.js.map +1 -1
- package/dist/webpack/utils/testing/normalize-errors.js +1 -2
- package/dist/webpack/utils/testing/normalize-errors.js.map +1 -1
- package/dist/webpack/utils/testing/read-asset.js +1 -2
- package/dist/webpack/utils/testing/read-asset.js.map +1 -1
- package/dist/webpack/utils/testing/read-assets.js +1 -2
- package/dist/webpack/utils/testing/read-assets.js.map +1 -1
- package/package.json +9 -10
- package/src/webpack/configs/plugins/ignore-plugin/__tests__/check-resource.test.ts +28 -13
- package/src/webpack/configs/plugins/ignore-plugin/__tests__/is-optional-anvil-peer-dependency.test.ts +54 -0
- package/src/webpack/configs/plugins/ignore-plugin/__tests__/{is-optional-peer-dependency.test.ts → is-optional-react-dom-peer-dependency.test.ts} +10 -5
- package/src/webpack/configs/plugins/ignore-plugin/check-resource.ts +24 -8
- package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +3 -2
- package/src/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.ts +22 -0
- package/src/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.ts +11 -0
- package/tsconfig/base.json +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts +0 -7
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +0 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js +0 -8
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js.map +0 -1
- package/src/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.ts +0 -10
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.readAsset =
|
|
6
|
+
exports.readAsset = readAsset;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
function readAsset(asset, compiler, stats) {
|
|
9
9
|
var _a;
|
|
@@ -23,5 +23,4 @@ function readAsset(asset, compiler, stats) {
|
|
|
23
23
|
}
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
|
-
exports.readAsset = readAsset;
|
|
27
26
|
//# sourceMappingURL=read-asset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-asset.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-asset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read-asset.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-asset.ts"],"names":[],"mappings":";;;;;AAKA,8BAoBC;AAzBD,gDAAwB;AAKxB,SAAgB,SAAS,CAAC,KAAa,EAAE,QAAkB,EAAE,KAAY;;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAuB,CAAC;IAChD,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,mCAAI,EAAE,CAAC;IAE9D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACtB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readAssets =
|
|
3
|
+
exports.readAssets = readAssets;
|
|
4
4
|
const read_asset_1 = require("./read-asset");
|
|
5
5
|
function readAssets(compiler, stats) {
|
|
6
6
|
const assets = {};
|
|
@@ -9,5 +9,4 @@ function readAssets(compiler, stats) {
|
|
|
9
9
|
});
|
|
10
10
|
return assets;
|
|
11
11
|
}
|
|
12
|
-
exports.readAssets = readAssets;
|
|
13
12
|
//# sourceMappingURL=read-assets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-assets.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-assets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read-assets.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-assets.ts"],"names":[],"mappings":";;AAIA,gCAQC;AAVD,6CAAyC;AAEzC,SAAgB,UAAU,CAAC,QAAkB,EAAE,KAAY;IACvD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.4.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/startup",
|
|
6
6
|
"repository": {
|
|
@@ -28,16 +28,15 @@
|
|
|
28
28
|
"@types/eslint": "~8.56.3",
|
|
29
29
|
"@types/less": "~3.0.3",
|
|
30
30
|
"@types/moment-locales-webpack-plugin": "~1.2.2",
|
|
31
|
-
"@types/sass": "~1.45.0",
|
|
32
31
|
"@types/webpack-assets-manifest": "~5.1.4",
|
|
33
32
|
"@types/yargs": "~17.0.24"
|
|
34
33
|
},
|
|
35
34
|
"dependencies": {
|
|
36
|
-
"@babel/preset-env": "~7.25.
|
|
35
|
+
"@babel/preset-env": "~7.25.4",
|
|
37
36
|
"@jest/core": "~29.7.0",
|
|
38
37
|
"@jest/types": "~29.6.3",
|
|
39
|
-
"@servicetitan/eslint-config": "26.
|
|
40
|
-
"@servicetitan/stylelint-config": "26.
|
|
38
|
+
"@servicetitan/eslint-config": "26.4.0",
|
|
39
|
+
"@servicetitan/stylelint-config": "26.4.0",
|
|
41
40
|
"@svgr/webpack": "^8.1.0",
|
|
42
41
|
"@swc/core": "1.6.13",
|
|
43
42
|
"@types/debug": "^4.1.12",
|
|
@@ -64,7 +63,7 @@
|
|
|
64
63
|
"less-loader": "~12.2.0",
|
|
65
64
|
"less-plugin-npm-import": "~2.1.0",
|
|
66
65
|
"memfs": "~4.11.1",
|
|
67
|
-
"mini-css-extract-plugin": "~2.9.
|
|
66
|
+
"mini-css-extract-plugin": "~2.9.1",
|
|
68
67
|
"moment": "^2.30.1",
|
|
69
68
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
70
69
|
"multimatch": "~5.0.0",
|
|
@@ -72,7 +71,7 @@
|
|
|
72
71
|
"postcss": "~8.4.41",
|
|
73
72
|
"prettier": "~2.7.1",
|
|
74
73
|
"sass": "~1.77.8",
|
|
75
|
-
"sass-loader": "~16.0.
|
|
74
|
+
"sass-loader": "~16.0.1",
|
|
76
75
|
"source-map-loader": "~5.0.0",
|
|
77
76
|
"string-width": "<5.0.0",
|
|
78
77
|
"style-loader": "~4.0.0",
|
|
@@ -83,9 +82,9 @@
|
|
|
83
82
|
"ts-loader": "~9.5.1",
|
|
84
83
|
"ts-node": "~10.9.2",
|
|
85
84
|
"typed-css-modules": "~0.9.1",
|
|
86
|
-
"typescript": "
|
|
85
|
+
"typescript": "5.5.3",
|
|
87
86
|
"username": "~5.1.0",
|
|
88
|
-
"webpack": "~5.
|
|
87
|
+
"webpack": "~5.94.0",
|
|
89
88
|
"webpack-assets-manifest": "~5.2.1",
|
|
90
89
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
91
90
|
"webpack-dev-server": "~5.0.4",
|
|
@@ -105,5 +104,5 @@
|
|
|
105
104
|
"cli": {
|
|
106
105
|
"webpack": false
|
|
107
106
|
},
|
|
108
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "2e4ea0f45727d1519f1d0b2925c9a21b1cb462e5"
|
|
109
108
|
}
|
|
@@ -1,37 +1,52 @@
|
|
|
1
1
|
import { checkResource } from '../check-resource';
|
|
2
|
-
import {
|
|
2
|
+
import { isOptionalReactDomPeerDependency } from '../is-optional-react-dom-peer-dependency';
|
|
3
|
+
import { isOptionalAnvilPeerDependency } from '../is-optional-anvil-peer-dependency';
|
|
3
4
|
|
|
4
|
-
jest.mock('../is-optional-peer-dependency');
|
|
5
|
+
jest.mock('../is-optional-react-dom-peer-dependency');
|
|
6
|
+
jest.mock('../is-optional-anvil-peer-dependency');
|
|
7
|
+
|
|
8
|
+
type PackageContext = Parameters<typeof isOptionalAnvilPeerDependency>[0]['packageContext'];
|
|
5
9
|
|
|
6
10
|
describe(`${checkResource.name}`, () => {
|
|
11
|
+
let packageContext: PackageContext;
|
|
7
12
|
let context: string;
|
|
8
13
|
let resource: string;
|
|
9
14
|
|
|
10
|
-
const subject = () => checkResource(resource, context);
|
|
15
|
+
const subject = () => checkResource(packageContext)(resource, context);
|
|
11
16
|
|
|
12
17
|
function itReturns(value: boolean) {
|
|
13
18
|
test(`returns ${value}`, () => expect(subject()).toBe(value));
|
|
14
19
|
}
|
|
15
20
|
|
|
16
|
-
describe('when resource is
|
|
17
|
-
beforeEach(() => jest.mocked(
|
|
21
|
+
describe('when resource is an optional anvil peer dependency', () => {
|
|
22
|
+
beforeEach(() => jest.mocked(isOptionalAnvilPeerDependency).mockReturnValue(true));
|
|
18
23
|
|
|
19
|
-
itReturns(
|
|
24
|
+
itReturns(true);
|
|
20
25
|
});
|
|
21
26
|
|
|
22
|
-
describe('when resource is optional peer dependency', () => {
|
|
23
|
-
beforeEach(() => jest.mocked(
|
|
27
|
+
describe('when resource is not an optional anvil peer dependency', () => {
|
|
28
|
+
beforeEach(() => jest.mocked(isOptionalAnvilPeerDependency).mockReturnValue(false));
|
|
24
29
|
|
|
25
|
-
describe('when resource is
|
|
26
|
-
beforeEach(() => (
|
|
30
|
+
describe('when resource is not an optional react-dom peer dependency', () => {
|
|
31
|
+
beforeEach(() => jest.mocked(isOptionalReactDomPeerDependency).mockReturnValue(false));
|
|
27
32
|
|
|
28
33
|
itReturns(false);
|
|
29
34
|
});
|
|
30
35
|
|
|
31
|
-
describe('when resource is
|
|
32
|
-
beforeEach(() => (
|
|
36
|
+
describe('when resource is optional react-dom peer dependency', () => {
|
|
37
|
+
beforeEach(() => jest.mocked(isOptionalReactDomPeerDependency).mockReturnValue(true));
|
|
38
|
+
|
|
39
|
+
describe('when resource is present', () => {
|
|
40
|
+
beforeEach(() => (resource = 'fs'));
|
|
41
|
+
|
|
42
|
+
itReturns(false);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe('when resource is not present', () => {
|
|
46
|
+
beforeEach(() => (resource = 'foo'));
|
|
33
47
|
|
|
34
|
-
|
|
48
|
+
itReturns(true);
|
|
49
|
+
});
|
|
35
50
|
});
|
|
36
51
|
});
|
|
37
52
|
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { isOptionalAnvilPeerDependency } from '../is-optional-anvil-peer-dependency';
|
|
2
|
+
|
|
3
|
+
type PackageContext = Parameters<typeof isOptionalAnvilPeerDependency>[0]['packageContext'];
|
|
4
|
+
|
|
5
|
+
describe(`${isOptionalAnvilPeerDependency.name}`, () => {
|
|
6
|
+
const subject = (...args: Parameters<typeof isOptionalAnvilPeerDependency>) =>
|
|
7
|
+
isOptionalAnvilPeerDependency(...args);
|
|
8
|
+
|
|
9
|
+
describe.each([
|
|
10
|
+
{
|
|
11
|
+
packageContextDependencyName: '@servicetitan/anvil2',
|
|
12
|
+
resource: '@servicetitan/design-system',
|
|
13
|
+
contexts: ['@servicetitan/web-components', 'uikit/packages/web-components/dist'],
|
|
14
|
+
expectedResult: true,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
packageContextDependencyName: '@servicetitan/design-system',
|
|
18
|
+
resource: '@servicetitan/anvil2',
|
|
19
|
+
contexts: ['@servicetitan/web-components', 'uikit/packages/web-components/dist'],
|
|
20
|
+
expectedResult: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
packageContextDependencyName: '@servicetitan/anvil2',
|
|
24
|
+
resource: '@servicetitan/anvil2',
|
|
25
|
+
contexts: ['@servicetitan/web-components', 'uikit/packages/web-components/dist'],
|
|
26
|
+
expectedResult: false,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
packageContextDependencyName: '@servicetitan/anvil2',
|
|
30
|
+
resource: '@servicetitan/design-system',
|
|
31
|
+
contexts: ['@servicetitan/anvil2/Button'],
|
|
32
|
+
expectedResult: false,
|
|
33
|
+
},
|
|
34
|
+
])(
|
|
35
|
+
'with required dependency "$resource" and package.json dependencies containing "$packageContextDependencyName"',
|
|
36
|
+
({ packageContextDependencyName, resource, contexts, expectedResult }) => {
|
|
37
|
+
contexts.forEach(context => {
|
|
38
|
+
test(`with context ${context}, returns ${expectedResult}`, () => {
|
|
39
|
+
expect(
|
|
40
|
+
subject({
|
|
41
|
+
packageContext: {
|
|
42
|
+
packageData: {
|
|
43
|
+
dependencies: { [packageContextDependencyName]: 'x.x.x' },
|
|
44
|
+
},
|
|
45
|
+
} as unknown as PackageContext,
|
|
46
|
+
resource,
|
|
47
|
+
context,
|
|
48
|
+
})
|
|
49
|
+
).toBe(expectedResult);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
});
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isOptionalReactDomPeerDependency } from '../is-optional-react-dom-peer-dependency';
|
|
2
2
|
|
|
3
|
-
describe(`${
|
|
4
|
-
const subject = (...args: Parameters<typeof
|
|
5
|
-
|
|
3
|
+
describe(`${isOptionalReactDomPeerDependency.name}`, () => {
|
|
4
|
+
const subject = (...args: Parameters<typeof isOptionalReactDomPeerDependency>) =>
|
|
5
|
+
isOptionalReactDomPeerDependency(...args);
|
|
6
6
|
|
|
7
7
|
describe.each([
|
|
8
8
|
{
|
|
9
9
|
resource: 'react-dom/client',
|
|
10
|
-
contexts: [
|
|
10
|
+
contexts: [
|
|
11
|
+
'@servicetitan/web-components',
|
|
12
|
+
'uikit/packages/web-components/dist',
|
|
13
|
+
'@servicetitan/ko-bridge',
|
|
14
|
+
'uikit/packages/ko-bridge/dist',
|
|
15
|
+
],
|
|
11
16
|
},
|
|
12
17
|
])('with dependency "$resource"', ({ resource, contexts }) => {
|
|
13
18
|
contexts.forEach(context => {
|
|
@@ -1,12 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context } from '../../types';
|
|
2
|
+
import { isOptionalAnvilPeerDependency } from './is-optional-anvil-peer-dependency';
|
|
3
|
+
import { isOptionalReactDomPeerDependency } from './is-optional-react-dom-peer-dependency';
|
|
2
4
|
|
|
3
|
-
export function checkResource(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export function checkResource(packageContext: Context) {
|
|
6
|
+
return function (resource: string, context: string) {
|
|
7
|
+
/**
|
|
8
|
+
* isOptionalAnvilPeerDependency checks packageContext instead of node_modules to
|
|
9
|
+
* allow MFEs within the same monorepo to rely on different versions of Anvil
|
|
10
|
+
*/
|
|
11
|
+
if (isOptionalAnvilPeerDependency({ context, packageContext, resource })) {
|
|
8
12
|
return true;
|
|
9
13
|
}
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* isOptionalReactDomPeerDependency cannot use packageContext because react-dom/client
|
|
17
|
+
* is not explicitly listed in the package.json dependencies
|
|
18
|
+
*/
|
|
19
|
+
if (isOptionalReactDomPeerDependency({ resource, context })) {
|
|
20
|
+
try {
|
|
21
|
+
require.resolve(resource);
|
|
22
|
+
} catch (e) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
12
28
|
}
|
|
@@ -3,11 +3,12 @@ import { IgnorePlugin } from 'webpack';
|
|
|
3
3
|
import { Context, Overrides } from '../../types';
|
|
4
4
|
import { checkResource } from './check-resource';
|
|
5
5
|
|
|
6
|
-
export function ignorePlugin(
|
|
6
|
+
export function ignorePlugin(context: Context, _: Overrides) {
|
|
7
7
|
/**
|
|
8
8
|
* Ignore optional peer dependencies
|
|
9
|
+
* @see {@link: file://./../../../../../../web-components/src/register.tsx}
|
|
9
10
|
* @see {@link: file://./../../../../../../web-components/src/render.ts}
|
|
10
11
|
* @see {@link: file://./../../../../../../ko-bridge/src/ko-binding-handlers.tsx}
|
|
11
12
|
*/
|
|
12
|
-
return new IgnorePlugin({ checkResource });
|
|
13
|
+
return new IgnorePlugin({ checkResource: checkResource(context) });
|
|
13
14
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Context } from '../../types';
|
|
2
|
+
|
|
3
|
+
interface Dependency {
|
|
4
|
+
context: string;
|
|
5
|
+
resource: string;
|
|
6
|
+
packageContext: Context;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const optionalAnvilPeerDependencies = ['@servicetitan/design-system', '@servicetitan/anvil2'];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Ignore any Anvil dependency used in register.tsx that is not in the package.json dependencies,
|
|
13
|
+
* so that register.tsx's web-components/anvil2 requires will fail
|
|
14
|
+
* @see {@link file://./../../../../../../web-components/src/register.tsx}
|
|
15
|
+
*/
|
|
16
|
+
export function isOptionalAnvilPeerDependency({ context, packageContext, resource }: Dependency) {
|
|
17
|
+
return (
|
|
18
|
+
optionalAnvilPeerDependencies.includes(resource) &&
|
|
19
|
+
/(@servicetitan|packages)\/(web-components)/.test(context) &&
|
|
20
|
+
!Object.keys(packageContext.packageData.dependencies).includes(resource)
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface Dependency {
|
|
2
|
+
context: string;
|
|
3
|
+
resource: string;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export function isOptionalReactDomPeerDependency({ context, resource }: Dependency) {
|
|
7
|
+
return (
|
|
8
|
+
resource === 'react-dom/client' &&
|
|
9
|
+
/(@servicetitan|packages)\/(ko-bridge|web-components)/.test(context)
|
|
10
|
+
);
|
|
11
|
+
}
|
package/tsconfig/base.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-optional-peer-dependency.d.ts","sourceRoot":"","sources":["../../../../../src/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,WAIzE"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isOptionalPeerDependency = void 0;
|
|
4
|
-
function isOptionalPeerDependency({ context, resource }) {
|
|
5
|
-
return (resource === 'react-dom/client' && /@servicetitan\/(ko-bridge|web-components)/.test(context));
|
|
6
|
-
}
|
|
7
|
-
exports.isOptionalPeerDependency = isOptionalPeerDependency;
|
|
8
|
-
//# sourceMappingURL=is-optional-peer-dependency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-optional-peer-dependency.js","sourceRoot":"","sources":["../../../../../src/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.ts"],"names":[],"mappings":";;;AAKA,SAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAc;IACtE,OAAO,CACH,QAAQ,KAAK,kBAAkB,IAAI,2CAA2C,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/F,CAAC;AACN,CAAC;AAJD,4DAIC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface Dependency {
|
|
2
|
-
context: string;
|
|
3
|
-
resource: string;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export function isOptionalPeerDependency({ context, resource }: Dependency) {
|
|
7
|
-
return (
|
|
8
|
-
resource === 'react-dom/client' && /@servicetitan\/(ko-bridge|web-components)/.test(context)
|
|
9
|
-
);
|
|
10
|
-
}
|