@tramvai/cli 4.41.99 → 4.41.104
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/builder/webpack/devServer/server.d.ts.map +1 -1
- package/lib/builder/webpack/devServer/server.js +4 -0
- package/lib/builder/webpack/devServer/server.js.map +1 -1
- package/lib/builder/webpack/tokens.d.ts +3 -0
- package/lib/builder/webpack/tokens.d.ts.map +1 -1
- package/lib/config/configManager.js +2 -2
- package/lib/config/configManager.js.map +1 -1
- package/lib/di/tokens/config.d.ts +1 -0
- package/lib/di/tokens/config.d.ts.map +1 -1
- package/lib/library/webpack/application/client/common.d.ts.map +1 -1
- package/lib/library/webpack/application/client/common.js +27 -2
- package/lib/library/webpack/application/client/common.js.map +1 -1
- package/lib/library/webpack/constants/stats.d.ts.map +1 -1
- package/lib/library/webpack/constants/stats.js +2 -0
- package/lib/library/webpack/constants/stats.js.map +1 -1
- package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.d.ts +8 -0
- package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.d.ts.map +1 -0
- package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.js +30 -0
- package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.js.map +1 -0
- package/lib/schema/autogeneratedSchema.json +135 -15
- package/lib/typings/configEntry/cli.d.ts +13 -0
- package/lib/typings/configEntry/cli.d.ts.map +1 -1
- package/package.json +7 -6
- package/schema.json +135 -15
- package/src/builder/webpack/devServer/server.ts +5 -0
- package/src/config/configManager.ts +2 -2
- package/src/library/webpack/application/client/common.ts +33 -2
- package/src/library/webpack/constants/stats.ts +2 -0
- package/src/library/webpack/plugins/AssetsIntegritiesPlugin.ts +36 -0
- package/src/models/config.spec.ts +4 -0
- package/src/schema/autogeneratedSchema.json +135 -15
- package/src/schema/tramvai.spec.ts +2 -0
- package/src/typings/configEntry/cli.ts +14 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "4.41.
|
|
3
|
+
"version": "4.41.104",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"@tinkoff/babel-plugin-lodash": "^0.1.0",
|
|
66
66
|
"@tinkoff/browserslist-config": "0.4.5",
|
|
67
67
|
"@tinkoff/dippy": "0.10.11",
|
|
68
|
-
"@tinkoff/is-modern-lib": "4.0.
|
|
69
|
-
"@tinkoff/logger": "0.10.286",
|
|
68
|
+
"@tinkoff/is-modern-lib": "4.0.4",
|
|
69
|
+
"@tinkoff/logger": "^0.10.286",
|
|
70
70
|
"@tinkoff/minicss-class-generator": "0.4.3",
|
|
71
71
|
"@tinkoff/package-manager-wrapper": "0.3.4",
|
|
72
72
|
"@tinkoff/request-core": "^0.10.0",
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"@tinkoff/utils": "^2.1.3",
|
|
76
76
|
"@tinkoff/webpack-dedupe-plugin": "3.0.3",
|
|
77
77
|
"@tramvai/build": "5.0.7",
|
|
78
|
-
"@tramvai/react": "4.41.
|
|
79
|
-
"@tramvai/tools-check-versions": "0.6.
|
|
80
|
-
"@tramvai/tools-migrate": "0.8.
|
|
78
|
+
"@tramvai/react": "4.41.104",
|
|
79
|
+
"@tramvai/tools-check-versions": "0.6.15",
|
|
80
|
+
"@tramvai/tools-migrate": "0.8.16",
|
|
81
81
|
"ajv": "^8.12.0",
|
|
82
82
|
"ansi-escapes": "^4.3.2",
|
|
83
83
|
"autoprefixer": "^10.4.8",
|
|
@@ -171,6 +171,7 @@
|
|
|
171
171
|
"webpack-hot-middleware": "^2.26.0",
|
|
172
172
|
"webpack-sources": "^3.2.3",
|
|
173
173
|
"webpack-stats-plugin": "^1.1.3",
|
|
174
|
+
"webpack-subresource-integrity": "^5.2.0-rc.1",
|
|
174
175
|
"webpackbar": "^5.0.2",
|
|
175
176
|
"workbox-build": "^6.6.1",
|
|
176
177
|
"workbox-webpack-plugin": "^6.6.1",
|
package/schema.json
CHANGED
|
@@ -998,6 +998,46 @@
|
|
|
998
998
|
}
|
|
999
999
|
]
|
|
1000
1000
|
},
|
|
1001
|
+
"integrity": {
|
|
1002
|
+
"title": "Integrity generation options",
|
|
1003
|
+
"default": false,
|
|
1004
|
+
"anyOf": [
|
|
1005
|
+
{
|
|
1006
|
+
"type": "object",
|
|
1007
|
+
"properties": {
|
|
1008
|
+
"enabled": {
|
|
1009
|
+
"enum": [
|
|
1010
|
+
"auto",
|
|
1011
|
+
false,
|
|
1012
|
+
true
|
|
1013
|
+
]
|
|
1014
|
+
},
|
|
1015
|
+
"hashFuncNames": {
|
|
1016
|
+
"type": "array",
|
|
1017
|
+
"items": {
|
|
1018
|
+
"enum": [
|
|
1019
|
+
"sha256",
|
|
1020
|
+
"sha384",
|
|
1021
|
+
"sha512"
|
|
1022
|
+
],
|
|
1023
|
+
"type": "string"
|
|
1024
|
+
}
|
|
1025
|
+
},
|
|
1026
|
+
"hashLoading": {
|
|
1027
|
+
"enum": [
|
|
1028
|
+
"eager",
|
|
1029
|
+
"lazy"
|
|
1030
|
+
],
|
|
1031
|
+
"type": "string"
|
|
1032
|
+
}
|
|
1033
|
+
},
|
|
1034
|
+
"additionalProperties": false
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"type": "boolean"
|
|
1038
|
+
}
|
|
1039
|
+
]
|
|
1040
|
+
},
|
|
1001
1041
|
"excludesPresetEnv": {
|
|
1002
1042
|
"title": "List of modules to exclude from `@babel/preset-env`",
|
|
1003
1043
|
"description": "Option doesn't affect build with swc loader",
|
|
@@ -1220,23 +1260,23 @@
|
|
|
1220
1260
|
"dotAll": {
|
|
1221
1261
|
"type": "boolean"
|
|
1222
1262
|
},
|
|
1223
|
-
"__@match@
|
|
1263
|
+
"__@match@7872": {
|
|
1224
1264
|
"type": "object",
|
|
1225
1265
|
"additionalProperties": false
|
|
1226
1266
|
},
|
|
1227
|
-
"__@replace@
|
|
1267
|
+
"__@replace@7874": {
|
|
1228
1268
|
"type": "object",
|
|
1229
1269
|
"additionalProperties": false
|
|
1230
1270
|
},
|
|
1231
|
-
"__@search@
|
|
1271
|
+
"__@search@7877": {
|
|
1232
1272
|
"type": "object",
|
|
1233
1273
|
"additionalProperties": false
|
|
1234
1274
|
},
|
|
1235
|
-
"__@split@
|
|
1275
|
+
"__@split@7879": {
|
|
1236
1276
|
"type": "object",
|
|
1237
1277
|
"additionalProperties": false
|
|
1238
1278
|
},
|
|
1239
|
-
"__@matchAll@
|
|
1279
|
+
"__@matchAll@7881": {
|
|
1240
1280
|
"type": "object",
|
|
1241
1281
|
"additionalProperties": false
|
|
1242
1282
|
}
|
|
@@ -1592,6 +1632,46 @@
|
|
|
1592
1632
|
}
|
|
1593
1633
|
]
|
|
1594
1634
|
},
|
|
1635
|
+
"integrity": {
|
|
1636
|
+
"title": "Integrity generation options",
|
|
1637
|
+
"default": false,
|
|
1638
|
+
"anyOf": [
|
|
1639
|
+
{
|
|
1640
|
+
"type": "object",
|
|
1641
|
+
"properties": {
|
|
1642
|
+
"enabled": {
|
|
1643
|
+
"enum": [
|
|
1644
|
+
"auto",
|
|
1645
|
+
false,
|
|
1646
|
+
true
|
|
1647
|
+
]
|
|
1648
|
+
},
|
|
1649
|
+
"hashFuncNames": {
|
|
1650
|
+
"type": "array",
|
|
1651
|
+
"items": {
|
|
1652
|
+
"enum": [
|
|
1653
|
+
"sha256",
|
|
1654
|
+
"sha384",
|
|
1655
|
+
"sha512"
|
|
1656
|
+
],
|
|
1657
|
+
"type": "string"
|
|
1658
|
+
}
|
|
1659
|
+
},
|
|
1660
|
+
"hashLoading": {
|
|
1661
|
+
"enum": [
|
|
1662
|
+
"eager",
|
|
1663
|
+
"lazy"
|
|
1664
|
+
],
|
|
1665
|
+
"type": "string"
|
|
1666
|
+
}
|
|
1667
|
+
},
|
|
1668
|
+
"additionalProperties": false
|
|
1669
|
+
},
|
|
1670
|
+
{
|
|
1671
|
+
"type": "boolean"
|
|
1672
|
+
}
|
|
1673
|
+
]
|
|
1674
|
+
},
|
|
1595
1675
|
"experiments": {
|
|
1596
1676
|
"title": "Change different experimental cli settings",
|
|
1597
1677
|
"default": {},
|
|
@@ -1942,23 +2022,23 @@
|
|
|
1942
2022
|
"dotAll": {
|
|
1943
2023
|
"type": "boolean"
|
|
1944
2024
|
},
|
|
1945
|
-
"__@match@
|
|
2025
|
+
"__@match@7872": {
|
|
1946
2026
|
"type": "object",
|
|
1947
2027
|
"additionalProperties": false
|
|
1948
2028
|
},
|
|
1949
|
-
"__@replace@
|
|
2029
|
+
"__@replace@7874": {
|
|
1950
2030
|
"type": "object",
|
|
1951
2031
|
"additionalProperties": false
|
|
1952
2032
|
},
|
|
1953
|
-
"__@search@
|
|
2033
|
+
"__@search@7877": {
|
|
1954
2034
|
"type": "object",
|
|
1955
2035
|
"additionalProperties": false
|
|
1956
2036
|
},
|
|
1957
|
-
"__@split@
|
|
2037
|
+
"__@split@7879": {
|
|
1958
2038
|
"type": "object",
|
|
1959
2039
|
"additionalProperties": false
|
|
1960
2040
|
},
|
|
1961
|
-
"__@matchAll@
|
|
2041
|
+
"__@matchAll@7881": {
|
|
1962
2042
|
"type": "object",
|
|
1963
2043
|
"additionalProperties": false
|
|
1964
2044
|
}
|
|
@@ -2314,6 +2394,46 @@
|
|
|
2314
2394
|
}
|
|
2315
2395
|
]
|
|
2316
2396
|
},
|
|
2397
|
+
"integrity": {
|
|
2398
|
+
"title": "Integrity generation options",
|
|
2399
|
+
"default": false,
|
|
2400
|
+
"anyOf": [
|
|
2401
|
+
{
|
|
2402
|
+
"type": "object",
|
|
2403
|
+
"properties": {
|
|
2404
|
+
"enabled": {
|
|
2405
|
+
"enum": [
|
|
2406
|
+
"auto",
|
|
2407
|
+
false,
|
|
2408
|
+
true
|
|
2409
|
+
]
|
|
2410
|
+
},
|
|
2411
|
+
"hashFuncNames": {
|
|
2412
|
+
"type": "array",
|
|
2413
|
+
"items": {
|
|
2414
|
+
"enum": [
|
|
2415
|
+
"sha256",
|
|
2416
|
+
"sha384",
|
|
2417
|
+
"sha512"
|
|
2418
|
+
],
|
|
2419
|
+
"type": "string"
|
|
2420
|
+
}
|
|
2421
|
+
},
|
|
2422
|
+
"hashLoading": {
|
|
2423
|
+
"enum": [
|
|
2424
|
+
"eager",
|
|
2425
|
+
"lazy"
|
|
2426
|
+
],
|
|
2427
|
+
"type": "string"
|
|
2428
|
+
}
|
|
2429
|
+
},
|
|
2430
|
+
"additionalProperties": false
|
|
2431
|
+
},
|
|
2432
|
+
{
|
|
2433
|
+
"type": "boolean"
|
|
2434
|
+
}
|
|
2435
|
+
]
|
|
2436
|
+
},
|
|
2317
2437
|
"experiments": {
|
|
2318
2438
|
"title": "Change different experimental cli settings",
|
|
2319
2439
|
"default": {},
|
|
@@ -2664,23 +2784,23 @@
|
|
|
2664
2784
|
"dotAll": {
|
|
2665
2785
|
"type": "boolean"
|
|
2666
2786
|
},
|
|
2667
|
-
"__@match@
|
|
2787
|
+
"__@match@7872": {
|
|
2668
2788
|
"type": "object",
|
|
2669
2789
|
"additionalProperties": false
|
|
2670
2790
|
},
|
|
2671
|
-
"__@replace@
|
|
2791
|
+
"__@replace@7874": {
|
|
2672
2792
|
"type": "object",
|
|
2673
2793
|
"additionalProperties": false
|
|
2674
2794
|
},
|
|
2675
|
-
"__@search@
|
|
2795
|
+
"__@search@7877": {
|
|
2676
2796
|
"type": "object",
|
|
2677
2797
|
"additionalProperties": false
|
|
2678
2798
|
},
|
|
2679
|
-
"__@split@
|
|
2799
|
+
"__@split@7879": {
|
|
2680
2800
|
"type": "object",
|
|
2681
2801
|
"additionalProperties": false
|
|
2682
2802
|
},
|
|
2683
|
-
"__@matchAll@
|
|
2803
|
+
"__@matchAll@7881": {
|
|
2684
2804
|
"type": "object",
|
|
2685
2805
|
"additionalProperties": false
|
|
2686
2806
|
}
|
|
@@ -241,6 +241,11 @@ export const serverRunner = ({
|
|
|
241
241
|
|
|
242
242
|
// Проксируем также и веб-сокеты
|
|
243
243
|
server.on('upgrade', (req, socket, head) => {
|
|
244
|
+
// prevent uncaughtException when WS is not supported in application server
|
|
245
|
+
socket.on('error', (err) => {
|
|
246
|
+
console.error('[dev-server-error] websocket proxy error', err.message);
|
|
247
|
+
});
|
|
248
|
+
|
|
244
249
|
proxy.ws(req, socket, { target: `http://localhost:${workerPort}` });
|
|
245
250
|
});
|
|
246
251
|
|
|
@@ -45,7 +45,7 @@ export interface Settings<E extends Env> {
|
|
|
45
45
|
fileCache?: boolean;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
const getOption = <T>(optionName: string, cfgs: any[],
|
|
48
|
+
const getOption = <T>(optionName: string, cfgs: any[], defaultValue: T): T => {
|
|
49
49
|
const getter = prop(optionName);
|
|
50
50
|
|
|
51
51
|
for (let i = 0; i < cfgs.length; i++) {
|
|
@@ -56,7 +56,7 @@ const getOption = <T>(optionName: string, cfgs: any[], dflt: T): T => {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
return
|
|
59
|
+
return defaultValue;
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
type OmitOverridable<T extends Record<string, any>> = {
|
|
@@ -2,6 +2,7 @@ import path from 'path';
|
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import type Config from 'webpack-chain';
|
|
4
4
|
import { StatsWriterPlugin } from 'webpack-stats-plugin';
|
|
5
|
+
import { SubresourceIntegrityPlugin } from 'webpack-subresource-integrity';
|
|
5
6
|
|
|
6
7
|
import type { ConfigManager } from '../../../../config/configManager';
|
|
7
8
|
import type { ApplicationConfigEntry } from '../../../../typings/configEntry/application';
|
|
@@ -27,9 +28,11 @@ import {
|
|
|
27
28
|
WEBPACK_DEBUG_STATS_FIELDS,
|
|
28
29
|
} from '../../constants/stats';
|
|
29
30
|
import { pwaBlock } from '../../blocks/pwa/client';
|
|
31
|
+
import AssetsIntegritiesPlugin from '../../plugins/AssetsIntegritiesPlugin';
|
|
32
|
+
import type { IntegrityOptions } from '../../../../typings/configEntry/cli';
|
|
30
33
|
|
|
31
34
|
export default (configManager: ConfigManager<ApplicationConfigEntry>) => (config: Config) => {
|
|
32
|
-
const { polyfill, fileSystemPages, env } = configManager;
|
|
35
|
+
const { polyfill, fileSystemPages, env, integrity } = configManager;
|
|
33
36
|
|
|
34
37
|
const portal = path.resolve(configManager.rootDir, `packages/${process.env.APP_ID}/portal.js`);
|
|
35
38
|
const polyfillPath = path.resolve(configManager.rootDir, polyfill ?? 'src/polyfill');
|
|
@@ -59,11 +62,12 @@ export default (configManager: ConfigManager<ApplicationConfigEntry>) => (config
|
|
|
59
62
|
.when(portalExists, (cfg) => cfg.entry('portal').add(portal))
|
|
60
63
|
.when(polyfillExists, (cfg) => cfg.entry('polyfill').add(polyfillPath));
|
|
61
64
|
|
|
65
|
+
const statsFileName = configManager.modern ? 'stats.modern.json' : 'stats.json';
|
|
62
66
|
config
|
|
63
67
|
.plugin('stats-plugin')
|
|
64
68
|
.use(StatsWriterPlugin, [
|
|
65
69
|
{
|
|
66
|
-
filename:
|
|
70
|
+
filename: statsFileName,
|
|
67
71
|
stats: {
|
|
68
72
|
...(env === 'development' ? DEV_STATS_OPTIONS : DEFAULT_STATS_OPTIONS),
|
|
69
73
|
...(configManager.verboseWebpack ? WEBPACK_DEBUG_STATS_OPTIONS : {}),
|
|
@@ -84,5 +88,32 @@ export default (configManager: ConfigManager<ApplicationConfigEntry>) => (config
|
|
|
84
88
|
},
|
|
85
89
|
]);
|
|
86
90
|
|
|
91
|
+
if (integrity) {
|
|
92
|
+
const defaultIntegrityOptions: IntegrityOptions = {
|
|
93
|
+
enabled: 'auto',
|
|
94
|
+
hashFuncNames: ['sha256'],
|
|
95
|
+
hashLoading: 'eager',
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
let integrityOptions;
|
|
99
|
+
if (typeof integrity === 'object') {
|
|
100
|
+
integrityOptions = {
|
|
101
|
+
...defaultIntegrityOptions,
|
|
102
|
+
...integrity,
|
|
103
|
+
};
|
|
104
|
+
} else {
|
|
105
|
+
integrityOptions = defaultIntegrityOptions;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
config
|
|
109
|
+
.plugin('integrity-plugin')
|
|
110
|
+
.use(SubresourceIntegrityPlugin, [integrityOptions])
|
|
111
|
+
.end()
|
|
112
|
+
// Plugin for transform integrity-plugin result into single integrities field in stats.json
|
|
113
|
+
.plugin('assets-integrity-plugin')
|
|
114
|
+
.use(AssetsIntegritiesPlugin, [{ filename: statsFileName }])
|
|
115
|
+
.end();
|
|
116
|
+
}
|
|
117
|
+
|
|
87
118
|
return config;
|
|
88
119
|
};
|
|
@@ -5,6 +5,7 @@ export const DEFAULT_STATS_OPTIONS: StatsOptions = {
|
|
|
5
5
|
|
|
6
6
|
publicPath: true,
|
|
7
7
|
assets: true,
|
|
8
|
+
cachedAssets: true,
|
|
8
9
|
outputPath: true, // выводит информацию о том в какой папке хранится билд на диске
|
|
9
10
|
chunkGroups: true, // позволяет получить в stats поле namedChunkGroups которое потом используется в webpack-flush-chunks для получения чанков-зависимостей
|
|
10
11
|
ids: true, // необходимо чтобы в chunksGroups были выставлены связи между модулями
|
|
@@ -14,6 +15,7 @@ export const DEFAULT_STATS_OPTIONS: StatsOptions = {
|
|
|
14
15
|
export const DEFAULT_STATS_FIELDS: string[] = [
|
|
15
16
|
'publicPath',
|
|
16
17
|
'outputPath',
|
|
18
|
+
'assets',
|
|
17
19
|
'assetsByChunkName',
|
|
18
20
|
'namedChunkGroups',
|
|
19
21
|
'entrypoints',
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const TARGET_PLUGIN_NAME = 'stats-writer-plugin';
|
|
2
|
+
|
|
3
|
+
// Generate integrities field and remove assets field in stats.json file
|
|
4
|
+
export default class AssetsIntegritiesPlugin {
|
|
5
|
+
constructor(private options: { filename: string }) {
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
apply(compiler) {
|
|
10
|
+
compiler.hooks.thisCompilation.tap(TARGET_PLUGIN_NAME, (compilation) => {
|
|
11
|
+
compilation.hooks.processAssets.tap(
|
|
12
|
+
{
|
|
13
|
+
name: TARGET_PLUGIN_NAME,
|
|
14
|
+
stage: compilation.constructor.PROCESS_ASSETS_STAGE_REPORT,
|
|
15
|
+
},
|
|
16
|
+
() => {
|
|
17
|
+
const { filename } = this.options;
|
|
18
|
+
const statsJSON = JSON.parse(compilation.assets[filename].source().toString());
|
|
19
|
+
const { assets } = statsJSON;
|
|
20
|
+
|
|
21
|
+
statsJSON.integrities = assets.reduce((acc, item) => {
|
|
22
|
+
acc[item.name] = item.integrity;
|
|
23
|
+
return acc;
|
|
24
|
+
}, {});
|
|
25
|
+
|
|
26
|
+
delete statsJSON.assets;
|
|
27
|
+
|
|
28
|
+
compilation.updateAsset(
|
|
29
|
+
filename,
|
|
30
|
+
new compiler.webpack.sources.RawSource(JSON.stringify(statsJSON))
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -96,6 +96,7 @@ it('should populate defaults for config', () => {
|
|
|
96
96
|
"overlay": false,
|
|
97
97
|
},
|
|
98
98
|
},
|
|
99
|
+
"integrity": false,
|
|
99
100
|
"modern": true,
|
|
100
101
|
"name": "test-app",
|
|
101
102
|
"notifications": {},
|
|
@@ -163,6 +164,7 @@ it('should populate defaults for config', () => {
|
|
|
163
164
|
"overlay": false,
|
|
164
165
|
},
|
|
165
166
|
},
|
|
167
|
+
"integrity": false,
|
|
166
168
|
"name": "test-child-app",
|
|
167
169
|
"notifications": {},
|
|
168
170
|
"output": "dist/child-app",
|
|
@@ -346,6 +348,7 @@ it('should populate defaults for overridable options', () => {
|
|
|
346
348
|
"overlay": false,
|
|
347
349
|
},
|
|
348
350
|
},
|
|
351
|
+
"integrity": false,
|
|
349
352
|
"modern": true,
|
|
350
353
|
"name": "test-app",
|
|
351
354
|
"notifications": {},
|
|
@@ -429,6 +432,7 @@ it('should populate defaults for overridable options', () => {
|
|
|
429
432
|
"overlay": false,
|
|
430
433
|
},
|
|
431
434
|
},
|
|
435
|
+
"integrity": false,
|
|
432
436
|
"name": "test-child-app",
|
|
433
437
|
"notifications": {},
|
|
434
438
|
"output": "dist/child-app",
|
|
@@ -976,6 +976,46 @@
|
|
|
976
976
|
}
|
|
977
977
|
]
|
|
978
978
|
},
|
|
979
|
+
"integrity": {
|
|
980
|
+
"title": "Integrity generation options",
|
|
981
|
+
"default": false,
|
|
982
|
+
"anyOf": [
|
|
983
|
+
{
|
|
984
|
+
"type": "object",
|
|
985
|
+
"properties": {
|
|
986
|
+
"enabled": {
|
|
987
|
+
"enum": [
|
|
988
|
+
"auto",
|
|
989
|
+
false,
|
|
990
|
+
true
|
|
991
|
+
]
|
|
992
|
+
},
|
|
993
|
+
"hashFuncNames": {
|
|
994
|
+
"type": "array",
|
|
995
|
+
"items": {
|
|
996
|
+
"enum": [
|
|
997
|
+
"sha256",
|
|
998
|
+
"sha384",
|
|
999
|
+
"sha512"
|
|
1000
|
+
],
|
|
1001
|
+
"type": "string"
|
|
1002
|
+
}
|
|
1003
|
+
},
|
|
1004
|
+
"hashLoading": {
|
|
1005
|
+
"enum": [
|
|
1006
|
+
"eager",
|
|
1007
|
+
"lazy"
|
|
1008
|
+
],
|
|
1009
|
+
"type": "string"
|
|
1010
|
+
}
|
|
1011
|
+
},
|
|
1012
|
+
"additionalProperties": false
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"type": "boolean"
|
|
1016
|
+
}
|
|
1017
|
+
]
|
|
1018
|
+
},
|
|
979
1019
|
"excludesPresetEnv": {
|
|
980
1020
|
"title": "List of modules to exclude from `@babel/preset-env`",
|
|
981
1021
|
"description": "Option doesn't affect build with swc loader",
|
|
@@ -1198,23 +1238,23 @@
|
|
|
1198
1238
|
"dotAll": {
|
|
1199
1239
|
"type": "boolean"
|
|
1200
1240
|
},
|
|
1201
|
-
"__@match@
|
|
1241
|
+
"__@match@7872": {
|
|
1202
1242
|
"type": "object",
|
|
1203
1243
|
"additionalProperties": false
|
|
1204
1244
|
},
|
|
1205
|
-
"__@replace@
|
|
1245
|
+
"__@replace@7874": {
|
|
1206
1246
|
"type": "object",
|
|
1207
1247
|
"additionalProperties": false
|
|
1208
1248
|
},
|
|
1209
|
-
"__@search@
|
|
1249
|
+
"__@search@7877": {
|
|
1210
1250
|
"type": "object",
|
|
1211
1251
|
"additionalProperties": false
|
|
1212
1252
|
},
|
|
1213
|
-
"__@split@
|
|
1253
|
+
"__@split@7879": {
|
|
1214
1254
|
"type": "object",
|
|
1215
1255
|
"additionalProperties": false
|
|
1216
1256
|
},
|
|
1217
|
-
"__@matchAll@
|
|
1257
|
+
"__@matchAll@7881": {
|
|
1218
1258
|
"type": "object",
|
|
1219
1259
|
"additionalProperties": false
|
|
1220
1260
|
}
|
|
@@ -1561,6 +1601,46 @@
|
|
|
1561
1601
|
}
|
|
1562
1602
|
]
|
|
1563
1603
|
},
|
|
1604
|
+
"integrity": {
|
|
1605
|
+
"title": "Integrity generation options",
|
|
1606
|
+
"default": false,
|
|
1607
|
+
"anyOf": [
|
|
1608
|
+
{
|
|
1609
|
+
"type": "object",
|
|
1610
|
+
"properties": {
|
|
1611
|
+
"enabled": {
|
|
1612
|
+
"enum": [
|
|
1613
|
+
"auto",
|
|
1614
|
+
false,
|
|
1615
|
+
true
|
|
1616
|
+
]
|
|
1617
|
+
},
|
|
1618
|
+
"hashFuncNames": {
|
|
1619
|
+
"type": "array",
|
|
1620
|
+
"items": {
|
|
1621
|
+
"enum": [
|
|
1622
|
+
"sha256",
|
|
1623
|
+
"sha384",
|
|
1624
|
+
"sha512"
|
|
1625
|
+
],
|
|
1626
|
+
"type": "string"
|
|
1627
|
+
}
|
|
1628
|
+
},
|
|
1629
|
+
"hashLoading": {
|
|
1630
|
+
"enum": [
|
|
1631
|
+
"eager",
|
|
1632
|
+
"lazy"
|
|
1633
|
+
],
|
|
1634
|
+
"type": "string"
|
|
1635
|
+
}
|
|
1636
|
+
},
|
|
1637
|
+
"additionalProperties": false
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
"type": "boolean"
|
|
1641
|
+
}
|
|
1642
|
+
]
|
|
1643
|
+
},
|
|
1564
1644
|
"experiments": {
|
|
1565
1645
|
"title": "Change different experimental cli settings",
|
|
1566
1646
|
"default": {},
|
|
@@ -1911,23 +1991,23 @@
|
|
|
1911
1991
|
"dotAll": {
|
|
1912
1992
|
"type": "boolean"
|
|
1913
1993
|
},
|
|
1914
|
-
"__@match@
|
|
1994
|
+
"__@match@7872": {
|
|
1915
1995
|
"type": "object",
|
|
1916
1996
|
"additionalProperties": false
|
|
1917
1997
|
},
|
|
1918
|
-
"__@replace@
|
|
1998
|
+
"__@replace@7874": {
|
|
1919
1999
|
"type": "object",
|
|
1920
2000
|
"additionalProperties": false
|
|
1921
2001
|
},
|
|
1922
|
-
"__@search@
|
|
2002
|
+
"__@search@7877": {
|
|
1923
2003
|
"type": "object",
|
|
1924
2004
|
"additionalProperties": false
|
|
1925
2005
|
},
|
|
1926
|
-
"__@split@
|
|
2006
|
+
"__@split@7879": {
|
|
1927
2007
|
"type": "object",
|
|
1928
2008
|
"additionalProperties": false
|
|
1929
2009
|
},
|
|
1930
|
-
"__@matchAll@
|
|
2010
|
+
"__@matchAll@7881": {
|
|
1931
2011
|
"type": "object",
|
|
1932
2012
|
"additionalProperties": false
|
|
1933
2013
|
}
|
|
@@ -2274,6 +2354,46 @@
|
|
|
2274
2354
|
}
|
|
2275
2355
|
]
|
|
2276
2356
|
},
|
|
2357
|
+
"integrity": {
|
|
2358
|
+
"title": "Integrity generation options",
|
|
2359
|
+
"default": false,
|
|
2360
|
+
"anyOf": [
|
|
2361
|
+
{
|
|
2362
|
+
"type": "object",
|
|
2363
|
+
"properties": {
|
|
2364
|
+
"enabled": {
|
|
2365
|
+
"enum": [
|
|
2366
|
+
"auto",
|
|
2367
|
+
false,
|
|
2368
|
+
true
|
|
2369
|
+
]
|
|
2370
|
+
},
|
|
2371
|
+
"hashFuncNames": {
|
|
2372
|
+
"type": "array",
|
|
2373
|
+
"items": {
|
|
2374
|
+
"enum": [
|
|
2375
|
+
"sha256",
|
|
2376
|
+
"sha384",
|
|
2377
|
+
"sha512"
|
|
2378
|
+
],
|
|
2379
|
+
"type": "string"
|
|
2380
|
+
}
|
|
2381
|
+
},
|
|
2382
|
+
"hashLoading": {
|
|
2383
|
+
"enum": [
|
|
2384
|
+
"eager",
|
|
2385
|
+
"lazy"
|
|
2386
|
+
],
|
|
2387
|
+
"type": "string"
|
|
2388
|
+
}
|
|
2389
|
+
},
|
|
2390
|
+
"additionalProperties": false
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"type": "boolean"
|
|
2394
|
+
}
|
|
2395
|
+
]
|
|
2396
|
+
},
|
|
2277
2397
|
"experiments": {
|
|
2278
2398
|
"title": "Change different experimental cli settings",
|
|
2279
2399
|
"default": {},
|
|
@@ -2624,23 +2744,23 @@
|
|
|
2624
2744
|
"dotAll": {
|
|
2625
2745
|
"type": "boolean"
|
|
2626
2746
|
},
|
|
2627
|
-
"__@match@
|
|
2747
|
+
"__@match@7872": {
|
|
2628
2748
|
"type": "object",
|
|
2629
2749
|
"additionalProperties": false
|
|
2630
2750
|
},
|
|
2631
|
-
"__@replace@
|
|
2751
|
+
"__@replace@7874": {
|
|
2632
2752
|
"type": "object",
|
|
2633
2753
|
"additionalProperties": false
|
|
2634
2754
|
},
|
|
2635
|
-
"__@search@
|
|
2755
|
+
"__@search@7877": {
|
|
2636
2756
|
"type": "object",
|
|
2637
2757
|
"additionalProperties": false
|
|
2638
2758
|
},
|
|
2639
|
-
"__@split@
|
|
2759
|
+
"__@split@7879": {
|
|
2640
2760
|
"type": "object",
|
|
2641
2761
|
"additionalProperties": false
|
|
2642
2762
|
},
|
|
2643
|
-
"__@matchAll@
|
|
2763
|
+
"__@matchAll@7881": {
|
|
2644
2764
|
"type": "object",
|
|
2645
2765
|
"additionalProperties": false
|
|
2646
2766
|
}
|