@tramvai/cli 2.125.3 → 2.125.4
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.
|
@@ -44,7 +44,7 @@ const resolveFrameworksPaths = (rootDir, frameworksList) => {
|
|
|
44
44
|
};
|
|
45
45
|
// eslint-disable-next-line max-statements
|
|
46
46
|
const splitChunksConfig = (configManager) => (config) => {
|
|
47
|
-
const { rootDir, splitChunks } = configManager;
|
|
47
|
+
const { rootDir, splitChunks, env } = configManager;
|
|
48
48
|
const topLevelFrameworkPaths = resolveFrameworksPaths(rootDir, ['react', 'react-dom']);
|
|
49
49
|
const reactCacheGroup = {
|
|
50
50
|
chunks: 'all',
|
|
@@ -65,7 +65,25 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
65
65
|
};
|
|
66
66
|
let webpackSplitChunks = false;
|
|
67
67
|
switch (splitChunks.mode) {
|
|
68
|
-
case 'granularChunks':
|
|
68
|
+
case 'granularChunks': {
|
|
69
|
+
const shared = {
|
|
70
|
+
chunks: 'async',
|
|
71
|
+
minChunks: splitChunks.granularChunksSplitNumber,
|
|
72
|
+
minSize: splitChunks.granularChunksMinSize,
|
|
73
|
+
reuseExistingChunk: true,
|
|
74
|
+
priority: 30,
|
|
75
|
+
};
|
|
76
|
+
// for development, default name implementation is faster and readable
|
|
77
|
+
if (env === 'production') {
|
|
78
|
+
shared.name = (module, chunks = []) => {
|
|
79
|
+
return crypto_1.default
|
|
80
|
+
.createHash('sha1')
|
|
81
|
+
.update(chunks.reduce((acc, chunk) => {
|
|
82
|
+
return acc + chunk.name;
|
|
83
|
+
}, ''))
|
|
84
|
+
.digest('hex');
|
|
85
|
+
};
|
|
86
|
+
}
|
|
69
87
|
webpackSplitChunks = {
|
|
70
88
|
chunks: 'all',
|
|
71
89
|
maxInitialRequests: 10,
|
|
@@ -74,25 +92,12 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
74
92
|
default: false,
|
|
75
93
|
defaultVendors: false,
|
|
76
94
|
reactCacheGroup,
|
|
77
|
-
shared
|
|
78
|
-
chunks: 'async',
|
|
79
|
-
minChunks: splitChunks.granularChunksSplitNumber,
|
|
80
|
-
minSize: splitChunks.granularChunksMinSize,
|
|
81
|
-
reuseExistingChunk: true,
|
|
82
|
-
priority: 30,
|
|
83
|
-
name(module, chunks) {
|
|
84
|
-
return crypto_1.default
|
|
85
|
-
.createHash('sha1')
|
|
86
|
-
.update(chunks.reduce((acc, chunk) => {
|
|
87
|
-
return acc + chunk.name;
|
|
88
|
-
}, ''))
|
|
89
|
-
.digest('hex');
|
|
90
|
-
},
|
|
91
|
-
},
|
|
95
|
+
shared,
|
|
92
96
|
},
|
|
93
97
|
};
|
|
94
98
|
break;
|
|
95
|
-
|
|
99
|
+
}
|
|
100
|
+
case 'commonChunk': {
|
|
96
101
|
webpackSplitChunks = {
|
|
97
102
|
cacheGroups: {
|
|
98
103
|
default: false,
|
|
@@ -106,6 +111,7 @@ const splitChunksConfig = (configManager) => (config) => {
|
|
|
106
111
|
},
|
|
107
112
|
};
|
|
108
113
|
break;
|
|
114
|
+
}
|
|
109
115
|
}
|
|
110
116
|
const { hotRefresh } = configManager;
|
|
111
117
|
if ((hotRefresh === null || hotRefresh === void 0 ? void 0 : hotRefresh.enabled) && webpackSplitChunks) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitChunks.js","sourceRoot":"","sources":["../../../../../../../src/library/webpack/application/client/prod/optimization/splitChunks.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAGxB,4DAA4B;AAO5B,qJAAqJ;AACrJ,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,cAAwB,EAAE,EAAE;IAC3E,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnD,iDAAiD;IACjD,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,YAAoB,EAAE,EAAE;QACnE,IAAI;YACF,IAAI,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBAC7C,OAAO;aACR;YAED,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,EAAE;gBACrE,KAAK,EAAE,CAAC,YAAY,CAAC;aACtB,CAAC,CAAC;YAEH,6FAA6F;YAC7F,0EAA0E;YAC1E,eAAe;YACf,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAEpD,yFAAyF;YACzF,IAAI,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO;YACvD,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YAEjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC5C,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACjC;SACF;QAAC,OAAO,CAAC,EAAE;YACV,uDAAuD;SACxD;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,cAAc,EAAE;QACxC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACtC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAEF,0CAA0C;AACnC,MAAM,iBAAiB,GAC5B,CAAC,aAAoD,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"splitChunks.js","sourceRoot":"","sources":["../../../../../../../src/library/webpack/application/client/prod/optimization/splitChunks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "2.125.
|
|
3
|
+
"version": "2.125.4",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@tinkoff/utils": "^2.1.3",
|
|
72
72
|
"@tinkoff/webpack-dedupe-plugin": "1.0.5",
|
|
73
73
|
"@tramvai/build": "3.1.3",
|
|
74
|
-
"@tramvai/react": "2.125.
|
|
74
|
+
"@tramvai/react": "2.125.4",
|
|
75
75
|
"@tramvai/tools-check-versions": "0.4.15",
|
|
76
76
|
"@tramvai/tools-migrate": "0.6.19",
|
|
77
77
|
"ajv": "^6.12.6",
|
|
@@ -57,7 +57,7 @@ const resolveFrameworksPaths = (rootDir: string, frameworksList: string[]) => {
|
|
|
57
57
|
// eslint-disable-next-line max-statements
|
|
58
58
|
export const splitChunksConfig =
|
|
59
59
|
(configManager: ConfigManager<ApplicationConfigEntry>) => (config: Config) => {
|
|
60
|
-
const { rootDir, splitChunks } = configManager;
|
|
60
|
+
const { rootDir, splitChunks, env } = configManager;
|
|
61
61
|
|
|
62
62
|
const topLevelFrameworkPaths = resolveFrameworksPaths(rootDir, ['react', 'react-dom']);
|
|
63
63
|
|
|
@@ -85,7 +85,29 @@ export const splitChunksConfig =
|
|
|
85
85
|
let webpackSplitChunks: SplitChunksOptions = false;
|
|
86
86
|
|
|
87
87
|
switch (splitChunks.mode) {
|
|
88
|
-
case 'granularChunks':
|
|
88
|
+
case 'granularChunks': {
|
|
89
|
+
const shared: any = {
|
|
90
|
+
chunks: 'async',
|
|
91
|
+
minChunks: splitChunks.granularChunksSplitNumber,
|
|
92
|
+
minSize: splitChunks.granularChunksMinSize,
|
|
93
|
+
reuseExistingChunk: true,
|
|
94
|
+
priority: 30,
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
// for development, default name implementation is faster and readable
|
|
98
|
+
if (env === 'production') {
|
|
99
|
+
shared.name = (module: any, chunks: webpack.Chunk[] = []) => {
|
|
100
|
+
return crypto
|
|
101
|
+
.createHash('sha1')
|
|
102
|
+
.update(
|
|
103
|
+
chunks.reduce((acc: string, chunk: webpack.Chunk) => {
|
|
104
|
+
return acc + chunk.name;
|
|
105
|
+
}, '')
|
|
106
|
+
)
|
|
107
|
+
.digest('hex');
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
89
111
|
webpackSplitChunks = {
|
|
90
112
|
chunks: 'all',
|
|
91
113
|
maxInitialRequests: 10,
|
|
@@ -94,27 +116,12 @@ export const splitChunksConfig =
|
|
|
94
116
|
default: false,
|
|
95
117
|
defaultVendors: false,
|
|
96
118
|
reactCacheGroup,
|
|
97
|
-
shared
|
|
98
|
-
chunks: 'async',
|
|
99
|
-
minChunks: splitChunks.granularChunksSplitNumber,
|
|
100
|
-
minSize: splitChunks.granularChunksMinSize,
|
|
101
|
-
reuseExistingChunk: true,
|
|
102
|
-
priority: 30,
|
|
103
|
-
name(module: any, chunks: webpack.Chunk[]) {
|
|
104
|
-
return crypto
|
|
105
|
-
.createHash('sha1')
|
|
106
|
-
.update(
|
|
107
|
-
chunks.reduce((acc: string, chunk: webpack.Chunk) => {
|
|
108
|
-
return acc + chunk.name;
|
|
109
|
-
}, '')
|
|
110
|
-
)
|
|
111
|
-
.digest('hex');
|
|
112
|
-
},
|
|
113
|
-
},
|
|
119
|
+
shared,
|
|
114
120
|
},
|
|
115
121
|
};
|
|
116
122
|
break;
|
|
117
|
-
|
|
123
|
+
}
|
|
124
|
+
case 'commonChunk': {
|
|
118
125
|
webpackSplitChunks = {
|
|
119
126
|
cacheGroups: {
|
|
120
127
|
default: false,
|
|
@@ -128,6 +135,7 @@ export const splitChunksConfig =
|
|
|
128
135
|
},
|
|
129
136
|
};
|
|
130
137
|
break;
|
|
138
|
+
}
|
|
131
139
|
}
|
|
132
140
|
|
|
133
141
|
const { hotRefresh } = configManager;
|