@tramvai/cli 2.61.2 → 2.64.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/lib/commands/build/command.d.ts +1 -0
- package/lib/commands/build/command.js +5 -0
- package/lib/commands/build/command.js.map +1 -1
- package/lib/commands/start/command.d.ts +1 -0
- package/lib/commands/start/command.js +5 -0
- package/lib/commands/start/command.js.map +1 -1
- package/lib/commands/start-prod/command.d.ts +1 -0
- package/lib/commands/start-prod/command.js +5 -0
- package/lib/commands/start-prod/command.js.map +1 -1
- package/lib/commands/static/application.js +6 -9
- package/lib/commands/static/application.js.map +1 -1
- package/lib/commands/static/command.d.ts +1 -0
- package/lib/commands/static/command.js +5 -0
- package/lib/commands/static/command.js.map +1 -1
- package/lib/config/configManager.d.ts +5 -0
- package/lib/config/configManager.js +5 -2
- package/lib/config/configManager.js.map +1 -1
- package/lib/library/webpack/blocks/configToEnv.js +1 -1
- package/lib/library/webpack/blocks/configToEnv.js.map +1 -1
- package/package.json +2 -2
- package/src/commands/build/command.ts +6 -0
- package/src/commands/start/command.ts +6 -0
- package/src/commands/start-prod/command.ts +6 -0
- package/src/commands/static/application.ts +5 -14
- package/src/commands/static/command.ts +6 -0
- package/src/config/configManager.ts +9 -0
- package/src/library/webpack/blocks/configToEnv.ts +1 -0
|
@@ -2,6 +2,7 @@ import { CLICommand } from '../../models/command';
|
|
|
2
2
|
import type { BuildCommand as BuildCommandType } from '../../api/build';
|
|
3
3
|
export type Params = Parameters<BuildCommandType>[0] & {
|
|
4
4
|
target: string;
|
|
5
|
+
csr?: boolean;
|
|
5
6
|
};
|
|
6
7
|
declare class BuildCommand extends CLICommand<Params> {
|
|
7
8
|
name: string;
|
|
@@ -50,6 +50,11 @@ class BuildCommand extends command_1.CLICommand {
|
|
|
50
50
|
transformer: (value) => value !== 'false',
|
|
51
51
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
52
52
|
},
|
|
53
|
+
{
|
|
54
|
+
name: '--csr',
|
|
55
|
+
value: '[csr]',
|
|
56
|
+
description: 'Build for Client-Side rendering mode',
|
|
57
|
+
},
|
|
53
58
|
];
|
|
54
59
|
this.alias = 'b';
|
|
55
60
|
this.validators = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/build/command.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,mFAAgF;AAChF,mFAAgF;AAChF,2GAAwG;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/build/command.ts"],"names":[],"mappings":";;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,mFAAgF;AAChF,mFAAgF;AAChF,2GAAwG;AAQxG,MAAM,YAAa,SAAQ,oBAAkB;IAA7C;;QACE,SAAI,GAAG,OAAO,CAAC;QAEf,gBAAW,GAAG,uEAAuE,CAAC;QAEtF,YAAO,GAAG,gBAAgB,CAAC;QAE3B,YAAO,GAAG;YACR;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,gCAAgC;gBAC7C,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACzC,WAAW,EACT,+GAA+G;aAClH;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,0EAA0E;aACxF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yCAAyC;aACvD;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,uCAAuC;aACrD;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,wDAAwD;aACtE;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACzC,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,sCAAsC;aACpD;SACF,CAAC;QAEF,UAAK,GAAG,GAAG,CAAC;QAEZ,eAAU,GAAG;YACX,qCAAiB;YACjB,6BAAgB;YAChB,6DAA6B;YAC7B,qCAAiB;SAClB,CAAC;IAMJ,CAAC;IAJC,MAAM,CAAC,UAAkB;QACvB,uCAAuC;QACvC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,kBAAe,YAAY,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { CLICommand } from '../../models/command';
|
|
|
2
2
|
import type { StartCommand as StartCommandType } from '../../api/start';
|
|
3
3
|
export type Params = Parameters<StartCommandType>[0] & {
|
|
4
4
|
target: string;
|
|
5
|
+
csr?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare class StartCommand extends CLICommand<Params> {
|
|
7
8
|
name: string;
|
|
@@ -97,6 +97,11 @@ class StartCommand extends command_1.CLICommand {
|
|
|
97
97
|
transformer: (value) => value !== 'false',
|
|
98
98
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
99
99
|
},
|
|
100
|
+
{
|
|
101
|
+
name: '--csr',
|
|
102
|
+
value: '[csr]',
|
|
103
|
+
description: 'Run with Client-Side rendering mode',
|
|
104
|
+
},
|
|
100
105
|
];
|
|
101
106
|
this.alias = 's';
|
|
102
107
|
this.validators = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/start/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,mFAAgF;AAChF,mFAAgF;AAChF,2GAAwG;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/start/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,11 @@ class StartProdCommand extends command_1.CLICommand {
|
|
|
65
65
|
transformer: (value) => value !== 'false',
|
|
66
66
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
67
67
|
},
|
|
68
|
+
{
|
|
69
|
+
name: '--csr',
|
|
70
|
+
value: '[csr]',
|
|
71
|
+
description: 'Run with Client-Side rendering mode',
|
|
72
|
+
},
|
|
68
73
|
];
|
|
69
74
|
this.alias = 'sp';
|
|
70
75
|
this.validators = [checkConfigExists_1.checkConfigExists, checkBuild_1.checkApplication, runMigrationsAndCheckVersions_1.runMigrationsAndCheckVersions];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/start-prod/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,mFAAgF;AAChF,qEAAwE;AACxE,2GAAwG;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/start-prod/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,mFAAgF;AAChF,qEAAwE;AACxE,2GAAwG;AAgBxG,MAAa,gBAAiB,SAAQ,oBAAkB;IAAxD;;QACE,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,mCAAmC,CAAC;QAElD,YAAO,GAAG,qBAAqB,CAAC;QAEhC,YAAO,GAAG;YACR;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,qCAAqC;gBAClD,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACzC,WAAW,EACT,+GAA+G;aAClH;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,yEAAyE;aACvF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,8BAA8B;aAC5C;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yCAAyC;aACvD;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACzC,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,qCAAqC;aACnD;SACF,CAAC;QAEF,UAAK,GAAG,IAAI,CAAC;QAEb,eAAU,GAAG,CAAC,qCAAiB,EAAE,6BAAgB,EAAE,6DAA6B,CAAC,CAAC;IAMpF,CAAC;IAJC,MAAM,CAAC,UAAkB;QACvB,uCAAuC;QACvC,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;CACF;AA7ED,4CA6EC"}
|
|
@@ -7,15 +7,12 @@ const intersection_1 = tslib_1.__importDefault(require("@tinkoff/utils/array/int
|
|
|
7
7
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
8
|
const execa_1 = require("execa");
|
|
9
9
|
const wait_on_1 = tslib_1.__importDefault(require("wait-on"));
|
|
10
|
-
const webpackBuild_1 = tslib_1.__importDefault(require("../../utils/webpackBuild"));
|
|
11
|
-
const prod_1 = require("../../library/webpack/application/client/prod");
|
|
12
|
-
const prod_2 = require("../../library/webpack/application/server/prod");
|
|
13
10
|
const configManager_1 = require("../../config/configManager");
|
|
14
11
|
const request_1 = require("./request");
|
|
15
12
|
const generate_1 = require("./generate");
|
|
16
|
-
const toWebpackConfig_1 = require("../../library/webpack/utils/toWebpackConfig");
|
|
17
13
|
const copyStatsJsonFile_1 = require("../../builder/webpack/utils/copyStatsJsonFile");
|
|
18
14
|
const safeRequire_1 = require("../../utils/safeRequire");
|
|
15
|
+
const index_1 = require("../index");
|
|
19
16
|
const staticServer_1 = require("./staticServer");
|
|
20
17
|
const server_1 = require("./server");
|
|
21
18
|
// eslint-disable-next-line max-statements
|
|
@@ -24,11 +21,7 @@ const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, v
|
|
|
24
21
|
const clientConfigManager = new configManager_1.ConfigManager(configEntry, Object.assign(Object.assign({ env: 'production' }, options), { buildType: 'client', modern: false }));
|
|
25
22
|
const serverConfigManager = clientConfigManager.withSettings({ buildType: 'server' });
|
|
26
23
|
if (options.buildType !== 'none') {
|
|
27
|
-
|
|
28
|
-
yield Promise.all([
|
|
29
|
-
(0, webpackBuild_1.default)(clientConfigManager, (0, toWebpackConfig_1.toWebpackConfig)((0, prod_1.webpackClientConfig)({ configManager: clientConfigManager })), context),
|
|
30
|
-
(0, webpackBuild_1.default)(serverConfigManager, (0, toWebpackConfig_1.toWebpackConfig)((0, prod_2.webpackServerConfig)({ configManager: serverConfigManager })), context),
|
|
31
|
-
]);
|
|
24
|
+
yield index_1.app.run('build', options);
|
|
32
25
|
yield (0, copyStatsJsonFile_1.copyStatsJsonFileToServerDirectory)(clientConfigManager);
|
|
33
26
|
}
|
|
34
27
|
else {
|
|
@@ -69,6 +62,10 @@ const staticApp = (context, configEntry, options) => tslib_1.__awaiter(void 0, v
|
|
|
69
62
|
if (options.onlyPages) {
|
|
70
63
|
paths = (0, intersection_1.default)(paths, options.onlyPages);
|
|
71
64
|
}
|
|
65
|
+
else if (options.csr) {
|
|
66
|
+
// implicit connection with packages/modules/page-render-mode/src/ForceCSRModule.ts
|
|
67
|
+
paths = ['/__csr_fallback__/'];
|
|
68
|
+
}
|
|
72
69
|
context.logger.event({
|
|
73
70
|
type: 'debug',
|
|
74
71
|
event: 'COMMAND:STATIC:GENERATE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/commands/static/application.ts"],"names":[],"mappings":";;;;AAAA,kFAAkD;AAClD,6FAA6D;AAE7D,wDAAwB;AACxB,iCAA6B;AAC7B,8DAA6B;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/commands/static/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,11 @@ class StaticCommand extends command_1.CLICommand {
|
|
|
39
39
|
transformer: (value) => value !== 'false',
|
|
40
40
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
41
41
|
},
|
|
42
|
+
{
|
|
43
|
+
name: '--csr',
|
|
44
|
+
value: '[csr]',
|
|
45
|
+
description: 'Generate Fallback for Client-Side rendering mode',
|
|
46
|
+
},
|
|
42
47
|
];
|
|
43
48
|
this.alias = 'st';
|
|
44
49
|
this.validators = [checkBuild_1.checkApplication, runMigrationsAndCheckVersions_1.runMigrationsAndCheckVersions];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/static/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,2GAAwG;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/static/command.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,qEAAwE;AACxE,2GAAwG;AAWxG,MAAa,aAAc,SAAQ,oBAAkB;IAArD;;QACE,SAAI,GAAG,QAAQ,CAAC;QAEhB,gBAAW,GAAG,oDAAoD,CAAC;QAEnE,YAAO,GAAG,iBAAiB,CAAC;QAE5B,YAAO,GAAG;YACR;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,yCAAyC;aACvD;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,sCAAsC;aACpD;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,uBAAuB;gBACpC,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChD,WAAW,EAAE,mEAAmE;aACjF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO;gBACzC,WAAW,EAAE,2DAA2D;aACzE;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF,CAAC;QAEF,UAAK,GAAG,IAAI,CAAC;QAEb,eAAU,GAAG,CAAC,6BAAgB,EAAE,6DAA6B,CAAC,CAAC;IAMjE,CAAC;IAJC,MAAM,CAAC,UAAkB;QACvB,uCAAuC;QACvC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;CACF;AAnDD,sCAmDC"}
|
|
@@ -25,6 +25,7 @@ export interface Settings<E extends Env> {
|
|
|
25
25
|
onlyBundles?: string[];
|
|
26
26
|
disableProdOptimization?: boolean;
|
|
27
27
|
fileCache?: boolean;
|
|
28
|
+
csr?: boolean;
|
|
28
29
|
}
|
|
29
30
|
export declare class ConfigManager<T extends ConfigEntry = ConfigEntry, E extends Env = any> implements Required<Settings<E>> {
|
|
30
31
|
private configEntry;
|
|
@@ -59,6 +60,7 @@ export declare class ConfigManager<T extends ConfigEntry = ConfigEntry, E extend
|
|
|
59
60
|
fileCache: boolean;
|
|
60
61
|
experiments: T['commands'][E extends 'development' ? 'serve' : 'build']['configurations']['experiments'];
|
|
61
62
|
showConfig: boolean;
|
|
63
|
+
csr: boolean;
|
|
62
64
|
constructor(configEntry: T, settings: Settings<E>);
|
|
63
65
|
onlyBundles: string[];
|
|
64
66
|
getBuildPath(): string;
|
|
@@ -67,6 +69,8 @@ export declare class ConfigManager<T extends ConfigEntry = ConfigEntry, E extend
|
|
|
67
69
|
configEntry: T;
|
|
68
70
|
settings: {
|
|
69
71
|
rootDir: string;
|
|
72
|
+
stdout: any;
|
|
73
|
+
stderr: any;
|
|
70
74
|
env?: E;
|
|
71
75
|
version?: string;
|
|
72
76
|
buildType?: BuildType;
|
|
@@ -87,6 +91,7 @@ export declare class ConfigManager<T extends ConfigEntry = ConfigEntry, E extend
|
|
|
87
91
|
onlyBundles?: string[];
|
|
88
92
|
disableProdOptimization?: boolean;
|
|
89
93
|
fileCache?: boolean;
|
|
94
|
+
csr?: boolean;
|
|
90
95
|
};
|
|
91
96
|
};
|
|
92
97
|
static rehydrate(state: ReturnType<ConfigManager['dehydrate']>): ConfigManager<ConfigEntry, any>;
|
|
@@ -22,7 +22,7 @@ const getOption = (optionName, cfgs, dflt) => {
|
|
|
22
22
|
class ConfigManager {
|
|
23
23
|
// eslint-disable-next-line complexity,max-statements
|
|
24
24
|
constructor(configEntry, settings) {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
25
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
26
26
|
this.configEntry = configEntry;
|
|
27
27
|
this.name = configEntry.name;
|
|
28
28
|
this.type = configEntry.type;
|
|
@@ -73,6 +73,7 @@ class ConfigManager {
|
|
|
73
73
|
? (_l = this.serve.configurations) === null || _l === void 0 ? void 0 : _l.experiments
|
|
74
74
|
: (_m = this.build.configurations) === null || _m === void 0 ? void 0 : _m.experiments)) !== null && _o !== void 0 ? _o : {};
|
|
75
75
|
this.showConfig = (_p = settings.showConfig) !== null && _p !== void 0 ? _p : false;
|
|
76
|
+
this.csr = (_q = settings.csr) !== null && _q !== void 0 ? _q : false;
|
|
76
77
|
if (this.showConfig) {
|
|
77
78
|
(0, showConfig_1.showConfig)(this);
|
|
78
79
|
}
|
|
@@ -97,7 +98,9 @@ class ConfigManager {
|
|
|
97
98
|
dehydrate() {
|
|
98
99
|
return {
|
|
99
100
|
configEntry: this.configEntry,
|
|
100
|
-
settings: Object.assign(Object.assign({}, this.settings), { rootDir: this.rootDir
|
|
101
|
+
settings: Object.assign(Object.assign({}, this.settings), { rootDir: this.rootDir,
|
|
102
|
+
// drop options that couldn't be serialized
|
|
103
|
+
stdout: undefined, stderr: undefined }),
|
|
101
104
|
};
|
|
102
105
|
}
|
|
103
106
|
static rehydrate(state) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":";;;;AAAA,wEAA0C;AAC1C,8EAA8C;AAC9C,+BAA+B;AAI/B,yCAAsC;AACtC,mFAAmD;AACnD,4DAAyD;AAEzD,6CAA0C;
|
|
1
|
+
{"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const shouldUseReactRoot_1 = require("../../../utils/shouldUseReactRoot");
|
|
|
5
5
|
const configToEnv = (configManager) => (config) => {
|
|
6
6
|
const { fileSystemPages } = configManager.build.configurations;
|
|
7
7
|
config.plugin('define').tap((args) => [
|
|
8
|
-
Object.assign(Object.assign({}, args[0]), { 'process.env.__TRAMVAI_EXPERIMENTAL_ENABLE_FILE_SYSTEM_PAGES': JSON.stringify(fileSystemPages.enable), 'process.env.__TRAMVAI_EXPERIMENTAL_FILE_SYSTEM_ROUTES_DIR': JSON.stringify(fileSystemPages.routesDir), 'process.env.__TRAMVAI_EXPERIMENTAL_FILE_SYSTEM_PAGES_DIR': JSON.stringify(fileSystemPages.pagesDir), 'process.env.__TRAMVAI_CONCURRENT_FEATURES': JSON.stringify((0, shouldUseReactRoot_1.shouldUseReactRoot)()) }),
|
|
8
|
+
Object.assign(Object.assign({}, args[0]), { 'process.env.__TRAMVAI_EXPERIMENTAL_ENABLE_FILE_SYSTEM_PAGES': JSON.stringify(fileSystemPages.enable), 'process.env.__TRAMVAI_EXPERIMENTAL_FILE_SYSTEM_ROUTES_DIR': JSON.stringify(fileSystemPages.routesDir), 'process.env.__TRAMVAI_EXPERIMENTAL_FILE_SYSTEM_PAGES_DIR': JSON.stringify(fileSystemPages.pagesDir), 'process.env.__TRAMVAI_CONCURRENT_FEATURES': JSON.stringify((0, shouldUseReactRoot_1.shouldUseReactRoot)()), 'process.env.__TRAMVAI_FORCE_CLIENT_SIDE_RENDERING': JSON.stringify(configManager.csr) }),
|
|
9
9
|
]);
|
|
10
10
|
};
|
|
11
11
|
exports.configToEnv = configToEnv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configToEnv.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/configToEnv.ts"],"names":[],"mappings":";;;AAGA,0EAAuE;AAEhE,MAAM,WAAW,GAAG,CAAC,aAAyC,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3F,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC;IAE/D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,6DAA6D,EAAE,IAAI,CAAC,SAAS,CAC3E,eAAe,CAAC,MAAM,CACvB,EACD,2DAA2D,EAAE,IAAI,CAAC,SAAS,CACzE,eAAe,CAAC,SAAS,CAC1B,EACD,0DAA0D,EAAE,IAAI,CAAC,SAAS,CACxE,eAAe,CAAC,QAAQ,CACzB,EACD,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAkB,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"configToEnv.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/configToEnv.ts"],"names":[],"mappings":";;;AAGA,0EAAuE;AAEhE,MAAM,WAAW,GAAG,CAAC,aAAyC,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3F,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC;IAE/D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wCAE/B,IAAI,CAAC,CAAC,CAAC,KACV,6DAA6D,EAAE,IAAI,CAAC,SAAS,CAC3E,eAAe,CAAC,MAAM,CACvB,EACD,2DAA2D,EAAE,IAAI,CAAC,SAAS,CACzE,eAAe,CAAC,SAAS,CAC1B,EACD,0DAA0D,EAAE,IAAI,CAAC,SAAS,CACxE,eAAe,CAAC,QAAQ,CACzB,EACD,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAkB,GAAE,CAAC,EACjF,mDAAmD,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;KAEzF,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.64.0",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@tinkoff/request-plugin-protocol-http": "^0.11.6",
|
|
69
69
|
"@tinkoff/utils": "^2.1.3",
|
|
70
70
|
"@tramvai/build": "3.0.7",
|
|
71
|
-
"@tramvai/react": "2.
|
|
71
|
+
"@tramvai/react": "2.64.0",
|
|
72
72
|
"@tramvai/tools-check-versions": "0.4.7",
|
|
73
73
|
"@tramvai/tools-migrate": "0.6.8",
|
|
74
74
|
"ajv": "^6.12.6",
|
|
@@ -7,6 +7,7 @@ import type { BuildCommand as BuildCommandType } from '../../api/build';
|
|
|
7
7
|
|
|
8
8
|
export type Params = Parameters<BuildCommandType>[0] & {
|
|
9
9
|
target: string;
|
|
10
|
+
csr?: boolean;
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
class BuildCommand extends CLICommand<Params> {
|
|
@@ -56,6 +57,11 @@ class BuildCommand extends CLICommand<Params> {
|
|
|
56
57
|
transformer: (value) => value !== 'false',
|
|
57
58
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
58
59
|
},
|
|
60
|
+
{
|
|
61
|
+
name: '--csr',
|
|
62
|
+
value: '[csr]',
|
|
63
|
+
description: 'Build for Client-Side rendering mode',
|
|
64
|
+
},
|
|
59
65
|
];
|
|
60
66
|
|
|
61
67
|
alias = 'b';
|
|
@@ -7,6 +7,7 @@ import type { StartCommand as StartCommandType } from '../../api/start';
|
|
|
7
7
|
|
|
8
8
|
export type Params = Parameters<StartCommandType>[0] & {
|
|
9
9
|
target: string;
|
|
10
|
+
csr?: boolean;
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
export class StartCommand extends CLICommand<Params> {
|
|
@@ -104,6 +105,11 @@ export class StartCommand extends CLICommand<Params> {
|
|
|
104
105
|
transformer: (value) => value !== 'false',
|
|
105
106
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
106
107
|
},
|
|
108
|
+
{
|
|
109
|
+
name: '--csr',
|
|
110
|
+
value: '[csr]',
|
|
111
|
+
description: 'Run with Client-Side rendering mode',
|
|
112
|
+
},
|
|
107
113
|
];
|
|
108
114
|
|
|
109
115
|
alias = 's';
|
|
@@ -14,6 +14,7 @@ export interface Params {
|
|
|
14
14
|
sourceMap?: boolean;
|
|
15
15
|
resolveSymlinks?: boolean;
|
|
16
16
|
showConfig?: boolean;
|
|
17
|
+
csr?: boolean;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export class StartProdCommand extends CLICommand<Params> {
|
|
@@ -78,6 +79,11 @@ export class StartProdCommand extends CLICommand<Params> {
|
|
|
78
79
|
transformer: (value) => value !== 'false',
|
|
79
80
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
80
81
|
},
|
|
82
|
+
{
|
|
83
|
+
name: '--csr',
|
|
84
|
+
value: '[csr]',
|
|
85
|
+
description: 'Run with Client-Side rendering mode',
|
|
86
|
+
},
|
|
81
87
|
];
|
|
82
88
|
|
|
83
89
|
alias = 'sp';
|
|
@@ -17,6 +17,7 @@ import { generateStatic } from './generate';
|
|
|
17
17
|
import { toWebpackConfig } from '../../library/webpack/utils/toWebpackConfig';
|
|
18
18
|
import { copyStatsJsonFileToServerDirectory } from '../../builder/webpack/utils/copyStatsJsonFile';
|
|
19
19
|
import { safeRequire } from '../../utils/safeRequire';
|
|
20
|
+
import { app } from '../index';
|
|
20
21
|
import { startStaticServer } from './staticServer';
|
|
21
22
|
import { startServer } from './server';
|
|
22
23
|
|
|
@@ -35,20 +36,7 @@ export const staticApp = async (
|
|
|
35
36
|
const serverConfigManager = clientConfigManager.withSettings({ buildType: 'server' });
|
|
36
37
|
|
|
37
38
|
if (options.buildType !== 'none') {
|
|
38
|
-
|
|
39
|
-
await Promise.all([
|
|
40
|
-
webpackBuild(
|
|
41
|
-
clientConfigManager,
|
|
42
|
-
toWebpackConfig(webpackClientConfig({ configManager: clientConfigManager })),
|
|
43
|
-
context
|
|
44
|
-
),
|
|
45
|
-
webpackBuild(
|
|
46
|
-
serverConfigManager,
|
|
47
|
-
toWebpackConfig(webpackServerConfig({ configManager: serverConfigManager })),
|
|
48
|
-
context
|
|
49
|
-
),
|
|
50
|
-
]);
|
|
51
|
-
|
|
39
|
+
await app.run('build', options);
|
|
52
40
|
await copyStatsJsonFileToServerDirectory(clientConfigManager);
|
|
53
41
|
} else {
|
|
54
42
|
context.logger.event({
|
|
@@ -114,6 +102,9 @@ export const staticApp = async (
|
|
|
114
102
|
|
|
115
103
|
if (options.onlyPages) {
|
|
116
104
|
paths = intersection(paths, options.onlyPages);
|
|
105
|
+
} else if (options.csr) {
|
|
106
|
+
// implicit connection with packages/modules/page-render-mode/src/ForceCSRModule.ts
|
|
107
|
+
paths = ['/__csr_fallback__/'];
|
|
117
108
|
}
|
|
118
109
|
|
|
119
110
|
context.logger.event({
|
|
@@ -8,6 +8,7 @@ export type Params = {
|
|
|
8
8
|
serve?: boolean;
|
|
9
9
|
buildType: 'all' | 'none';
|
|
10
10
|
onlyPages?: string[];
|
|
11
|
+
csr?: boolean;
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
export class StaticCommand extends CLICommand<Params> {
|
|
@@ -46,6 +47,11 @@ export class StaticCommand extends CLICommand<Params> {
|
|
|
46
47
|
transformer: (value) => value !== 'false',
|
|
47
48
|
description: 'Enable/disable persistent file cache for used cli builder',
|
|
48
49
|
},
|
|
50
|
+
{
|
|
51
|
+
name: '--csr',
|
|
52
|
+
value: '[csr]',
|
|
53
|
+
description: 'Generate Fallback for Client-Side rendering mode',
|
|
54
|
+
},
|
|
49
55
|
];
|
|
50
56
|
|
|
51
57
|
alias = 'st';
|
|
@@ -33,6 +33,8 @@ export interface Settings<E extends Env> {
|
|
|
33
33
|
onlyBundles?: string[];
|
|
34
34
|
disableProdOptimization?: boolean;
|
|
35
35
|
fileCache?: boolean;
|
|
36
|
+
// force client-side rendering mode
|
|
37
|
+
csr?: boolean;
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
const getOption = <T>(optionName: string, cfgs: any[], dflt?: T): T => {
|
|
@@ -117,6 +119,9 @@ export class ConfigManager<T extends ConfigEntry = ConfigEntry, E extends Env =
|
|
|
117
119
|
: 'build']['configurations']['experiments'];
|
|
118
120
|
|
|
119
121
|
public showConfig: boolean;
|
|
122
|
+
|
|
123
|
+
public csr: boolean;
|
|
124
|
+
|
|
120
125
|
// eslint-disable-next-line complexity,max-statements
|
|
121
126
|
constructor(configEntry: T, settings: Settings<E>) {
|
|
122
127
|
this.configEntry = configEntry;
|
|
@@ -180,6 +185,7 @@ export class ConfigManager<T extends ConfigEntry = ConfigEntry, E extends Env =
|
|
|
180
185
|
? this.serve.configurations?.experiments
|
|
181
186
|
: this.build.configurations?.experiments) ?? {};
|
|
182
187
|
this.showConfig = settings.showConfig ?? false;
|
|
188
|
+
this.csr = settings.csr ?? false;
|
|
183
189
|
|
|
184
190
|
if (this.showConfig) {
|
|
185
191
|
showConfig(this);
|
|
@@ -226,6 +232,9 @@ export class ConfigManager<T extends ConfigEntry = ConfigEntry, E extends Env =
|
|
|
226
232
|
settings: {
|
|
227
233
|
...this.settings,
|
|
228
234
|
rootDir: this.rootDir,
|
|
235
|
+
// drop options that couldn't be serialized
|
|
236
|
+
stdout: undefined,
|
|
237
|
+
stderr: undefined,
|
|
229
238
|
},
|
|
230
239
|
};
|
|
231
240
|
}
|
|
@@ -19,6 +19,7 @@ export const configToEnv = (configManager: ConfigManager<ConfigEntry>) => (confi
|
|
|
19
19
|
fileSystemPages.pagesDir
|
|
20
20
|
),
|
|
21
21
|
'process.env.__TRAMVAI_CONCURRENT_FEATURES': JSON.stringify(shouldUseReactRoot()),
|
|
22
|
+
'process.env.__TRAMVAI_FORCE_CLIENT_SIDE_RENDERING': JSON.stringify(configManager.csr),
|
|
22
23
|
},
|
|
23
24
|
]);
|
|
24
25
|
};
|