@tramvai/cli 6.68.6 → 6.77.3
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/README.md +1 -1
- package/bin/const.js +5 -0
- package/bin/platform.js +12 -6
- package/bin/spawn.js +6 -0
- package/lib/api/analyze/index.d.ts.map +1 -1
- package/lib/api/analyze/index.js +1 -13
- package/lib/api/analyze/index.js.map +1 -1
- package/lib/api/index.js +1 -1
- package/lib/api/index.js.map +1 -1
- package/lib/api/start/application.experimental.d.ts.map +1 -1
- package/lib/api/start/application.experimental.js +13 -0
- package/lib/api/start/application.experimental.js.map +1 -1
- package/lib/api/start/index.d.ts +1 -0
- package/lib/api/start/index.d.ts.map +1 -1
- package/lib/api/start/index.js.map +1 -1
- package/lib/builder/webpack/analyzePlugins/rsdoctor.d.ts +2 -2
- package/lib/builder/webpack/analyzePlugins/rsdoctor.d.ts.map +1 -1
- package/lib/builder/webpack/analyzePlugins/rsdoctor.js +4 -2
- package/lib/builder/webpack/analyzePlugins/rsdoctor.js.map +1 -1
- package/lib/builder/webpack/index.d.ts.map +1 -1
- package/lib/builder/webpack/index.js +14 -12
- package/lib/builder/webpack/index.js.map +1 -1
- package/lib/builder/webpack/providers/build/client.d.ts.map +1 -1
- package/lib/builder/webpack/providers/build/client.js +3 -2
- package/lib/builder/webpack/providers/build/client.js.map +1 -1
- package/lib/builder/webpack/providers/build/server.d.ts.map +1 -1
- package/lib/builder/webpack/providers/build/server.js +3 -2
- package/lib/builder/webpack/providers/build/server.js.map +1 -1
- package/lib/builder/webpack/providers/shared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/shared.js +31 -1
- package/lib/builder/webpack/providers/shared.js.map +1 -1
- package/lib/builder/webpack/providers/start/shared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/start/shared.js +6 -2
- package/lib/builder/webpack/providers/start/shared.js.map +1 -1
- package/lib/builder/webpack/tokens.d.ts +4 -0
- package/lib/builder/webpack/tokens.d.ts.map +1 -1
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +12 -12
- package/lib/cli/index.js.map +1 -1
- package/lib/commands/analyze/command.d.ts +1 -1
- package/lib/commands/analyze/command.d.ts.map +1 -1
- package/lib/commands/build/command.d.ts.map +1 -1
- package/lib/commands/build/command.js +5 -0
- package/lib/commands/build/command.js.map +1 -1
- package/lib/commands/new/steps/installDependencies.d.ts.map +1 -1
- package/lib/commands/new/steps/installDependencies.js +3 -4
- package/lib/commands/new/steps/installDependencies.js.map +1 -1
- package/lib/commands/start/command.d.ts.map +1 -1
- package/lib/commands/start/command.js +5 -0
- package/lib/commands/start/command.js.map +1 -1
- package/lib/commands/static/application.d.ts.map +1 -1
- package/lib/commands/static/application.js +9 -3
- package/lib/commands/static/application.js.map +1 -1
- package/lib/commands/static/generate.d.ts.map +1 -1
- package/lib/commands/static/generate.js +16 -12
- package/lib/commands/static/generate.js.map +1 -1
- package/lib/config/configManager.d.ts +1 -0
- package/lib/config/configManager.d.ts.map +1 -1
- package/lib/config/configManager.js +1 -0
- package/lib/config/configManager.js.map +1 -1
- package/lib/di/tokens/config.d.ts +2 -0
- package/lib/di/tokens/config.d.ts.map +1 -1
- package/lib/library/webpack/blocks/css.d.ts.map +1 -1
- package/lib/library/webpack/blocks/css.js +42 -15
- package/lib/library/webpack/blocks/css.js.map +1 -1
- package/lib/library/webpack/blocks/js.d.ts.map +1 -1
- package/lib/library/webpack/blocks/js.js +52 -11
- package/lib/library/webpack/blocks/js.js.map +1 -1
- package/lib/library/webpack/common/main.d.ts.map +1 -1
- package/lib/library/webpack/common/main.js +2 -1
- package/lib/library/webpack/common/main.js.map +1 -1
- package/lib/library/webpack/utils/browserslist.d.ts +4 -0
- package/lib/library/webpack/utils/browserslist.d.ts.map +1 -0
- package/lib/library/webpack/utils/browserslist.js +27 -0
- package/lib/library/webpack/utils/browserslist.js.map +1 -0
- package/lib/library/webpack/utils/transpiler.d.ts.map +1 -1
- package/lib/library/webpack/utils/transpiler.js +3 -16
- package/lib/library/webpack/utils/transpiler.js.map +1 -1
- package/lib/schema/autogeneratedSchema.json +216 -15
- package/lib/typings/configEntry/cli.d.ts +9 -0
- package/lib/typings/configEntry/cli.d.ts.map +1 -1
- package/lib/utils/dev-app/request.d.ts +1 -0
- package/lib/utils/dev-app/request.d.ts.map +1 -1
- package/lib/utils/dev-app/request.js +10 -1
- package/lib/utils/dev-app/request.js.map +1 -1
- package/package.json +39 -37
- package/schema.json +216 -15
- package/src/api/analyze/index.ts +3 -16
- package/src/api/index.ts +1 -1
- package/src/api/start/application.experimental.ts +14 -0
- package/src/api/start/index.ts +1 -0
- package/src/builder/webpack/analyzePlugins/rsdoctor.ts +6 -3
- package/src/builder/webpack/index.ts +16 -21
- package/src/builder/webpack/providers/build/client.ts +7 -2
- package/src/builder/webpack/providers/build/server.ts +7 -2
- package/src/builder/webpack/providers/shared.ts +45 -1
- package/src/builder/webpack/providers/start/shared.ts +7 -2
- package/src/cli/index.ts +3 -2
- package/src/commands/analyze/command.ts +1 -1
- package/src/commands/build/command.ts +6 -0
- package/src/commands/new/steps/installDependencies.ts +3 -4
- package/src/commands/new/templates/app/block/shared/header/Header.spec.tsx.hbs +7 -5
- package/src/commands/new/templates/shared/package.json.hbs +1 -1
- package/src/commands/start/command.ts +6 -0
- package/src/commands/static/application.ts +11 -4
- package/src/commands/static/generate.ts +19 -12
- package/src/config/configManager.ts +2 -0
- package/src/library/webpack/blocks/css.ts +52 -16
- package/src/library/webpack/blocks/js.ts +58 -12
- package/src/library/webpack/common/main.ts +6 -2
- package/src/library/webpack/utils/browserslist.ts +29 -0
- package/src/library/webpack/utils/transpiler.ts +3 -20
- package/src/models/config.spec.ts +4 -0
- package/src/schema/autogeneratedSchema.json +216 -15
- package/src/schema/tramvai.spec.ts +2 -0
- package/src/typings/configEntry/cli.ts +11 -0
- package/src/utils/dev-app/request.ts +15 -0
- package/lib/api/analyze/providers/shared.d.ts +0 -3
- package/lib/api/analyze/providers/shared.d.ts.map +0 -1
- package/lib/api/analyze/providers/shared.js +0 -23
- package/lib/api/analyze/providers/shared.js.map +0 -1
- package/lib/builder/webpack/providers/analyze/shared.d.ts +0 -3
- package/lib/builder/webpack/providers/analyze/shared.d.ts.map +0 -1
- package/lib/builder/webpack/providers/analyze/shared.js +0 -137
- package/lib/builder/webpack/providers/analyze/shared.js.map +0 -1
- package/src/api/analyze/providers/shared.ts +0 -26
- package/src/builder/webpack/providers/analyze/shared.ts +0 -156
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.appBundleInfo = exports.appRequest = void 0;
|
|
3
|
+
exports.appPrerenderRoutes = exports.appBundleInfo = exports.appRequest = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const propOr_1 = tslib_1.__importDefault(require("@tinkoff/utils/object/propOr"));
|
|
6
6
|
const request_core_1 = tslib_1.__importDefault(require("@tinkoff/request-core"));
|
|
@@ -22,4 +22,13 @@ const appBundleInfo = async (configManager) => {
|
|
|
22
22
|
return (0, propOr_1.default)('payload', [], response);
|
|
23
23
|
};
|
|
24
24
|
exports.appBundleInfo = appBundleInfo;
|
|
25
|
+
const appPrerenderRoutes = async (configManager) => {
|
|
26
|
+
const { name } = configManager;
|
|
27
|
+
const response = await (0, exports.appRequest)(configManager, `/${name}/papi/prerenderRoutes`, {
|
|
28
|
+
timeout: 5000,
|
|
29
|
+
retry: 3,
|
|
30
|
+
});
|
|
31
|
+
return (0, propOr_1.default)('payload', [], response);
|
|
32
|
+
};
|
|
33
|
+
exports.appPrerenderRoutes = appPrerenderRoutes;
|
|
25
34
|
//# sourceMappingURL=request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/dev-app/request.ts"],"names":[],"mappings":";;;;AAAA,kFAAkD;AAElD,iFAAkD;AAClD,iHAAyD;AACzD,iGAAkD;AAGlD,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,CAAC,IAAA,8BAAK,GAAE,EAAE,IAAA,sCAAI,GAAE,CAAC,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAI,aAA4B,EAAE,IAAY,EAAE,OAAiB,EAAE,EAAE;IAC7F,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IACrC,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAE5C,OAAO,OAAO,CAAI,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB;AAOK,MAAM,aAAa,GAAG,KAAK,EAAE,aAA4B,EAAE,EAAE;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/B,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAqB,aAAa,EAAE,IAAI,IAAI,kBAAkB,EAAE;QAC/F,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,OAAO,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB"}
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/dev-app/request.ts"],"names":[],"mappings":";;;;AAAA,kFAAkD;AAElD,iFAAkD;AAClD,iHAAyD;AACzD,iGAAkD;AAGlD,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,CAAC,IAAA,8BAAK,GAAE,EAAE,IAAA,sCAAI,GAAE,CAAC,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAI,aAA4B,EAAE,IAAY,EAAE,OAAiB,EAAE,EAAE;IAC7F,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IACrC,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAE5C,OAAO,OAAO,CAAI,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB;AAOK,MAAM,aAAa,GAAG,KAAK,EAAE,aAA4B,EAAE,EAAE;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/B,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAqB,aAAa,EAAE,IAAI,IAAI,kBAAkB,EAAE;QAC/F,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,OAAO,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEK,MAAM,kBAAkB,GAAG,KAAK,EAAE,aAA4B,EAAE,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;IAE/B,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAC/B,aAAa,EACb,IAAI,IAAI,uBAAuB,EAC/B;QACE,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,CAAC;KACT,CACF,CAAC;IAEF,OAAO,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.77.3",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.18.1"
|
|
@@ -34,27 +34,27 @@
|
|
|
34
34
|
"main": "lib/api/index.js",
|
|
35
35
|
"typings": "lib/api/index.d.ts",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@babel/cli": "^7.
|
|
38
|
-
"@babel/core": "^7.
|
|
39
|
-
"@babel/helper-annotate-as-pure": "^7.
|
|
40
|
-
"@babel/plugin-external-helpers": "^7.
|
|
41
|
-
"@babel/plugin-proposal-decorators": "^7.
|
|
42
|
-
"@babel/plugin-proposal-export-default-from": "^7.
|
|
37
|
+
"@babel/cli": "^7.28.3",
|
|
38
|
+
"@babel/core": "^7.28.5",
|
|
39
|
+
"@babel/helper-annotate-as-pure": "^7.27.3",
|
|
40
|
+
"@babel/plugin-external-helpers": "^7.27.1",
|
|
41
|
+
"@babel/plugin-proposal-decorators": "^7.28.0",
|
|
42
|
+
"@babel/plugin-proposal-export-default-from": "^7.27.1",
|
|
43
43
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
|
44
44
|
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
|
|
45
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.
|
|
46
|
-
"@babel/plugin-proposal-optional-chaining": "^7.
|
|
45
|
+
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
46
|
+
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
|
47
47
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
48
|
-
"@babel/plugin-transform-duplicate-keys": "^7.
|
|
49
|
-
"@babel/plugin-transform-react-constant-elements": "^7.
|
|
50
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
51
|
-
"@babel/preset-env": "^7.
|
|
52
|
-
"@babel/preset-react": "^7.
|
|
53
|
-
"@babel/preset-typescript": "^7.
|
|
54
|
-
"@babel/register": "^7.
|
|
55
|
-
"@babel/runtime": "^7.
|
|
56
|
-
"@babel/traverse": "^7.
|
|
57
|
-
"@babel/types": "^7.
|
|
48
|
+
"@babel/plugin-transform-duplicate-keys": "^7.27.1",
|
|
49
|
+
"@babel/plugin-transform-react-constant-elements": "^7.27.1",
|
|
50
|
+
"@babel/plugin-transform-runtime": "^7.28.5",
|
|
51
|
+
"@babel/preset-env": "^7.28.5",
|
|
52
|
+
"@babel/preset-react": "^7.28.5",
|
|
53
|
+
"@babel/preset-typescript": "^7.28.5",
|
|
54
|
+
"@babel/register": "^7.28.3",
|
|
55
|
+
"@babel/runtime": "^7.28.4",
|
|
56
|
+
"@babel/traverse": "^7.28.5",
|
|
57
|
+
"@babel/types": "^7.28.5",
|
|
58
58
|
"@discoveryjs/json-ext": "^0.5.7",
|
|
59
59
|
"@fastify/compress": "^6.2.0",
|
|
60
60
|
"@fastify/static": "^6.9.0",
|
|
@@ -63,26 +63,26 @@
|
|
|
63
63
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
|
|
64
64
|
"@rsdoctor/webpack-plugin": "^1.3.6",
|
|
65
65
|
"@svgr/webpack": "^8.1.0",
|
|
66
|
-
"@tinkoff/browserslist-config": "0.6.
|
|
67
|
-
"@tinkoff/dippy": "0.12.
|
|
68
|
-
"@tinkoff/is-modern-lib": "6.1.
|
|
66
|
+
"@tinkoff/browserslist-config": "0.6.3",
|
|
67
|
+
"@tinkoff/dippy": "0.12.6",
|
|
68
|
+
"@tinkoff/is-modern-lib": "6.1.1",
|
|
69
69
|
"@tinkoff/logger": "^0.10.507",
|
|
70
|
-
"@tinkoff/minicss-class-generator": "0.6.
|
|
71
|
-
"@tinkoff/package-manager-wrapper": "0.5.
|
|
70
|
+
"@tinkoff/minicss-class-generator": "0.6.2",
|
|
71
|
+
"@tinkoff/package-manager-wrapper": "0.5.5",
|
|
72
72
|
"@tinkoff/request-core": "^0.10.0",
|
|
73
|
-
"@tinkoff/request-plugin-protocol-http": "0.
|
|
73
|
+
"@tinkoff/request-plugin-protocol-http": "0.16.0",
|
|
74
74
|
"@tinkoff/request-plugin-retry": "^0.3.0",
|
|
75
75
|
"@tinkoff/utils": "^2.1.3",
|
|
76
|
-
"@tinkoff/webpack-dedupe-plugin": "5.0.
|
|
77
|
-
"@tramvai/api": "6.
|
|
78
|
-
"@tramvai/build": "7.2.
|
|
79
|
-
"@tramvai/plugin-babel-transpiler": "6.
|
|
80
|
-
"@tramvai/plugin-swc-transpiler": "6.
|
|
81
|
-
"@tramvai/plugin-webpack-builder": "6.
|
|
82
|
-
"@tramvai/plugin-webpack-pwa": "6.
|
|
83
|
-
"@tramvai/react": "6.
|
|
84
|
-
"@tramvai/tools-check-versions": "0.8.
|
|
85
|
-
"@tramvai/tools-migrate": "0.10.
|
|
76
|
+
"@tinkoff/webpack-dedupe-plugin": "5.0.1",
|
|
77
|
+
"@tramvai/api": "6.77.3",
|
|
78
|
+
"@tramvai/build": "7.2.1",
|
|
79
|
+
"@tramvai/plugin-babel-transpiler": "6.77.3",
|
|
80
|
+
"@tramvai/plugin-swc-transpiler": "6.77.3",
|
|
81
|
+
"@tramvai/plugin-webpack-builder": "6.77.3",
|
|
82
|
+
"@tramvai/plugin-webpack-pwa": "6.77.3",
|
|
83
|
+
"@tramvai/react": "6.77.3",
|
|
84
|
+
"@tramvai/tools-check-versions": "0.8.1",
|
|
85
|
+
"@tramvai/tools-migrate": "0.10.6",
|
|
86
86
|
"ajv": "^8.12.0",
|
|
87
87
|
"ansi-escapes": "^4.3.2",
|
|
88
88
|
"autoprefixer": "^10.4.8",
|
|
@@ -125,6 +125,8 @@
|
|
|
125
125
|
"less": "^3.13.1",
|
|
126
126
|
"less-loader": "^8.1.1",
|
|
127
127
|
"lightning-pool": "^2.4.0",
|
|
128
|
+
"lightningcss": "^1.30.2",
|
|
129
|
+
"lightningcss-loader": "^3.0.0",
|
|
128
130
|
"loader-utils": "^3.2.1",
|
|
129
131
|
"mini-css-extract-plugin": "2.7.6",
|
|
130
132
|
"node-plop": "^0.26.0",
|
|
@@ -181,7 +183,7 @@
|
|
|
181
183
|
},
|
|
182
184
|
"devDependencies": {
|
|
183
185
|
"@swc/core": "1.3.100",
|
|
184
|
-
"@tramvai/tools-generate-schema": "0.5.
|
|
186
|
+
"@tramvai/tools-generate-schema": "0.5.1",
|
|
185
187
|
"@types/compression": "^1.7.2",
|
|
186
188
|
"@types/detect-port": "^1.3.5",
|
|
187
189
|
"@types/express": "^4.17.13",
|
|
@@ -198,7 +200,7 @@
|
|
|
198
200
|
"@types/stoppable": "^1.1.1",
|
|
199
201
|
"@types/webpack-dev-middleware": "^5.0.2",
|
|
200
202
|
"@types/webpack-stats-plugin": "^0.3.2",
|
|
201
|
-
"react": "19.0.
|
|
203
|
+
"react": "19.0.1",
|
|
202
204
|
"sharp": "0.34.3"
|
|
203
205
|
},
|
|
204
206
|
"peerDependencies": {
|
package/schema.json
CHANGED
|
@@ -895,6 +895,10 @@
|
|
|
895
895
|
},
|
|
896
896
|
"additionalProperties": false
|
|
897
897
|
},
|
|
898
|
+
"lightningcss": {
|
|
899
|
+
"title": "experimental css building by [lightningcss](https://lightningcss.dev/)",
|
|
900
|
+
"type": "boolean"
|
|
901
|
+
},
|
|
898
902
|
"transpilation": {
|
|
899
903
|
"title": "experimental settings for code transpilation",
|
|
900
904
|
"default": {},
|
|
@@ -933,6 +937,69 @@
|
|
|
933
937
|
"type": "string"
|
|
934
938
|
}
|
|
935
939
|
]
|
|
940
|
+
},
|
|
941
|
+
"include": {
|
|
942
|
+
"cli_overridable": "",
|
|
943
|
+
"title": "customize transpiling of node_modules in prod/dev environments",
|
|
944
|
+
"default": "only-modern",
|
|
945
|
+
"anyOf": [
|
|
946
|
+
{
|
|
947
|
+
"type": "array",
|
|
948
|
+
"items": {
|
|
949
|
+
"type": "string"
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
{
|
|
953
|
+
"type": "object",
|
|
954
|
+
"properties": {
|
|
955
|
+
"development": {
|
|
956
|
+
"anyOf": [
|
|
957
|
+
{
|
|
958
|
+
"type": "array",
|
|
959
|
+
"items": {
|
|
960
|
+
"type": "string"
|
|
961
|
+
}
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"enum": [
|
|
965
|
+
"all",
|
|
966
|
+
"none",
|
|
967
|
+
"only-modern"
|
|
968
|
+
],
|
|
969
|
+
"type": "string"
|
|
970
|
+
}
|
|
971
|
+
]
|
|
972
|
+
},
|
|
973
|
+
"production": {
|
|
974
|
+
"anyOf": [
|
|
975
|
+
{
|
|
976
|
+
"type": "array",
|
|
977
|
+
"items": {
|
|
978
|
+
"type": "string"
|
|
979
|
+
}
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"enum": [
|
|
983
|
+
"all",
|
|
984
|
+
"none",
|
|
985
|
+
"only-modern"
|
|
986
|
+
],
|
|
987
|
+
"type": "string"
|
|
988
|
+
}
|
|
989
|
+
]
|
|
990
|
+
}
|
|
991
|
+
},
|
|
992
|
+
"additionalProperties": false
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
"enum": [
|
|
996
|
+
"all",
|
|
997
|
+
"none",
|
|
998
|
+
"only-modern"
|
|
999
|
+
],
|
|
1000
|
+
"type": "string"
|
|
1001
|
+
}
|
|
1002
|
+
]
|
|
936
1003
|
}
|
|
937
1004
|
},
|
|
938
1005
|
"additionalProperties": false
|
|
@@ -1311,23 +1378,23 @@
|
|
|
1311
1378
|
"dotAll": {
|
|
1312
1379
|
"type": "boolean"
|
|
1313
1380
|
},
|
|
1314
|
-
"__@match@
|
|
1381
|
+
"__@match@9311": {
|
|
1315
1382
|
"type": "object",
|
|
1316
1383
|
"additionalProperties": false
|
|
1317
1384
|
},
|
|
1318
|
-
"__@replace@
|
|
1385
|
+
"__@replace@9313": {
|
|
1319
1386
|
"type": "object",
|
|
1320
1387
|
"additionalProperties": false
|
|
1321
1388
|
},
|
|
1322
|
-
"__@search@
|
|
1389
|
+
"__@search@9316": {
|
|
1323
1390
|
"type": "object",
|
|
1324
1391
|
"additionalProperties": false
|
|
1325
1392
|
},
|
|
1326
|
-
"__@split@
|
|
1393
|
+
"__@split@9318": {
|
|
1327
1394
|
"type": "object",
|
|
1328
1395
|
"additionalProperties": false
|
|
1329
1396
|
},
|
|
1330
|
-
"__@matchAll@
|
|
1397
|
+
"__@matchAll@9320": {
|
|
1331
1398
|
"type": "object",
|
|
1332
1399
|
"additionalProperties": false
|
|
1333
1400
|
}
|
|
@@ -1806,6 +1873,10 @@
|
|
|
1806
1873
|
},
|
|
1807
1874
|
"additionalProperties": false
|
|
1808
1875
|
},
|
|
1876
|
+
"lightningcss": {
|
|
1877
|
+
"title": "experimental css building by [lightningcss](https://lightningcss.dev/)",
|
|
1878
|
+
"type": "boolean"
|
|
1879
|
+
},
|
|
1809
1880
|
"transpilation": {
|
|
1810
1881
|
"title": "experimental settings for code transpilation",
|
|
1811
1882
|
"default": {},
|
|
@@ -1844,6 +1915,69 @@
|
|
|
1844
1915
|
"type": "string"
|
|
1845
1916
|
}
|
|
1846
1917
|
]
|
|
1918
|
+
},
|
|
1919
|
+
"include": {
|
|
1920
|
+
"cli_overridable": "",
|
|
1921
|
+
"title": "customize transpiling of node_modules in prod/dev environments",
|
|
1922
|
+
"default": "only-modern",
|
|
1923
|
+
"anyOf": [
|
|
1924
|
+
{
|
|
1925
|
+
"type": "array",
|
|
1926
|
+
"items": {
|
|
1927
|
+
"type": "string"
|
|
1928
|
+
}
|
|
1929
|
+
},
|
|
1930
|
+
{
|
|
1931
|
+
"type": "object",
|
|
1932
|
+
"properties": {
|
|
1933
|
+
"development": {
|
|
1934
|
+
"anyOf": [
|
|
1935
|
+
{
|
|
1936
|
+
"type": "array",
|
|
1937
|
+
"items": {
|
|
1938
|
+
"type": "string"
|
|
1939
|
+
}
|
|
1940
|
+
},
|
|
1941
|
+
{
|
|
1942
|
+
"enum": [
|
|
1943
|
+
"all",
|
|
1944
|
+
"none",
|
|
1945
|
+
"only-modern"
|
|
1946
|
+
],
|
|
1947
|
+
"type": "string"
|
|
1948
|
+
}
|
|
1949
|
+
]
|
|
1950
|
+
},
|
|
1951
|
+
"production": {
|
|
1952
|
+
"anyOf": [
|
|
1953
|
+
{
|
|
1954
|
+
"type": "array",
|
|
1955
|
+
"items": {
|
|
1956
|
+
"type": "string"
|
|
1957
|
+
}
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
"enum": [
|
|
1961
|
+
"all",
|
|
1962
|
+
"none",
|
|
1963
|
+
"only-modern"
|
|
1964
|
+
],
|
|
1965
|
+
"type": "string"
|
|
1966
|
+
}
|
|
1967
|
+
]
|
|
1968
|
+
}
|
|
1969
|
+
},
|
|
1970
|
+
"additionalProperties": false
|
|
1971
|
+
},
|
|
1972
|
+
{
|
|
1973
|
+
"enum": [
|
|
1974
|
+
"all",
|
|
1975
|
+
"none",
|
|
1976
|
+
"only-modern"
|
|
1977
|
+
],
|
|
1978
|
+
"type": "string"
|
|
1979
|
+
}
|
|
1980
|
+
]
|
|
1847
1981
|
}
|
|
1848
1982
|
},
|
|
1849
1983
|
"additionalProperties": false
|
|
@@ -2115,23 +2249,23 @@
|
|
|
2115
2249
|
"dotAll": {
|
|
2116
2250
|
"type": "boolean"
|
|
2117
2251
|
},
|
|
2118
|
-
"__@match@
|
|
2252
|
+
"__@match@9311": {
|
|
2119
2253
|
"type": "object",
|
|
2120
2254
|
"additionalProperties": false
|
|
2121
2255
|
},
|
|
2122
|
-
"__@replace@
|
|
2256
|
+
"__@replace@9313": {
|
|
2123
2257
|
"type": "object",
|
|
2124
2258
|
"additionalProperties": false
|
|
2125
2259
|
},
|
|
2126
|
-
"__@search@
|
|
2260
|
+
"__@search@9316": {
|
|
2127
2261
|
"type": "object",
|
|
2128
2262
|
"additionalProperties": false
|
|
2129
2263
|
},
|
|
2130
|
-
"__@split@
|
|
2264
|
+
"__@split@9318": {
|
|
2131
2265
|
"type": "object",
|
|
2132
2266
|
"additionalProperties": false
|
|
2133
2267
|
},
|
|
2134
|
-
"__@matchAll@
|
|
2268
|
+
"__@matchAll@9320": {
|
|
2135
2269
|
"type": "object",
|
|
2136
2270
|
"additionalProperties": false
|
|
2137
2271
|
}
|
|
@@ -2610,6 +2744,10 @@
|
|
|
2610
2744
|
},
|
|
2611
2745
|
"additionalProperties": false
|
|
2612
2746
|
},
|
|
2747
|
+
"lightningcss": {
|
|
2748
|
+
"title": "experimental css building by [lightningcss](https://lightningcss.dev/)",
|
|
2749
|
+
"type": "boolean"
|
|
2750
|
+
},
|
|
2613
2751
|
"transpilation": {
|
|
2614
2752
|
"title": "experimental settings for code transpilation",
|
|
2615
2753
|
"default": {},
|
|
@@ -2648,6 +2786,69 @@
|
|
|
2648
2786
|
"type": "string"
|
|
2649
2787
|
}
|
|
2650
2788
|
]
|
|
2789
|
+
},
|
|
2790
|
+
"include": {
|
|
2791
|
+
"cli_overridable": "",
|
|
2792
|
+
"title": "customize transpiling of node_modules in prod/dev environments",
|
|
2793
|
+
"default": "only-modern",
|
|
2794
|
+
"anyOf": [
|
|
2795
|
+
{
|
|
2796
|
+
"type": "array",
|
|
2797
|
+
"items": {
|
|
2798
|
+
"type": "string"
|
|
2799
|
+
}
|
|
2800
|
+
},
|
|
2801
|
+
{
|
|
2802
|
+
"type": "object",
|
|
2803
|
+
"properties": {
|
|
2804
|
+
"development": {
|
|
2805
|
+
"anyOf": [
|
|
2806
|
+
{
|
|
2807
|
+
"type": "array",
|
|
2808
|
+
"items": {
|
|
2809
|
+
"type": "string"
|
|
2810
|
+
}
|
|
2811
|
+
},
|
|
2812
|
+
{
|
|
2813
|
+
"enum": [
|
|
2814
|
+
"all",
|
|
2815
|
+
"none",
|
|
2816
|
+
"only-modern"
|
|
2817
|
+
],
|
|
2818
|
+
"type": "string"
|
|
2819
|
+
}
|
|
2820
|
+
]
|
|
2821
|
+
},
|
|
2822
|
+
"production": {
|
|
2823
|
+
"anyOf": [
|
|
2824
|
+
{
|
|
2825
|
+
"type": "array",
|
|
2826
|
+
"items": {
|
|
2827
|
+
"type": "string"
|
|
2828
|
+
}
|
|
2829
|
+
},
|
|
2830
|
+
{
|
|
2831
|
+
"enum": [
|
|
2832
|
+
"all",
|
|
2833
|
+
"none",
|
|
2834
|
+
"only-modern"
|
|
2835
|
+
],
|
|
2836
|
+
"type": "string"
|
|
2837
|
+
}
|
|
2838
|
+
]
|
|
2839
|
+
}
|
|
2840
|
+
},
|
|
2841
|
+
"additionalProperties": false
|
|
2842
|
+
},
|
|
2843
|
+
{
|
|
2844
|
+
"enum": [
|
|
2845
|
+
"all",
|
|
2846
|
+
"none",
|
|
2847
|
+
"only-modern"
|
|
2848
|
+
],
|
|
2849
|
+
"type": "string"
|
|
2850
|
+
}
|
|
2851
|
+
]
|
|
2651
2852
|
}
|
|
2652
2853
|
},
|
|
2653
2854
|
"additionalProperties": false
|
|
@@ -2919,23 +3120,23 @@
|
|
|
2919
3120
|
"dotAll": {
|
|
2920
3121
|
"type": "boolean"
|
|
2921
3122
|
},
|
|
2922
|
-
"__@match@
|
|
3123
|
+
"__@match@9311": {
|
|
2923
3124
|
"type": "object",
|
|
2924
3125
|
"additionalProperties": false
|
|
2925
3126
|
},
|
|
2926
|
-
"__@replace@
|
|
3127
|
+
"__@replace@9313": {
|
|
2927
3128
|
"type": "object",
|
|
2928
3129
|
"additionalProperties": false
|
|
2929
3130
|
},
|
|
2930
|
-
"__@search@
|
|
3131
|
+
"__@search@9316": {
|
|
2931
3132
|
"type": "object",
|
|
2932
3133
|
"additionalProperties": false
|
|
2933
3134
|
},
|
|
2934
|
-
"__@split@
|
|
3135
|
+
"__@split@9318": {
|
|
2935
3136
|
"type": "object",
|
|
2936
3137
|
"additionalProperties": false
|
|
2937
3138
|
},
|
|
2938
|
-
"__@matchAll@
|
|
3139
|
+
"__@matchAll@9320": {
|
|
2939
3140
|
"type": "object",
|
|
2940
3141
|
"additionalProperties": false
|
|
2941
3142
|
}
|
package/src/api/analyze/index.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { Provider } from '@tinkoff/dippy';
|
|
2
2
|
import { createCommand } from '../../commands/createCommand';
|
|
3
|
-
import { ABSTRACT_BUILDER_FACTORY_TOKEN, COMMAND_PARAMETERS_TOKEN } from '../../di/tokens';
|
|
4
|
-
import { registerProviders } from '../../utils/di';
|
|
5
|
-
import { sharedProviders } from './providers/shared';
|
|
6
3
|
|
|
7
4
|
export interface Params {
|
|
8
5
|
target: string;
|
|
@@ -17,18 +14,8 @@ export type AnalyzeCommand = (params: Params, providers?: Provider[]) => Promise
|
|
|
17
14
|
export default createCommand({
|
|
18
15
|
name: 'analyze',
|
|
19
16
|
command: async (di): Promise<void> => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const builderFactory = di.get(ABSTRACT_BUILDER_FACTORY_TOKEN);
|
|
25
|
-
const builder = await builderFactory.createBuilder('webpack', {
|
|
26
|
-
options: {
|
|
27
|
-
shouldBuildClient: true,
|
|
28
|
-
shouldBuildServer: false,
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
await builder.analyze({ plugin });
|
|
17
|
+
throw new Error(
|
|
18
|
+
'tramvai analyze is deprecated, please use `tramvai start|build --analyze=pluginName`\n'
|
|
19
|
+
);
|
|
33
20
|
},
|
|
34
21
|
});
|
package/src/api/index.ts
CHANGED
|
@@ -33,8 +33,8 @@ const app = createApp({
|
|
|
33
33
|
commands: {
|
|
34
34
|
start: () => import('./start'),
|
|
35
35
|
build: () => import('./build'),
|
|
36
|
-
benchmark: () => import('./benchmark'),
|
|
37
36
|
analyze: () => import('./analyze'),
|
|
37
|
+
benchmark: () => import('./benchmark'),
|
|
38
38
|
'start-prod': () => import('./start-prod'),
|
|
39
39
|
},
|
|
40
40
|
providers: [
|
|
@@ -26,6 +26,7 @@ export const startApplicationExperimental = async (di: Container): Result => {
|
|
|
26
26
|
mode: 'development',
|
|
27
27
|
benchmark: options.benchmark,
|
|
28
28
|
buildType: options.buildType,
|
|
29
|
+
analyze: options.analyze,
|
|
29
30
|
port: options.port,
|
|
30
31
|
host: options.host,
|
|
31
32
|
staticPort: options.staticPort,
|
|
@@ -276,6 +277,19 @@ function mapTramvaiJsonToNewTsConfig({ rootDir }: { rootDir: string }) {
|
|
|
276
277
|
}
|
|
277
278
|
mappedProject.webpack.devtool = applicationProject.webpack.devtool;
|
|
278
279
|
}
|
|
280
|
+
if (applicationProject.experiments?.transpilation) {
|
|
281
|
+
const applicationProjectInclude = applicationProject.experiments.transpilation.include;
|
|
282
|
+
mappedProject.transpilation = {
|
|
283
|
+
include: {
|
|
284
|
+
development:
|
|
285
|
+
typeof applicationProjectInclude === 'string' ||
|
|
286
|
+
Array.isArray(applicationProjectInclude)
|
|
287
|
+
? applicationProjectInclude
|
|
288
|
+
: // @ts-ignore
|
|
289
|
+
applicationProjectInclude.development,
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
}
|
|
279
293
|
if (applicationProject.experiments?.pwa) {
|
|
280
294
|
mappedProject.pwa = {
|
|
281
295
|
workbox: {
|
package/src/api/start/index.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type Params = WithConfig<{
|
|
|
24
24
|
noClientRebuild?: boolean;
|
|
25
25
|
resolveSymlinks?: boolean;
|
|
26
26
|
showConfig?: boolean;
|
|
27
|
+
analyze?: false | 'bundle' | 'whybundled' | 'statoscope' | 'rsdoctor';
|
|
27
28
|
benchmark?: boolean;
|
|
28
29
|
withBuildStats?: boolean;
|
|
29
30
|
// @todo: not working?
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RsdoctorWebpackPlugin } from '@rsdoctor/webpack-plugin';
|
|
1
|
+
import type { RsdoctorWebpackPlugin } from '@rsdoctor/webpack-plugin';
|
|
2
2
|
import { AnalyzePlugin } from '../types';
|
|
3
3
|
|
|
4
4
|
type options = ConstructorParameters<typeof RsdoctorWebpackPlugin<[]>>;
|
|
@@ -7,8 +7,11 @@ export class RsdoctorAnalyzePlugin extends AnalyzePlugin {
|
|
|
7
7
|
|
|
8
8
|
options: options = [];
|
|
9
9
|
|
|
10
|
-
plugin = RsdoctorWebpackPlugin;
|
|
11
|
-
|
|
12
10
|
// rsdoctor поднимает dev server
|
|
13
11
|
afterBuild = () => new Promise(() => null);
|
|
12
|
+
|
|
13
|
+
get plugin() {
|
|
14
|
+
// eslint-disable-next-line import/no-unresolved
|
|
15
|
+
return require('@rsdoctor/webpack-plugin').RsdoctorWebpackMultiplePlugin;
|
|
16
|
+
}
|
|
14
17
|
}
|
|
@@ -27,7 +27,6 @@ import { buildClientProviders } from './providers/build/client';
|
|
|
27
27
|
import { buildServerProviders } from './providers/build/server';
|
|
28
28
|
import { CONFIG_MANAGER_TOKEN } from '../../di/tokens';
|
|
29
29
|
import { buildApplicationServerProviders } from './providers/build/application/server';
|
|
30
|
-
import { analyzeSharedProviders } from './providers/analyze/shared';
|
|
31
30
|
|
|
32
31
|
const BUILDER_NAME = 'webpack';
|
|
33
32
|
|
|
@@ -53,6 +52,14 @@ export const webpackProviders: Provider[] = [
|
|
|
53
52
|
...(shouldBuildServer ? startServerProviders : []),
|
|
54
53
|
]);
|
|
55
54
|
|
|
55
|
+
const configManager = di.get(CONFIG_MANAGER_TOKEN);
|
|
56
|
+
if (configManager.analyze) {
|
|
57
|
+
di.register({
|
|
58
|
+
provide: WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
|
|
59
|
+
useValue: configManager.analyze,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
56
63
|
await runHandlers(di.get({ token: INIT_HANDLER_TOKEN, optional: true, multi: true }));
|
|
57
64
|
|
|
58
65
|
const getBuildStats = di.get(GET_BUILD_STATS_TOKEN);
|
|
@@ -89,9 +96,13 @@ export const webpackProviders: Provider[] = [
|
|
|
89
96
|
...(shouldBuildServer ? buildServerProviders : []),
|
|
90
97
|
]);
|
|
91
98
|
|
|
92
|
-
await runHandlers(di.get({ token: INIT_HANDLER_TOKEN, optional: true, multi: true }));
|
|
93
|
-
|
|
94
99
|
const configManager = di.get(CONFIG_MANAGER_TOKEN);
|
|
100
|
+
if (configManager.analyze) {
|
|
101
|
+
di.register({
|
|
102
|
+
provide: WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
|
|
103
|
+
useValue: configManager.analyze,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
95
106
|
|
|
96
107
|
if (configManager.type === 'application') {
|
|
97
108
|
registerProviders(di, [
|
|
@@ -99,6 +110,8 @@ export const webpackProviders: Provider[] = [
|
|
|
99
110
|
]);
|
|
100
111
|
}
|
|
101
112
|
|
|
113
|
+
await runHandlers(di.get({ token: INIT_HANDLER_TOKEN, optional: true, multi: true }));
|
|
114
|
+
|
|
102
115
|
const getBuildStats = di.get(GET_BUILD_STATS_TOKEN);
|
|
103
116
|
|
|
104
117
|
await runHandlers(
|
|
@@ -113,24 +126,6 @@ export const webpackProviders: Provider[] = [
|
|
|
113
126
|
getBuildStats,
|
|
114
127
|
};
|
|
115
128
|
},
|
|
116
|
-
async analyze({ plugin }) {
|
|
117
|
-
di.register({
|
|
118
|
-
provide: WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
|
|
119
|
-
useValue: plugin || 'bundle',
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
registerProviders(di, analyzeSharedProviders);
|
|
123
|
-
|
|
124
|
-
await runHandlers(di.get({ token: INIT_HANDLER_TOKEN, optional: true, multi: true }));
|
|
125
|
-
|
|
126
|
-
await runHandlers(
|
|
127
|
-
di.get({ token: PROCESS_HANDLER_TOKEN, optional: true, multi: true })
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
await runHandlers(
|
|
131
|
-
di.get({ token: CLOSE_HANDLER_TOKEN, optional: true, multi: true })
|
|
132
|
-
);
|
|
133
|
-
},
|
|
134
129
|
on(event, callback) {
|
|
135
130
|
di.get(EVENT_EMITTER_TOKEN).on(event, callback);
|
|
136
131
|
},
|