@emailmaker/emailmaker 1.1.65 → 1.1.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -1
  2. package/assets/images/project-settings-inbox-envelope.png +0 -0
  3. package/assets/images/project-settings-plugin-support-avatar.png +0 -0
  4. package/{emailmaker-core.ec746d58.js → emailmaker-core.ce3741e5.js} +8 -8
  5. package/emailmaker-esm.js +23 -20
  6. package/emailmaker-po.ce3741e5.js +5945 -0
  7. package/emailmaker.d.ts +36 -525
  8. package/emailmaker.js +3 -3
  9. package/fileManager.d.ts +519 -0
  10. package/iframe/css/sandbox-dark.css +1 -1
  11. package/iframe/css/sandbox-darktheme.css +1 -1
  12. package/iframe/css/sandbox-light.css +1 -1
  13. package/iframe/css/sandbox.css +112 -89
  14. package/iframe/js/amp.D4LpeCG3.js +1 -0
  15. package/iframe/js/iframe-eblock.js +1 -1
  16. package/iframe/js/iframe.js +1 -1
  17. package/iframe/js/rules.B-wCbIo7.js +1 -1
  18. package/npm-publish.manifest.json +15 -7
  19. package/package.json +4 -1
  20. package/runtime/THIRD_PARTY_LICENSES.txt +1 -1
  21. package/static/core/{8b25ab0f2.js → 0eb6825f2.js} +3 -3
  22. package/static/core/{14bac801.js → 10343d072.js} +32 -32
  23. package/static/core/{89a7f5e22.js → 11ecb3732.js} +3 -3
  24. package/static/core/13d868f1.js +2119 -0
  25. package/static/core/{e3282461.js → 14b57b51.js} +5 -5
  26. package/static/core/{d06b7a22.js → 1537984c.js} +5 -5
  27. package/static/core/{ff54d2c22.js → 15e90aa1.js} +3 -3
  28. package/static/core/18d7246c.js +11437 -0
  29. package/static/core/{2d89e8f32.js → 1b3a7794.js} +3 -3
  30. package/static/core/{f1c452562.js → 1b815379.js} +3 -3
  31. package/static/core/{51a22b29.js → 1cdcd63d.js} +8 -8
  32. package/static/core/{b67fcff12.js → 1f0f8d052.js} +3 -3
  33. package/static/core/{227f9a41.js → 20ecbcb12.js} +9 -9
  34. package/static/core/{f62e420c.js → 2181dfc12.js} +4965 -4753
  35. package/static/core/{cbf00549.js → 2242ba4c.js} +3 -3
  36. package/static/core/{668756522.js → 225aa8cf2.js} +3 -3
  37. package/static/core/{fde5b48c.js → 2289d149.js} +7 -7
  38. package/static/core/{5c2a668f.js → 2569b2ec.js} +3 -3
  39. package/static/core/{b3b3281c2.js → 267d83c02.js} +3 -3
  40. package/static/core/{d8e8c189.js → 28c04df32.js} +3 -3
  41. package/static/core/{7144829c2.js → 290a5a3e.js} +3 -3
  42. package/static/core/{c6c12a4c2.js → 2bb9001a2.js} +3 -3
  43. package/static/core/2dd8b882.js +583 -0
  44. package/static/core/{d4fae48f2.js → 2eba2c3d2.js} +7 -7
  45. package/static/core/{e3f7dda5.js → 2f940a6e.js} +3 -3
  46. package/static/core/{29d379ee.js → 3137210f.js} +3 -3
  47. package/static/core/{3e444726.js → 319cf5c8.js} +173 -173
  48. package/static/core/{2d52ee4e2.js → 331100cc2.js} +3 -3
  49. package/static/core/{996d1d512.js → 33c2762f2.js} +3 -3
  50. package/static/core/{371b11182.js → 33ed2f102.js} +5 -5
  51. package/static/core/{fabe8bf6.js → 36878d5e.js} +3 -3
  52. package/static/core/{4e33c418.js → 378d1eee.js} +4 -4
  53. package/static/core/{15d6b9c02.js → 3b4ea1e02.js} +4 -4
  54. package/static/core/{7200aced.js → 3c5b0572.js} +3 -3
  55. package/static/core/{1ad06ad4.js → 3ca00db5.js} +3 -3
  56. package/static/core/{1d1b8fee.js → 3cf11ac9.js} +1846 -1847
  57. package/static/core/{ee605dd2.js → 3fa35a4a.js} +3 -3
  58. package/static/core/{73d8bc22.js → 413788c12.js} +6 -6
  59. package/static/core/{bae89f052.js → 42608663.js} +3 -3
  60. package/static/core/{707c11bf2.js → 43386b222.js} +5 -5
  61. package/static/core/{72806c12.js → 449b0f092.js} +5 -5
  62. package/static/core/{cffc0d1c.js → 45a5a8c32.js} +3 -3
  63. package/static/core/{3f7f42ec2.js → 46ee74792.js} +3 -3
  64. package/static/core/{c0fde0fe.js → 4905ac72.js} +3 -3
  65. package/static/core/{4e7df2bb.js → 4930a7d4.js} +20 -20
  66. package/static/core/4a3fcabb2.js +8956 -0
  67. package/static/core/{e47b96042.js → 4b6cd5362.js} +3 -3
  68. package/static/core/4c113afa.js +33627 -0
  69. package/static/core/4ca47ce1.js +22 -0
  70. package/static/core/{ffd09066.js → 4cf4cef0.js} +3 -3
  71. package/static/core/{58062cfb.js → 4d14fed2.js} +15 -15
  72. package/static/core/{46e22b84.js → 53bc27c1.js} +3 -3
  73. package/static/core/{3c9b91ec.js → 53e1b147.js} +17 -17
  74. package/static/core/53fb6a84.js +468 -0
  75. package/static/core/{60dc03552.js → 5466b5932.js} +3 -3
  76. package/static/core/{88d5dd5c2.js → 563426652.js} +3 -3
  77. package/static/core/{80d7bfb8.js → 569bf67b.js} +3 -3
  78. package/static/core/{f577dd74.js → 58755545.js} +3 -3
  79. package/static/core/{34a063a22.js → 5ab6d1fe2.js} +3 -3
  80. package/static/core/{bcf642bb2.js → 5ddd3b2f2.js} +13 -13
  81. package/static/core/{6df8804e.js → 5f203ce92.js} +8 -8
  82. package/static/core/{271a49fb.js → 5f6bab5a.js} +3 -3
  83. package/static/core/{aae0d578.js → 611fb42b2.js} +4 -4
  84. package/static/core/{af6b87cb.js → 618600ac.js} +3 -3
  85. package/static/core/{caf4f82e2.js → 632e1fd02.js} +43 -43
  86. package/static/core/{cec04bb12.js → 67371af1.js} +3 -3
  87. package/static/core/{e0369425.js → 67830da5.js} +640 -638
  88. package/static/core/{17432659.js → 68472e1c.js} +3 -3
  89. package/static/core/{9106dd642.js → 69a225e42.js} +3 -3
  90. package/static/core/69ce726e2.js +3251 -0
  91. package/static/core/{9d20ebd5.js → 6ae41b98.js} +4 -4
  92. package/static/core/{57dfc32e2.js → 6e7d7f79.js} +3 -3
  93. package/static/core/{a9e90b632.js → 72e7bba12.js} +5 -5
  94. package/static/core/{67a4e05c.js → 7569a429.js} +3 -3
  95. package/static/core/{35d38b9a.js → 75e4001f.js} +3 -3
  96. package/static/core/{364eb3852.js → 76dad1b82.js} +3 -3
  97. package/static/core/{d40acbef2.js → 792eec912.js} +5 -5
  98. package/static/core/{d3d2bbf4.js → 793710d0.js} +387 -385
  99. package/static/core/{f88178782.js → 7a29f2ca2.js} +3 -3
  100. package/static/core/7df48ae1.js +56 -0
  101. package/static/core/{f341769b.js → 8129560f.js} +3 -3
  102. package/static/core/{1d8d16e5.js → 8280ec49.js} +13 -13
  103. package/static/core/828e59c3.js +683 -0
  104. package/static/core/{2cfb56bd2.js → 86892434.js} +3 -3
  105. package/static/core/{3ee18f2b.js → 8c0912ba.js} +3 -3
  106. package/static/core/{4b2be4062.js → 8c376d26.js} +3 -3
  107. package/static/core/{b1e55882.js → 8d7ebc6e.js} +6 -6
  108. package/static/core/{cb05db0a2.js → 8e1070c9.js} +519 -523
  109. package/static/core/{dc6c47462.js → 8eaf2a78.js} +3 -3
  110. package/static/core/{ff1278ae2.js → 9083dd91.js} +3 -3
  111. package/static/core/{4d1a6fda.js → 92f7fcaf.js} +41520 -45391
  112. package/static/core/{144da511.js → 95c1e180.js} +241 -260
  113. package/static/core/9883f8862.js +39 -0
  114. package/static/core/{310a7e6a2.js → 99909d1c2.js} +6 -6
  115. package/static/core/{d95c732e.js → 9db17827.js} +3 -3
  116. package/static/core/{c48ee4d52.js → 9e7380e4.js} +10 -10
  117. package/static/core/{1dcbf663.js → a1277731.js} +3 -3
  118. package/static/core/{adf38d4b.js → a2b7e614.js} +3 -3
  119. package/static/core/{9c8553be.js → a5a25e092.js} +200 -192
  120. package/static/core/{5b4bfdc0.js → a6231152.js} +9 -9
  121. package/static/core/{319db1a52.js → a6a389a6.js} +3 -3
  122. package/static/core/{abbb437b2.js → acb6a6e7.js} +3 -3
  123. package/static/core/{89779037.js → acb8d0f5.js} +3 -3
  124. package/static/core/{7463de00.js → b1addbc3.js} +3 -3
  125. package/static/core/{93f3e6dc.js → b1bb0b5b.js} +5 -5
  126. package/static/core/b33e034e.js +49 -0
  127. package/static/core/{1bfa4a862.js → be477222.js} +3 -3
  128. package/static/core/{5964c48f2.js → c2ff6632.js} +3 -3
  129. package/static/core/{537db3fa2.js → c4bc67442.js} +6 -6
  130. package/static/core/{cf4af6152.js → c889a63f.js} +3 -3
  131. package/static/core/{9c9dde252.js → ca51b8dc2.js} +10 -10
  132. package/static/core/{6f213c532.js → cbe4dd062.js} +11 -11
  133. package/static/core/{149f1be2.js → cbed29852.js} +3 -3
  134. package/static/core/{d5363339.js → cca304812.js} +5 -5
  135. package/static/core/{d4c4a927.js → d076c7272.js} +3 -3
  136. package/static/core/{a53e376b.js → d28e9842.js} +134 -134
  137. package/static/core/{710ad006.js → d2975cfe.js} +3050 -2914
  138. package/static/core/{dc3e2e44.js → d6ca53ee.js} +3 -3
  139. package/static/core/{ee84fb29.js → d7c64097.js} +3 -3
  140. package/static/core/{e2f5fcb1.js → db9eabde.js} +7 -7
  141. package/static/core/{613bcc0a.js → dd6d3ae42.js} +120 -120
  142. package/static/core/e1dddb82.js +126 -0
  143. package/static/core/{aebb34822.js → e2a0a5402.js} +3 -3
  144. package/static/core/{3156997d.js → e6b7a22c.js} +3 -3
  145. package/static/core/{27702468.js → e700a71a2.js} +2018 -1808
  146. package/static/core/{a11cd5642.js → e73371cf.js} +3 -3
  147. package/static/core/{d1e45451.js → e7d36446.js} +5 -5
  148. package/static/core/{29051452.js → e8ccbcef.js} +3 -3
  149. package/static/core/{3a580bd62.js → eb8cf6d62.js} +3 -3
  150. package/static/core/{92d3d1a9.js → eb9f4ec02.js} +3 -3
  151. package/static/core/{575c1be3.js → ee440378.js} +3 -3
  152. package/static/core/{f63cbc642.js → f419b36f2.js} +3 -3
  153. package/static/core/{25988409.js → f5b378e4.js} +3 -3
  154. package/static/core/{8eb0b7cd.js → f5f707b8.js} +54 -54
  155. package/static/core/{c6db3a31.js → f679001c.js} +3 -3
  156. package/static/core/{95fa393a2.js → f6f67a712.js} +3 -3
  157. package/static/core/{9fc67893.js → f740b7ec2.js} +3 -3
  158. package/static/core/{6076ed7e.js → f98c6ce2.js} +4 -4
  159. package/static/core/fc878f95.js +61 -0
  160. package/static/core/{434c7eda2.js → fdf372f4.js} +4 -4
  161. package/static/media/image-editor/fonts/Rubik-Black.woff2 +0 -0
  162. package/static/media/image-editor/fonts/Rubik-Bold.woff2 +0 -0
  163. package/static/media/image-editor/fonts/Rubik-Light.woff2 +0 -0
  164. package/static/media/image-editor/fonts/Rubik-Regular.woff2 +0 -0
  165. package/static/media/image-editor/fonts/caveat-v23-cyrillic_latin-regular.woff2 +0 -0
  166. package/static/media/image-editor/fonts/commissioner-v24-cyrillic_latin-regular.woff2 +0 -0
  167. package/static/media/image-editor/fonts/inter-v20-cyrillic_latin-regular.woff2 +0 -0
  168. package/static/media/image-editor/fonts/oswald-v57-cyrillic_latin-regular.woff2 +0 -0
  169. package/static/media/image-editor/fonts/pacifico-v23-cyrillic_latin-regular.woff2 +0 -0
  170. package/static/media/image-editor/fonts/playfair-display-v40-cyrillic_latin-regular.woff2 +0 -0
  171. package/static/umd-runtime/ui-kit.js +1638 -1416
  172. package/test-font.otf +0 -0
  173. package/test-font.ttf +0 -0
  174. package/test-font.woff2 +0 -0
  175. package/two_step_headless_plugin.html +1 -1
  176. package/ui-kit/index.js +1317 -1104
  177. package/vite/index.cjs +4 -4
  178. package/vite/index.d.ts +4 -4
  179. package/vite/index.js +4 -4
  180. package/vite/pluginDev/index.cjs +2 -2
  181. package/vite/pluginDev/index.d.ts +12 -12
  182. package/vite/pluginDev/index.js +2 -2
  183. package/webpack/pluginDev/index.d.ts +12 -12
  184. package/iframe/js/amp.V09Q6hy6.js +0 -1
  185. package/static/core/1704ac6f.js +0 -12281
  186. package/static/core/1c2ae249.js +0 -2089
  187. package/static/core/30cfda89.js +0 -465
  188. package/static/core/3d6ea013.js +0 -43109
  189. package/static/core/4031d739.js +0 -93052
  190. package/static/core/57b7148c.js +0 -666
  191. package/static/core/6e7c1c68.js +0 -124
  192. package/static/core/c64d880f.js +0 -68
  193. package/static/core/cc1c5d33.js +0 -27
  194. /package/iframe/{iframe-eblock.ec746d58.html → iframe-eblock.ce3741e5.html} +0 -0
  195. /package/iframe/{iframe.ec746d58.html → iframe.ce3741e5.html} +0 -0
package/vite/index.cjs CHANGED
@@ -458,7 +458,7 @@ var BUNDLER_DEFAULT_APP_NAME = "emailmaker";
458
458
  `${BUNDLER_DEFAULT_APP_NAME}`;
459
459
  //#endregion
460
460
  //#region src/vite/depsRuntimePaths.ts
461
- /** Для тестов и плагина: один RegExp на процесс, без пересборки в hot-path. */
461
+ /** For tests and the plugin: one RegExp per process, never rebuilt in the hot path. */
462
462
  function createAppCoreOptimizedDepRe(appName) {
463
463
  return new RegExp(`^${appName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}-core\\.[a-f0-9]+\\.js$`);
464
464
  }
@@ -468,7 +468,7 @@ function normalizeDepsPathname(value) {
468
468
  var STATIC_CORE_IN_DEPS_RE = /^static\/core\/[^/]+\.js$/;
469
469
  /**
470
470
  * Vite prebundles may rewrite runtime asset requests under `/.vite/deps/`.
471
- * Maps request pathname → абсолютный путь файла в корне runtime-пакета.
471
+ * Maps request pathname → absolute file path at the runtime package root.
472
472
  */
473
473
  function getDepsRuntimeFilePath(pathname, packageRoot, appCoreOptimizedDepRe) {
474
474
  const normalizedPathname = normalizeDepsPathname(pathname);
@@ -642,8 +642,8 @@ function renderDuplicateWarn(pluginName, mainPackage, duplicates) {
642
642
  //#endregion
643
643
  //#region src/vite/reactDuplicateRuntimeCheck.ts
644
644
  /**
645
- * Env-флаг `BUNDLER_RUNTIME_STRICT=1` переводит defensive детекторы в throw-режим.
646
- * CLI устанавливает его автоматически при локальной сборке плагина из нашего репо.
645
+ * The `BUNDLER_RUNTIME_STRICT=1` env flag switches the defensive detectors to throw mode.
646
+ * The CLI sets it automatically when a plugin is built locally from our repository.
647
647
  */
648
648
  var STRICT_ENV_FLAG = "BUNDLER_RUNTIME_STRICT";
649
649
  function isStrictMode(envSource = process.env) {
package/vite/index.d.ts CHANGED
@@ -7,8 +7,8 @@ type HostPluginLogLevel = 'silent' | 'error' | 'warn' | 'info' | 'debug';
7
7
  //#endregion
8
8
  //#region node_modules/.cache/bundler-plugins-dts/vite/reactDuplicateRuntimeCheck.d.ts
9
9
  /**
10
- * Env-флаг `BUNDLER_RUNTIME_STRICT=1` переводит defensive детекторы в throw-режим.
11
- * CLI устанавливает его автоматически при локальной сборке плагина из нашего репо.
10
+ * The `BUNDLER_RUNTIME_STRICT=1` env flag switches the defensive detectors to throw mode.
11
+ * The CLI sets it automatically when a plugin is built locally from our repository.
12
12
  */
13
13
  declare const STRICT_ENV_FLAG = "BUNDLER_RUNTIME_STRICT";
14
14
  declare function isStrictMode(envSource?: NodeJS.ProcessEnv): boolean;
@@ -27,11 +27,11 @@ declare function runReactDuplicateRuntimeCheck(opts: {
27
27
  }, signals?: RuntimeDuplicateCheckSignals): RuntimeDuplicateCheckOutcome;
28
28
  //#endregion
29
29
  //#region node_modules/.cache/bundler-plugins-dts/vite/depsRuntimePaths.d.ts
30
- /** Для тестов и плагина: один RegExp на процесс, без пересборки в hot-path. */
30
+ /** For tests and the plugin: one RegExp per process, never rebuilt in the hot path. */
31
31
  declare function createAppCoreOptimizedDepRe(appName: string): RegExp;
32
32
  /**
33
33
  * Vite prebundles may rewrite runtime asset requests under `/.vite/deps/`.
34
- * Maps request pathname → абсолютный путь файла в корне runtime-пакета.
34
+ * Maps request pathname → absolute file path at the runtime package root.
35
35
  */
36
36
  declare function getDepsRuntimeFilePath(pathname: string, packageRoot: string, appCoreOptimizedDepRe: RegExp): string | null;
37
37
  //#endregion
package/vite/index.js CHANGED
@@ -429,7 +429,7 @@ var BUNDLER_DEFAULT_APP_NAME = "emailmaker";
429
429
  `${BUNDLER_DEFAULT_APP_NAME}`;
430
430
  //#endregion
431
431
  //#region src/vite/depsRuntimePaths.ts
432
- /** Для тестов и плагина: один RegExp на процесс, без пересборки в hot-path. */
432
+ /** For tests and the plugin: one RegExp per process, never rebuilt in the hot path. */
433
433
  function createAppCoreOptimizedDepRe(appName) {
434
434
  return new RegExp(`^${appName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}-core\\.[a-f0-9]+\\.js$`);
435
435
  }
@@ -439,7 +439,7 @@ function normalizeDepsPathname(value) {
439
439
  var STATIC_CORE_IN_DEPS_RE = /^static\/core\/[^/]+\.js$/;
440
440
  /**
441
441
  * Vite prebundles may rewrite runtime asset requests under `/.vite/deps/`.
442
- * Maps request pathname → абсолютный путь файла в корне runtime-пакета.
442
+ * Maps request pathname → absolute file path at the runtime package root.
443
443
  */
444
444
  function getDepsRuntimeFilePath(pathname, packageRoot, appCoreOptimizedDepRe) {
445
445
  const normalizedPathname = normalizeDepsPathname(pathname);
@@ -613,8 +613,8 @@ function renderDuplicateWarn(pluginName, mainPackage, duplicates) {
613
613
  //#endregion
614
614
  //#region src/vite/reactDuplicateRuntimeCheck.ts
615
615
  /**
616
- * Env-флаг `BUNDLER_RUNTIME_STRICT=1` переводит defensive детекторы в throw-режим.
617
- * CLI устанавливает его автоматически при локальной сборке плагина из нашего репо.
616
+ * The `BUNDLER_RUNTIME_STRICT=1` env flag switches the defensive detectors to throw mode.
617
+ * The CLI sets it automatically when a plugin is built locally from our repository.
618
618
  */
619
619
  var STRICT_ENV_FLAG = "BUNDLER_RUNTIME_STRICT";
620
620
  function isStrictMode(envSource = process.env) {
@@ -878,8 +878,8 @@ function renderDuplicateWarn(pluginName, mainPackage, duplicates) {
878
878
  //#endregion
879
879
  //#region src/vite/reactDuplicateRuntimeCheck.ts
880
880
  /**
881
- * Env-флаг `BUNDLER_RUNTIME_STRICT=1` переводит defensive детекторы в throw-режим.
882
- * CLI устанавливает его автоматически при локальной сборке плагина из нашего репо.
881
+ * The `BUNDLER_RUNTIME_STRICT=1` env flag switches the defensive detectors to throw mode.
882
+ * The CLI sets it automatically when a plugin is built locally from our repository.
883
883
  */
884
884
  var STRICT_ENV_FLAG$1 = "BUNDLER_RUNTIME_STRICT";
885
885
  function isStrictMode(envSource = process.env) {
@@ -5,21 +5,21 @@ type PluginDevOptions = {
5
5
  externals?: PluginDevExternalsMode | 'global';
6
6
  alias?: boolean;
7
7
  /**
8
- * Точные bare-specifier'ы deep-импортов runtime пакетов, которым **разрешён** обход
9
- * singleton-инварианта (например, `'antd/es/locale/zh_CN'`).
8
+ * Exact bare specifiers of runtime package deep imports that are **allowed** to bypass
9
+ * the singleton invariant (for example, `'antd/es/locale/zh_CN'`).
10
10
  *
11
- * По умолчанию все deep-импорты runtime пакетов (`antd/es/...`, `react-dom/server`, …),
12
- * не объявленные в `runtime-contract.ts`, **бросают ошибку на сборке** плагина, чтобы
13
- * не расщепить singleton-граф между хостом и плагином (host + plugin = две копии).
11
+ * By default every deep import of a runtime package (`antd/es/...`, `react-dom/server`, …)
12
+ * that is not declared in `runtime-contract.ts` **fails the plugin build**, so that the
13
+ * singleton graph is not split between host and plugin (host + plugin = two copies).
14
14
  *
15
- * Этот аллоулист — escape-hatch для редких сценариев, когда автор плагина:
16
- * - сознательно тянет deep-subpath из локального `node_modules/<pkg>/...`,
17
- * - готов получить **второй инстанс** пакета внутри своего бандла,
18
- * - и подтверждает это явно в plugin-конфиге (review-friendly).
15
+ * This allowlist is an escape hatch for the rare case where the plugin author:
16
+ * - deliberately pulls a deep subpath from a local `node_modules/<pkg>/...`,
17
+ * - accepts a **second instance** of the package inside their bundle,
18
+ * - and states it explicitly in the plugin config (review-friendly).
19
19
  *
20
- * При срабатывании выводится `console.warn(...)`, плагин не падает.
21
- * Сравнение строгое (exact match), wildcard-ы / RegExp не поддерживаются —
22
- * каждый deep-путь должен быть перечислен явно.
20
+ * A match only prints `console.warn(...)`; the plugin keeps building.
21
+ * Comparison is strict (exact match) — wildcards and RegExp are not supported,
22
+ * every deep path has to be listed explicitly.
23
23
  *
24
24
  * @example
25
25
  * ```ts
@@ -852,8 +852,8 @@ function renderDuplicateWarn(pluginName, mainPackage, duplicates) {
852
852
  //#endregion
853
853
  //#region src/vite/reactDuplicateRuntimeCheck.ts
854
854
  /**
855
- * Env-флаг `BUNDLER_RUNTIME_STRICT=1` переводит defensive детекторы в throw-режим.
856
- * CLI устанавливает его автоматически при локальной сборке плагина из нашего репо.
855
+ * The `BUNDLER_RUNTIME_STRICT=1` env flag switches the defensive detectors to throw mode.
856
+ * The CLI sets it automatically when a plugin is built locally from our repository.
857
857
  */
858
858
  var STRICT_ENV_FLAG$1 = "BUNDLER_RUNTIME_STRICT";
859
859
  function isStrictMode(envSource = process.env) {
@@ -5,21 +5,21 @@ type PluginDevOptions = {
5
5
  externals?: PluginDevExternalsMode | 'global';
6
6
  alias?: boolean;
7
7
  /**
8
- * Точные bare-specifier'ы deep-импортов runtime пакетов, которым **разрешён** обход
9
- * singleton-инварианта (например, `'antd/es/locale/zh_CN'`).
8
+ * Exact bare specifiers of runtime package deep imports that are **allowed** to bypass
9
+ * the singleton invariant (for example, `'antd/es/locale/zh_CN'`).
10
10
  *
11
- * По умолчанию все deep-импорты runtime пакетов (`antd/es/...`, `react-dom/server`, …),
12
- * не объявленные в `runtime-contract.ts`, **бросают ошибку на сборке** плагина, чтобы
13
- * не расщепить singleton-граф между хостом и плагином (host + plugin = две копии).
11
+ * By default every deep import of a runtime package (`antd/es/...`, `react-dom/server`, …)
12
+ * that is not declared in `runtime-contract.ts` **fails the plugin build**, so that the
13
+ * singleton graph is not split between host and plugin (host + plugin = two copies).
14
14
  *
15
- * Этот аллоулист — escape-hatch для редких сценариев, когда автор плагина:
16
- * - сознательно тянет deep-subpath из локального `node_modules/<pkg>/...`,
17
- * - готов получить **второй инстанс** пакета внутри своего бандла,
18
- * - и подтверждает это явно в plugin-конфиге (review-friendly).
15
+ * This allowlist is an escape hatch for the rare case where the plugin author:
16
+ * - deliberately pulls a deep subpath from a local `node_modules/<pkg>/...`,
17
+ * - accepts a **second instance** of the package inside their bundle,
18
+ * - and states it explicitly in the plugin config (review-friendly).
19
19
  *
20
- * При срабатывании выводится `console.warn(...)`, плагин не падает.
21
- * Сравнение строгое (exact match), wildcard-ы / RegExp не поддерживаются —
22
- * каждый deep-путь должен быть перечислен явно.
20
+ * A match only prints `console.warn(...)`; the plugin keeps building.
21
+ * Comparison is strict (exact match) — wildcards and RegExp are not supported,
22
+ * every deep path has to be listed explicitly.
23
23
  *
24
24
  * @example
25
25
  * ```ts