@tramvai/cli 4.41.100 → 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.
Files changed (29) hide show
  1. package/lib/builder/webpack/tokens.d.ts +3 -0
  2. package/lib/builder/webpack/tokens.d.ts.map +1 -1
  3. package/lib/config/configManager.js +2 -2
  4. package/lib/config/configManager.js.map +1 -1
  5. package/lib/di/tokens/config.d.ts +1 -0
  6. package/lib/di/tokens/config.d.ts.map +1 -1
  7. package/lib/library/webpack/application/client/common.d.ts.map +1 -1
  8. package/lib/library/webpack/application/client/common.js +27 -2
  9. package/lib/library/webpack/application/client/common.js.map +1 -1
  10. package/lib/library/webpack/constants/stats.d.ts.map +1 -1
  11. package/lib/library/webpack/constants/stats.js +2 -0
  12. package/lib/library/webpack/constants/stats.js.map +1 -1
  13. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.d.ts +8 -0
  14. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.d.ts.map +1 -0
  15. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.js +30 -0
  16. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.js.map +1 -0
  17. package/lib/schema/autogeneratedSchema.json +135 -15
  18. package/lib/typings/configEntry/cli.d.ts +13 -0
  19. package/lib/typings/configEntry/cli.d.ts.map +1 -1
  20. package/package.json +7 -6
  21. package/schema.json +135 -15
  22. package/src/config/configManager.ts +2 -2
  23. package/src/library/webpack/application/client/common.ts +33 -2
  24. package/src/library/webpack/constants/stats.ts +2 -0
  25. package/src/library/webpack/plugins/AssetsIntegritiesPlugin.ts +36 -0
  26. package/src/models/config.spec.ts +4 -0
  27. package/src/schema/autogeneratedSchema.json +135 -15
  28. package/src/schema/tramvai.spec.ts +2 -0
  29. package/src/typings/configEntry/cli.ts +14 -0
@@ -8,6 +8,7 @@ import type { AnalyzePlugin } from './types';
8
8
  import type { CliConfigEntry } from '../../typings/configEntry/cli';
9
9
  export declare const CLIENT_CONFIG_MANAGER_TOKEN: {
10
10
  sourceMap: boolean;
11
+ integrity: boolean | import("../../typings/configEntry/cli").IntegrityOptions;
11
12
  experiments: {
12
13
  webpack: {
13
14
  asyncWebAssembly?: boolean;
@@ -140,6 +141,7 @@ export declare const CLIENT_CONFIG_MANAGER_TOKEN: {
140
141
  };
141
142
  export declare const CLIENT_MODERN_CONFIG_MANAGER_TOKEN: {
142
143
  sourceMap: boolean;
144
+ integrity: boolean | import("../../typings/configEntry/cli").IntegrityOptions;
143
145
  experiments: {
144
146
  webpack: {
145
147
  asyncWebAssembly?: boolean;
@@ -272,6 +274,7 @@ export declare const CLIENT_MODERN_CONFIG_MANAGER_TOKEN: {
272
274
  };
273
275
  export declare const SERVER_CONFIG_MANAGER_TOKEN: {
274
276
  sourceMap: boolean;
277
+ integrity: boolean | import("../../typings/configEntry/cli").IntegrityOptions;
275
278
  experiments: {
276
279
  webpack: {
277
280
  asyncWebAssembly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/builder/webpack/tokens.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEvC,CAAC;AACF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE9C,CAAC;AACF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEvC,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAAsD,CAAC;AAE/F,eAAO,MAAM,kCAAkC;;CAE9C,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAAsD,CAAC;AAE/F,eAAO,MAAM,sBAAsB;;CAAgE,CAAC;AAEpG,eAAO,MAAM,6BAA6B;;CAEzC,CAAC;AAEF,eAAO,MAAM,oCAAoC;;CAEhD,CAAC;AACF,eAAO,MAAM,6BAA6B;;CAEzC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAA2D,CAAC;AAE/F;;GAEG;AACH,eAAO,MAAM,qBAAqB;;CAA8D,CAAC;AAEjG,eAAO,MAAM,mBAAmB;;CAA6D,CAAC;AAE9F,eAAO,MAAM,iCAAiC;;CAE7C,CAAC;AACF,eAAO,MAAM,4BAA4B;;CAExC,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAqB,QAAQ,IAAI,CAAC,GAAG,IAAI;;CAKvE,CAAC;AACF,eAAO,MAAM,qBAAqB,SAAqB,QAAQ,IAAI,CAAC,GAAG,IAAI;;CAG1E,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAqB,QAAQ,IAAI,CAAC,GAAG,IAAI;;CAGxE,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/builder/webpack/tokens.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEvC,CAAC;AACF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE9C,CAAC;AACF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEvC,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAAsD,CAAC;AAE/F,eAAO,MAAM,kCAAkC;;CAE9C,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAAsD,CAAC;AAE/F,eAAO,MAAM,sBAAsB;;CAAgE,CAAC;AAEpG,eAAO,MAAM,6BAA6B;;CAEzC,CAAC;AAEF,eAAO,MAAM,oCAAoC;;CAEhD,CAAC;AACF,eAAO,MAAM,6BAA6B;;CAEzC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAA2D,CAAC;AAE/F;;GAEG;AACH,eAAO,MAAM,qBAAqB;;CAA8D,CAAC;AAEjG,eAAO,MAAM,mBAAmB;;CAA6D,CAAC;AAE9F,eAAO,MAAM,iCAAiC;;CAE7C,CAAC;AACF,eAAO,MAAM,4BAA4B;;CAExC,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAqB,QAAQ,IAAI,CAAC,GAAG,IAAI;;CAKvE,CAAC;AACF,eAAO,MAAM,qBAAqB,SAAqB,QAAQ,IAAI,CAAC,GAAG,IAAI;;CAG1E,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAqB,QAAQ,IAAI,CAAC,GAAG,IAAI;;CAGxE,CAAC"}
@@ -15,7 +15,7 @@ const moduleVersion_1 = tslib_1.__importDefault(require("../utils/moduleVersion"
15
15
  const packageVersion_1 = require("../utils/packageVersion");
16
16
  const showConfig_1 = require("./showConfig");
17
17
  const port_manager_1 = require("../models/port-manager");
18
- const getOption = (optionName, cfgs, dflt) => {
18
+ const getOption = (optionName, cfgs, defaultValue) => {
19
19
  const getter = (0, prop_1.default)(optionName);
20
20
  for (let i = 0; i < cfgs.length; i++) {
21
21
  const value = getter(cfgs[i]);
@@ -23,7 +23,7 @@ const getOption = (optionName, cfgs, dflt) => {
23
23
  return value;
24
24
  }
25
25
  }
26
- return dflt;
26
+ return defaultValue;
27
27
  };
28
28
  const omitEnvOptions = (env, options) => {
29
29
  return (0, map_1.default)((value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare const CONFIG_ENTRY_TOKEN: ConfigEntry & {
18
18
  };
19
19
  export declare const CONFIG_MANAGER_TOKEN: {
20
20
  sourceMap: boolean;
21
+ integrity: boolean | import("../../typings/configEntry/cli").IntegrityOptions;
21
22
  experiments: {
22
23
  webpack: {
23
24
  asyncWebAssembly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/di/tokens/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;CAAqC,CAAC;AACrE,eAAO,MAAM,qBAAqB;;CAAwC,CAAC;AAE3E,eAAO,MAAM,gBAAgB;;;;EAAiC,CAAC;AAC/D,eAAO,MAAM,kBAAkB;;CAA2C,CAAC;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+D,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/di/tokens/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;CAAqC,CAAC;AACrE,eAAO,MAAM,qBAAqB;;CAAwC,CAAC;AAE3E,eAAO,MAAM,gBAAgB;;;;EAAiC,CAAC;AAC/D,eAAO,MAAM,kBAAkB;;CAA2C,CAAC;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;wCAwB3D,cAAc,sBAAsB,CAAC,cAAc,MAAM;AAAxF,wBAyDE"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;wCA0B3D,cAAc,sBAAsB,CAAC,cAAc,MAAM;AAAxF,wBAqFE"}
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
4
4
  const path_1 = tslib_1.__importDefault(require("path"));
5
5
  const fs_1 = tslib_1.__importDefault(require("fs"));
6
6
  const webpack_stats_plugin_1 = require("webpack-stats-plugin");
7
+ const webpack_subresource_integrity_1 = require("webpack-subresource-integrity");
7
8
  const safeRequire_1 = require("../../../../utils/safeRequire");
8
9
  const main_1 = tslib_1.__importDefault(require("../../common/main"));
9
10
  const common_1 = require("../common");
@@ -18,8 +19,9 @@ const pagesResolve_1 = require("../../blocks/pagesResolve");
18
19
  const configToEnv_1 = require("../../blocks/configToEnv");
19
20
  const stats_1 = require("../../constants/stats");
20
21
  const client_1 = require("../../blocks/pwa/client");
22
+ const AssetsIntegritiesPlugin_1 = tslib_1.__importDefault(require("../../plugins/AssetsIntegritiesPlugin"));
21
23
  exports.default = (configManager) => (config) => {
22
- const { polyfill, fileSystemPages, env } = configManager;
24
+ const { polyfill, fileSystemPages, env, integrity } = configManager;
23
25
  const portal = path_1.default.resolve(configManager.rootDir, `packages/${process.env.APP_ID}/portal.js`);
24
26
  const polyfillPath = path_1.default.resolve(configManager.rootDir, polyfill !== null && polyfill !== void 0 ? polyfill : 'src/polyfill');
25
27
  const portalExists = fs_1.default.existsSync(portal);
@@ -45,11 +47,12 @@ exports.default = (configManager) => (config) => {
45
47
  .end()
46
48
  .when(portalExists, (cfg) => cfg.entry('portal').add(portal))
47
49
  .when(polyfillExists, (cfg) => cfg.entry('polyfill').add(polyfillPath));
50
+ const statsFileName = configManager.modern ? 'stats.modern.json' : 'stats.json';
48
51
  config
49
52
  .plugin('stats-plugin')
50
53
  .use(webpack_stats_plugin_1.StatsWriterPlugin, [
51
54
  {
52
- filename: configManager.modern ? 'stats.modern.json' : 'stats.json',
55
+ filename: statsFileName,
53
56
  stats: Object.assign(Object.assign({}, (env === 'development' ? stats_1.DEV_STATS_OPTIONS : stats_1.DEFAULT_STATS_OPTIONS)), (configManager.verboseWebpack ? stats_1.WEBPACK_DEBUG_STATS_OPTIONS : {})),
54
57
  fields: [
55
58
  ...(env === 'development' ? stats_1.DEV_STATS_FIELDS : stats_1.DEFAULT_STATS_FIELDS),
@@ -62,6 +65,28 @@ exports.default = (configManager) => (config) => {
62
65
  .tap((args) => [
63
66
  Object.assign(Object.assign({}, args[0]), { 'process.env.BROWSER': true, 'process.env.SERVER': false }),
64
67
  ]);
68
+ if (integrity) {
69
+ const defaultIntegrityOptions = {
70
+ enabled: 'auto',
71
+ hashFuncNames: ['sha256'],
72
+ hashLoading: 'eager',
73
+ };
74
+ let integrityOptions;
75
+ if (typeof integrity === 'object') {
76
+ integrityOptions = Object.assign(Object.assign({}, defaultIntegrityOptions), integrity);
77
+ }
78
+ else {
79
+ integrityOptions = defaultIntegrityOptions;
80
+ }
81
+ config
82
+ .plugin('integrity-plugin')
83
+ .use(webpack_subresource_integrity_1.SubresourceIntegrityPlugin, [integrityOptions])
84
+ .end()
85
+ // Plugin for transform integrity-plugin result into single integrities field in stats.json
86
+ .plugin('assets-integrity-plugin')
87
+ .use(AssetsIntegritiesPlugin_1.default, [{ filename: statsFileName }])
88
+ .end();
89
+ }
65
90
  return config;
66
91
  };
67
92
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/common.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/constants/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAMxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAG/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAsC,CAAC;AAEpE,eAAO,MAAM,2BAA2B,EAAE,YAEzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAA2C,CAAC"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/constants/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,qBAAqB,EAAE,YAUnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAOxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAG/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAsC,CAAC;AAEpE,eAAO,MAAM,2BAA2B,EAAE,YAEzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAA2C,CAAC"}
@@ -5,6 +5,7 @@ exports.DEFAULT_STATS_OPTIONS = {
5
5
  all: false,
6
6
  publicPath: true,
7
7
  assets: true,
8
+ cachedAssets: true,
8
9
  outputPath: true,
9
10
  chunkGroups: true,
10
11
  ids: true,
@@ -13,6 +14,7 @@ exports.DEFAULT_STATS_OPTIONS = {
13
14
  exports.DEFAULT_STATS_FIELDS = [
14
15
  'publicPath',
15
16
  'outputPath',
17
+ 'assets',
16
18
  'assetsByChunkName',
17
19
  'namedChunkGroups',
18
20
  'entrypoints',
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../src/library/webpack/constants/stats.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAiB;IACjD,GAAG,EAAE,KAAK;IAEV,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,GAAG,EAAE,IAAI;IACT,WAAW,EAAE,IAAI,EAAE,mDAAmD;CACvE,CAAC;AAEW,QAAA,oBAAoB,GAAa;IAC5C,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEW,QAAA,iBAAiB,mCACzB,6BAAqB,KACxB,MAAM,EAAE,IAAI,IACZ;AAEW,QAAA,gBAAgB,GAAG,CAAC,GAAG,4BAAoB,EAAE,QAAQ,CAAC,CAAC;AAEvD,QAAA,2BAA2B,GAAiB;IACvD,OAAO,EAAE,SAAS;CACnB,CAAC;AAEW,QAAA,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,mCAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../src/library/webpack/constants/stats.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAiB;IACjD,GAAG,EAAE,KAAK;IAEV,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,GAAG,EAAE,IAAI;IACT,WAAW,EAAE,IAAI,EAAE,mDAAmD;CACvE,CAAC;AAEW,QAAA,oBAAoB,GAAa;IAC5C,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEW,QAAA,iBAAiB,mCACzB,6BAAqB,KACxB,MAAM,EAAE,IAAI,IACZ;AAEW,QAAA,gBAAgB,GAAG,CAAC,GAAG,4BAAoB,EAAE,QAAQ,CAAC,CAAC;AAEvD,QAAA,2BAA2B,GAAiB;IACvD,OAAO,EAAE,SAAS;CACnB,CAAC;AAEW,QAAA,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,mCAA2B,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export default class AssetsIntegritiesPlugin {
2
+ private options;
3
+ constructor(options: {
4
+ filename: string;
5
+ });
6
+ apply(compiler: any): void;
7
+ }
8
+ //# sourceMappingURL=AssetsIntegritiesPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsIntegritiesPlugin.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/plugins/AssetsIntegritiesPlugin.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAC9B,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAIjD,KAAK,CAAC,QAAQ,KAAA;CA2Bf"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TARGET_PLUGIN_NAME = 'stats-writer-plugin';
4
+ // Generate integrities field and remove assets field in stats.json file
5
+ class AssetsIntegritiesPlugin {
6
+ constructor(options) {
7
+ this.options = options;
8
+ this.options = options;
9
+ }
10
+ apply(compiler) {
11
+ compiler.hooks.thisCompilation.tap(TARGET_PLUGIN_NAME, (compilation) => {
12
+ compilation.hooks.processAssets.tap({
13
+ name: TARGET_PLUGIN_NAME,
14
+ stage: compilation.constructor.PROCESS_ASSETS_STAGE_REPORT,
15
+ }, () => {
16
+ const { filename } = this.options;
17
+ const statsJSON = JSON.parse(compilation.assets[filename].source().toString());
18
+ const { assets } = statsJSON;
19
+ statsJSON.integrities = assets.reduce((acc, item) => {
20
+ acc[item.name] = item.integrity;
21
+ return acc;
22
+ }, {});
23
+ delete statsJSON.assets;
24
+ compilation.updateAsset(filename, new compiler.webpack.sources.RawSource(JSON.stringify(statsJSON)));
25
+ });
26
+ });
27
+ }
28
+ }
29
+ exports.default = AssetsIntegritiesPlugin;
30
+ //# sourceMappingURL=AssetsIntegritiesPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsIntegritiesPlugin.js","sourceRoot":"","sources":["../../../../src/library/webpack/plugins/AssetsIntegritiesPlugin.ts"],"names":[],"mappings":";;AAAA,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEjD,wEAAwE;AACxE,MAAqB,uBAAuB;IAC1C,YAAoB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,EAAE;YACrE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CACjC;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,2BAA2B;aAC3D,EACD,GAAG,EAAE;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAE7B,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAChC,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEP,OAAO,SAAS,CAAC,MAAM,CAAC;gBAExB,WAAW,CAAC,WAAW,CACrB,QAAQ,EACR,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhCD,0CAgCC"}
@@ -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@7848": {
1241
+ "__@match@7872": {
1202
1242
  "type": "object",
1203
1243
  "additionalProperties": false
1204
1244
  },
1205
- "__@replace@7850": {
1245
+ "__@replace@7874": {
1206
1246
  "type": "object",
1207
1247
  "additionalProperties": false
1208
1248
  },
1209
- "__@search@7853": {
1249
+ "__@search@7877": {
1210
1250
  "type": "object",
1211
1251
  "additionalProperties": false
1212
1252
  },
1213
- "__@split@7855": {
1253
+ "__@split@7879": {
1214
1254
  "type": "object",
1215
1255
  "additionalProperties": false
1216
1256
  },
1217
- "__@matchAll@7857": {
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@7848": {
1994
+ "__@match@7872": {
1915
1995
  "type": "object",
1916
1996
  "additionalProperties": false
1917
1997
  },
1918
- "__@replace@7850": {
1998
+ "__@replace@7874": {
1919
1999
  "type": "object",
1920
2000
  "additionalProperties": false
1921
2001
  },
1922
- "__@search@7853": {
2002
+ "__@search@7877": {
1923
2003
  "type": "object",
1924
2004
  "additionalProperties": false
1925
2005
  },
1926
- "__@split@7855": {
2006
+ "__@split@7879": {
1927
2007
  "type": "object",
1928
2008
  "additionalProperties": false
1929
2009
  },
1930
- "__@matchAll@7857": {
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@7848": {
2747
+ "__@match@7872": {
2628
2748
  "type": "object",
2629
2749
  "additionalProperties": false
2630
2750
  },
2631
- "__@replace@7850": {
2751
+ "__@replace@7874": {
2632
2752
  "type": "object",
2633
2753
  "additionalProperties": false
2634
2754
  },
2635
- "__@search@7853": {
2755
+ "__@search@7877": {
2636
2756
  "type": "object",
2637
2757
  "additionalProperties": false
2638
2758
  },
2639
- "__@split@7855": {
2759
+ "__@split@7879": {
2640
2760
  "type": "object",
2641
2761
  "additionalProperties": false
2642
2762
  },
2643
- "__@matchAll@7857": {
2763
+ "__@matchAll@7881": {
2644
2764
  "type": "object",
2645
2765
  "additionalProperties": false
2646
2766
  }
@@ -79,6 +79,14 @@ export interface Experiments {
79
79
  */
80
80
  enableFillDeclareActionNamePlugin: boolean;
81
81
  }
82
+ /**
83
+ * @see https://github.com/waysact/webpack-subresource-integrity/tree/main/webpack-subresource-integrity#options
84
+ */
85
+ export interface IntegrityOptions {
86
+ enabled: boolean | 'auto';
87
+ hashFuncNames: ('sha256' | 'sha384' | 'sha512')[];
88
+ hashLoading: 'eager' | 'lazy';
89
+ }
82
90
  /**
83
91
  * @default {}
84
92
  * @additionalProperties true
@@ -104,6 +112,11 @@ export interface CliConfigEntry extends ConfigEntry {
104
112
  * @default false
105
113
  */
106
114
  sourceMap: OverridableOption<boolean>;
115
+ /**
116
+ * @title Integrity generation options
117
+ * @default false
118
+ */
119
+ integrity: boolean | IntegrityOptions;
107
120
  /**
108
121
  * @title Change different experimental cli settings
109
122
  * @default {}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/typings/configEntry/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/typings/configEntry/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,KAAK,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExC,KAAK,oBAAoB,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC;AACnF,KAAK,aAAa,GAAG;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,aAAa,CAAC,aAAa,CAAC,EAC5B,WAAW,GAAG,iBAAiB,GAAG,KAAK,CACxC,GAAG;IACF;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,MAAM,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,OAAO,EAAE,kBAAkB,CAAC;IAC5B;;;OAGG;IACH,OAAO,EAAE,kBAAkB,CAAC;IAE5B;;;OAGG;IACH,aAAa,EAAE,wBAAwB,CAAC;IACxC;;;OAGG;IACH,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACtC;;;OAGG;IACH,iCAAiC,EAAE,OAAO,CAAC;IAC3C;;;OAGG;IACH,iCAAiC,EAAE,OAAO,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,aAAa,EAAE,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD;;;OAGG;IACH,SAAS,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC;;;OAGG;IACH,SAAS,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACtC;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;OAGG;IACH,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,OAAO,EAAE;QACP;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;;WAGG;QACH,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;IAEF;;OAEG;IACH,iBAAiB,CAAC,EAAE;QAClB;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,CAAC;IACF;;;OAGG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,OAAO,EAAE;QACP;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B;;;WAGG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC7C;;WAEG;QACH,OAAO,EAAE,MAAM,GAAG,uBAAuB,GAAG,8BAA8B,GAAG,iBAAiB,CAAC;KAChG,CAAC;IAGF;;;OAGG;IACH,MAAM,EAAE;QACN;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,UAAU,EAAE,OAAO,CAAC;QACpB;;;WAGG;QACH,QAAQ,EAAE,mBAAmB,CAAC;QAC9B;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF;;;OAGG;IACH,MAAM,EAAE;QACN;;;WAGG;QACH,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;IAItC;;;OAGG;IACH,UAAU,EAAE;QACV;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,OAAO,CAAC,EAAE;YACR;;eAEG;YACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,CAAC;KACH,CAAC;IACF;;;OAGG;IACH,aAAa,EAAE,aAAa,GAAG;QAC7B,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,CAAC;IACF;;;;OAIG;IACH,MAAM,EAAE;QACN;;;;;WAKG;QACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC;;;;WAIG;QACH,uBAAuB,EAAE,OAAO,CAAC;QACjC;;;;;WAKG;QACH,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB;;;WAGG;QACH,IAAI,EAAE,KAAK,CACP,MAAM,GACN;YACE;;eAEG;YACH,IAAI,EAAE,MAAM,CAAC;YACb;;;;eAIG;YACH,SAAS,EAAE,OAAO,CAAC;SACpB,CACJ,CAAC;KACH,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "4.41.100",
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.3",
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.100",
79
- "@tramvai/tools-check-versions": "0.6.14",
80
- "@tramvai/tools-migrate": "0.8.15",
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@7848": {
1263
+ "__@match@7872": {
1224
1264
  "type": "object",
1225
1265
  "additionalProperties": false
1226
1266
  },
1227
- "__@replace@7850": {
1267
+ "__@replace@7874": {
1228
1268
  "type": "object",
1229
1269
  "additionalProperties": false
1230
1270
  },
1231
- "__@search@7853": {
1271
+ "__@search@7877": {
1232
1272
  "type": "object",
1233
1273
  "additionalProperties": false
1234
1274
  },
1235
- "__@split@7855": {
1275
+ "__@split@7879": {
1236
1276
  "type": "object",
1237
1277
  "additionalProperties": false
1238
1278
  },
1239
- "__@matchAll@7857": {
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@7848": {
2025
+ "__@match@7872": {
1946
2026
  "type": "object",
1947
2027
  "additionalProperties": false
1948
2028
  },
1949
- "__@replace@7850": {
2029
+ "__@replace@7874": {
1950
2030
  "type": "object",
1951
2031
  "additionalProperties": false
1952
2032
  },
1953
- "__@search@7853": {
2033
+ "__@search@7877": {
1954
2034
  "type": "object",
1955
2035
  "additionalProperties": false
1956
2036
  },
1957
- "__@split@7855": {
2037
+ "__@split@7879": {
1958
2038
  "type": "object",
1959
2039
  "additionalProperties": false
1960
2040
  },
1961
- "__@matchAll@7857": {
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@7848": {
2787
+ "__@match@7872": {
2668
2788
  "type": "object",
2669
2789
  "additionalProperties": false
2670
2790
  },
2671
- "__@replace@7850": {
2791
+ "__@replace@7874": {
2672
2792
  "type": "object",
2673
2793
  "additionalProperties": false
2674
2794
  },
2675
- "__@search@7853": {
2795
+ "__@search@7877": {
2676
2796
  "type": "object",
2677
2797
  "additionalProperties": false
2678
2798
  },
2679
- "__@split@7855": {
2799
+ "__@split@7879": {
2680
2800
  "type": "object",
2681
2801
  "additionalProperties": false
2682
2802
  },
2683
- "__@matchAll@7857": {
2803
+ "__@matchAll@7881": {
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[], dflt: T): T => {
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 dflt;
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: configManager.modern ? 'stats.modern.json' : 'stats.json',
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@7848": {
1241
+ "__@match@7872": {
1202
1242
  "type": "object",
1203
1243
  "additionalProperties": false
1204
1244
  },
1205
- "__@replace@7850": {
1245
+ "__@replace@7874": {
1206
1246
  "type": "object",
1207
1247
  "additionalProperties": false
1208
1248
  },
1209
- "__@search@7853": {
1249
+ "__@search@7877": {
1210
1250
  "type": "object",
1211
1251
  "additionalProperties": false
1212
1252
  },
1213
- "__@split@7855": {
1253
+ "__@split@7879": {
1214
1254
  "type": "object",
1215
1255
  "additionalProperties": false
1216
1256
  },
1217
- "__@matchAll@7857": {
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@7848": {
1994
+ "__@match@7872": {
1915
1995
  "type": "object",
1916
1996
  "additionalProperties": false
1917
1997
  },
1918
- "__@replace@7850": {
1998
+ "__@replace@7874": {
1919
1999
  "type": "object",
1920
2000
  "additionalProperties": false
1921
2001
  },
1922
- "__@search@7853": {
2002
+ "__@search@7877": {
1923
2003
  "type": "object",
1924
2004
  "additionalProperties": false
1925
2005
  },
1926
- "__@split@7855": {
2006
+ "__@split@7879": {
1927
2007
  "type": "object",
1928
2008
  "additionalProperties": false
1929
2009
  },
1930
- "__@matchAll@7857": {
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@7848": {
2747
+ "__@match@7872": {
2628
2748
  "type": "object",
2629
2749
  "additionalProperties": false
2630
2750
  },
2631
- "__@replace@7850": {
2751
+ "__@replace@7874": {
2632
2752
  "type": "object",
2633
2753
  "additionalProperties": false
2634
2754
  },
2635
- "__@search@7853": {
2755
+ "__@search@7877": {
2636
2756
  "type": "object",
2637
2757
  "additionalProperties": false
2638
2758
  },
2639
- "__@split@7855": {
2759
+ "__@split@7879": {
2640
2760
  "type": "object",
2641
2761
  "additionalProperties": false
2642
2762
  },
2643
- "__@matchAll@7857": {
2763
+ "__@matchAll@7881": {
2644
2764
  "type": "object",
2645
2765
  "additionalProperties": false
2646
2766
  }
@@ -125,6 +125,7 @@ describe('JSON schema для tramvai.json', () => {
125
125
  "overlay": false,
126
126
  },
127
127
  },
128
+ "integrity": false,
128
129
  "modern": true,
129
130
  "name": "test-app",
130
131
  "notifications": {},
@@ -192,6 +193,7 @@ describe('JSON schema для tramvai.json', () => {
192
193
  "overlay": false,
193
194
  },
194
195
  },
196
+ "integrity": false,
195
197
  "name": "test-module",
196
198
  "notifications": {},
197
199
  "output": "dist/modules",
@@ -87,6 +87,15 @@ export interface Experiments {
87
87
  enableFillDeclareActionNamePlugin: boolean;
88
88
  }
89
89
 
90
+ /**
91
+ * @see https://github.com/waysact/webpack-subresource-integrity/tree/main/webpack-subresource-integrity#options
92
+ */
93
+ export interface IntegrityOptions {
94
+ enabled: boolean | 'auto';
95
+ hashFuncNames: ('sha256' | 'sha384' | 'sha512')[];
96
+ hashLoading: 'eager' | 'lazy';
97
+ }
98
+
90
99
  /**
91
100
  * @default {}
92
101
  * @additionalProperties true
@@ -113,6 +122,11 @@ export interface CliConfigEntry extends ConfigEntry {
113
122
  * @default false
114
123
  */
115
124
  sourceMap: OverridableOption<boolean>;
125
+ /**
126
+ * @title Integrity generation options
127
+ * @default false
128
+ */
129
+ integrity: boolean | IntegrityOptions;
116
130
  /**
117
131
  * @title Change different experimental cli settings
118
132
  * @default {}