storybook 10.1.0-alpha.1 → 10.1.0-alpha.11

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 (202) hide show
  1. package/dist/_browser-chunks/Color-FTG7SQDA.js +1097 -0
  2. package/dist/_browser-chunks/WithTooltip-LMROHDUP.js +1651 -0
  3. package/dist/_browser-chunks/chunk-2FRVAXCZ.js +7 -0
  4. package/dist/_browser-chunks/chunk-3IAH5M2U.js +171 -0
  5. package/dist/_browser-chunks/chunk-3OXGAGBE.js +779 -0
  6. package/dist/_browser-chunks/{chunk-TMDZCWME.js → chunk-3PJE6VLG.js} +1 -3
  7. package/dist/_browser-chunks/{chunk-VAMFPZY3.js → chunk-45UGUKRX.js} +2 -7
  8. package/dist/_browser-chunks/chunk-6XWLIJQL.js +11 -0
  9. package/dist/_browser-chunks/{chunk-FDWKXLBI.js → chunk-74YHFU5B.js} +44 -109
  10. package/dist/_browser-chunks/{chunk-MM7DTO55.js → chunk-A242L54C.js} +10 -16
  11. package/dist/_browser-chunks/chunk-AIOS4NGK.js +252 -0
  12. package/dist/_browser-chunks/chunk-AS2HQEYC.js +14 -0
  13. package/dist/_browser-chunks/chunk-AXG2BOBL.js +836 -0
  14. package/dist/_browser-chunks/chunk-BE2DAXKJ.js +2966 -0
  15. package/dist/_browser-chunks/{chunk-MH6AXFXB.js → chunk-CHUV5WSW.js} +0 -5
  16. package/dist/_browser-chunks/chunk-EBHB6RPS.js +61 -0
  17. package/dist/_browser-chunks/chunk-EUVGDK4H.js +93 -0
  18. package/dist/_browser-chunks/chunk-EZSQOHRI.js +18 -0
  19. package/dist/_browser-chunks/{chunk-CADGRH3P.js → chunk-FNXWN6IK.js} +3 -8
  20. package/dist/_browser-chunks/chunk-GFLS4VP3.js +64 -0
  21. package/dist/_browser-chunks/{chunk-L2D73C6Z.js → chunk-H6XK3RSC.js} +13 -21
  22. package/dist/_browser-chunks/chunk-IPA5A322.js +71 -0
  23. package/dist/_browser-chunks/chunk-JP7NCOJX.js +37 -0
  24. package/dist/_browser-chunks/chunk-KJHJLCBK.js +11 -0
  25. package/dist/_browser-chunks/chunk-L4RMQ7D7.js +223 -0
  26. package/dist/_browser-chunks/{chunk-AB7OOPUX.js → chunk-QKODTO7K.js} +0 -5
  27. package/dist/_browser-chunks/chunk-RP5RXKFU.js +2491 -0
  28. package/dist/_browser-chunks/chunk-SL75JR6Y.js +9 -0
  29. package/dist/_browser-chunks/chunk-UD6FQLAF.js +1481 -0
  30. package/dist/_browser-chunks/chunk-VYJQ7RU5.js +2853 -0
  31. package/dist/_browser-chunks/chunk-WJYERY3R.js +136 -0
  32. package/dist/_browser-chunks/chunk-WXP2XJ3O.js +950 -0
  33. package/dist/_browser-chunks/chunk-X3DUQ5RA.js +47 -0
  34. package/dist/_browser-chunks/chunk-XJNX76GA.js +85 -0
  35. package/dist/_browser-chunks/{chunk-F4Q6SGTB.js → chunk-YKE5S47A.js} +177 -399
  36. package/dist/_browser-chunks/{chunk-SN4J4IQ3.js → chunk-ZUWEVLDX.js} +1 -7
  37. package/dist/_browser-chunks/{formatter-OMEEQ6HG.js → formatter-QJ4M4OGQ.js} +4 -9
  38. package/dist/_browser-chunks/{syntaxhighlighter-DK2ODWXH.js → syntaxhighlighter-WKBQ5RC7.js} +707 -1851
  39. package/dist/_node-chunks/{builder-manager-6UBDPV7P.js → builder-manager-PMPHOSM2.js} +495 -1013
  40. package/dist/_node-chunks/camelcase-K3IOOFQW.js +18 -0
  41. package/dist/_node-chunks/{chunk-QNUGJO6L.js → chunk-32NE3UE3.js} +15 -24
  42. package/dist/_node-chunks/chunk-4GZCFQFG.js +58 -0
  43. package/dist/_node-chunks/chunk-5QK5MSOI.js +943 -0
  44. package/dist/_node-chunks/{chunk-3FPF5Y2F.js → chunk-6ZOLETQK.js} +8 -10
  45. package/dist/_node-chunks/chunk-7I22Y76Z.js +1047 -0
  46. package/dist/_node-chunks/chunk-AKTRSR3O.js +72 -0
  47. package/dist/_node-chunks/chunk-BBOP3XCK.js +119 -0
  48. package/dist/_node-chunks/chunk-C2GQVDWI.js +34 -0
  49. package/dist/_node-chunks/{chunk-SCTKVDWR.js → chunk-GG2WQZSG.js} +4619 -7350
  50. package/dist/_node-chunks/chunk-GQJOWVVR.js +3214 -0
  51. package/dist/_node-chunks/chunk-JCRM2YVK.js +3009 -0
  52. package/dist/_node-chunks/chunk-KK4AT5F3.js +1029 -0
  53. package/dist/_node-chunks/chunk-L7MYXJUM.js +1114 -0
  54. package/dist/_node-chunks/{chunk-LAU7VVPC.js → chunk-LCZO45L7.js} +469 -983
  55. package/dist/_node-chunks/chunk-LR3QITDI.js +209 -0
  56. package/dist/_node-chunks/chunk-LXG4DK35.js +3171 -0
  57. package/dist/_node-chunks/chunk-MJ3WOS6F.js +37 -0
  58. package/dist/_node-chunks/chunk-PHOZWZZO.js +61 -0
  59. package/dist/_node-chunks/chunk-QECOQWRJ.js +936 -0
  60. package/dist/_node-chunks/chunk-QH4V5YDB.js +20 -0
  61. package/dist/_node-chunks/chunk-R6HWGZWD.js +26 -0
  62. package/dist/_node-chunks/chunk-SPQXMU2Q.js +759 -0
  63. package/dist/_node-chunks/chunk-TXZY6V6O.js +1564 -0
  64. package/dist/_node-chunks/chunk-UGDPX5LE.js +756 -0
  65. package/dist/_node-chunks/chunk-UY26MQLT.js +603 -0
  66. package/dist/_node-chunks/chunk-WK3EMYK6.js +61 -0
  67. package/dist/_node-chunks/{chunk-CJHAP7SE.js → chunk-WLHMN7AP.js} +292 -688
  68. package/dist/_node-chunks/chunk-XGVLB4UJ.js +54 -0
  69. package/dist/_node-chunks/{chunk-J7N7PD5Q.js → chunk-YHRFI6BE.js} +87 -227
  70. package/dist/_node-chunks/chunk-YK4KVMFW.js +18 -0
  71. package/dist/_node-chunks/chunk-ZZALGOA6.js +4523 -0
  72. package/dist/_node-chunks/chunk-ZZPBSYA5.js +301 -0
  73. package/dist/_node-chunks/chunk-ZZSRFAC6.js +45571 -0
  74. package/dist/_node-chunks/dist-4DWOCZUD.js +121 -0
  75. package/dist/_node-chunks/globby-AAARUKEU.js +3452 -0
  76. package/dist/_node-chunks/lib-HEUKGL62.js +366 -0
  77. package/dist/_node-chunks/mdx-N42X6CFJ-DCVRPS6N.js +14329 -0
  78. package/dist/_node-chunks/p-limit-F5ZKJ6WZ.js +116 -0
  79. package/dist/_node-chunks/plugin-7YY7JXCH.js +123 -0
  80. package/dist/_node-chunks/{plugin-HJLCLGNT.js → plugin-SZP3CW6W.js} +36 -56
  81. package/dist/_node-chunks/webpack-inject-mocker-runtime-plugin-TGKNDPO6.js +46623 -0
  82. package/dist/_node-chunks/webpack-mock-plugin-LNTZZFBE.js +92 -0
  83. package/dist/actions/decorator.js +21 -42
  84. package/dist/actions/index.js +3 -3
  85. package/dist/babel/index.d.ts +671 -335
  86. package/dist/babel/index.js +11 -11
  87. package/dist/bin/core.js +592 -1546
  88. package/dist/bin/dispatcher.js +26 -37
  89. package/dist/bin/loader.js +23 -34
  90. package/dist/channels/index.js +98 -234
  91. package/dist/cli/index.js +1966 -5347
  92. package/dist/client-logger/index.js +31 -61
  93. package/dist/common/index.d.ts +210 -3
  94. package/dist/common/index.js +28 -20
  95. package/dist/components/index.d.ts +472 -280
  96. package/dist/components/index.js +15992 -75
  97. package/dist/core-events/index.js +2 -66
  98. package/dist/core-server/index.js +3837 -7191
  99. package/dist/core-server/presets/common-manager.css +2 -2
  100. package/dist/core-server/presets/common-manager.js +2511 -5219
  101. package/dist/core-server/presets/common-override-preset.js +31 -60
  102. package/dist/core-server/presets/common-preset.js +434 -924
  103. package/dist/core-server/presets/webpack/loaders/storybook-mock-transform-loader.js +15 -19
  104. package/dist/core-server/presets/webpack/loaders/webpack-automock-loader.js +12 -17
  105. package/dist/csf/index.js +534 -1172
  106. package/dist/csf-tools/index.d.ts +15 -4
  107. package/dist/csf-tools/index.js +9 -9
  108. package/dist/docs-tools/index.js +6 -6
  109. package/dist/highlight/index.js +2 -2
  110. package/dist/instrumenter/index.js +199 -415
  111. package/dist/manager/globals-runtime.js +47968 -56484
  112. package/dist/manager/globals.js +2 -3
  113. package/dist/manager/runtime.js +4901 -10318
  114. package/dist/manager-api/index.d.ts +11 -3
  115. package/dist/manager-api/index.js +1250 -2397
  116. package/dist/manager-errors.d.ts +3 -0
  117. package/dist/manager-errors.js +3 -3
  118. package/dist/node-logger/index.d.ts +1 -1
  119. package/dist/node-logger/index.js +1270 -2593
  120. package/dist/preview/globals.js +2 -3
  121. package/dist/preview/runtime.js +10767 -22386
  122. package/dist/preview-api/index.d.ts +67 -68
  123. package/dist/preview-api/index.js +15 -15
  124. package/dist/preview-errors.d.ts +3 -0
  125. package/dist/preview-errors.js +4 -4
  126. package/dist/router/index.js +347 -899
  127. package/dist/server-errors.d.ts +3 -0
  128. package/dist/server-errors.js +10 -10
  129. package/dist/telemetry/index.js +24 -24
  130. package/dist/test/index.js +6129 -11914
  131. package/dist/theming/create.d.ts +4 -2
  132. package/dist/theming/create.js +4 -4
  133. package/dist/theming/index.d.ts +3397 -2628
  134. package/dist/theming/index.js +502 -1091
  135. package/dist/types/index.d.ts +50 -5
  136. package/dist/types/index.js +2 -11
  137. package/dist/viewport/index.js +3 -3
  138. package/package.json +17 -9
  139. package/dist/_browser-chunks/Color-7ZNS6F6B.js +0 -1676
  140. package/dist/_browser-chunks/WithTooltip-SK46ZJ2J.js +0 -13
  141. package/dist/_browser-chunks/chunk-6A7OIVEL.js +0 -66
  142. package/dist/_browser-chunks/chunk-B4A3ADP3.js +0 -3816
  143. package/dist/_browser-chunks/chunk-BOOOPFZF.js +0 -2335
  144. package/dist/_browser-chunks/chunk-C4XOKMDU.js +0 -270
  145. package/dist/_browser-chunks/chunk-FSBVR7H5.js +0 -106
  146. package/dist/_browser-chunks/chunk-FUOHXXZT.js +0 -23
  147. package/dist/_browser-chunks/chunk-GTKOCWCT.js +0 -17
  148. package/dist/_browser-chunks/chunk-HHW4FUMO.js +0 -12
  149. package/dist/_browser-chunks/chunk-I74EUU5O.js +0 -5809
  150. package/dist/_browser-chunks/chunk-JVSKG4YS.js +0 -4052
  151. package/dist/_browser-chunks/chunk-LASUB7TL.js +0 -76
  152. package/dist/_browser-chunks/chunk-LYCSRYYR.js +0 -101
  153. package/dist/_browser-chunks/chunk-NVV6MIOE.js +0 -243
  154. package/dist/_browser-chunks/chunk-OBXWFEPB.js +0 -852
  155. package/dist/_browser-chunks/chunk-OPCDBBL3.js +0 -48
  156. package/dist/_browser-chunks/chunk-PB6FZ3WE.js +0 -130
  157. package/dist/_browser-chunks/chunk-RNE2IUTB.js +0 -1300
  158. package/dist/_browser-chunks/chunk-SYS437NN.js +0 -122
  159. package/dist/_browser-chunks/chunk-U46RQHA4.js +0 -12
  160. package/dist/_browser-chunks/chunk-UTNZYD2N.js +0 -311
  161. package/dist/_browser-chunks/chunk-VUAFL5XK.js +0 -20
  162. package/dist/_browser-chunks/chunk-W4QKLQSC.js +0 -4182
  163. package/dist/_browser-chunks/chunk-XDGMHOV7.js +0 -2197
  164. package/dist/_browser-chunks/chunk-XW6KSYKF.js +0 -16
  165. package/dist/_browser-chunks/chunk-Y3M7TW6K.js +0 -1041
  166. package/dist/_browser-chunks/chunk-ZNRFDIVA.js +0 -233
  167. package/dist/_node-chunks/camelcase-WKJOVNPM.js +0 -18
  168. package/dist/_node-chunks/chunk-2RIKHYCS.js +0 -304
  169. package/dist/_node-chunks/chunk-3JCSHYSU.js +0 -1657
  170. package/dist/_node-chunks/chunk-4GE6Q4MX.js +0 -1531
  171. package/dist/_node-chunks/chunk-5SEHHENC.js +0 -64656
  172. package/dist/_node-chunks/chunk-6GD23U64.js +0 -420
  173. package/dist/_node-chunks/chunk-6OAXYS5T.js +0 -1544
  174. package/dist/_node-chunks/chunk-7TNUMFKR.js +0 -4741
  175. package/dist/_node-chunks/chunk-BCDHUXAJ.js +0 -4272
  176. package/dist/_node-chunks/chunk-BYVQZ2HU.js +0 -220
  177. package/dist/_node-chunks/chunk-DAMVKHAC.js +0 -101
  178. package/dist/_node-chunks/chunk-FEOC7OX2.js +0 -1586
  179. package/dist/_node-chunks/chunk-FY7XZPLY.js +0 -2248
  180. package/dist/_node-chunks/chunk-GD2FXWDF.js +0 -697
  181. package/dist/_node-chunks/chunk-HM6B7FE5.js +0 -18
  182. package/dist/_node-chunks/chunk-HORWITP7.js +0 -90
  183. package/dist/_node-chunks/chunk-II4AFH3V.js +0 -28
  184. package/dist/_node-chunks/chunk-MF2PUEWG.js +0 -5029
  185. package/dist/_node-chunks/chunk-RVE4UTVQ.js +0 -1518
  186. package/dist/_node-chunks/chunk-TUFWZUTO.js +0 -69
  187. package/dist/_node-chunks/chunk-TXHNWNH4.js +0 -79
  188. package/dist/_node-chunks/chunk-ULWNTI6M.js +0 -1198
  189. package/dist/_node-chunks/chunk-VYRFXLRO.js +0 -6712
  190. package/dist/_node-chunks/chunk-WNOSTIYP.js +0 -34
  191. package/dist/_node-chunks/chunk-X67VGZN4.js +0 -1250
  192. package/dist/_node-chunks/chunk-XCEBYOA4.js +0 -61
  193. package/dist/_node-chunks/chunk-XW7YMR7I.js +0 -111
  194. package/dist/_node-chunks/chunk-ZRFYQ46H.js +0 -61
  195. package/dist/_node-chunks/dist-APCKHSY3.js +0 -175
  196. package/dist/_node-chunks/globby-TSGXGDA2.js +0 -5222
  197. package/dist/_node-chunks/lib-DZ5TVIU5.js +0 -518
  198. package/dist/_node-chunks/mdx-N42X6CFJ-Z6BYQCPN.js +0 -22017
  199. package/dist/_node-chunks/p-limit-MLJNGG2K.js +0 -168
  200. package/dist/_node-chunks/plugin-J3JI3ZKJ.js +0 -159
  201. package/dist/_node-chunks/webpack-inject-mocker-runtime-plugin-3QHNTM5B.js +0 -69102
  202. package/dist/_node-chunks/webpack-mock-plugin-4Y3MWPJ6.js +0 -124
@@ -1,420 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_in4hyfgp7kn from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_in4hyfgp7kn from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_in4hyfgp7kn from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_in4hyfgp7kn.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_in4hyfgp7kn.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_in4hyfgp7kn.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
- import {
13
- basename,
14
- dirname,
15
- isAbsolute,
16
- join,
17
- normalize,
18
- resolve
19
- } from "./chunk-BYVQZ2HU.js";
20
- import {
21
- __name
22
- } from "./chunk-XCEBYOA4.js";
23
-
24
- // src/core-server/mocking-utils/resolve.ts
25
- import { readFileSync as readFileSync2, realpathSync } from "node:fs";
26
- import { createRequire } from "node:module";
27
- import { findMockRedirect } from "@vitest/mocker/redirect";
28
-
29
- // ../node_modules/resolve.exports/dist/index.mjs
30
- function e(e2, n2, r2) {
31
- throw new Error(r2 ? `No known conditions for "${n2}" specifier in "${e2}" package` : `Missing "${n2}" specifier in "${e2}" package`);
32
- }
33
- __name(e, "e");
34
- function n(n2, i, o2, f) {
35
- let s, u, l = r(n2, o2), c = function(e2) {
36
- let n3 = /* @__PURE__ */ new Set(["default", ...e2.conditions || []]);
37
- return e2.unsafe || n3.add(e2.require ? "require" : "import"), e2.unsafe || n3.add(e2.browser ? "browser" : "node"), n3;
38
- }(f || {}), a = i[l];
39
- if (void 0 === a) {
40
- let e2, n3, r2, t3;
41
- for (t3 in i) n3 && t3.length < n3.length || ("/" === t3[t3.length - 1] && l.startsWith(t3) ? (u = l.substring(t3.length), n3 = t3) : t3.length > 1 && (r2 = t3.indexOf("*", 1), ~r2 && (e2 = RegExp("^" + t3.substring(0, r2) + "(.*)" + t3.substring(1 + r2) + "$").exec(l), e2 && e2[1] && (u = e2[1], n3 = t3))));
42
- a = i[n3];
43
- }
44
- return a || e(n2, l), s = t(a, c), s || e(n2, l, 1), u && function(e2, n3) {
45
- let r2, t3 = 0, i2 = e2.length, o3 = /[*]/g, f2 = /[/]$/;
46
- for (; t3 < i2; t3++) e2[t3] = o3.test(r2 = e2[t3]) ? r2.replace(o3, n3) : f2.test(r2) ? r2 + n3 : r2;
47
- }(s, u), s;
48
- }
49
- __name(n, "n");
50
- function r(e2, n2, r2) {
51
- if (e2 === n2 || "." === n2) return ".";
52
- let t3 = e2 + "/", i = t3.length, o2 = n2.slice(0, i) === t3, f = o2 ? n2.slice(i) : n2;
53
- return "#" === f[0] ? f : o2 || !r2 ? "./" === f.slice(0, 2) ? f : "./" + f : f;
54
- }
55
- __name(r, "r");
56
- function t(e2, n2, r2) {
57
- if (e2) {
58
- if ("string" == typeof e2) return r2 && r2.add(e2), [e2];
59
- let i, o2;
60
- if (Array.isArray(e2)) {
61
- for (o2 = r2 || /* @__PURE__ */ new Set(), i = 0; i < e2.length; i++) t(e2[i], n2, o2);
62
- if (!r2 && o2.size) return [...o2];
63
- } else for (i in e2) if (n2.has(i)) return t(e2[i], n2, r2);
64
- }
65
- }
66
- __name(t, "t");
67
- function o(e2, r2, t3) {
68
- let i, o2 = e2.exports;
69
- if (o2) {
70
- if ("string" == typeof o2) o2 = { ".": o2 };
71
- else for (i in o2) {
72
- "." !== i[0] && (o2 = { ".": o2 });
73
- break;
74
- }
75
- return n(e2.name, o2, r2 || ".", t3);
76
- }
77
- }
78
- __name(o, "o");
79
-
80
- // src/core-server/mocking-utils/extract.ts
81
- import { readFileSync } from "node:fs";
82
- import { generate, parser, types as t2 } from "storybook/internal/babel";
83
- import { logger } from "storybook/internal/node-logger";
84
- import { telemetry } from "storybook/internal/telemetry";
85
- import { transformSync } from "esbuild";
86
-
87
- // ../node_modules/estree-walker/src/walker.js
88
- var WalkerBase = class {
89
- static {
90
- __name(this, "WalkerBase");
91
- }
92
- constructor() {
93
- this.should_skip = false;
94
- this.should_remove = false;
95
- this.replacement = null;
96
- this.context = {
97
- skip: /* @__PURE__ */ __name(() => this.should_skip = true, "skip"),
98
- remove: /* @__PURE__ */ __name(() => this.should_remove = true, "remove"),
99
- replace: /* @__PURE__ */ __name((node) => this.replacement = node, "replace")
100
- };
101
- }
102
- /**
103
- * @template {Node} Parent
104
- * @param {Parent | null | undefined} parent
105
- * @param {keyof Parent | null | undefined} prop
106
- * @param {number | null | undefined} index
107
- * @param {Node} node
108
- */
109
- replace(parent, prop, index, node) {
110
- if (parent && prop) {
111
- if (index != null) {
112
- parent[prop][index] = node;
113
- } else {
114
- parent[prop] = node;
115
- }
116
- }
117
- }
118
- /**
119
- * @template {Node} Parent
120
- * @param {Parent | null | undefined} parent
121
- * @param {keyof Parent | null | undefined} prop
122
- * @param {number | null | undefined} index
123
- */
124
- remove(parent, prop, index) {
125
- if (parent && prop) {
126
- if (index !== null && index !== void 0) {
127
- parent[prop].splice(index, 1);
128
- } else {
129
- delete parent[prop];
130
- }
131
- }
132
- }
133
- };
134
-
135
- // ../node_modules/estree-walker/src/sync.js
136
- var SyncWalker = class extends WalkerBase {
137
- static {
138
- __name(this, "SyncWalker");
139
- }
140
- /**
141
- *
142
- * @param {SyncHandler} [enter]
143
- * @param {SyncHandler} [leave]
144
- */
145
- constructor(enter, leave) {
146
- super();
147
- this.should_skip = false;
148
- this.should_remove = false;
149
- this.replacement = null;
150
- this.context = {
151
- skip: /* @__PURE__ */ __name(() => this.should_skip = true, "skip"),
152
- remove: /* @__PURE__ */ __name(() => this.should_remove = true, "remove"),
153
- replace: /* @__PURE__ */ __name((node) => this.replacement = node, "replace")
154
- };
155
- this.enter = enter;
156
- this.leave = leave;
157
- }
158
- /**
159
- * @template {Node} Parent
160
- * @param {Node} node
161
- * @param {Parent | null} parent
162
- * @param {keyof Parent} [prop]
163
- * @param {number | null} [index]
164
- * @returns {Node | null}
165
- */
166
- visit(node, parent, prop, index) {
167
- if (node) {
168
- if (this.enter) {
169
- const _should_skip = this.should_skip;
170
- const _should_remove = this.should_remove;
171
- const _replacement = this.replacement;
172
- this.should_skip = false;
173
- this.should_remove = false;
174
- this.replacement = null;
175
- this.enter.call(this.context, node, parent, prop, index);
176
- if (this.replacement) {
177
- node = this.replacement;
178
- this.replace(parent, prop, index, node);
179
- }
180
- if (this.should_remove) {
181
- this.remove(parent, prop, index);
182
- }
183
- const skipped = this.should_skip;
184
- const removed = this.should_remove;
185
- this.should_skip = _should_skip;
186
- this.should_remove = _should_remove;
187
- this.replacement = _replacement;
188
- if (skipped) return node;
189
- if (removed) return null;
190
- }
191
- let key;
192
- for (key in node) {
193
- const value = node[key];
194
- if (value && typeof value === "object") {
195
- if (Array.isArray(value)) {
196
- const nodes = (
197
- /** @type {Array<unknown>} */
198
- value
199
- );
200
- for (let i = 0; i < nodes.length; i += 1) {
201
- const item = nodes[i];
202
- if (isNode(item)) {
203
- if (!this.visit(item, node, key, i)) {
204
- i--;
205
- }
206
- }
207
- }
208
- } else if (isNode(value)) {
209
- this.visit(value, node, key, null);
210
- }
211
- }
212
- }
213
- if (this.leave) {
214
- const _replacement = this.replacement;
215
- const _should_remove = this.should_remove;
216
- this.replacement = null;
217
- this.should_remove = false;
218
- this.leave.call(this.context, node, parent, prop, index);
219
- if (this.replacement) {
220
- node = this.replacement;
221
- this.replace(parent, prop, index, node);
222
- }
223
- if (this.should_remove) {
224
- this.remove(parent, prop, index);
225
- }
226
- const removed = this.should_remove;
227
- this.replacement = _replacement;
228
- this.should_remove = _should_remove;
229
- if (removed) return null;
230
- }
231
- }
232
- return node;
233
- }
234
- };
235
- function isNode(value) {
236
- return value !== null && typeof value === "object" && "type" in value && typeof value.type === "string";
237
- }
238
- __name(isNode, "isNode");
239
-
240
- // ../node_modules/estree-walker/src/index.js
241
- function walk(ast, { enter, leave }) {
242
- const instance = new SyncWalker(enter, leave);
243
- return instance.visit(ast, null);
244
- }
245
- __name(walk, "walk");
246
-
247
- // src/core-server/mocking-utils/extract.ts
248
- var DEFAULT_MODULE_DIRECTORIES = ["/node_modules/"];
249
- function isModuleDirectory(path) {
250
- const normalizedPath = normalize(path);
251
- return DEFAULT_MODULE_DIRECTORIES.some((dir) => normalizedPath.includes(dir));
252
- }
253
- __name(isModuleDirectory, "isModuleDirectory");
254
- var babelParser = /* @__PURE__ */ __name((code) => {
255
- return parser.parse(code, {
256
- sourceType: "module",
257
- // Enable plugins to handle modern JavaScript features, including TSX.
258
- plugins: ["typescript", "jsx", "classProperties", "objectRestSpread"],
259
- errorRecovery: true
260
- }).program;
261
- }, "babelParser");
262
- function rewriteSbMockImportCalls(code) {
263
- const ast = babelParser(code);
264
- walk(ast, {
265
- enter(node) {
266
- if (node.type === "CallExpression" && node.callee.type === "MemberExpression" && node.callee.object.type === "Identifier" && node.callee.object.name === "sb" && node.callee.property.type === "Identifier" && node.callee.property.name === "mock" && node.arguments.length > 0 && node.arguments[0].type === "CallExpression" && node.arguments[0].callee.type === "Import" && node.arguments[0].arguments.length === 1 && node.arguments[0].arguments[0].type === "StringLiteral") {
267
- node.arguments[0] = t2.stringLiteral(node.arguments[0].arguments[0].value);
268
- }
269
- }
270
- });
271
- return generate(ast, {}, code);
272
- }
273
- __name(rewriteSbMockImportCalls, "rewriteSbMockImportCalls");
274
- function extractMockCalls(options, parse, root) {
275
- try {
276
- let hasSpyTrue2 = function(objectExpression) {
277
- if (!objectExpression || !objectExpression.properties) {
278
- return false;
279
- }
280
- for (const prop of objectExpression.properties) {
281
- if (prop.type === "ObjectProperty" && (prop.key.type === "Identifier" && prop.key.name === "spy" || prop.key.type === "StringLiteral" && prop.key.value === "spy") && prop.value.type === "BooleanLiteral" && prop.value.value === true) {
282
- return true;
283
- }
284
- }
285
- return false;
286
- };
287
- var hasSpyTrue = hasSpyTrue2;
288
- __name(hasSpyTrue2, "hasSpyTrue");
289
- const previewConfigCode = readFileSync(options.previewConfigPath, "utf-8");
290
- const { code: jsCode } = transformSync(previewConfigCode, { loader: "tsx", format: "esm" });
291
- const ast = parse(jsCode);
292
- const mocks = [];
293
- walk(ast, {
294
- // @ts-expect-error - Node comes from babel
295
- async enter(node) {
296
- if (node.type !== "CallExpression" || node.callee.type !== "MemberExpression" || node.callee.object.type !== "Identifier" || node.callee.object.name !== "sb" || node.callee.property.type !== "Identifier" || node.callee.property.name !== "mock") {
297
- return;
298
- }
299
- if (node.arguments.length === 0) {
300
- return;
301
- }
302
- let path;
303
- if (node.arguments[0].type === "StringLiteral") {
304
- path = node.arguments[0].value;
305
- } else if (node.arguments[0].type === "CallExpression" && node.arguments[0].callee.type === "Import" && node.arguments[0].arguments[0].type === "StringLiteral") {
306
- path = node.arguments[0].arguments[0].value;
307
- } else {
308
- return;
309
- }
310
- const spy = node.arguments.length > 1 && node.arguments[1].type === "ObjectExpression" && hasSpyTrue2(node.arguments[1]);
311
- const { absolutePath, redirectPath } = resolveMock(path, root, options.previewConfigPath);
312
- const pathWithoutExtension = path.replace(/\.[^/.]+$/, "");
313
- const basenameAbsolutePath = basename(absolutePath);
314
- const basenamePath = basename(path);
315
- const pathWithoutExtensionAndBasename = basenameAbsolutePath === basenamePath ? pathWithoutExtension : path;
316
- mocks.push({
317
- path: pathWithoutExtensionAndBasename,
318
- absolutePath,
319
- redirectPath,
320
- spy
321
- });
322
- }
323
- });
324
- if (!options.coreOptions?.disableTelemetry) {
325
- telemetry(
326
- "mocking",
327
- {
328
- modulesMocked: mocks.length,
329
- modulesSpied: mocks.map((mock) => mock.spy).filter(Boolean).length,
330
- modulesManuallyMocked: mocks.map((mock) => !!mock.redirectPath).filter(Boolean).length
331
- },
332
- { configDir: options.configDir }
333
- );
334
- }
335
- return mocks;
336
- } catch (error) {
337
- logger.debug("Error extracting mock calls", error);
338
- return [];
339
- }
340
- }
341
- __name(extractMockCalls, "extractMockCalls");
342
-
343
- // src/core-server/mocking-utils/resolve.ts
344
- var require2 = createRequire(import.meta.url);
345
- function findPackageJson(specifier, basedir) {
346
- const packageJsonPath = require2.resolve(`${specifier}/package.json`, { paths: [basedir] });
347
- return {
348
- path: packageJsonPath,
349
- data: JSON.parse(readFileSync2(packageJsonPath, "utf-8"))
350
- };
351
- }
352
- __name(findPackageJson, "findPackageJson");
353
- function resolveExternalModule(path, root) {
354
- const parts = path.split("/");
355
- const packageName = path.startsWith("@") ? `${parts[0]}/${parts[1]}` : parts[0];
356
- const entry = `.${path.slice(packageName.length)}`;
357
- const { path: packageJsonPath, data: pkg } = findPackageJson(packageName, root);
358
- const packageDir = dirname(packageJsonPath);
359
- if (pkg.exports) {
360
- const result = o(pkg, entry, {
361
- browser: true
362
- });
363
- if (result) {
364
- return join(packageDir, result[0]);
365
- }
366
- }
367
- return require2.resolve(path, { paths: [root] });
368
- }
369
- __name(resolveExternalModule, "resolveExternalModule");
370
- function getIsExternal(path, importer) {
371
- try {
372
- return !isAbsolute(path) && isModuleDirectory(require2.resolve(path, { paths: [importer] }));
373
- } catch (e2) {
374
- return false;
375
- }
376
- }
377
- __name(getIsExternal, "getIsExternal");
378
- function resolveMock(path, root, importer) {
379
- const isExternal = getIsExternal(path, root);
380
- const externalPath = isExternal ? path : null;
381
- const absolutePath = isExternal ? resolveExternalModule(path, root) : require2.resolve(path, { paths: [dirname(importer)] });
382
- const normalizedAbsolutePath = resolve(absolutePath);
383
- const redirectPath = findMockRedirect(root, normalizedAbsolutePath, externalPath);
384
- return {
385
- absolutePath: normalizedAbsolutePath,
386
- redirectPath
387
- // will be null if no __mocks__ file is found
388
- };
389
- }
390
- __name(resolveMock, "resolveMock");
391
- function getRealPath(path, preserveSymlinks) {
392
- try {
393
- return preserveSymlinks ? realpathSync(path) : path;
394
- } catch {
395
- return path;
396
- }
397
- }
398
- __name(getRealPath, "getRealPath");
399
- function resolveWithExtensions(path, from) {
400
- const extensions = [".js", ".ts", ".tsx", ".mjs", ".cjs", ".svelte", ".vue"];
401
- for (const extension of extensions) {
402
- try {
403
- return require2.resolve(path + extension, { paths: [from] });
404
- } catch (e2) {
405
- continue;
406
- }
407
- }
408
- return require2.resolve(path, { paths: [from] });
409
- }
410
- __name(resolveWithExtensions, "resolveWithExtensions");
411
-
412
- export {
413
- resolveExternalModule,
414
- getIsExternal,
415
- getRealPath,
416
- resolveWithExtensions,
417
- babelParser,
418
- rewriteSbMockImportCalls,
419
- extractMockCalls
420
- };