@tramvai/cli 4.41.100 → 4.41.107
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/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/babel/index.d.ts +0 -4
- package/lib/library/babel/index.d.ts.map +1 -1
- package/lib/library/babel/index.js +0 -6
- package/lib/library/babel/index.js.map +1 -1
- package/lib/library/typescript/index.d.ts +0 -2
- package/lib/library/typescript/index.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 -7
- package/schema.json +135 -15
- package/src/config/configManager.ts +2 -2
- package/src/library/babel/index.ts +0 -6
- 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.107",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
"@babel/core": "^7.18.10",
|
|
36
36
|
"@babel/helper-annotate-as-pure": "^7.18.6",
|
|
37
37
|
"@babel/plugin-external-helpers": "^7.18.6",
|
|
38
|
-
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
39
38
|
"@babel/plugin-proposal-decorators": "^7.18.10",
|
|
40
39
|
"@babel/plugin-proposal-export-default-from": "^7.18.10",
|
|
41
40
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
|
@@ -65,8 +64,8 @@
|
|
|
65
64
|
"@tinkoff/babel-plugin-lodash": "^0.1.0",
|
|
66
65
|
"@tinkoff/browserslist-config": "0.4.5",
|
|
67
66
|
"@tinkoff/dippy": "0.10.11",
|
|
68
|
-
"@tinkoff/is-modern-lib": "4.0.
|
|
69
|
-
"@tinkoff/logger": "0.10.286",
|
|
67
|
+
"@tinkoff/is-modern-lib": "4.0.4",
|
|
68
|
+
"@tinkoff/logger": "^0.10.286",
|
|
70
69
|
"@tinkoff/minicss-class-generator": "0.4.3",
|
|
71
70
|
"@tinkoff/package-manager-wrapper": "0.3.4",
|
|
72
71
|
"@tinkoff/request-core": "^0.10.0",
|
|
@@ -75,9 +74,9 @@
|
|
|
75
74
|
"@tinkoff/utils": "^2.1.3",
|
|
76
75
|
"@tinkoff/webpack-dedupe-plugin": "3.0.3",
|
|
77
76
|
"@tramvai/build": "5.0.7",
|
|
78
|
-
"@tramvai/react": "4.41.
|
|
79
|
-
"@tramvai/tools-check-versions": "0.6.
|
|
80
|
-
"@tramvai/tools-migrate": "0.8.
|
|
77
|
+
"@tramvai/react": "4.41.107",
|
|
78
|
+
"@tramvai/tools-check-versions": "0.6.15",
|
|
79
|
+
"@tramvai/tools-migrate": "0.8.16",
|
|
81
80
|
"ajv": "^8.12.0",
|
|
82
81
|
"ansi-escapes": "^4.3.2",
|
|
83
82
|
"autoprefixer": "^10.4.8",
|
|
@@ -171,6 +170,7 @@
|
|
|
171
170
|
"webpack-hot-middleware": "^2.26.0",
|
|
172
171
|
"webpack-sources": "^3.2.3",
|
|
173
172
|
"webpack-stats-plugin": "^1.1.3",
|
|
173
|
+
"webpack-subresource-integrity": "^5.2.0-rc.1",
|
|
174
174
|
"webpackbar": "^5.0.2",
|
|
175
175
|
"workbox-build": "^6.6.1",
|
|
176
176
|
"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@7882": {
|
|
1224
1264
|
"type": "object",
|
|
1225
1265
|
"additionalProperties": false
|
|
1226
1266
|
},
|
|
1227
|
-
"__@replace@
|
|
1267
|
+
"__@replace@7884": {
|
|
1228
1268
|
"type": "object",
|
|
1229
1269
|
"additionalProperties": false
|
|
1230
1270
|
},
|
|
1231
|
-
"__@search@
|
|
1271
|
+
"__@search@7887": {
|
|
1232
1272
|
"type": "object",
|
|
1233
1273
|
"additionalProperties": false
|
|
1234
1274
|
},
|
|
1235
|
-
"__@split@
|
|
1275
|
+
"__@split@7889": {
|
|
1236
1276
|
"type": "object",
|
|
1237
1277
|
"additionalProperties": false
|
|
1238
1278
|
},
|
|
1239
|
-
"__@matchAll@
|
|
1279
|
+
"__@matchAll@7891": {
|
|
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@7882": {
|
|
1946
2026
|
"type": "object",
|
|
1947
2027
|
"additionalProperties": false
|
|
1948
2028
|
},
|
|
1949
|
-
"__@replace@
|
|
2029
|
+
"__@replace@7884": {
|
|
1950
2030
|
"type": "object",
|
|
1951
2031
|
"additionalProperties": false
|
|
1952
2032
|
},
|
|
1953
|
-
"__@search@
|
|
2033
|
+
"__@search@7887": {
|
|
1954
2034
|
"type": "object",
|
|
1955
2035
|
"additionalProperties": false
|
|
1956
2036
|
},
|
|
1957
|
-
"__@split@
|
|
2037
|
+
"__@split@7889": {
|
|
1958
2038
|
"type": "object",
|
|
1959
2039
|
"additionalProperties": false
|
|
1960
2040
|
},
|
|
1961
|
-
"__@matchAll@
|
|
2041
|
+
"__@matchAll@7891": {
|
|
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@7882": {
|
|
2668
2788
|
"type": "object",
|
|
2669
2789
|
"additionalProperties": false
|
|
2670
2790
|
},
|
|
2671
|
-
"__@replace@
|
|
2791
|
+
"__@replace@7884": {
|
|
2672
2792
|
"type": "object",
|
|
2673
2793
|
"additionalProperties": false
|
|
2674
2794
|
},
|
|
2675
|
-
"__@search@
|
|
2795
|
+
"__@search@7887": {
|
|
2676
2796
|
"type": "object",
|
|
2677
2797
|
"additionalProperties": false
|
|
2678
2798
|
},
|
|
2679
|
-
"__@split@
|
|
2799
|
+
"__@split@7889": {
|
|
2680
2800
|
"type": "object",
|
|
2681
2801
|
"additionalProperties": false
|
|
2682
2802
|
},
|
|
2683
|
-
"__@matchAll@
|
|
2803
|
+
"__@matchAll@7891": {
|
|
2684
2804
|
"type": "object",
|
|
2685
2805
|
"additionalProperties": false
|
|
2686
2806
|
}
|
|
@@ -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>> = {
|
|
@@ -141,12 +141,6 @@ export const babelConfigFactory = ({
|
|
|
141
141
|
legacy: true,
|
|
142
142
|
},
|
|
143
143
|
],
|
|
144
|
-
[
|
|
145
|
-
'@babel/plugin-proposal-class-properties',
|
|
146
|
-
{
|
|
147
|
-
loose,
|
|
148
|
-
},
|
|
149
|
-
],
|
|
150
144
|
'@babel/plugin-proposal-export-default-from',
|
|
151
145
|
removeTypeofWindow && [
|
|
152
146
|
'transform-define',
|
|
@@ -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",
|