@storybook-astro/framework 0.1.0-beta.9 → 1.0.0

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 (92) hide show
  1. package/README.md +38 -0
  2. package/dist/base-IRZo3zgK.d.ts +23 -0
  3. package/dist/chunk-4SWPVM6R.js +96 -0
  4. package/dist/chunk-4SWPVM6R.js.map +1 -0
  5. package/dist/chunk-5EF25G5S.js +69 -0
  6. package/dist/chunk-5EF25G5S.js.map +1 -0
  7. package/dist/chunk-7GHEQUPV.js +439 -0
  8. package/dist/chunk-7GHEQUPV.js.map +1 -0
  9. package/dist/chunk-C5OH4VBR.js +492 -0
  10. package/dist/chunk-C5OH4VBR.js.map +1 -0
  11. package/dist/chunk-DNGQBPT7.js +15 -0
  12. package/dist/chunk-DNGQBPT7.js.map +1 -0
  13. package/dist/chunk-E4LB75JN.js +89 -0
  14. package/dist/chunk-E4LB75JN.js.map +1 -0
  15. package/dist/chunk-PJEDXZVN.js +240 -0
  16. package/dist/chunk-PJEDXZVN.js.map +1 -0
  17. package/dist/chunk-UK43WNEA.js +657 -0
  18. package/dist/chunk-UK43WNEA.js.map +1 -0
  19. package/dist/dist-HJOEPVRQ.js +15574 -0
  20. package/dist/dist-HJOEPVRQ.js.map +1 -0
  21. package/dist/index.d.ts +42 -0
  22. package/dist/index.js +13 -64
  23. package/dist/index.js.map +1 -1
  24. package/dist/integrations/index.d.ts +138 -0
  25. package/dist/integrations/index.js +8 -196
  26. package/dist/integrations/index.js.map +1 -1
  27. package/dist/middleware.d.ts +26 -0
  28. package/dist/middleware.js +179 -0
  29. package/dist/middleware.js.map +1 -0
  30. package/dist/portable-stories-BvdaQigq.d.ts +83 -0
  31. package/dist/preset.d.ts +14 -0
  32. package/dist/preset.js +5 -1
  33. package/dist/testing.d.ts +27 -0
  34. package/dist/testing.js +324 -15539
  35. package/dist/testing.js.map +1 -1
  36. package/dist/types-CHTsRtA7.d.ts +42 -0
  37. package/dist/viteStorybookAstroMiddlewarePlugin-NP2E52IC.js +11 -0
  38. package/dist/viteStorybookAstroMiddlewarePlugin-NP2E52IC.js.map +1 -0
  39. package/dist/vitest/index.d.ts +19 -0
  40. package/dist/vitest/index.js +229 -0
  41. package/dist/vitest/index.js.map +1 -0
  42. package/package.json +31 -17
  43. package/src/importAstroConfig.ts +11 -0
  44. package/src/index.ts +20 -6
  45. package/src/integrations/alpine.ts +5 -2
  46. package/src/integrations/base.ts +2 -2
  47. package/src/integrations/moduleResolver.ts +43 -0
  48. package/src/integrations/preact.ts +5 -2
  49. package/src/integrations/react.ts +5 -2
  50. package/src/integrations/solid.ts +5 -2
  51. package/src/integrations/svelte.ts +5 -2
  52. package/src/integrations/vue.ts +5 -2
  53. package/src/lib/sanitization.test.ts +232 -0
  54. package/src/lib/sanitization.ts +338 -0
  55. package/src/lib/ssr-load-module-with-fs-fallback.ts +29 -0
  56. package/src/middleware.test.ts +48 -0
  57. package/src/middleware.ts +204 -96
  58. package/src/module-mocks.ts +16 -0
  59. package/src/msw-helpers.ts +1 -0
  60. package/src/msw.ts +58 -0
  61. package/src/preset.ts +38 -3
  62. package/src/rules-options.test.ts +71 -0
  63. package/src/rules-options.ts +87 -0
  64. package/src/rules.test.ts +183 -0
  65. package/src/rules.ts +314 -0
  66. package/src/testing/astro-runtime.ts +219 -0
  67. package/src/testing/component-utils.ts +32 -0
  68. package/src/testing/index.ts +2 -0
  69. package/src/testing/integration-config.ts +121 -0
  70. package/src/testing/project-root.ts +185 -0
  71. package/src/testing/renderer-daemon.ts +269 -0
  72. package/src/testing/story-composition.ts +33 -0
  73. package/src/testing/types.ts +14 -0
  74. package/src/testing/working-directory.ts +28 -0
  75. package/src/testing.ts +1 -254
  76. package/src/types.ts +16 -4
  77. package/src/virtual.d.ts +2 -1
  78. package/src/vite/createVirtualModulePlugin.test.ts +80 -0
  79. package/src/vite/createVirtualModulePlugin.ts +25 -0
  80. package/src/viteAstroContainerRenderersPlugin.ts +60 -26
  81. package/src/vitePluginAstro.ts +12 -5
  82. package/src/vitePluginAstroBuildPrerender.ts +665 -204
  83. package/src/vitePluginAstroRoutesFallback.ts +37 -0
  84. package/src/vitePluginAstroVueFallback.ts +47 -0
  85. package/src/viteStorybookAstroMiddlewarePlugin.ts +88 -12
  86. package/src/viteStorybookRendererFallbackPlugin.ts +13 -23
  87. package/src/vitest/config.ts +95 -0
  88. package/src/vitest/global-setup.ts +16 -0
  89. package/src/vitest/index.ts +2 -0
  90. package/src/vitest/vite-plugins.ts +187 -0
  91. package/dist/chunk-KTGNRGDJ.js +0 -561
  92. package/dist/chunk-KTGNRGDJ.js.map +0 -1
@@ -0,0 +1,240 @@
1
+ // src/integrations/moduleResolver.ts
2
+ import path from "path";
3
+ import { createRequire } from "module";
4
+ import { pathToFileURL } from "url";
5
+ function toFileHref(filePath) {
6
+ return pathToFileURL(filePath).href;
7
+ }
8
+ function resolveFrom(moduleName, fromDirectory) {
9
+ const fromFile = path.join(fromDirectory, "__storybook_astro_resolve__.js");
10
+ return createRequire(toFileHref(fromFile)).resolve(moduleName);
11
+ }
12
+ function resolveFromCandidates(moduleName, primaryDirectory) {
13
+ const directories = [primaryDirectory, process.env.INIT_CWD].filter(
14
+ (value) => Boolean(value)
15
+ );
16
+ const visited = /* @__PURE__ */ new Set();
17
+ let lastError;
18
+ for (const directory of directories) {
19
+ if (visited.has(directory)) {
20
+ continue;
21
+ }
22
+ visited.add(directory);
23
+ try {
24
+ return resolveFrom(moduleName, directory);
25
+ } catch (error) {
26
+ lastError = error;
27
+ }
28
+ }
29
+ throw lastError;
30
+ }
31
+ async function importModule(moduleName, resolveFrom2 = process.cwd()) {
32
+ const resolvedPath = resolveFromCandidates(moduleName, resolveFrom2);
33
+ return import(toFileHref(resolvedPath));
34
+ }
35
+
36
+ // src/integrations/alpine.ts
37
+ var AlpineIntegration = class {
38
+ name = "alpine";
39
+ dependencies = [
40
+ "@astrojs/alpinejs",
41
+ "alpinejs"
42
+ ];
43
+ options;
44
+ renderer = {};
45
+ constructor(options = {}) {
46
+ this.options = options;
47
+ }
48
+ resolveClient(_moduleName) {
49
+ }
50
+ async loadIntegration(resolveFrom2 = process.cwd()) {
51
+ const framework = await importModule("@astrojs/alpinejs", resolveFrom2);
52
+ return framework.default(this.options);
53
+ }
54
+ };
55
+
56
+ // src/integrations/preact.ts
57
+ var PreactIntegration = class {
58
+ name = "preact";
59
+ dependencies = ["@astrojs/preact", "@storybook/preact-vite", "preact"];
60
+ options;
61
+ storybookEntryPreview = "@storybook/preact/entry-preview";
62
+ renderer = {
63
+ server: {
64
+ name: "@astrojs/preact",
65
+ entrypoint: "@astrojs/preact/server.js"
66
+ },
67
+ client: {
68
+ name: "@astrojs/preact",
69
+ entrypoint: "@astrojs/preact/client.js"
70
+ }
71
+ };
72
+ constructor(options = {}) {
73
+ this.options = options;
74
+ }
75
+ resolveClient(moduleName) {
76
+ if (moduleName.startsWith("@astrojs/preact/client")) {
77
+ return `/@id/${moduleName}`;
78
+ }
79
+ }
80
+ async loadIntegration(resolveFrom2 = process.cwd()) {
81
+ const framework = await importModule("@astrojs/preact", resolveFrom2);
82
+ return framework.default(this.options);
83
+ }
84
+ };
85
+
86
+ // src/integrations/react.ts
87
+ var ReactIntegration = class {
88
+ name = "react";
89
+ dependencies = ["@astrojs/react", "@storybook/react", "react", "react-dom"];
90
+ options;
91
+ storybookEntryPreview = "@storybook/react/entry-preview";
92
+ renderer = {
93
+ server: {
94
+ name: "@astrojs/react",
95
+ entrypoint: "@astrojs/react/server.js"
96
+ },
97
+ client: {
98
+ name: "@astrojs/react",
99
+ entrypoint: "@astrojs/react/client.js"
100
+ }
101
+ };
102
+ constructor(options = {}) {
103
+ this.options = options;
104
+ }
105
+ resolveClient(moduleName) {
106
+ if (moduleName.startsWith("@astrojs/react/client")) {
107
+ return `/@id/${moduleName}`;
108
+ }
109
+ }
110
+ async loadIntegration(resolveFrom2 = process.cwd()) {
111
+ const framework = await importModule("@astrojs/react", resolveFrom2);
112
+ return framework.default(this.options);
113
+ }
114
+ };
115
+
116
+ // src/integrations/solid.ts
117
+ var SolidIntegration = class {
118
+ name = "solid";
119
+ dependencies = ["@astrojs/solid-js", "storybook-solidjs-vite", "solid-js"];
120
+ options;
121
+ storybookEntryPreview = "storybook-solidjs-vite/renderer/entry-preview";
122
+ renderer = {
123
+ server: {
124
+ name: "@astrojs/solid-js",
125
+ entrypoint: "@astrojs/solid-js/server.js"
126
+ },
127
+ client: {
128
+ name: "@astrojs/solid-js",
129
+ entrypoint: "@astrojs/solid-js/client.js"
130
+ }
131
+ };
132
+ constructor(options = {}) {
133
+ this.options = options;
134
+ }
135
+ resolveClient(moduleName) {
136
+ if (moduleName.startsWith("@astrojs/solid-js/client")) {
137
+ return `/@id/${moduleName}`;
138
+ }
139
+ }
140
+ async loadIntegration(resolveFrom2 = process.cwd()) {
141
+ const framework = await importModule("@astrojs/solid-js", resolveFrom2);
142
+ return framework.default(this.options);
143
+ }
144
+ };
145
+
146
+ // src/integrations/svelte.ts
147
+ var DEFAULT_OPTIONS = {
148
+ extensions: [".svelte"]
149
+ };
150
+ var SvelteIntegration = class {
151
+ name = "svelte";
152
+ dependencies = ["@astrojs/svelte", "@storybook/svelte", "svelte"];
153
+ options;
154
+ storybookEntryPreview = "@storybook/svelte/entry-preview";
155
+ renderer = {
156
+ server: {
157
+ entrypoint: "@astrojs/svelte/server.js",
158
+ name: "@astrojs/svelte"
159
+ },
160
+ client: {
161
+ name: "@astrojs/svelte",
162
+ entrypoint: "@astrojs/svelte/client.js"
163
+ }
164
+ };
165
+ constructor(options = DEFAULT_OPTIONS) {
166
+ this.options = options;
167
+ }
168
+ resolveClient(moduleName) {
169
+ if (moduleName.startsWith("@astrojs/svelte/client")) {
170
+ return `/@id/${moduleName}`;
171
+ }
172
+ }
173
+ async loadIntegration(resolveFrom2 = process.cwd()) {
174
+ const framework = await importModule("@astrojs/svelte", resolveFrom2);
175
+ return framework.default(this.options);
176
+ }
177
+ };
178
+
179
+ // src/integrations/vue.ts
180
+ var DEFAULT_OPTIONS2 = {
181
+ include: ["**/*.vue"]
182
+ };
183
+ var VueIntegration = class {
184
+ name = "vue";
185
+ dependencies = ["@astrojs/vue", "@storybook/vue3", "vue"];
186
+ options;
187
+ storybookEntryPreview = "@storybook/vue3/entry-preview";
188
+ renderer = {
189
+ server: {
190
+ name: "@astrojs/vue",
191
+ entrypoint: "@astrojs/vue/server.js"
192
+ },
193
+ client: {
194
+ name: "@astrojs/vue",
195
+ entrypoint: "@astrojs/vue/client.js"
196
+ }
197
+ };
198
+ constructor(options = DEFAULT_OPTIONS2) {
199
+ this.options = options;
200
+ }
201
+ resolveClient(moduleName) {
202
+ if (moduleName.startsWith("@astrojs/vue/client")) {
203
+ return `/@id/${moduleName}`;
204
+ }
205
+ }
206
+ async loadIntegration(resolveFrom2 = process.cwd()) {
207
+ const framework = await importModule("@astrojs/vue", resolveFrom2);
208
+ return framework.default(this.options);
209
+ }
210
+ };
211
+
212
+ // src/integrations/index.ts
213
+ function alpinejs(options) {
214
+ return new AlpineIntegration(options);
215
+ }
216
+ function preact(options) {
217
+ return new PreactIntegration(options);
218
+ }
219
+ function react(options) {
220
+ return new ReactIntegration(options);
221
+ }
222
+ function solid(options) {
223
+ return new SolidIntegration(options);
224
+ }
225
+ function svelte(options) {
226
+ return new SvelteIntegration(options);
227
+ }
228
+ function vue(options) {
229
+ return new VueIntegration(options);
230
+ }
231
+
232
+ export {
233
+ alpinejs,
234
+ preact,
235
+ react,
236
+ solid,
237
+ svelte,
238
+ vue
239
+ };
240
+ //# sourceMappingURL=chunk-PJEDXZVN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/integrations/moduleResolver.ts","../src/integrations/alpine.ts","../src/integrations/preact.ts","../src/integrations/react.ts","../src/integrations/solid.ts","../src/integrations/svelte.ts","../src/integrations/vue.ts","../src/integrations/index.ts"],"sourcesContent":["import path from 'node:path';\nimport { createRequire } from 'node:module';\nimport { pathToFileURL } from 'node:url';\n\nfunction toFileHref(filePath: string): string {\n return pathToFileURL(filePath).href;\n}\n\nexport function resolveFrom(moduleName: string, fromDirectory: string): string {\n const fromFile = path.join(fromDirectory, '__storybook_astro_resolve__.js');\n\n return createRequire(toFileHref(fromFile)).resolve(moduleName);\n}\n\nfunction resolveFromCandidates(moduleName: string, primaryDirectory: string): string {\n const directories = [primaryDirectory, process.env.INIT_CWD].filter(\n (value): value is string => Boolean(value)\n );\n const visited = new Set<string>();\n let lastError: unknown;\n\n for (const directory of directories) {\n if (visited.has(directory)) {\n continue;\n }\n\n visited.add(directory);\n\n try {\n return resolveFrom(moduleName, directory);\n } catch (error) {\n lastError = error;\n }\n }\n\n throw lastError;\n}\n\nexport async function importModule<T = unknown>(moduleName: string, resolveFrom = process.cwd()): Promise<T> {\n const resolvedPath = resolveFromCandidates(moduleName, resolveFrom);\n\n return import(toFileHref(resolvedPath)) as Promise<T>;\n}\n","import type { Integration } from './base.ts';\nimport { importModule } from './moduleResolver.ts';\n\nexport type Options = Record<string, unknown>;\n\nexport class AlpineIntegration implements Integration {\n readonly name = 'alpine';\n readonly dependencies = [\n '@astrojs/alpinejs',\n 'alpinejs'\n ];\n readonly options: Options;\n readonly renderer = {};\n\n constructor(options: Options = {}) {\n this.options = options;\n }\n\n resolveClient(_moduleName: string): undefined {}\n\n async loadIntegration(resolveFrom = process.cwd()) {\n const framework = await importModule<{\n default: (options: Options) => Awaited<ReturnType<Integration['loadIntegration']>>;\n }>('@astrojs/alpinejs', resolveFrom);\n\n return framework.default(this.options);\n }\n}\n","import type { Integration } from './base.ts';\nimport type { PreactPluginOptions } from '@preact/preset-vite';\nimport { importModule } from './moduleResolver.ts';\n\nexport type Options = Pick<PreactPluginOptions, 'include' | 'exclude'> & {\n compat?: boolean;\n devtools?: boolean;\n};\n\nexport class PreactIntegration implements Integration {\n readonly name = 'preact';\n readonly dependencies = ['@astrojs/preact', '@storybook/preact-vite', 'preact'];\n readonly options: Options;\n readonly storybookEntryPreview = '@storybook/preact/entry-preview';\n \n readonly renderer = {\n server: {\n name: '@astrojs/preact',\n entrypoint: '@astrojs/preact/server.js'\n },\n client: {\n name: '@astrojs/preact',\n entrypoint: '@astrojs/preact/client.js'\n }\n };\n\n constructor(options: Options = {}) {\n this.options = options;\n }\n\n resolveClient(moduleName: string): string | undefined {\n if (moduleName.startsWith('@astrojs/preact/client')) {\n return `/@id/${moduleName}`;\n }\n }\n\n async loadIntegration(resolveFrom = process.cwd()) {\n const framework = await importModule<{\n default: (options: Options) => Awaited<ReturnType<Integration['loadIntegration']>>;\n }>('@astrojs/preact', resolveFrom);\n\n return framework.default(this.options);\n }\n}\n","import type { Integration } from './base.ts';\nimport type { Options as ViteReactPluginOptions } from '@vitejs/plugin-react';\nimport { importModule } from './moduleResolver.ts';\n\nexport type Options = Pick<ViteReactPluginOptions, 'include' | 'exclude'>;\n\nexport class ReactIntegration implements Integration {\n readonly name = 'react';\n readonly dependencies = ['@astrojs/react', '@storybook/react', 'react', 'react-dom'];\n readonly options: Options;\n readonly storybookEntryPreview = '@storybook/react/entry-preview';\n\n readonly renderer = {\n server: {\n name: '@astrojs/react',\n entrypoint: '@astrojs/react/server.js'\n },\n client: {\n name: '@astrojs/react',\n entrypoint: '@astrojs/react/client.js'\n }\n };\n\n constructor(options: Options = {}) {\n this.options = options;\n }\n\n resolveClient(moduleName: string): string | undefined {\n if (moduleName.startsWith('@astrojs/react/client')) {\n return `/@id/${moduleName}`;\n }\n }\n\n async loadIntegration(resolveFrom = process.cwd()) {\n const framework = await importModule<{\n default: (options: Options) => Awaited<ReturnType<Integration['loadIntegration']>>;\n }>('@astrojs/react', resolveFrom);\n\n return framework.default(this.options);\n }\n}\n","import type { Integration } from './base.ts';\nimport type { Options as ViteSolidPluginOptions } from 'vite-plugin-solid';\nimport { importModule } from './moduleResolver.ts';\n\nexport type Options = Pick<ViteSolidPluginOptions, 'include' | 'exclude'>;\n\nexport class SolidIntegration implements Integration {\n readonly name = 'solid';\n readonly dependencies = ['@astrojs/solid-js', 'storybook-solidjs-vite', 'solid-js'];\n readonly options: Options;\n readonly storybookEntryPreview = 'storybook-solidjs-vite/renderer/entry-preview';\n readonly renderer = {\n server: {\n name: '@astrojs/solid-js',\n entrypoint: '@astrojs/solid-js/server.js'\n },\n client: {\n name: '@astrojs/solid-js',\n entrypoint: '@astrojs/solid-js/client.js'\n }\n };\n\n constructor(options: Options = {}) {\n this.options = options;\n }\n\n resolveClient(moduleName: string): string | undefined {\n if (moduleName.startsWith('@astrojs/solid-js/client')) {\n return `/@id/${moduleName}`;\n }\n }\n\n async loadIntegration(resolveFrom = process.cwd()) {\n const framework = await importModule<{\n default: (options: Options) => Awaited<ReturnType<Integration['loadIntegration']>>;\n }>('@astrojs/solid-js', resolveFrom);\n\n return framework.default(this.options);\n }\n}\n","import type { Integration } from './base.ts';\nimport type { Options as _foo, PluginOptions, SvelteConfig } from '@sveltejs/vite-plugin-svelte';\nimport { importModule } from './moduleResolver.ts';\n\n// Using Omit with empty string to preserve index signature\n// capabilities while maintaining the structure of the original types\nexport type Options = Omit<PluginOptions, ''> & Omit<SvelteConfig, 'vitePlugin'>;\n\nconst DEFAULT_OPTIONS: Options = {\n extensions: ['.svelte']\n};\n\nexport class SvelteIntegration implements Integration {\n readonly name = 'svelte';\n readonly dependencies = ['@astrojs/svelte', '@storybook/svelte', 'svelte'];\n readonly options: Options;\n readonly storybookEntryPreview = '@storybook/svelte/entry-preview';\n readonly renderer = {\n server: {\n entrypoint: '@astrojs/svelte/server.js',\n name: '@astrojs/svelte'\n },\n client: {\n name: '@astrojs/svelte',\n entrypoint: '@astrojs/svelte/client.js'\n }\n };\n\n constructor(options: Options = DEFAULT_OPTIONS) {\n this.options = options;\n }\n\n resolveClient(moduleName: string): string | undefined {\n if (moduleName.startsWith('@astrojs/svelte/client')) {\n return `/@id/${moduleName}`;\n }\n }\n\n async loadIntegration(resolveFrom = process.cwd()) {\n const framework = await importModule<{\n default: (options: Options) => Awaited<ReturnType<Integration['loadIntegration']>>;\n }>('@astrojs/svelte', resolveFrom);\n\n return framework.default(this.options);\n }\n}\n","import type { Integration } from './base.ts';\nimport type { Options as VueOptions } from '@vitejs/plugin-vue';\nimport type { Options as VueJsxOptions } from '@vitejs/plugin-vue-jsx';\nimport { importModule } from './moduleResolver.ts';\n\nexport type Options = Pick<VueOptions, 'include' | 'exclude'> & {\n jsx?: boolean | VueJsxOptions;\n};\n\nconst DEFAULT_OPTIONS: Options = {\n include: ['**/*.vue']\n};\n\nexport class VueIntegration implements Integration {\n readonly name = 'vue';\n readonly dependencies = ['@astrojs/vue', '@storybook/vue3', 'vue'];\n readonly options: Options;\n readonly storybookEntryPreview = '@storybook/vue3/entry-preview';\n\n readonly renderer = {\n server: {\n name: '@astrojs/vue',\n entrypoint: '@astrojs/vue/server.js'\n },\n client: {\n name: '@astrojs/vue',\n entrypoint: '@astrojs/vue/client.js'\n }\n };\n\n constructor(options: Options = DEFAULT_OPTIONS) {\n this.options = options;\n }\n\n resolveClient(moduleName: string): string | undefined {\n if (moduleName.startsWith('@astrojs/vue/client')) {\n return `/@id/${moduleName}`;\n }\n }\n\n async loadIntegration(resolveFrom = process.cwd()) {\n const framework = await importModule<{\n default: (options: Options) => Awaited<ReturnType<Integration['loadIntegration']>>;\n }>('@astrojs/vue', resolveFrom);\n\n return framework.default(this.options);\n }\n}\n","import { AlpineIntegration, type Options as AlpineOptions } from './alpine.ts';\nimport { PreactIntegration, type Options as PreactOptions } from './preact.ts';\nimport { ReactIntegration, type Options as ReactOptions } from './react.ts';\nimport { SolidIntegration, type Options as SolidOptions } from './solid.ts';\nimport { SvelteIntegration, type Options as SvelteOptions } from './svelte.ts';\nimport { VueIntegration, type Options as VueOptions } from './vue.ts';\n\n\nexport function alpinejs(options?: AlpineOptions) {\n return new AlpineIntegration(options);\n}\n\nexport function preact(options?: PreactOptions) {\n return new PreactIntegration(options);\n}\n\nexport function react(options?: ReactOptions) {\n return new ReactIntegration(options);\n}\n\nexport function solid(options?: SolidOptions) {\n return new SolidIntegration(options);\n}\n\nexport function svelte(options?: SvelteOptions) {\n return new SvelteIntegration(options);\n}\n\nexport function vue(options?: VueOptions) {\n return new VueIntegration(options);\n}\n\nexport type { Integration } from './base.ts';\n"],"mappings":"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","names":["resolveFrom","resolveFrom","resolveFrom","resolveFrom","resolveFrom","resolveFrom","DEFAULT_OPTIONS","resolveFrom"]}