@tramvai/cli 3.25.6 → 3.26.2

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.
@@ -23,7 +23,7 @@ export declare const CLIENT_CONFIG_MANAGER_TOKEN: {
23
23
  useImportModule: boolean;
24
24
  };
25
25
  transpilation: {
26
- loader: "babel" | "swc";
26
+ loader: import("../../typings/configEntry/cli").TranspilationLoader;
27
27
  };
28
28
  };
29
29
  excludesPresetEnv?: string[];
@@ -151,7 +151,7 @@ export declare const CLIENT_MODERN_CONFIG_MANAGER_TOKEN: {
151
151
  useImportModule: boolean;
152
152
  };
153
153
  transpilation: {
154
- loader: "babel" | "swc";
154
+ loader: import("../../typings/configEntry/cli").TranspilationLoader;
155
155
  };
156
156
  };
157
157
  excludesPresetEnv?: string[];
@@ -279,7 +279,7 @@ export declare const SERVER_CONFIG_MANAGER_TOKEN: {
279
279
  useImportModule: boolean;
280
280
  };
281
281
  transpilation: {
282
- loader: "babel" | "swc";
282
+ loader: import("../../typings/configEntry/cli").TranspilationLoader;
283
283
  };
284
284
  };
285
285
  excludesPresetEnv?: string[];
@@ -33,7 +33,7 @@ export declare const CONFIG_MANAGER_TOKEN: {
33
33
  useImportModule: boolean;
34
34
  };
35
35
  transpilation: {
36
- loader: "babel" | "swc";
36
+ loader: import("../../typings/configEntry/cli").TranspilationLoader;
37
37
  };
38
38
  };
39
39
  excludesPresetEnv?: string[];
@@ -1144,23 +1144,23 @@
1144
1144
  "dotAll": {
1145
1145
  "type": "boolean"
1146
1146
  },
1147
- "__@match@6848": {
1147
+ "__@match@6849": {
1148
1148
  "type": "object",
1149
1149
  "additionalProperties": false
1150
1150
  },
1151
- "__@replace@6850": {
1151
+ "__@replace@6851": {
1152
1152
  "type": "object",
1153
1153
  "additionalProperties": false
1154
1154
  },
1155
- "__@search@6853": {
1155
+ "__@search@6854": {
1156
1156
  "type": "object",
1157
1157
  "additionalProperties": false
1158
1158
  },
1159
- "__@split@6855": {
1159
+ "__@split@6856": {
1160
1160
  "type": "object",
1161
1161
  "additionalProperties": false
1162
1162
  },
1163
- "__@matchAll@6857": {
1163
+ "__@matchAll@6858": {
1164
1164
  "type": "object",
1165
1165
  "additionalProperties": false
1166
1166
  }
@@ -1813,23 +1813,23 @@
1813
1813
  "dotAll": {
1814
1814
  "type": "boolean"
1815
1815
  },
1816
- "__@match@6848": {
1816
+ "__@match@6849": {
1817
1817
  "type": "object",
1818
1818
  "additionalProperties": false
1819
1819
  },
1820
- "__@replace@6850": {
1820
+ "__@replace@6851": {
1821
1821
  "type": "object",
1822
1822
  "additionalProperties": false
1823
1823
  },
1824
- "__@search@6853": {
1824
+ "__@search@6854": {
1825
1825
  "type": "object",
1826
1826
  "additionalProperties": false
1827
1827
  },
1828
- "__@split@6855": {
1828
+ "__@split@6856": {
1829
1829
  "type": "object",
1830
1830
  "additionalProperties": false
1831
1831
  },
1832
- "__@matchAll@6857": {
1832
+ "__@matchAll@6858": {
1833
1833
  "type": "object",
1834
1834
  "additionalProperties": false
1835
1835
  }
@@ -2482,23 +2482,23 @@
2482
2482
  "dotAll": {
2483
2483
  "type": "boolean"
2484
2484
  },
2485
- "__@match@6848": {
2485
+ "__@match@6849": {
2486
2486
  "type": "object",
2487
2487
  "additionalProperties": false
2488
2488
  },
2489
- "__@replace@6850": {
2489
+ "__@replace@6851": {
2490
2490
  "type": "object",
2491
2491
  "additionalProperties": false
2492
2492
  },
2493
- "__@search@6853": {
2493
+ "__@search@6854": {
2494
2494
  "type": "object",
2495
2495
  "additionalProperties": false
2496
2496
  },
2497
- "__@split@6855": {
2497
+ "__@split@6856": {
2498
2498
  "type": "object",
2499
2499
  "additionalProperties": false
2500
2500
  },
2501
- "__@matchAll@6857": {
2501
+ "__@matchAll@6858": {
2502
2502
  "type": "object",
2503
2503
  "additionalProperties": false
2504
2504
  }
@@ -1,6 +1,7 @@
1
1
  import type { Configuration } from 'webpack';
2
2
  import type { DeduplicateStrategy } from '@tinkoff/webpack-dedupe-plugin';
3
3
  import type { ConfigEntry, OverridableOption } from './common';
4
+ export type TranspilationLoader = 'babel' | 'swc';
4
5
  type SimplifiedSvgoConfig = string | {
5
6
  name: string;
6
7
  params: Record<string, any>;
@@ -43,7 +44,7 @@ export type TranspilationExperiments = {
43
44
  * @title specify loader to transpile js-ts code
44
45
  * @default "babel"
45
46
  */
46
- loader: OverridableOption<'babel' | 'swc'>;
47
+ loader: OverridableOption<TranspilationLoader>;
47
48
  };
48
49
  export interface Experiments {
49
50
  /**
@@ -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":"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"}
@@ -1,3 +1,5 @@
1
1
  import type { Validator } from './validator.h';
2
+ import type { TranspilationExperiments, TranspilationLoader } from '../../typings/configEntry/cli';
3
+ export declare const extractLoaderFromConfigEntry: (transpilationExperiments?: TranspilationExperiments) => TranspilationLoader;
2
4
  export declare const checkSwcDependencies: Validator;
3
5
  //# sourceMappingURL=checkSwcDependencies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkSwcDependencies.d.ts","sourceRoot":"","sources":["../../../src/validators/commands/checkSwcDependencies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,oBAAoB,EAAE,SAoClC,CAAC"}
1
+ {"version":3,"file":"checkSwcDependencies.d.ts","sourceRoot":"","sources":["../../../src/validators/commands/checkSwcDependencies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAInG,eAAO,MAAM,4BAA4B,8BACZ,wBAAwB,KAClD,mBAaF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SA+DlC,CAAC"}
@@ -1,34 +1,71 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkSwcDependencies = void 0;
3
+ exports.checkSwcDependencies = exports.extractLoaderFromConfigEntry = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const resolve_1 = require("resolve");
6
- const checkSwcDependencies = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
6
+ const validator = 'checkSwcDependencies';
7
+ const extractLoaderFromConfigEntry = (transpilationExperiments) => {
8
+ var _a;
9
+ const defaultTranspiler = 'babel';
10
+ if (!transpilationExperiments) {
11
+ return defaultTranspiler;
12
+ }
13
+ const { loader } = transpilationExperiments;
14
+ if (typeof loader === 'string') {
15
+ return loader;
16
+ }
17
+ return (_a = loader[process.env.NODE_ENV]) !== null && _a !== void 0 ? _a : defaultTranspiler;
18
+ };
19
+ exports.extractLoaderFromConfigEntry = extractLoaderFromConfigEntry;
20
+ const checkSwcDependencies = (context, parameters) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
21
+ var _a;
22
+ const configEntry = context.config.getProject(parameters.target);
23
+ const loader = (0, exports.extractLoaderFromConfigEntry)((_a = configEntry === null || configEntry === void 0 ? void 0 : configEntry.experiments) === null || _a === void 0 ? void 0 : _a.transpilation);
24
+ if (loader === 'babel') {
25
+ return {
26
+ name: validator,
27
+ status: 'ok',
28
+ };
29
+ }
7
30
  const rootDir = process.cwd();
8
31
  const packagePath = `@swc/core/package.json`;
9
- const pathFromCli = (0, resolve_1.sync)(packagePath);
10
- const pathFromRoot = (0, resolve_1.sync)(packagePath, { basedir: rootDir });
11
- const pathFromRootToIntegration = (0, resolve_1.sync)(`@tramvai/swc-integration/package.json`, {
12
- basedir: rootDir,
13
- });
14
32
  let versionFromIntegration = '';
15
33
  let versionFromRoot = '_from_root_version_';
16
34
  let versionFromCli = '_from_cli_version_';
17
35
  try {
36
+ const pathFromCli = (0, resolve_1.sync)(packagePath);
37
+ const pathFromRoot = (0, resolve_1.sync)(packagePath, { basedir: rootDir });
38
+ const pathFromRootToIntegration = (0, resolve_1.sync)(`@tramvai/swc-integration/package.json`, {
39
+ basedir: rootDir,
40
+ });
18
41
  versionFromIntegration = require(pathFromRootToIntegration).dependencies['@swc/core'];
19
42
  versionFromRoot = require(pathFromRoot).version;
20
43
  versionFromCli = require(pathFromCli).version;
21
44
  }
22
- catch (e) { }
45
+ catch (e) {
46
+ // https://www.npmjs.com/package/resolve#methods
47
+ if (e.code === 'MODULE_NOT_FOUND') {
48
+ return {
49
+ name: validator,
50
+ status: 'error',
51
+ message: '@swc/core or @tramvai/swc-integration module is not found. Continue without checking dependencies. Install @tramvai/swc-integration package in case if you use swc-loader',
52
+ };
53
+ }
54
+ return {
55
+ name: validator,
56
+ status: 'error',
57
+ message: `Something went wrong while resolving @swc/core or @tramvai/swc-integration packages, error: ${e}`,
58
+ };
59
+ }
23
60
  const allVersionsAreCorrect = versionFromRoot === versionFromCli && versionFromCli === versionFromIntegration;
24
61
  if (!versionFromIntegration || allVersionsAreCorrect) {
25
62
  return {
26
- name: 'checkSwcDependencies',
63
+ name: validator,
27
64
  status: 'ok',
28
65
  };
29
66
  }
30
67
  return {
31
- name: 'checkSwcDependencies',
68
+ name: validator,
32
69
  status: 'error',
33
70
  message: `Version of @swc/core mismatch between
34
71
  @tramvai/swc-integration (version: ${versionFromIntegration}),
@@ -1 +1 @@
1
- {"version":3,"file":"checkSwcDependencies.js","sourceRoot":"","sources":["../../../src/validators/commands/checkSwcDependencies.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAGnC,MAAM,oBAAoB,GAAc,GAAS,EAAE;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,wBAAwB,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,MAAM,yBAAyB,GAAG,IAAA,cAAO,EAAC,uCAAuC,EAAE;QACjF,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,IAAI,sBAAsB,GAAG,EAAE,CAAC;IAChC,IAAI,eAAe,GAAG,qBAAqB,CAAC;IAC5C,IAAI,cAAc,GAAG,oBAAoB,CAAC;IAC1C,IAAI;QACF,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACtF,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;QAChD,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;KAC/C;IAAC,OAAO,CAAC,EAAE,GAAE;IAEd,MAAM,qBAAqB,GACzB,eAAe,KAAK,cAAc,IAAI,cAAc,KAAK,sBAAsB,CAAC;IAElF,IAAI,CAAC,sBAAsB,IAAI,qBAAqB,EAAE;QACpD,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;qCACwB,sBAAsB;yBAClC,cAAc;0BACb,eAAe,GAAG;KACzC,CAAC;AACJ,CAAC,CAAA,CAAC;AApCW,QAAA,oBAAoB,wBAoC/B"}
1
+ {"version":3,"file":"checkSwcDependencies.js","sourceRoot":"","sources":["../../../src/validators/commands/checkSwcDependencies.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAI1C,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAElC,MAAM,4BAA4B,GAAG,CAC1C,wBAAmD,EAC9B,EAAE;;IACvB,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,wBAAwB,EAAE;QAC7B,OAAO,iBAAiB,CAAC;KAC1B;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC;IAE5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,MAAa,CAAC;KACtB;IAED,OAAO,MAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,iBAAiB,CAAC;AAC3D,CAAC,CAAC;AAfW,QAAA,4BAA4B,gCAevC;AAEK,MAAM,oBAAoB,GAAc,CAAO,OAAO,EAAE,UAAU,EAAE,EAAE;;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAA,oCAA4B,EAAC,MAAC,WAAmB,aAAnB,WAAW,uBAAX,WAAW,CAAU,WAAW,0CAAE,aAAa,CAAC,CAAC;IAE9F,IAAI,MAAM,KAAK,OAAO,EAAE;QACtB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,wBAAwB,CAAC;IAE7C,IAAI,sBAAsB,GAAG,EAAE,CAAC;IAChC,IAAI,eAAe,GAAG,qBAAqB,CAAC;IAC5C,IAAI,cAAc,GAAG,oBAAoB,CAAC;IAC1C,IAAI;QACF,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,yBAAyB,GAAG,IAAA,cAAO,EAAC,uCAAuC,EAAE;YACjF,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACtF,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;QAChD,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;KAC/C;IAAC,OAAO,CAAC,EAAE;QACV,gDAAgD;QAChD,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACjC,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EACL,2KAA2K;aAC9K,CAAC;SACH;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,+FAA+F,CAAC,EAAE;SAC5G,CAAC;KACH;IAED,MAAM,qBAAqB,GACzB,eAAe,KAAK,cAAc,IAAI,cAAc,KAAK,sBAAsB,CAAC;IAElF,IAAI,CAAC,sBAAsB,IAAI,qBAAqB,EAAE;QACpD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;qCACwB,sBAAsB;yBAClC,cAAc;0BACb,eAAe,GAAG;KACzC,CAAC;AACJ,CAAC,CAAA,CAAC;AA/DW,QAAA,oBAAoB,wBA+D/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "3.25.6",
3
+ "version": "3.26.2",
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": "2.0.2",
73
73
  "@tramvai/build": "4.1.0",
74
- "@tramvai/react": "3.25.6",
74
+ "@tramvai/react": "3.26.2",
75
75
  "@tramvai/tools-check-versions": "0.5.3",
76
76
  "@tramvai/tools-migrate": "0.7.3",
77
77
  "ajv": "^8.12.0",
package/schema.json CHANGED
@@ -1166,23 +1166,23 @@
1166
1166
  "dotAll": {
1167
1167
  "type": "boolean"
1168
1168
  },
1169
- "__@match@6848": {
1169
+ "__@match@6849": {
1170
1170
  "type": "object",
1171
1171
  "additionalProperties": false
1172
1172
  },
1173
- "__@replace@6850": {
1173
+ "__@replace@6851": {
1174
1174
  "type": "object",
1175
1175
  "additionalProperties": false
1176
1176
  },
1177
- "__@search@6853": {
1177
+ "__@search@6854": {
1178
1178
  "type": "object",
1179
1179
  "additionalProperties": false
1180
1180
  },
1181
- "__@split@6855": {
1181
+ "__@split@6856": {
1182
1182
  "type": "object",
1183
1183
  "additionalProperties": false
1184
1184
  },
1185
- "__@matchAll@6857": {
1185
+ "__@matchAll@6858": {
1186
1186
  "type": "object",
1187
1187
  "additionalProperties": false
1188
1188
  }
@@ -1844,23 +1844,23 @@
1844
1844
  "dotAll": {
1845
1845
  "type": "boolean"
1846
1846
  },
1847
- "__@match@6848": {
1847
+ "__@match@6849": {
1848
1848
  "type": "object",
1849
1849
  "additionalProperties": false
1850
1850
  },
1851
- "__@replace@6850": {
1851
+ "__@replace@6851": {
1852
1852
  "type": "object",
1853
1853
  "additionalProperties": false
1854
1854
  },
1855
- "__@search@6853": {
1855
+ "__@search@6854": {
1856
1856
  "type": "object",
1857
1857
  "additionalProperties": false
1858
1858
  },
1859
- "__@split@6855": {
1859
+ "__@split@6856": {
1860
1860
  "type": "object",
1861
1861
  "additionalProperties": false
1862
1862
  },
1863
- "__@matchAll@6857": {
1863
+ "__@matchAll@6858": {
1864
1864
  "type": "object",
1865
1865
  "additionalProperties": false
1866
1866
  }
@@ -2522,23 +2522,23 @@
2522
2522
  "dotAll": {
2523
2523
  "type": "boolean"
2524
2524
  },
2525
- "__@match@6848": {
2525
+ "__@match@6849": {
2526
2526
  "type": "object",
2527
2527
  "additionalProperties": false
2528
2528
  },
2529
- "__@replace@6850": {
2529
+ "__@replace@6851": {
2530
2530
  "type": "object",
2531
2531
  "additionalProperties": false
2532
2532
  },
2533
- "__@search@6853": {
2533
+ "__@search@6854": {
2534
2534
  "type": "object",
2535
2535
  "additionalProperties": false
2536
2536
  },
2537
- "__@split@6855": {
2537
+ "__@split@6856": {
2538
2538
  "type": "object",
2539
2539
  "additionalProperties": false
2540
2540
  },
2541
- "__@matchAll@6857": {
2541
+ "__@matchAll@6858": {
2542
2542
  "type": "object",
2543
2543
  "additionalProperties": false
2544
2544
  }
@@ -1144,23 +1144,23 @@
1144
1144
  "dotAll": {
1145
1145
  "type": "boolean"
1146
1146
  },
1147
- "__@match@6848": {
1147
+ "__@match@6849": {
1148
1148
  "type": "object",
1149
1149
  "additionalProperties": false
1150
1150
  },
1151
- "__@replace@6850": {
1151
+ "__@replace@6851": {
1152
1152
  "type": "object",
1153
1153
  "additionalProperties": false
1154
1154
  },
1155
- "__@search@6853": {
1155
+ "__@search@6854": {
1156
1156
  "type": "object",
1157
1157
  "additionalProperties": false
1158
1158
  },
1159
- "__@split@6855": {
1159
+ "__@split@6856": {
1160
1160
  "type": "object",
1161
1161
  "additionalProperties": false
1162
1162
  },
1163
- "__@matchAll@6857": {
1163
+ "__@matchAll@6858": {
1164
1164
  "type": "object",
1165
1165
  "additionalProperties": false
1166
1166
  }
@@ -1813,23 +1813,23 @@
1813
1813
  "dotAll": {
1814
1814
  "type": "boolean"
1815
1815
  },
1816
- "__@match@6848": {
1816
+ "__@match@6849": {
1817
1817
  "type": "object",
1818
1818
  "additionalProperties": false
1819
1819
  },
1820
- "__@replace@6850": {
1820
+ "__@replace@6851": {
1821
1821
  "type": "object",
1822
1822
  "additionalProperties": false
1823
1823
  },
1824
- "__@search@6853": {
1824
+ "__@search@6854": {
1825
1825
  "type": "object",
1826
1826
  "additionalProperties": false
1827
1827
  },
1828
- "__@split@6855": {
1828
+ "__@split@6856": {
1829
1829
  "type": "object",
1830
1830
  "additionalProperties": false
1831
1831
  },
1832
- "__@matchAll@6857": {
1832
+ "__@matchAll@6858": {
1833
1833
  "type": "object",
1834
1834
  "additionalProperties": false
1835
1835
  }
@@ -2482,23 +2482,23 @@
2482
2482
  "dotAll": {
2483
2483
  "type": "boolean"
2484
2484
  },
2485
- "__@match@6848": {
2485
+ "__@match@6849": {
2486
2486
  "type": "object",
2487
2487
  "additionalProperties": false
2488
2488
  },
2489
- "__@replace@6850": {
2489
+ "__@replace@6851": {
2490
2490
  "type": "object",
2491
2491
  "additionalProperties": false
2492
2492
  },
2493
- "__@search@6853": {
2493
+ "__@search@6854": {
2494
2494
  "type": "object",
2495
2495
  "additionalProperties": false
2496
2496
  },
2497
- "__@split@6855": {
2497
+ "__@split@6856": {
2498
2498
  "type": "object",
2499
2499
  "additionalProperties": false
2500
2500
  },
2501
- "__@matchAll@6857": {
2501
+ "__@matchAll@6858": {
2502
2502
  "type": "object",
2503
2503
  "additionalProperties": false
2504
2504
  }
@@ -2,8 +2,8 @@ import type { Configuration } from 'webpack';
2
2
  import type { DeduplicateStrategy } from '@tinkoff/webpack-dedupe-plugin';
3
3
  import type { ConfigEntry, OverridableOption } from './common';
4
4
 
5
+ export type TranspilationLoader = 'babel' | 'swc';
5
6
  type SimplifiedSvgoConfig = string | { name: string; params: Record<string, any> };
6
-
7
7
  type Notifications = {
8
8
  /**
9
9
  * @title Defines when success notifications are shown
@@ -48,7 +48,7 @@ export type TranspilationExperiments = {
48
48
  * @title specify loader to transpile js-ts code
49
49
  * @default "babel"
50
50
  */
51
- loader: OverridableOption<'babel' | 'swc'>;
51
+ loader: OverridableOption<TranspilationLoader>;
52
52
  };
53
53
 
54
54
  export interface Experiments {
@@ -1,6 +1,23 @@
1
1
  import { sync as mockResolve } from 'resolve';
2
2
  import type { Context } from '../../models/context';
3
3
  import { checkSwcDependencies } from './checkSwcDependencies';
4
+ import type { TranspilationLoader } from '../../typings/configEntry/cli';
5
+
6
+ const getContextWithLoader = (loader: TranspilationLoader) => {
7
+ return {
8
+ config: {
9
+ getProject: () => {
10
+ return {
11
+ experiments: {
12
+ transpilation: {
13
+ loader,
14
+ },
15
+ },
16
+ };
17
+ },
18
+ },
19
+ } as any as Context;
20
+ };
4
21
 
5
22
  const mockSwcIntegration = (version, mockCliVersion, mockRootVersion) => {
6
23
  jest.mock(
@@ -42,7 +59,7 @@ jest.mock('resolve', () => ({
42
59
 
43
60
  describe('validators/checkSwcDependencies', () => {
44
61
  const mockLog = jest.fn();
45
- const context = {} as Context;
62
+ const context = getContextWithLoader('swc');
46
63
 
47
64
  beforeEach(() => {
48
65
  mockLog.mockClear();
@@ -50,8 +67,8 @@ describe('validators/checkSwcDependencies', () => {
50
67
  (mockResolve as jest.Mock).mockClear();
51
68
  });
52
69
 
53
- it('returns ok if there is no @tramvai/swc-integration', async () => {
54
- expect(await checkSwcDependencies(context, {})).toMatchInlineSnapshot(`
70
+ it('returns ok if there is no @tramvai/swc-integration with babel transpiler', async () => {
71
+ expect(await checkSwcDependencies(getContextWithLoader('babel'), {})).toMatchInlineSnapshot(`
55
72
  {
56
73
  "name": "checkSwcDependencies",
57
74
  "status": "ok",
@@ -59,6 +76,14 @@ describe('validators/checkSwcDependencies', () => {
59
76
  `);
60
77
  });
61
78
 
79
+ it('returns error if there is no @tramvai/swc-integration with swc transpiler', async () => {
80
+ const result = await checkSwcDependencies(context, {});
81
+ expect(result.message).toBe(
82
+ '@swc/core or @tramvai/swc-integration module is not found. Continue without checking dependencies. Install @tramvai/swc-integration package in case if you use swc-loader'
83
+ );
84
+ expect(result.status).toBe('error');
85
+ });
86
+
62
87
  it('returns ok if there is @tramvai/swc-integration with correct version from root & cli', async () => {
63
88
  mockSwcIntegration('1.0.0', '1.0.0', '1.0.0');
64
89
 
@@ -114,4 +139,12 @@ describe('validators/checkSwcDependencies', () => {
114
139
  }
115
140
  `);
116
141
  });
142
+ it('returns ok with babel transpiler', async () => {
143
+ expect(await checkSwcDependencies(getContextWithLoader('babel'), {})).toMatchInlineSnapshot(`
144
+ {
145
+ "name": "checkSwcDependencies",
146
+ "status": "ok",
147
+ }
148
+ `);
149
+ });
117
150
  });
@@ -1,36 +1,83 @@
1
1
  import { sync as resolve } from 'resolve';
2
2
  import type { Validator } from './validator.h';
3
+ import type { TranspilationExperiments, TranspilationLoader } from '../../typings/configEntry/cli';
4
+
5
+ const validator = 'checkSwcDependencies';
6
+
7
+ export const extractLoaderFromConfigEntry = (
8
+ transpilationExperiments?: TranspilationExperiments
9
+ ): TranspilationLoader => {
10
+ const defaultTranspiler = 'babel';
11
+ if (!transpilationExperiments) {
12
+ return defaultTranspiler;
13
+ }
14
+
15
+ const { loader } = transpilationExperiments;
16
+
17
+ if (typeof loader === 'string') {
18
+ return loader as any;
19
+ }
20
+
21
+ return loader[process.env.NODE_ENV] ?? defaultTranspiler;
22
+ };
23
+
24
+ export const checkSwcDependencies: Validator = async (context, parameters) => {
25
+ const configEntry = context.config.getProject(parameters.target);
26
+
27
+ const loader = extractLoaderFromConfigEntry((configEntry as any)?.experiments?.transpilation);
28
+
29
+ if (loader === 'babel') {
30
+ return {
31
+ name: validator,
32
+ status: 'ok',
33
+ };
34
+ }
3
35
 
4
- export const checkSwcDependencies: Validator = async () => {
5
36
  const rootDir = process.cwd();
6
37
  const packagePath = `@swc/core/package.json`;
7
- const pathFromCli = resolve(packagePath);
8
- const pathFromRoot = resolve(packagePath, { basedir: rootDir });
9
- const pathFromRootToIntegration = resolve(`@tramvai/swc-integration/package.json`, {
10
- basedir: rootDir,
11
- });
12
38
 
13
39
  let versionFromIntegration = '';
14
40
  let versionFromRoot = '_from_root_version_';
15
41
  let versionFromCli = '_from_cli_version_';
16
42
  try {
43
+ const pathFromCli = resolve(packagePath);
44
+ const pathFromRoot = resolve(packagePath, { basedir: rootDir });
45
+ const pathFromRootToIntegration = resolve(`@tramvai/swc-integration/package.json`, {
46
+ basedir: rootDir,
47
+ });
17
48
  versionFromIntegration = require(pathFromRootToIntegration).dependencies['@swc/core'];
18
49
  versionFromRoot = require(pathFromRoot).version;
19
50
  versionFromCli = require(pathFromCli).version;
20
- } catch (e) {}
51
+ } catch (e) {
52
+ // https://www.npmjs.com/package/resolve#methods
53
+ if (e.code === 'MODULE_NOT_FOUND') {
54
+ return {
55
+ name: validator,
56
+ status: 'error',
57
+ message:
58
+ '@swc/core or @tramvai/swc-integration module is not found. Continue without checking dependencies. Install @tramvai/swc-integration package in case if you use swc-loader',
59
+ };
60
+ }
61
+
62
+ return {
63
+ name: validator,
64
+ status: 'error',
65
+ message: `Something went wrong while resolving @swc/core or @tramvai/swc-integration packages, error: ${e}`,
66
+ };
67
+ }
21
68
 
22
69
  const allVersionsAreCorrect =
23
70
  versionFromRoot === versionFromCli && versionFromCli === versionFromIntegration;
24
71
 
25
72
  if (!versionFromIntegration || allVersionsAreCorrect) {
26
73
  return {
27
- name: 'checkSwcDependencies',
74
+ name: validator,
28
75
  status: 'ok',
29
76
  };
30
77
  }
31
78
 
32
79
  return {
33
- name: 'checkSwcDependencies',
80
+ name: validator,
34
81
  status: 'error',
35
82
  message: `Version of @swc/core mismatch between
36
83
  @tramvai/swc-integration (version: ${versionFromIntegration}),