@tramvai/cli 2.133.0 → 2.133.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.
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildClientProviders = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const dippy_1 = require("@tinkoff/dippy");
6
- const webpack_1 = tslib_1.__importDefault(require("webpack"));
7
5
  const tokens_1 = require("../../../../di/tokens");
8
6
  const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
9
7
  const tokens_2 = require("../../tokens");
10
8
  const closeWebpack_1 = require("../../utils/closeWebpack");
11
9
  const runWebpack_1 = require("../../utils/runWebpack");
10
+ const compiler_1 = require("../../utils/compiler");
12
11
  exports.buildClientProviders = [
13
12
  (0, dippy_1.provide)({
14
13
  provide: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
@@ -24,11 +23,12 @@ exports.buildClientProviders = [
24
23
  }),
25
24
  (0, dippy_1.provide)({
26
25
  provide: tokens_2.WEBPACK_CLIENT_COMPILER_TOKEN,
27
- useFactory: ({ webpackConfig }) => {
28
- return (0, webpack_1.default)((0, toWebpackConfig_1.toWebpackConfig)(webpackConfig));
26
+ useFactory: ({ webpackConfig, di }) => {
27
+ return (0, compiler_1.createCompiler)((0, toWebpackConfig_1.toWebpackConfig)(webpackConfig), di);
29
28
  },
30
29
  deps: {
31
30
  webpackConfig: tokens_2.WEBPACK_CLIENT_CONFIG_TOKEN,
31
+ di: dippy_1.DI_TOKEN,
32
32
  },
33
33
  }),
34
34
  (0, dippy_1.provide)({
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/client.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,8DAA8B;AAC9B,kDAA6D;AAC7D,uFAAoF;AACpF,yCAMsB;AACtB,2DAAwD;AACxD,uDAAoD;AAEvC,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,oCAA2B;QACpC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,aAAa,CAAC,YAAY,CAAC;gBAChC,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,IAAA,iBAAO,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;SAC3C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/client.ts"],"names":[],"mappings":";;;AACA,0CAAmD;AACnD,kDAA6D;AAC7D,uFAAoF;AACpF,yCAMsB;AACtB,2DAAwD;AACxD,uDAAoD;AACpD,mDAAsD;AAEzC,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,oCAA2B;QACpC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,aAAa,CAAC,YAAY,CAAC;gBAChC,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE;YACpC,OAAO,IAAA,yBAAc,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;YAC1C,EAAE,EAAE,gBAAQ;SACb;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;CACH,CAAC"}
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildClientModernProviders = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const dippy_1 = require("@tinkoff/dippy");
6
- const webpack_1 = tslib_1.__importDefault(require("webpack"));
7
5
  const tokens_1 = require("../../../../di/tokens");
8
6
  const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
9
7
  const tokens_2 = require("../../tokens");
10
8
  const closeWebpack_1 = require("../../utils/closeWebpack");
11
9
  const runWebpack_1 = require("../../utils/runWebpack");
10
+ const compiler_1 = require("../../utils/compiler");
12
11
  exports.buildClientModernProviders = [
13
12
  (0, dippy_1.provide)({
14
13
  provide: tokens_2.CLIENT_MODERN_CONFIG_MANAGER_TOKEN,
@@ -24,11 +23,12 @@ exports.buildClientModernProviders = [
24
23
  }),
25
24
  (0, dippy_1.provide)({
26
25
  provide: tokens_2.WEBPACK_CLIENT_MODERN_COMPILER_TOKEN,
27
- useFactory: ({ webpackConfig }) => {
28
- return (0, webpack_1.default)((0, toWebpackConfig_1.toWebpackConfig)(webpackConfig));
26
+ useFactory: ({ webpackConfig, di }) => {
27
+ return (0, compiler_1.createCompiler)((0, toWebpackConfig_1.toWebpackConfig)(webpackConfig), di);
29
28
  },
30
29
  deps: {
31
30
  webpackConfig: tokens_2.WEBPACK_CLIENT_MODERN_CONFIG_TOKEN,
31
+ di: dippy_1.DI_TOKEN,
32
32
  },
33
33
  }),
34
34
  (0, dippy_1.provide)({
@@ -1 +1 @@
1
- {"version":3,"file":"clientModern.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/clientModern.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,8DAA8B;AAC9B,kDAA6D;AAC7D,uFAAoF;AACpF,yCAMsB;AACtB,2DAAwD;AACxD,uDAAoD;AAEvC,QAAA,0BAA0B,GAAe;IACpD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2CAAkC;QAC3C,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,aAAa,CAAC,YAAY,CAAC;gBAChC,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6CAAoC;QAC7C,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,IAAA,iBAAO,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,2CAAkC;SAClD;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,6CAAoC;SACtD;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,6CAAoC;SACtD;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"clientModern.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/clientModern.ts"],"names":[],"mappings":";;;AACA,0CAAmD;AACnD,kDAA6D;AAC7D,uFAAoF;AACpF,yCAMsB;AACtB,2DAAwD;AACxD,uDAAoD;AACpD,mDAAsD;AAEzC,QAAA,0BAA0B,GAAe;IACpD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2CAAkC;QAC3C,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,aAAa,CAAC,YAAY,CAAC;gBAChC,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,6BAAoB;SACpC;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6CAAoC;QAC7C,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE;YACpC,OAAO,IAAA,yBAAc,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,2CAAkC;YACjD,EAAE,EAAE,gBAAQ;SACb;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,6CAAoC;SACtD;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,6CAAoC;SACtD;KACF,CAAC;CACH,CAAC"}
@@ -4,19 +4,20 @@ exports.buildServerProviders = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const dippy_1 = require("@tinkoff/dippy");
6
6
  const rimraf_1 = tslib_1.__importDefault(require("rimraf"));
7
- const webpack_1 = tslib_1.__importDefault(require("webpack"));
8
7
  const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
9
8
  const tokens_1 = require("../../tokens");
10
9
  const closeWebpack_1 = require("../../utils/closeWebpack");
11
10
  const runWebpack_1 = require("../../utils/runWebpack");
11
+ const compiler_1 = require("../../utils/compiler");
12
12
  exports.buildServerProviders = [
13
13
  (0, dippy_1.provide)({
14
14
  provide: tokens_1.WEBPACK_SERVER_COMPILER_TOKEN,
15
- useFactory: ({ webpackConfig }) => {
16
- return (0, webpack_1.default)((0, toWebpackConfig_1.toWebpackConfig)(webpackConfig));
15
+ useFactory: ({ webpackConfig, di }) => {
16
+ return (0, compiler_1.createCompiler)((0, toWebpackConfig_1.toWebpackConfig)(webpackConfig), di);
17
17
  },
18
18
  deps: {
19
19
  webpackConfig: tokens_1.WEBPACK_SERVER_CONFIG_TOKEN,
20
+ di: dippy_1.DI_TOKEN,
20
21
  },
21
22
  }),
22
23
  (0, dippy_1.provide)({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/server.ts"],"names":[],"mappings":";;;;AACA,0CAAyC;AACzC,4DAA4B;AAC5B,8DAA8B;AAC9B,uFAAoF;AACpF,yCAOsB;AACtB,2DAAwD;AACxD,uDAAoD;AAEvC,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,IAAA,iBAAO,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;SAC3C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,SAAS,aAAa;gBAC3B,OAAO,gBAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;SAC3C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/build/server.ts"],"names":[],"mappings":";;;;AACA,0CAAmD;AACnD,4DAA4B;AAC5B,uFAAoF;AACpF,yCAOsB;AACtB,2DAAwD;AACxD,uDAAoD;AACpD,mDAAsD;AAEzC,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE;YACpC,OAAO,IAAA,yBAAc,EAAC,IAAA,iCAAe,EAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;YAC1C,EAAE,EAAE,gBAAQ;SACb;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,2BAAkB;QAC3B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChC,OAAO,SAAS,aAAa;gBAC3B,OAAO,gBAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,oCAA2B;SAC3C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,uBAAU,EAAC,eAAe,CAAC,CAAC;YACrC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,4BAAmB;QAC5B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YAClC,OAAO,SAAS,YAAY;gBAC1B,OAAO,IAAA,2BAAY,EAAC,eAAe,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,sCAA6B;SAC/C;KACF,CAAC;CACH,CAAC"}
@@ -13,7 +13,31 @@ exports.startSharedProviders = [
13
13
  provide: tokens_1.WEBPACK_COMPILER_TOKEN,
14
14
  useFactory: ({ clientConfig, serverConfig }) => {
15
15
  const configs = [clientConfig, serverConfig].filter(Boolean).map(toWebpackConfig_1.toWebpackConfig);
16
- return (0, webpack_1.default)(configs);
16
+ const multiCompiler = (0, webpack_1.default)(configs);
17
+ const { inputFileSystem } = multiCompiler.compilers[0];
18
+ // reuse input file system between compilers for faster builds, reference - https://github.com/vercel/next.js/pull/51879
19
+ multiCompiler.compilers.forEach((compiler) => {
20
+ // eslint-disable-next-line no-param-reassign
21
+ compiler.inputFileSystem = inputFileSystem;
22
+ // This is set for the initial compile. After that Watching class in webpack adds it.
23
+ // eslint-disable-next-line no-param-reassign
24
+ compiler.fsStartTime = Date.now();
25
+ // Ensure NodeEnvironmentPlugin doesn't purge the inputFileSystem. Purging is handled in `done` below.
26
+ // https://github.com/webpack/webpack/blob/main/lib/node/NodeEnvironmentPlugin.js#L51
27
+ compiler.hooks.beforeRun.intercept({
28
+ register(tapInfo) {
29
+ if (tapInfo.name === 'NodeEnvironmentPlugin') {
30
+ return null;
31
+ }
32
+ return tapInfo;
33
+ },
34
+ });
35
+ });
36
+ multiCompiler.hooks.done.tap('rebuildDone', () => {
37
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
38
+ inputFileSystem.purge();
39
+ });
40
+ return multiCompiler;
17
41
  },
18
42
  deps: {
19
43
  clientConfig: { token: tokens_1.WEBPACK_CLIENT_CONFIG_TOKEN, optional: true },
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/start/shared.ts"],"names":[],"mappings":";;;;AACA,0CAAmD;AACnD,8DAA8B;AAC9B,uFAAoF;AACpF,yCAOsB;AACtB,iDAAwD;AACxD,kDAAkF;AAErE,QAAA,oBAAoB,GAAe;IAC9C,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,+BAAsB;QAC/B,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,iCAAe,CAAC,CAAC;YAElF,OAAO,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;YACzC,IAAI,YAAY,EAAE;gBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9B;QACH,CAAC;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,+BAAsB;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,sCAA6B;QACtC,UAAU,EAAE,CAAC,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,GAKb,EAAE,EAAE;YACH,IAAI,YAAY,EAAE;gBAChB,IAAI,YAAY,EAAE;oBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAC9B;gBAED,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC9B;QACH,CAAC;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,+BAAsB;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpE,YAAY,EAAE,EAAE,KAAK,EAAE,oCAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;SACrE;KACF,CAAC;IACF,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,8BAAqB;QAC9B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,uBAAe;QAC3B,IAAI,EAAE;YACJ,EAAE,EAAE,gBAAQ;YACZ,QAAQ,EAAE,+BAAsB;YAChC,aAAa,EAAE,6BAAoB;YACnC,YAAY,EAAE,4BAAmB;SAClC;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/start/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DI_TOKEN } from '@tinkoff/dippy';
2
+ import type { Configuration } from 'webpack';
3
+ import { type Compiler } from 'webpack';
4
+ export declare const createCompiler: (config: Configuration, di: typeof DI_TOKEN) => Compiler;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCompiler = void 0;
4
+ const webpack_1 = require("webpack");
5
+ // reuse input file system between compilers for faster builds, reference - https://github.com/vercel/next.js/pull/51879
6
+ const createCompiler = (config, di) => {
7
+ const compiler = (0, webpack_1.webpack)(config);
8
+ const inputFileSystem = di.get({
9
+ token: 'webpack inputFileSystem',
10
+ optional: true,
11
+ });
12
+ if (inputFileSystem) {
13
+ // eslint-disable-next-line no-param-reassign
14
+ compiler.inputFileSystem = inputFileSystem;
15
+ }
16
+ else {
17
+ di.register({
18
+ provide: 'webpack inputFileSystem',
19
+ useValue: compiler.inputFileSystem,
20
+ });
21
+ }
22
+ return compiler;
23
+ };
24
+ exports.createCompiler = createCompiler;
25
+ //# sourceMappingURL=compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../../src/builder/webpack/utils/compiler.ts"],"names":[],"mappings":";;;AAEA,qCAAiD;AAEjD,wHAAwH;AACjH,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,EAAmB,EAAY,EAAE;IACrF,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC;IACjC,MAAM,eAAe,GAAuC,EAAE,CAAC,GAAG,CAAC;QACjE,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,IAAI;KACf,CAAQ,CAAC;IAEV,IAAI,eAAe,EAAE;QACnB,6CAA6C;QAC7C,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;KAC5C;SAAM;QACL,EAAE,CAAC,QAAQ,CAAC;YACV,OAAO,EAAE,yBAAyB;YAClC,QAAQ,EAAE,QAAQ,CAAC,eAAe;SACnC,CAAC,CAAC;KACJ;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAlBW,QAAA,cAAc,kBAkBzB"}
@@ -13,7 +13,7 @@ const configResolve_1 = tslib_1.__importDefault(require("../../blocks/configReso
13
13
  const sourcemaps_1 = tslib_1.__importDefault(require("../../blocks/sourcemaps"));
14
14
  const fancy_1 = tslib_1.__importDefault(require("../../plugins/WebpackBar/reporters/fancy"));
15
15
  const webpackServerConfig = ({ configManager, showProgress, }) => {
16
- var _a, _b;
16
+ var _a;
17
17
  const config = new webpack_chain_1.default();
18
18
  config.batch((0, common_1.default)(configManager));
19
19
  config.batch((0, dev_1.default)(configManager));
@@ -58,7 +58,9 @@ const webpackServerConfig = ({ configManager, showProgress, }) => {
58
58
  ]);
59
59
  config.plugin('runtime-path').use(RuntimePathPlugin_1.default, [
60
60
  {
61
- publicPath: (_b = process.env.ASSETS_PREFIX) !== null && _b !== void 0 ? _b : `"http://${configManager.staticHost}:${configManager.staticPort}/${configManager.output.client.replace(/\/$/, '')}/"`,
61
+ publicPath: process.env.ASSETS_PREFIX
62
+ ? 'process.env.ASSETS_PREFIX'
63
+ : `"http://${configManager.staticHost}:${configManager.staticPort}/${configManager.output.client.replace(/\/$/, '')}/"`,
62
64
  },
63
65
  ]);
64
66
  return config;
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/server/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/server/dev.ts"],"names":[],"mappings":"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"}
@@ -1141,23 +1141,23 @@
1141
1141
  "dotAll": {
1142
1142
  "type": "boolean"
1143
1143
  },
1144
- "__@match@8247": {
1144
+ "__@match@8255": {
1145
1145
  "type": "object",
1146
1146
  "additionalProperties": false
1147
1147
  },
1148
- "__@replace@8249": {
1148
+ "__@replace@8257": {
1149
1149
  "type": "object",
1150
1150
  "additionalProperties": false
1151
1151
  },
1152
- "__@search@8252": {
1152
+ "__@search@8260": {
1153
1153
  "type": "object",
1154
1154
  "additionalProperties": false
1155
1155
  },
1156
- "__@split@8254": {
1156
+ "__@split@8262": {
1157
1157
  "type": "object",
1158
1158
  "additionalProperties": false
1159
1159
  },
1160
- "__@matchAll@8256": {
1160
+ "__@matchAll@8264": {
1161
1161
  "type": "object",
1162
1162
  "additionalProperties": false
1163
1163
  }
@@ -1802,23 +1802,23 @@
1802
1802
  "dotAll": {
1803
1803
  "type": "boolean"
1804
1804
  },
1805
- "__@match@8247": {
1805
+ "__@match@8255": {
1806
1806
  "type": "object",
1807
1807
  "additionalProperties": false
1808
1808
  },
1809
- "__@replace@8249": {
1809
+ "__@replace@8257": {
1810
1810
  "type": "object",
1811
1811
  "additionalProperties": false
1812
1812
  },
1813
- "__@search@8252": {
1813
+ "__@search@8260": {
1814
1814
  "type": "object",
1815
1815
  "additionalProperties": false
1816
1816
  },
1817
- "__@split@8254": {
1817
+ "__@split@8262": {
1818
1818
  "type": "object",
1819
1819
  "additionalProperties": false
1820
1820
  },
1821
- "__@matchAll@8256": {
1821
+ "__@matchAll@8264": {
1822
1822
  "type": "object",
1823
1823
  "additionalProperties": false
1824
1824
  }
@@ -2463,23 +2463,23 @@
2463
2463
  "dotAll": {
2464
2464
  "type": "boolean"
2465
2465
  },
2466
- "__@match@8247": {
2466
+ "__@match@8255": {
2467
2467
  "type": "object",
2468
2468
  "additionalProperties": false
2469
2469
  },
2470
- "__@replace@8249": {
2470
+ "__@replace@8257": {
2471
2471
  "type": "object",
2472
2472
  "additionalProperties": false
2473
2473
  },
2474
- "__@search@8252": {
2474
+ "__@search@8260": {
2475
2475
  "type": "object",
2476
2476
  "additionalProperties": false
2477
2477
  },
2478
- "__@split@8254": {
2478
+ "__@split@8262": {
2479
2479
  "type": "object",
2480
2480
  "additionalProperties": false
2481
2481
  },
2482
- "__@matchAll@8256": {
2482
+ "__@matchAll@8264": {
2483
2483
  "type": "object",
2484
2484
  "additionalProperties": false
2485
2485
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.133.0",
3
+ "version": "2.133.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.4",
74
- "@tramvai/react": "2.133.0",
74
+ "@tramvai/react": "2.133.4",
75
75
  "@tramvai/tools-check-versions": "0.4.17",
76
76
  "@tramvai/tools-migrate": "0.6.21",
77
77
  "ajv": "^6.12.6",
@@ -143,6 +143,7 @@
143
143
  "resolve": "^1.22.4",
144
144
  "rimraf": "^3.0.2",
145
145
  "semver": "^7.3.7",
146
+ "source-map": "^0.7.4",
146
147
  "source-map-loader": "^4.0.0",
147
148
  "spark-md5": "^3.0.2",
148
149
  "stoppable": "^1.1.0",
@@ -158,6 +159,7 @@
158
159
  "validate-npm-package-name": "^3.0.0",
159
160
  "wait-on": "^5.3.0",
160
161
  "webpack": "5.87.0",
162
+ "webpack-sources": "^3.2.3",
161
163
  "webpack-bundle-analyzer": "^4.9.0",
162
164
  "webpack-chain": "^6.5.1",
163
165
  "webpack-dev-middleware": "^6.1.1",
package/schema.json CHANGED
@@ -1162,23 +1162,23 @@
1162
1162
  "dotAll": {
1163
1163
  "type": "boolean"
1164
1164
  },
1165
- "__@match@8247": {
1165
+ "__@match@8255": {
1166
1166
  "type": "object",
1167
1167
  "additionalProperties": false
1168
1168
  },
1169
- "__@replace@8249": {
1169
+ "__@replace@8257": {
1170
1170
  "type": "object",
1171
1171
  "additionalProperties": false
1172
1172
  },
1173
- "__@search@8252": {
1173
+ "__@search@8260": {
1174
1174
  "type": "object",
1175
1175
  "additionalProperties": false
1176
1176
  },
1177
- "__@split@8254": {
1177
+ "__@split@8262": {
1178
1178
  "type": "object",
1179
1179
  "additionalProperties": false
1180
1180
  },
1181
- "__@matchAll@8256": {
1181
+ "__@matchAll@8264": {
1182
1182
  "type": "object",
1183
1183
  "additionalProperties": false
1184
1184
  }
@@ -1831,23 +1831,23 @@
1831
1831
  "dotAll": {
1832
1832
  "type": "boolean"
1833
1833
  },
1834
- "__@match@8247": {
1834
+ "__@match@8255": {
1835
1835
  "type": "object",
1836
1836
  "additionalProperties": false
1837
1837
  },
1838
- "__@replace@8249": {
1838
+ "__@replace@8257": {
1839
1839
  "type": "object",
1840
1840
  "additionalProperties": false
1841
1841
  },
1842
- "__@search@8252": {
1842
+ "__@search@8260": {
1843
1843
  "type": "object",
1844
1844
  "additionalProperties": false
1845
1845
  },
1846
- "__@split@8254": {
1846
+ "__@split@8262": {
1847
1847
  "type": "object",
1848
1848
  "additionalProperties": false
1849
1849
  },
1850
- "__@matchAll@8256": {
1850
+ "__@matchAll@8264": {
1851
1851
  "type": "object",
1852
1852
  "additionalProperties": false
1853
1853
  }
@@ -2500,23 +2500,23 @@
2500
2500
  "dotAll": {
2501
2501
  "type": "boolean"
2502
2502
  },
2503
- "__@match@8247": {
2503
+ "__@match@8255": {
2504
2504
  "type": "object",
2505
2505
  "additionalProperties": false
2506
2506
  },
2507
- "__@replace@8249": {
2507
+ "__@replace@8257": {
2508
2508
  "type": "object",
2509
2509
  "additionalProperties": false
2510
2510
  },
2511
- "__@search@8252": {
2511
+ "__@search@8260": {
2512
2512
  "type": "object",
2513
2513
  "additionalProperties": false
2514
2514
  },
2515
- "__@split@8254": {
2515
+ "__@split@8262": {
2516
2516
  "type": "object",
2517
2517
  "additionalProperties": false
2518
2518
  },
2519
- "__@matchAll@8256": {
2519
+ "__@matchAll@8264": {
2520
2520
  "type": "object",
2521
2521
  "additionalProperties": false
2522
2522
  }
@@ -1,6 +1,5 @@
1
1
  import type { Provider } from '@tinkoff/dippy';
2
- import { provide } from '@tinkoff/dippy';
3
- import webpack from 'webpack';
2
+ import { DI_TOKEN, provide } from '@tinkoff/dippy';
4
3
  import { CONFIG_MANAGER_TOKEN } from '../../../../di/tokens';
5
4
  import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
6
5
  import {
@@ -12,6 +11,7 @@ import {
12
11
  } from '../../tokens';
13
12
  import { closeWebpack } from '../../utils/closeWebpack';
14
13
  import { runWebpack } from '../../utils/runWebpack';
14
+ import { createCompiler } from '../../utils/compiler';
15
15
 
16
16
  export const buildClientProviders: Provider[] = [
17
17
  provide({
@@ -28,11 +28,12 @@ export const buildClientProviders: Provider[] = [
28
28
  }),
29
29
  provide({
30
30
  provide: WEBPACK_CLIENT_COMPILER_TOKEN,
31
- useFactory: ({ webpackConfig }) => {
32
- return webpack(toWebpackConfig(webpackConfig));
31
+ useFactory: ({ webpackConfig, di }) => {
32
+ return createCompiler(toWebpackConfig(webpackConfig), di);
33
33
  },
34
34
  deps: {
35
35
  webpackConfig: WEBPACK_CLIENT_CONFIG_TOKEN,
36
+ di: DI_TOKEN,
36
37
  },
37
38
  }),
38
39
  provide({
@@ -1,6 +1,5 @@
1
1
  import type { Provider } from '@tinkoff/dippy';
2
- import { provide } from '@tinkoff/dippy';
3
- import webpack from 'webpack';
2
+ import { DI_TOKEN, provide } from '@tinkoff/dippy';
4
3
  import { CONFIG_MANAGER_TOKEN } from '../../../../di/tokens';
5
4
  import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
6
5
  import {
@@ -12,6 +11,7 @@ import {
12
11
  } from '../../tokens';
13
12
  import { closeWebpack } from '../../utils/closeWebpack';
14
13
  import { runWebpack } from '../../utils/runWebpack';
14
+ import { createCompiler } from '../../utils/compiler';
15
15
 
16
16
  export const buildClientModernProviders: Provider[] = [
17
17
  provide({
@@ -28,11 +28,12 @@ export const buildClientModernProviders: Provider[] = [
28
28
  }),
29
29
  provide({
30
30
  provide: WEBPACK_CLIENT_MODERN_COMPILER_TOKEN,
31
- useFactory: ({ webpackConfig }) => {
32
- return webpack(toWebpackConfig(webpackConfig));
31
+ useFactory: ({ webpackConfig, di }) => {
32
+ return createCompiler(toWebpackConfig(webpackConfig), di);
33
33
  },
34
34
  deps: {
35
35
  webpackConfig: WEBPACK_CLIENT_MODERN_CONFIG_TOKEN,
36
+ di: DI_TOKEN,
36
37
  },
37
38
  }),
38
39
  provide({
@@ -1,7 +1,6 @@
1
1
  import type { Provider } from '@tinkoff/dippy';
2
- import { provide } from '@tinkoff/dippy';
2
+ import { DI_TOKEN, provide } from '@tinkoff/dippy';
3
3
  import rimraf from 'rimraf';
4
- import webpack from 'webpack';
5
4
  import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
6
5
  import {
7
6
  CLOSE_HANDLER_TOKEN,
@@ -13,15 +12,17 @@ import {
13
12
  } from '../../tokens';
14
13
  import { closeWebpack } from '../../utils/closeWebpack';
15
14
  import { runWebpack } from '../../utils/runWebpack';
15
+ import { createCompiler } from '../../utils/compiler';
16
16
 
17
17
  export const buildServerProviders: Provider[] = [
18
18
  provide({
19
19
  provide: WEBPACK_SERVER_COMPILER_TOKEN,
20
- useFactory: ({ webpackConfig }) => {
21
- return webpack(toWebpackConfig(webpackConfig));
20
+ useFactory: ({ webpackConfig, di }) => {
21
+ return createCompiler(toWebpackConfig(webpackConfig), di);
22
22
  },
23
23
  deps: {
24
24
  webpackConfig: WEBPACK_SERVER_CONFIG_TOKEN,
25
+ di: DI_TOKEN,
25
26
  },
26
27
  }),
27
28
  provide({
@@ -18,8 +18,35 @@ export const startSharedProviders: Provider[] = [
18
18
  provide: WEBPACK_COMPILER_TOKEN,
19
19
  useFactory: ({ clientConfig, serverConfig }) => {
20
20
  const configs = [clientConfig, serverConfig].filter(Boolean).map(toWebpackConfig);
21
+ const multiCompiler = webpack(configs);
22
+ const { inputFileSystem } = multiCompiler.compilers[0];
21
23
 
22
- return webpack(configs);
24
+ // reuse input file system between compilers for faster builds, reference - https://github.com/vercel/next.js/pull/51879
25
+ multiCompiler.compilers.forEach((compiler) => {
26
+ // eslint-disable-next-line no-param-reassign
27
+ compiler.inputFileSystem = inputFileSystem;
28
+
29
+ // This is set for the initial compile. After that Watching class in webpack adds it.
30
+ // eslint-disable-next-line no-param-reassign
31
+ compiler.fsStartTime = Date.now();
32
+ // Ensure NodeEnvironmentPlugin doesn't purge the inputFileSystem. Purging is handled in `done` below.
33
+ // https://github.com/webpack/webpack/blob/main/lib/node/NodeEnvironmentPlugin.js#L51
34
+ compiler.hooks.beforeRun.intercept({
35
+ register(tapInfo: any) {
36
+ if (tapInfo.name === 'NodeEnvironmentPlugin') {
37
+ return null;
38
+ }
39
+ return tapInfo;
40
+ },
41
+ });
42
+ });
43
+
44
+ multiCompiler.hooks.done.tap('rebuildDone', () => {
45
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
46
+ inputFileSystem.purge!();
47
+ });
48
+
49
+ return multiCompiler;
23
50
  },
24
51
  deps: {
25
52
  clientConfig: { token: WEBPACK_CLIENT_CONFIG_TOKEN, optional: true },
@@ -0,0 +1,24 @@
1
+ import type { DI_TOKEN } from '@tinkoff/dippy';
2
+ import type { Configuration } from 'webpack';
3
+ import { webpack, type Compiler } from 'webpack';
4
+
5
+ // reuse input file system between compilers for faster builds, reference - https://github.com/vercel/next.js/pull/51879
6
+ export const createCompiler = (config: Configuration, di: typeof DI_TOKEN): Compiler => {
7
+ const compiler = webpack(config);
8
+ const inputFileSystem: Compiler['inputFileSystem'] | null = di.get({
9
+ token: 'webpack inputFileSystem',
10
+ optional: true,
11
+ }) as any;
12
+
13
+ if (inputFileSystem) {
14
+ // eslint-disable-next-line no-param-reassign
15
+ compiler.inputFileSystem = inputFileSystem;
16
+ } else {
17
+ di.register({
18
+ provide: 'webpack inputFileSystem',
19
+ useValue: compiler.inputFileSystem,
20
+ });
21
+ }
22
+
23
+ return compiler;
24
+ };
@@ -5,7 +5,10 @@
5
5
  "name": "{{configEntry.name}}",
6
6
  "root": "apps/{{configEntry.name}}",
7
7
  "type": "application",
8
- "sourceMap": true,
8
+ "sourceMap": {
9
+ "development": false,
10
+ "production": true
11
+ },
9
12
  "postcss": {
10
13
  "config": "apps/{{configEntry.name}}/postcss"
11
14
  },
@@ -6,6 +6,10 @@
6
6
  "root": "src",
7
7
  "type": "application",
8
8
  "sourceMap": true,
9
+ "sourceMap": {
10
+ "development": false,
11
+ "production": true
12
+ },
9
13
  "postcss": {
10
14
  "config": "src/postcss"
11
15
  },
@@ -87,11 +87,11 @@ export const webpackServerConfig = ({
87
87
 
88
88
  config.plugin('runtime-path').use(RuntimePathPlugin, [
89
89
  {
90
- publicPath:
91
- process.env.ASSETS_PREFIX ??
92
- `"http://${configManager.staticHost}:${
93
- configManager.staticPort
94
- }/${configManager.output.client.replace(/\/$/, '')}/"`,
90
+ publicPath: process.env.ASSETS_PREFIX
91
+ ? 'process.env.ASSETS_PREFIX'
92
+ : `"http://${configManager.staticHost}:${
93
+ configManager.staticPort
94
+ }/${configManager.output.client.replace(/\/$/, '')}/"`,
95
95
  },
96
96
  ]);
97
97
 
@@ -1141,23 +1141,23 @@
1141
1141
  "dotAll": {
1142
1142
  "type": "boolean"
1143
1143
  },
1144
- "__@match@8247": {
1144
+ "__@match@8255": {
1145
1145
  "type": "object",
1146
1146
  "additionalProperties": false
1147
1147
  },
1148
- "__@replace@8249": {
1148
+ "__@replace@8257": {
1149
1149
  "type": "object",
1150
1150
  "additionalProperties": false
1151
1151
  },
1152
- "__@search@8252": {
1152
+ "__@search@8260": {
1153
1153
  "type": "object",
1154
1154
  "additionalProperties": false
1155
1155
  },
1156
- "__@split@8254": {
1156
+ "__@split@8262": {
1157
1157
  "type": "object",
1158
1158
  "additionalProperties": false
1159
1159
  },
1160
- "__@matchAll@8256": {
1160
+ "__@matchAll@8264": {
1161
1161
  "type": "object",
1162
1162
  "additionalProperties": false
1163
1163
  }
@@ -1802,23 +1802,23 @@
1802
1802
  "dotAll": {
1803
1803
  "type": "boolean"
1804
1804
  },
1805
- "__@match@8247": {
1805
+ "__@match@8255": {
1806
1806
  "type": "object",
1807
1807
  "additionalProperties": false
1808
1808
  },
1809
- "__@replace@8249": {
1809
+ "__@replace@8257": {
1810
1810
  "type": "object",
1811
1811
  "additionalProperties": false
1812
1812
  },
1813
- "__@search@8252": {
1813
+ "__@search@8260": {
1814
1814
  "type": "object",
1815
1815
  "additionalProperties": false
1816
1816
  },
1817
- "__@split@8254": {
1817
+ "__@split@8262": {
1818
1818
  "type": "object",
1819
1819
  "additionalProperties": false
1820
1820
  },
1821
- "__@matchAll@8256": {
1821
+ "__@matchAll@8264": {
1822
1822
  "type": "object",
1823
1823
  "additionalProperties": false
1824
1824
  }
@@ -2463,23 +2463,23 @@
2463
2463
  "dotAll": {
2464
2464
  "type": "boolean"
2465
2465
  },
2466
- "__@match@8247": {
2466
+ "__@match@8255": {
2467
2467
  "type": "object",
2468
2468
  "additionalProperties": false
2469
2469
  },
2470
- "__@replace@8249": {
2470
+ "__@replace@8257": {
2471
2471
  "type": "object",
2472
2472
  "additionalProperties": false
2473
2473
  },
2474
- "__@search@8252": {
2474
+ "__@search@8260": {
2475
2475
  "type": "object",
2476
2476
  "additionalProperties": false
2477
2477
  },
2478
- "__@split@8254": {
2478
+ "__@split@8262": {
2479
2479
  "type": "object",
2480
2480
  "additionalProperties": false
2481
2481
  },
2482
- "__@matchAll@8256": {
2482
+ "__@matchAll@8264": {
2483
2483
  "type": "object",
2484
2484
  "additionalProperties": false
2485
2485
  }