useblocks 1.1.65 → 1.1.71

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 +2 -0
  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/fileManager.d.ts +519 -0
  5. package/iframe/css/sandbox-dark.css +1 -1
  6. package/iframe/css/sandbox-darktheme.css +1 -1
  7. package/iframe/css/sandbox-light.css +1 -1
  8. package/iframe/css/sandbox.css +112 -89
  9. package/iframe/js/amp.DllX-Im0.js +1 -0
  10. package/iframe/js/iframe-eblock.js +1 -1
  11. package/iframe/js/iframe.js +1 -1
  12. package/iframe/js/rules.4N5s3OV-.js +1 -1
  13. package/npm-publish.manifest.json +7 -7
  14. package/package.json +4 -1
  15. package/runtime/THIRD_PARTY_LICENSES.txt +1 -1
  16. package/static/core/{d2f93451.js → 0e53b7b5.js} +3 -3
  17. package/static/core/0fe242f22.js +3251 -0
  18. package/static/core/{e9ff66762.js → 10f0dad9.js} +3 -3
  19. package/static/core/{a79573972.js → 115218a42.js} +3 -3
  20. package/static/core/{d6b377d3.js → 1202bfdd.js} +3 -3
  21. package/static/core/{8d4aa933.js → 16c2d0e42.js} +6 -6
  22. package/static/core/{8aa09f022.js → 1ae75b972.js} +3 -3
  23. package/static/core/{e7c982c02.js → 2011fc95.js} +3 -3
  24. package/static/core/{925a1cfd2.js → 211482892.js} +3 -3
  25. package/static/core/222d29d9.js +468 -0
  26. package/static/core/{f8c9371e.js → 23546a64.js} +238 -257
  27. package/static/core/{6e177eb6.js → 26a1af95.js} +3 -3
  28. package/static/core/{9d8297c7.js → 27f62a39.js} +3 -3
  29. package/static/core/{fb834fb22.js → 288ca9522.js} +6 -6
  30. package/static/core/{45da436c.js → 28e9d3ff.js} +3 -3
  31. package/static/core/{1c82c2d52.js → 2bd2da322.js} +3 -3
  32. package/static/core/{712b11ba.js → 2c65c059.js} +3 -3
  33. package/static/core/{1d2a32d02.js → 2f216fd4.js} +4 -4
  34. package/static/core/{45fcca4f2.js → 2fd502bd2.js} +3 -3
  35. package/static/core/{b303b2a4.js → 34e0b0dc.js} +3 -3
  36. package/static/core/{b22e5dd5.js → 35ad3ae5.js} +173 -173
  37. package/static/core/{8e6e6aaa2.js → 35e0d55e.js} +3 -3
  38. package/static/core/36bf6931.js +2119 -0
  39. package/static/core/{a953bf24.js → 375e98282.js} +3 -3
  40. package/static/core/{40d6d494.js → 38302247.js} +3 -3
  41. package/static/core/{99fd0b342.js → 38e879e9.js} +3 -3
  42. package/static/core/{b283b340.js → 39a68c91.js} +3 -3
  43. package/static/core/{68edd344.js → 3bbe4800.js} +3 -3
  44. package/static/core/{43108a122.js → 3bda5ccf2.js} +4 -4
  45. package/static/core/{220b2c2a.js → 3c1ef117.js} +7 -7
  46. package/static/core/{9982be76.js → 3f22a9d32.js} +2018 -1808
  47. package/static/core/{8b8811812.js → 412f0d1c.js} +3 -3
  48. package/static/core/{601b4e7b.js → 46959096.js} +3 -3
  49. package/static/core/{9d1a7a182.js → 46abec11.js} +3 -3
  50. package/static/core/{292fe55d2.js → 4740c91e2.js} +3 -3
  51. package/static/core/{c7588e5f.js → 48560c89.js} +387 -385
  52. package/static/core/{1d173e97.js → 48d0a8bd2.js} +3 -3
  53. package/static/core/{af691d1f.js → 490f59592.js} +21 -21
  54. package/static/core/{205266672.js → 4953bced.js} +3 -3
  55. package/static/core/{668ae858.js → 4b59ab9f.js} +3 -3
  56. package/static/core/{664c38f8.js → 4bc74a4f.js} +3 -3
  57. package/static/core/{8b28b024.js → 508bcaba.js} +5 -5
  58. package/static/core/513594a8.js +583 -0
  59. package/static/core/54eadcf42.js +39 -0
  60. package/static/core/{da4b0874.js → 578fcc88.js} +3 -3
  61. package/static/core/{43764f5b.js → 585259872.js} +189 -181
  62. package/static/core/{cee370ea.js → 5b64d3ce2.js} +8 -8
  63. package/static/core/{b450a16a.js → 5e082e16.js} +59 -59
  64. package/static/core/{bc1a9cb2.js → 5e7c6c9c.js} +4 -4
  65. package/static/core/{bc557d9c.js → 60dcae06.js} +6 -6
  66. package/static/core/{fa23ae7b.js → 616e99a4.js} +3 -3
  67. package/static/core/{66f4dea3.js → 62c13c96.js} +3 -3
  68. package/static/core/{d892d2c82.js → 62f33dda.js} +3 -3
  69. package/static/core/{9c236031.js → 62fd385b.js} +3 -3
  70. package/static/core/{958e85b5.js → 6313868b.js} +3 -3
  71. package/static/core/63206e112.js +8956 -0
  72. package/static/core/{67e3306c.js → 68ec11c8.js} +640 -638
  73. package/static/core/{951b9e3d.js → 6ca6133e.js} +9 -9
  74. package/static/core/6e2a0152.js +61 -0
  75. package/static/core/{656a0edc2.js → 6ee1838f2.js} +3 -3
  76. package/static/core/{b09300472.js → 7527fdc92.js} +3 -3
  77. package/static/core/{d8df6d5a.js → 75c2f232.js} +8 -8
  78. package/static/core/{49a037b02.js → 76c0586a2.js} +3 -3
  79. package/static/core/{2d8a7133.js → 76ea88d3.js} +5 -5
  80. package/static/core/{42e9eb802.js → 77c2efbb.js} +3 -3
  81. package/static/core/{5d0c727e.js → 7d07bfac.js} +3 -3
  82. package/static/core/{d46cb9672.js → 7d19dd28.js} +4 -4
  83. package/static/core/{2d13936a.js → 7ec8e1fc.js} +3 -3
  84. package/static/core/{9954153b2.js → 84326fa6.js} +3 -3
  85. package/static/core/{c52e08d6.js → 86515d932.js} +4 -4
  86. package/static/core/{a97bdbc8.js → 879bd3b1.js} +3 -3
  87. package/static/core/{e47711662.js → 8a061db42.js} +5 -5
  88. package/static/core/{4b0f73af.js → 8ed78147.js} +3 -3
  89. package/static/core/{1cbab2af2.js → 8ef06b232.js} +10 -10
  90. package/static/core/{75e8d4672.js → 8fafd12f2.js} +3 -3
  91. package/static/core/{a898230f.js → 8fbde229.js} +3 -3
  92. package/static/core/{f61e3e55.js → 92871f5a2.js} +7 -7
  93. package/static/core/{a83b01cb2.js → 92d1a0c9.js} +519 -523
  94. package/static/core/9355751a.js +126 -0
  95. package/static/core/{95d1d1aa2.js → 93b3c668.js} +3 -3
  96. package/static/core/{873142eb.js → 9933d0ff2.js} +3 -3
  97. package/static/core/{96417e98.js → 9a0c05f1.js} +4 -4
  98. package/static/core/9ab1c444.js +11452 -0
  99. package/static/core/{c8cb5d88.js → 9c09ec92.js} +7 -7
  100. package/static/core/{31ba662c2.js → 9df9c5262.js} +5 -5
  101. package/static/core/{85ea16112.js → a061a37c2.js} +3 -3
  102. package/static/core/{fff1a8622.js → a64e6cce2.js} +3 -3
  103. package/static/core/{f5d4906d2.js → a6d92d0b2.js} +5 -5
  104. package/static/core/{2e9906f7.js → a7518d2c.js} +3 -3
  105. package/static/core/{3c6f1d122.js → a8bed12d2.js} +3 -3
  106. package/static/core/{72e2612a2.js → a8f08cb22.js} +3 -3
  107. package/static/core/{6eb316fe2.js → ac70dfae2.js} +6 -6
  108. package/static/core/{89e7cc57.js → b8cecec8.js} +17 -17
  109. package/static/core/{a35fd8d22.js → b8ed4fd62.js} +13 -13
  110. package/static/core/{474c47d5.js → b9b92e01.js} +15 -15
  111. package/static/core/{b57c9e1f.js → bc703487.js} +3 -3
  112. package/static/core/{b165c6f6.js → bc9faec1.js} +134 -134
  113. package/static/core/{54e7728d.js → bf3a9be2.js} +5 -5
  114. package/static/core/c370a46c.js +683 -0
  115. package/static/core/{cf21862f.js → c3b45fb6.js} +1846 -1847
  116. package/static/core/{d54353e72.js → c56eaffd.js} +3 -3
  117. package/static/core/{f562fb51.js → c5cf470c.js} +3 -3
  118. package/static/core/{ceffb8322.js → c8a41267.js} +3 -3
  119. package/static/core/{19572306.js → cc251d11.js} +3 -3
  120. package/static/core/{84df1edd2.js → cce631ad.js} +3 -3
  121. package/static/core/{a88996b3.js → ce9be2ec2.js} +4965 -4753
  122. package/static/core/cf655a1a.js +33627 -0
  123. package/static/core/{ab86b06a.js → d3bbb05e.js} +3 -3
  124. package/static/core/{4a9bd173.js → d43babb9.js} +3 -3
  125. package/static/core/{1a415abd2.js → d46d10f12.js} +12 -12
  126. package/static/core/{7ad0031e2.js → d684b4ef2.js} +38 -38
  127. package/static/core/{affffdf2.js → d8835f5f.js} +7 -7
  128. package/static/core/{b04145ff2.js → db5fa769.js} +10 -10
  129. package/static/core/{d32841a32.js → dbc6f1e52.js} +3 -3
  130. package/static/core/{db4e60fa2.js → dc256ccd2.js} +3 -3
  131. package/static/core/{eaa635532.js → dc6fa7c1.js} +3 -3
  132. package/static/core/{4b9709dc.js → dcc518ef2.js} +3 -3
  133. package/static/core/df237243.js +56 -0
  134. package/static/core/{5ea0fc40.js → e02024fb2.js} +97 -97
  135. package/static/core/e199fd0a.js +49 -0
  136. package/static/core/{678594cd.js → e3a541ab.js} +3 -3
  137. package/static/core/{6f0d961a2.js → e4c6d91e2.js} +7 -7
  138. package/static/core/{c2a2dc79.js → e4d01015.js} +40775 -44576
  139. package/static/core/e57e8a80.js +22 -0
  140. package/static/core/{d7a9fd822.js → e6ac2e652.js} +3 -3
  141. package/static/core/{de2e2a02.js → e6c7e14f.js} +3 -3
  142. package/static/core/{81a5ffb92.js → e83c0b482.js} +3 -3
  143. package/static/core/{2515c6a52.js → e923d1aa2.js} +3 -3
  144. package/static/core/{b78a67b9.js → ea6c5c93.js} +3237 -3101
  145. package/static/core/{d85e34c42.js → ebd51d83.js} +3 -3
  146. package/static/core/{b54ad117.js → ec4f2d562.js} +3 -3
  147. package/static/core/{da25e8fc.js → f0364bbd2.js} +4 -4
  148. package/static/core/{b1b3186f.js → f51ccb57.js} +7 -7
  149. package/static/core/{7fd85aa0.js → f73bbe35.js} +5 -5
  150. package/static/core/{211ca90b.js → f85b09cb.js} +3 -3
  151. package/static/core/{3ab5d1a4.js → f9aaa4b7.js} +7 -7
  152. package/static/core/{4c5c889d.js → fc962c9a2.js} +5 -5
  153. package/static/core/{fd9034a2.js → fd7386aa2.js} +37 -37
  154. package/static/core/{62dd04ca2.js → fe4feb362.js} +3 -3
  155. package/static/core/{f3b4a3102.js → ffcf92522.js} +3 -3
  156. package/static/media/image-editor/fonts/Rubik-Black.woff2 +0 -0
  157. package/static/media/image-editor/fonts/Rubik-Bold.woff2 +0 -0
  158. package/static/media/image-editor/fonts/Rubik-Light.woff2 +0 -0
  159. package/static/media/image-editor/fonts/Rubik-Regular.woff2 +0 -0
  160. package/static/media/image-editor/fonts/caveat-v23-cyrillic_latin-regular.woff2 +0 -0
  161. package/static/media/image-editor/fonts/commissioner-v24-cyrillic_latin-regular.woff2 +0 -0
  162. package/static/media/image-editor/fonts/inter-v20-cyrillic_latin-regular.woff2 +0 -0
  163. package/static/media/image-editor/fonts/oswald-v57-cyrillic_latin-regular.woff2 +0 -0
  164. package/static/media/image-editor/fonts/pacifico-v23-cyrillic_latin-regular.woff2 +0 -0
  165. package/static/media/image-editor/fonts/playfair-display-v40-cyrillic_latin-regular.woff2 +0 -0
  166. package/static/umd-runtime/ui-kit.js +1638 -1416
  167. package/test-font.otf +0 -0
  168. package/test-font.ttf +0 -0
  169. package/test-font.woff2 +0 -0
  170. package/two_step_headless_plugin.html +1 -1
  171. package/ui-kit/index.js +1317 -1104
  172. package/{useblocks-core.bfe3fe29.js → useblocks-core.77131b3d.js} +8 -8
  173. package/useblocks-esm.js +6 -3
  174. package/useblocks-po.77131b3d.js +5945 -0
  175. package/useblocks.d.ts +36 -525
  176. package/useblocks.js +3 -3
  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.BP7EklKo.js +0 -1
  185. package/static/core/2047d7f8.js +0 -12294
  186. package/static/core/63b7b25e.js +0 -68
  187. package/static/core/6dbdca2f.js +0 -2089
  188. package/static/core/8460710a.js +0 -27
  189. package/static/core/86577bae.js +0 -666
  190. package/static/core/97aafd5d.js +0 -43109
  191. package/static/core/aa783b9b.js +0 -124
  192. package/static/core/db999761.js +0 -465
  193. package/static/core/dc19c4fa.js +0 -93052
  194. /package/iframe/{iframe-eblock.bfe3fe29.html → iframe-eblock.77131b3d.html} +0 -0
  195. /package/iframe/{iframe.bfe3fe29.html → iframe.77131b3d.html} +0 -0
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 = "useblocks";
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