@tramvai/cli 5.45.2 → 5.46.1

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,5 +1,5 @@
1
1
  import type { TranspilerConfig } from '../webpack/utils/transpiler';
2
- export declare const babelConfigFactory: ({ env, target, modern, isServer, modules, generateDataQaTag, enableFillActionNamePlugin, enableFillDeclareActionNamePlugin, markCreateTokenAsPure, typescript, loader, removeTypeofWindow, tramvai, hot, excludesPresetEnv, rootDir, reactCompiler, }: Partial<TranspilerConfig>) => {
2
+ export declare const babelConfigFactory: ({ env, target, modern, isServer, modules, generateDataQaTag, enableFillActionNamePlugin, enableFillDeclareActionNamePlugin, markCreateTokenAsPure, typescript, loader, removeTypeofWindow, tramvai, hot, excludesPresetEnv, rootDir, reactCompiler, loose, externalHelpers, }: Partial<TranspilerConfig>) => {
3
3
  cwd: string;
4
4
  compact: boolean;
5
5
  sourceType: "unambiguous";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/library/babel/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA0BpE,eAAO,MAAM,kBAAkB,0PAoB5B,QAAQ,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiI3B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/library/babel/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA0BpE,eAAO,MAAM,kBAAkB,kRAsB5B,QAAQ,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoI3B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -33,7 +33,7 @@ function hasJsxRuntime() {
33
33
  const babelConfigFactory = ({ env = 'development', target, modern, isServer = false, modules = false, generateDataQaTag = true, enableFillActionNamePlugin = false, enableFillDeclareActionNamePlugin = false,
34
34
  // for testing only!
35
35
  // @ts-expect-error
36
- markCreateTokenAsPure = true, typescript = false, loader = true, removeTypeofWindow, tramvai = false, hot = false, excludesPresetEnv, rootDir = process.cwd(), reactCompiler = false, }) => {
36
+ markCreateTokenAsPure = true, typescript = false, loader = true, removeTypeofWindow, tramvai = false, hot = false, excludesPresetEnv, rootDir = process.cwd(), reactCompiler = false, loose = true, externalHelpers = true, }) => {
37
37
  const cfg = envConfig[env] || {};
38
38
  let resultTarget = target;
39
39
  if (!target) {
@@ -76,7 +76,7 @@ markCreateTokenAsPure = true, typescript = false, loader = true, removeTypeofWin
76
76
  // this logic is here - https://github.com/zloirock/core-js/blob/master/packages/core-js-compat/src/modules-by-versions.mjs
77
77
  corejs: require('core-js/package.json').version,
78
78
  // TODO: will be deprecated in babel@8 - https://babeljs.io/docs/babel-preset-env#loose
79
- loose: true,
79
+ loose,
80
80
  targets,
81
81
  browserslistEnv: resultTarget,
82
82
  bugfixes: resultTarget === 'modern',
@@ -99,7 +99,10 @@ markCreateTokenAsPure = true, typescript = false, loader = true, removeTypeofWin
99
99
  // React compiler must be the first plugin in the chain
100
100
  (0, react_compiler_1.getReactCompilerPlugin)({ isServer, options: reactCompiler }),
101
101
  // TODO: useESModules is deprecated and should work automatically - https://babeljs.io/docs/en/babel-plugin-transform-runtime#useesmodules
102
- ['@babel/transform-runtime', { useESModules: !(isServer && env === 'development') }],
102
+ externalHelpers && [
103
+ '@babel/transform-runtime',
104
+ { useESModules: !(isServer && env === 'development') },
105
+ ],
103
106
  path_1.default.resolve(__dirname, './plugins/lazy-component/legacy-universal-replace'),
104
107
  path_1.default.resolve(__dirname, './plugins/lazy-component/lazy-component'),
105
108
  enableFillDeclareActionNamePlugin &&
@@ -118,13 +121,13 @@ markCreateTokenAsPure = true, typescript = false, loader = true, removeTypeofWin
118
121
  [
119
122
  '@babel/plugin-proposal-class-properties',
120
123
  {
121
- loose: true,
124
+ loose,
122
125
  },
123
126
  ],
124
127
  isServer && [
125
128
  '@babel/plugin-transform-private-methods',
126
129
  {
127
- loose: true,
130
+ loose,
128
131
  },
129
132
  ],
130
133
  '@babel/plugin-proposal-export-default-from',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/babel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/babel/index.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,wEAAwC;AACxC,+FAAsD;AACtD,qCAA0C;AAG1C,6DAAkE;AAGlE,MAAM,SAAS,GAAG;IAChB,UAAU,EAAE;QACV,OAAO,EAAE;YACP,iDAAiD;YACjD;gBACE,mCAAmC;gBACnC;oBACE,YAAY,EAAE,IAAI;iBACnB;aACF;SACF;KACF;CACF,CAAC;AAEF,SAAS,aAAa;IACpB,IAAI;QACF,IAAA,cAAO,EAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,sCAAsC;AAC/B,MAAM,kBAAkB,GAAG,CAAC,EACjC,GAAG,GAAG,aAAa,EACnB,MAAM,EACN,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,iBAAiB,GAAG,IAAI,EACxB,0BAA0B,GAAG,KAAK,EAClC,iCAAiC,GAAG,KAAK;AACzC,oBAAoB;AACpB,mBAAmB;AACnB,qBAAqB,GAAG,IAAI,EAC5B,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,IAAI,EACb,kBAAkB,EAClB,OAAO,GAAG,KAAK,EACf,GAAG,GAAG,KAAK,EACX,iBAAiB,EACjB,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EACvB,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,IAAI,EACZ,eAAe,GAAG,IAAI,GACI,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,QAAQ,EAAE;YACZ,YAAY,GAAG,MAAM,CAAC;SACvB;aAAM,IAAI,MAAM,EAAE;YACjB,YAAY,GAAG,QAAQ,CAAC;SACzB;KACF;IAED,MAAM,qBAAqB,GAAG,sBAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE/D,oGAAoG;IACpG,MAAM,iBAAiB,GACrB,qBAAqB,EAAE,CAAC,YAAY,CAAC,IAAI,6BAAU,CAAC,YAAY,CAAC,IAAI,6BAAU,CAAC,QAAQ,CAAC;IAE3F,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,iBAAiB,EAAE;QAC9C,eAAe,EAAE,IAAI;QACrB,GAAG,EAAE,YAAY;KAClB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG;QAClB,oGAAoG;QACpG,kGAAkG;QAClG,wFAAwF;QACxF,gGAAgG;QAChG,2CAA2C;QAC3C,UAAU,EAAE,aAAsB;QAElC,sFAAsF;QACtF,mEAAmE;QACnE,yCAAyC;QACzC,0DAA0D;QAC1D,WAAW,EAAE;YACX,mBAAmB,EAAE,IAAI;YACzB,eAAe,EAAE,KAAK;SACvB;QAED,OAAO,EAAE;YACP;gBACE,mBAAmB;gBACnB;oBACE,OAAO;oBACP,WAAW,EAAE,OAAO;oBACpB,qGAAqG;oBACrG,2HAA2H;oBAC3H,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO;oBAC/C,uFAAuF;oBACvF,KAAK;oBACL,OAAO;oBACP,eAAe,EAAE,YAAY;oBAC7B,QAAQ,EAAE,YAAY,KAAK,QAAQ;oBACnC,OAAO,EAAE,iBAAiB;iBAC3B;aACF;YACD;gBACE,qBAAqB;gBACrB;oBACE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBAClD,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,GAAG,KAAK,aAAa;iBACnC;aACF;YACD,UAAU,IAAI,0BAA0B;SACzC;aACE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACzB,MAAM,CAAC,OAAO,CAAgC;QAEjD,OAAO,EAAE;YACP,uDAAuD;YACvD,IAAA,uCAAsB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC5D,0IAA0I;YAC1I,eAAe,IAAI;gBACjB,0BAA0B;gBAC1B,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,IAAI,GAAG,KAAK,aAAa,CAAC,EAAE;aACvD;YACD,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mDAAmD,CAAC;YAC5E,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yCAAyC,CAAC;YAClE,iCAAiC;gBAC/B,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oCAAoC,CAAC;YAC/D,iBAAiB,IAAI,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,qCAAqC,CAAC;YACnF,0BAA0B,IAAI,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC;YACnF,qBAAqB,IAAI,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,6BAA6B,CAAC;YAC/E,kCAAkC;YAClC,QAAQ,IAAI,kCAAkC;YAC9C;gBACE,mCAAmC;gBACnC;oBACE,MAAM,EAAE,IAAI;iBACb;aACF;YACD;gBACE,yCAAyC;gBACzC;oBACE,KAAK;iBACN;aACF;YACD,QAAQ,IAAI;gBACV,yCAAyC;gBACzC;oBACE,KAAK;iBACN;aACF;YACD,4CAA4C;YAC5C,kBAAkB,IAAI;gBACpB,kBAAkB;gBAClB;oBACE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;iBACnD;aACF;YACD,OAAO,IAAI,GAAG,KAAK,aAAa,IAAI,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC;YACvF,CAAC,QAAQ;gBACP,GAAG,KAAK,aAAa;gBACrB,GAAG,IAAI,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;SACpF;aACE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACzB,MAAM,CAAC,OAAO,CAAC;KACnB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM;QACzB,CAAC,CAAC;YACE,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC9C,OAAO,EAAE,KAAK;SACf;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,GAAG,WAAW;QACd,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC,CAAC;AA1JW,QAAA,kBAAkB,sBA0J7B;AAEF,kBAAe,0BAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAOpE,eAAO,MAAM,aAAa,WAAY,gBAAgB,KAAG,UA6IxD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAOpE,eAAO,MAAM,aAAa,WAAY,gBAAgB,KAAG,UA+IxD,CAAC"}
@@ -13,7 +13,11 @@ const TRAMVAI_SWC_TARGET_PATH = '@tramvai/swc-integration/target/wasm32-wasi';
13
13
  const NOT_SUPPORTED_FIELDS = ['alias', 'enableFillActionNamePlugin'];
14
14
  let warningWasShown = false;
15
15
  const getSwcOptions = (config) => {
16
- const { env = 'development', target, modern, isServer = false, modules = false, typescript = false, hot = false, removeTypeofWindow, tramvai = false, rootDir = process.cwd(), generateDataQaTag = false, } = config;
16
+ const { env = 'development', target, modern, isServer = false, modules = false, typescript = false, hot = false, removeTypeofWindow, tramvai = false, rootDir = process.cwd(), generateDataQaTag = false,
17
+ // disabled because `arrayLikeIsIterable` and `iterableIsArray` assumtions is not supported yet in swc,
18
+ // this can leads to incorrect code generation e.g. when Set with spread is used - `[...new Set()] => [].concat(new Set())`
19
+ // TCORE-4904
20
+ loose = false, externalHelpers = true, } = config;
17
21
  if (!warningWasShown) {
18
22
  for (const field of NOT_SUPPORTED_FIELDS) {
19
23
  if (config[field] && !(0, empty_1.default)(config[field])) {
@@ -75,10 +79,7 @@ Having swc config may conflict with @tramvai/cli configuration`);
75
79
  // Use relevant core-js version, because it affects which polyfills are included
76
80
  // https://github.com/swc-project/swc/blob/main/crates/swc_ecma_preset_env/data/core-js-compat/modules-by-versions.json
77
81
  coreJs: require('core-js/package.json').version,
78
- // disabled because `arrayLikeIsIterable` and `iterableIsArray` assumtions is not supported yet in swc,
79
- // this can leads to incorrect code generation e.g. when Set with spread is used - `[...new Set()] => [].concat(new Set())`
80
- // TCORE-4904
81
- loose: false,
82
+ loose,
82
83
  mode: 'entry',
83
84
  },
84
85
  module: {
@@ -86,7 +87,7 @@ Having swc config may conflict with @tramvai/cli configuration`);
86
87
  },
87
88
  isModule: 'unknown',
88
89
  jsc: {
89
- externalHelpers: true,
90
+ externalHelpers,
90
91
  parser: {
91
92
  syntax: typescript ? 'typescript' : 'ecmascript',
92
93
  decorators: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/library/swc/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serverInline.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/serverInline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,YAAY,kBAAmB,cAAc,cAAc,CAAC,cAAc,MAAM,SAqB5F,CAAC"}
1
+ {"version":3,"file":"serverInline.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/serverInline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,eAAO,MAAM,YAAY,kBAAmB,cAAc,cAAc,CAAC,cAAc,MAAM,SA2B5F,CAAC"}
@@ -12,7 +12,13 @@ const serverInline = (configManager) => (config) => {
12
12
  .before('project')
13
13
  .test(new RegExp(`\\.inline(\\.es)?\\.${type}$`))
14
14
  .use('transpiler')
15
- .batch((0, transpiler_1.addTranspilerLoader)(clientConfigManager, (0, transpiler_1.getTranspilerConfig)(clientConfigManager, { typescript: type === 'ts' })));
15
+ .batch((0, transpiler_1.addTranspilerLoader)(clientConfigManager, (0, transpiler_1.getTranspilerConfig)(clientConfigManager, {
16
+ typescript: type === 'ts',
17
+ // inline transpiler runtime helpers to prevent webpack imports in generated inline scripts
18
+ externalHelpers: false,
19
+ // minimize swc helpers usage to prevent inline scripts bloat, risks is minimal for rarely used inline scripts
20
+ loose: true,
21
+ })));
16
22
  };
17
23
  addInlineHandler('js');
18
24
  addInlineHandler('ts');
@@ -1 +1 @@
1
- {"version":3,"file":"serverInline.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/serverInline.ts"],"names":[],"mappings":";;;AAGA,oDAA+E;AAExE,MAAM,YAAY,GAAG,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC/F,qDAAqD;IACrD,MAAM,mBAAmB,GAAG,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/F,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,CAAC,MAAM;aACV,IAAI,CAAC,IAAI,CAAC;aACV,KAAK,CAAC,QAAQ,CAAC;aACf,MAAM,CAAC,SAAS,CAAC;aACjB,IAAI,CAAC,IAAI,MAAM,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;aAChD,GAAG,CAAC,YAAY,CAAC;aACjB,KAAK,CACJ,IAAA,gCAAmB,EACjB,mBAAmB,EACnB,IAAA,gCAAmB,EAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC,CACxE,CACF,CAAC;IACN,CAAC,CAAC;IAEF,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB"}
1
+ {"version":3,"file":"serverInline.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/serverInline.ts"],"names":[],"mappings":";;;AAGA,oDAA+E;AAExE,MAAM,YAAY,GAAG,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC/F,qDAAqD;IACrD,MAAM,mBAAmB,GAAG,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/F,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;QACxC,MAAM,CAAC,MAAM;aACV,IAAI,CAAC,IAAI,CAAC;aACV,KAAK,CAAC,QAAQ,CAAC;aACf,MAAM,CAAC,SAAS,CAAC;aACjB,IAAI,CAAC,IAAI,MAAM,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;aAChD,GAAG,CAAC,YAAY,CAAC;aACjB,KAAK,CACJ,IAAA,gCAAmB,EACjB,mBAAmB,EACnB,IAAA,gCAAmB,EAAC,mBAAmB,EAAE;YACvC,UAAU,EAAE,IAAI,KAAK,IAAI;YACzB,2FAA2F;YAC3F,eAAe,EAAE,KAAK;YACtB,8GAA8G;YAC9G,KAAK,EAAE,IAAI;SACZ,CAAC,CACH,CACF,CAAC;IACN,CAAC,CAAC;IAEF,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AA3BW,QAAA,YAAY,gBA2BvB"}
@@ -20,6 +20,18 @@ export type TranspilerConfig = {
20
20
  excludesPresetEnv: string[];
21
21
  rootDir: string;
22
22
  reactCompiler: boolean | ReactCompilerOptions;
23
+ /**
24
+ * Enable or disable `loose` transformations:
25
+ * with swc loader - https://swc.rs/docs/configuration/compilation#jscloose
26
+ * with babel loader - https://babeljs.io/docs/babel-preset-env#loose
27
+ */
28
+ loose?: boolean;
29
+ /**
30
+ * Enable or disable external transpiler runtime helpers:
31
+ * with swc loader, pass value directly to `jsc.externalHelpers` option - https://swc.rs/docs/configuration/compilation#jscexternalhelpers
32
+ * with babel loader, when `false`, disable `@babel/plugin-transform-runtime` - https://babeljs.io/docs/babel-plugin-transform-runtime
33
+ */
34
+ externalHelpers?: boolean;
23
35
  };
24
36
  export declare const addTranspilerLoader: (configManager: ConfigManager<CliConfigEntry>, transpilerConfig: TranspilerConfig) => (rule: Config.Use) => Config.Rule;
25
37
  export declare const getTranspilerConfig: (configManager: ConfigManager<CliConfigEntry>, overrideOptions?: Partial<TranspilerConfig>) => TranspilerConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/utils/transpiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B,EAAE,OAAO,CAAC;IACpC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,GAAG,oBAAoB,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBACd,cAAc,cAAc,CAAC,oBAAoB,gBAAgB,YAC1E,OAAO,GAAG,gBAkBhB,CAAC;AAEJ,eAAO,MAAM,mBAAmB,kBACf,cAAc,cAAc,CAAC,oBAC3B,QAAQ,gBAAgB,CAAC,KACzC,gBAkCF,CAAC"}
1
+ {"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/utils/transpiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B,EAAE,OAAO,CAAC;IACpC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,GAAG,oBAAoB,CAAC;IAC9C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBACd,cAAc,cAAc,CAAC,oBAAoB,gBAAgB,YAC1E,OAAO,GAAG,gBAkBhB,CAAC;AAEJ,eAAO,MAAM,mBAAmB,kBACf,cAAc,cAAc,CAAC,oBAC3B,QAAQ,gBAAgB,CAAC,KACzC,gBAkCF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../../../src/library/webpack/utils/transpiler.ts"],"names":[],"mappings":";;;AACA,qCAA0C;AAE1C,mCAA0C;AAC1C,uCAAiD;AAwB1C,MAAM,mBAAmB,GAC9B,CAAC,aAA4C,EAAE,gBAAkC,EAAE,EAAE,CACrF,CAAC,IAAgB,EAAE,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC;IAE3D,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,IAAI;YACF,IAAA,cAAO,EAAC,uCAAuC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;SACtF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC;;OAEjB,CAAC,CAAC;SACF;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAA,mBAAa,EAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACjF;IAED,IAAI,MAAM,KAAK,OAAO,EAAE;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACxF;AACH,CAAC,CAAC;AApBS,QAAA,mBAAmB,uBAoB5B;AAEG,MAAM,mBAAmB,GAAG,CACjC,aAA4C,EAC5C,kBAA6C,EAAE,EAC7B,EAAE;IACpB,MAAM,EACJ,iBAAiB,EACjB,KAAK,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,EAAE,EAAE,iCAAiC,EAAE,aAAa,EAAE,GAClE,GAAG,aAAa,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEtC,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,IAAI,CAAC;yFACwE,CAAC,CAAC;KACxF;IAED,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,SAAS,KAAK,QAAQ;QAC9C,GAAG;QACH,iBAAiB;QACjB,MAAM;QACN,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,IAAI;QACxB,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO;QACvC,iBAAiB;QACjB,0BAA0B;QAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,iCAAiC;QACjC,aAAa;QACb,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,mBAAmB,uBAqC9B"}
1
+ {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../../../src/library/webpack/utils/transpiler.ts"],"names":[],"mappings":";;;AACA,qCAA0C;AAE1C,mCAA0C;AAC1C,uCAAiD;AAoC1C,MAAM,mBAAmB,GAC9B,CAAC,aAA4C,EAAE,gBAAkC,EAAE,EAAE,CACrF,CAAC,IAAgB,EAAE,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC;IAE3D,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,IAAI;YACF,IAAA,cAAO,EAAC,uCAAuC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;SACtF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC;;OAEjB,CAAC,CAAC;SACF;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAA,mBAAa,EAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACjF;IAED,IAAI,MAAM,KAAK,OAAO,EAAE;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAA,0BAAkB,EAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACxF;AACH,CAAC,CAAC;AApBS,QAAA,mBAAmB,uBAoB5B;AAEG,MAAM,mBAAmB,GAAG,CACjC,aAA4C,EAC5C,kBAA6C,EAAE,EAC7B,EAAE;IACpB,MAAM,EACJ,iBAAiB,EACjB,KAAK,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,EAAE,EAAE,iCAAiC,EAAE,aAAa,EAAE,GAClE,GAAG,aAAa,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEtC,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,IAAI,CAAC;yFACwE,CAAC,CAAC;KACxF;IAED,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,SAAS,KAAK,QAAQ;QAC9C,GAAG;QACH,iBAAiB;QACjB,MAAM;QACN,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,IAAI;QACxB,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO;QACvC,iBAAiB;QACjB,0BAA0B;QAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,iCAAiC;QACjC,aAAa;QACb,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,mBAAmB,uBAqC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "5.45.2",
3
+ "version": "5.46.1",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -75,7 +75,7 @@
75
75
  "@tinkoff/utils": "^2.1.3",
76
76
  "@tinkoff/webpack-dedupe-plugin": "4.0.3",
77
77
  "@tramvai/build": "6.1.1",
78
- "@tramvai/react": "5.45.2",
78
+ "@tramvai/react": "5.46.1",
79
79
  "@tramvai/tools-check-versions": "0.7.7",
80
80
  "@tramvai/tools-migrate": "0.9.8",
81
81
  "ajv": "^8.12.0",
@@ -51,6 +51,8 @@ export const babelConfigFactory = ({
51
51
  excludesPresetEnv,
52
52
  rootDir = process.cwd(),
53
53
  reactCompiler = false,
54
+ loose = true,
55
+ externalHelpers = true,
54
56
  }: Partial<TranspilerConfig>) => {
55
57
  const cfg = envConfig[env] || {};
56
58
  let resultTarget = target;
@@ -101,7 +103,7 @@ export const babelConfigFactory = ({
101
103
  // this logic is here - https://github.com/zloirock/core-js/blob/master/packages/core-js-compat/src/modules-by-versions.mjs
102
104
  corejs: require('core-js/package.json').version,
103
105
  // TODO: will be deprecated in babel@8 - https://babeljs.io/docs/babel-preset-env#loose
104
- loose: true,
106
+ loose,
105
107
  targets,
106
108
  browserslistEnv: resultTarget,
107
109
  bugfixes: resultTarget === 'modern',
@@ -125,7 +127,10 @@ export const babelConfigFactory = ({
125
127
  // React compiler must be the first plugin in the chain
126
128
  getReactCompilerPlugin({ isServer, options: reactCompiler }),
127
129
  // TODO: useESModules is deprecated and should work automatically - https://babeljs.io/docs/en/babel-plugin-transform-runtime#useesmodules
128
- ['@babel/transform-runtime', { useESModules: !(isServer && env === 'development') }],
130
+ externalHelpers && [
131
+ '@babel/transform-runtime',
132
+ { useESModules: !(isServer && env === 'development') },
133
+ ],
129
134
  path.resolve(__dirname, './plugins/lazy-component/legacy-universal-replace'), // TODO: удалить плагин после того как отпадёт необходимость поддерживать легаси
130
135
  path.resolve(__dirname, './plugins/lazy-component/lazy-component'),
131
136
  enableFillDeclareActionNamePlugin &&
@@ -144,13 +149,13 @@ export const babelConfigFactory = ({
144
149
  [
145
150
  '@babel/plugin-proposal-class-properties',
146
151
  {
147
- loose: true,
152
+ loose,
148
153
  },
149
154
  ],
150
155
  isServer && [
151
156
  '@babel/plugin-transform-private-methods',
152
157
  {
153
- loose: true,
158
+ loose,
154
159
  },
155
160
  ],
156
161
  '@babel/plugin-proposal-export-default-from',
@@ -153,18 +153,21 @@ exports[`client-legacy: server.inline.ts 1`] = `
153
153
  /* binding */ return ForBrowser;
154
154
  }
155
155
  /* harmony export */ });
156
- /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_class_call_check.js"), _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_create_class.js"), _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_define_property.js"), ForBrowser = /*#__PURE__*/ function() {
156
+ /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_class_call_check.js"), _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_create_class.js"), _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_define_property.js"), ForBrowser = /*#__PURE__*/ function() {
157
157
  function ForBrowser() {
158
- (0, _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__._)(this, ForBrowser);
158
+ (0, _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__._)(this, ForBrowser),
159
+ (0, _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "property", (function() {
160
+ console.log("Ok");
161
+ }));
159
162
  }
160
- return (0, _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__._)(ForBrowser, [ {
163
+ return (0, _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__._)(ForBrowser, [ {
161
164
  key: "test",
162
165
  value: function() {
163
166
  console.log("Ok");
164
167
  }
165
168
  } ]), ForBrowser;
166
169
  }();
167
- /* harmony import */ (0, _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(ForBrowser, "prop", "static");
170
+ /* harmony import */ (0, _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(ForBrowser, "prop", "static");
168
171
  },
169
172
  "
170
173
  `;
@@ -324,6 +327,11 @@ exports[`client-modern: server.inline.ts 1`] = `
324
327
  test() {
325
328
  console.log("Ok");
326
329
  }
330
+ constructor() {
331
+ (0, _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "property", (() => {
332
+ console.log("Ok");
333
+ }));
334
+ }
327
335
  }
328
336
  (0, _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(ForBrowser, "prop", "static");
329
337
  },
@@ -484,18 +492,17 @@ exports[`server: server.inline.ts 1`] = `
484
492
  /* binding */ return ForBrowser;
485
493
  }
486
494
  /* harmony export */ });
487
- /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_class_call_check.js"), _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_create_class.js"), _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_define_property.js"), ForBrowser = /*#__PURE__*/ function() {
495
+ var ForBrowser = /*#__PURE__*/ function() {
488
496
  function ForBrowser() {
489
- (0, _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__._)(this, ForBrowser);
490
- }
491
- return (0, _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__._)(ForBrowser, [ {
492
- key: "test",
493
- value: function test() {
497
+ this.property = function() {
494
498
  console.log("Ok");
495
- }
496
- } ]), ForBrowser;
499
+ };
500
+ }
501
+ return ForBrowser.prototype.test = function test() {
502
+ console.log("Ok");
503
+ }, ForBrowser;
497
504
  }();
498
- /* harmony import */ (0, _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(ForBrowser, "prop", "static");
505
+ ForBrowser.prop = "static";
499
506
  },
500
507
  "
501
508
  `;
@@ -414,6 +414,11 @@ class ForBrowser {
414
414
  test() {
415
415
  console.log("Ok");
416
416
  }
417
+ constructor(){
418
+ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "property", ()=>{
419
+ console.log("Ok");
420
+ });
421
+ }
417
422
  }
418
423
  (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(ForBrowser, "prop", "static");
419
424
 
@@ -730,28 +735,20 @@ exports[`server: server.inline.ts 1`] = `
730
735
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
731
736
  /* harmony export */ ForBrowser: function() { return /* binding */ ForBrowser; }
732
737
  /* harmony export */ });
733
- /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_class_call_check.js");
734
- /* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_create_class.js");
735
- /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/@swc/helpers/esm/_define_property.js");
736
-
737
-
738
-
739
738
  var ForBrowser = /*#__PURE__*/ function() {
740
739
  "use strict";
741
740
  function ForBrowser() {
742
- (0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__._)(this, ForBrowser);
741
+ this.property = function() {
742
+ console.log("Ok");
743
+ };
743
744
  }
744
- (0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__._)(ForBrowser, [
745
- {
746
- key: "test",
747
- value: function test() {
748
- console.log("Ok");
749
- }
750
- }
751
- ]);
745
+ var _proto = ForBrowser.prototype;
746
+ _proto.test = function test() {
747
+ console.log("Ok");
748
+ };
752
749
  return ForBrowser;
753
750
  }();
754
- (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(ForBrowser, "prop", "static");
751
+ ForBrowser.prop = "static";
755
752
 
756
753
 
757
754
  "
@@ -1,6 +1,10 @@
1
1
  export class ForBrowser {
2
2
  static prop = 'static';
3
3
 
4
+ property = () => {
5
+ console.log('Ok');
6
+ };
7
+
4
8
  test() {
5
9
  console.log('Ok');
6
10
  }
@@ -26,6 +26,11 @@ export const getSwcOptions = (config: TranspilerConfig): SwcOptions => {
26
26
  tramvai = false,
27
27
  rootDir = process.cwd(),
28
28
  generateDataQaTag = false,
29
+ // disabled because `arrayLikeIsIterable` and `iterableIsArray` assumtions is not supported yet in swc,
30
+ // this can leads to incorrect code generation e.g. when Set with spread is used - `[...new Set()] => [].concat(new Set())`
31
+ // TCORE-4904
32
+ loose = false,
33
+ externalHelpers = true,
29
34
  } = config;
30
35
 
31
36
  if (!warningWasShown) {
@@ -104,10 +109,7 @@ Having swc config may conflict with @tramvai/cli configuration`
104
109
  // Use relevant core-js version, because it affects which polyfills are included
105
110
  // https://github.com/swc-project/swc/blob/main/crates/swc_ecma_preset_env/data/core-js-compat/modules-by-versions.json
106
111
  coreJs: require('core-js/package.json').version,
107
- // disabled because `arrayLikeIsIterable` and `iterableIsArray` assumtions is not supported yet in swc,
108
- // this can leads to incorrect code generation e.g. when Set with spread is used - `[...new Set()] => [].concat(new Set())`
109
- // TCORE-4904
110
- loose: false,
112
+ loose,
111
113
  mode: 'entry',
112
114
  },
113
115
  module: {
@@ -115,7 +117,7 @@ Having swc config may conflict with @tramvai/cli configuration`
115
117
  },
116
118
  isModule: 'unknown',
117
119
  jsc: {
118
- externalHelpers: true,
120
+ externalHelpers,
119
121
  parser: {
120
122
  syntax: typescript ? 'typescript' : 'ecmascript',
121
123
  decorators: true,
@@ -17,7 +17,13 @@ export const serverInline = (configManager: ConfigManager<CliConfigEntry>) => (c
17
17
  .batch(
18
18
  addTranspilerLoader(
19
19
  clientConfigManager,
20
- getTranspilerConfig(clientConfigManager, { typescript: type === 'ts' })
20
+ getTranspilerConfig(clientConfigManager, {
21
+ typescript: type === 'ts',
22
+ // inline transpiler runtime helpers to prevent webpack imports in generated inline scripts
23
+ externalHelpers: false,
24
+ // minimize swc helpers usage to prevent inline scripts bloat, risks is minimal for rarely used inline scripts
25
+ loose: true,
26
+ })
21
27
  )
22
28
  );
23
29
  };
@@ -24,6 +24,18 @@ export type TranspilerConfig = {
24
24
  excludesPresetEnv: string[];
25
25
  rootDir: string;
26
26
  reactCompiler: boolean | ReactCompilerOptions;
27
+ /**
28
+ * Enable or disable `loose` transformations:
29
+ * with swc loader - https://swc.rs/docs/configuration/compilation#jscloose
30
+ * with babel loader - https://babeljs.io/docs/babel-preset-env#loose
31
+ */
32
+ loose?: boolean;
33
+ /**
34
+ * Enable or disable external transpiler runtime helpers:
35
+ * with swc loader, pass value directly to `jsc.externalHelpers` option - https://swc.rs/docs/configuration/compilation#jscexternalhelpers
36
+ * with babel loader, when `false`, disable `@babel/plugin-transform-runtime` - https://babeljs.io/docs/babel-plugin-transform-runtime
37
+ */
38
+ externalHelpers?: boolean;
27
39
  };
28
40
 
29
41
  export const addTranspilerLoader =