diff options
Diffstat (limited to 'packages/integrations/vue')
5 files changed, 26 insertions, 3 deletions
diff --git a/packages/integrations/vue/test/app-entrypoint.test.js b/packages/integrations/vue/test/app-entrypoint.test.js index 5c9ea840c..4f4f389d1 100644 --- a/packages/integrations/vue/test/app-entrypoint.test.js +++ b/packages/integrations/vue/test/app-entrypoint.test.js @@ -30,4 +30,12 @@ describe('App Entrypoint', () => { const js = await fixture.readFile(client); expect(js).to.match(/\w+\.component\(\"Bar\"/gm); }); + + it('loads svg components without transforming them to assets', async () => { + const data = await fixture.readFile('/index.html'); + const { document } = parseHTML(data); + const client = document.querySelector('astro-island svg'); + + expect(client).not.to.be.undefined; + }); }); diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/astro.config.mjs b/packages/integrations/vue/test/fixtures/app-entrypoint/astro.config.mjs index 0bf5fd95d..fa04f9c8b 100644 --- a/packages/integrations/vue/test/fixtures/app-entrypoint/astro.config.mjs +++ b/packages/integrations/vue/test/fixtures/app-entrypoint/astro.config.mjs @@ -1,8 +1,14 @@ import { defineConfig } from 'astro/config'; import vue from '@astrojs/vue'; +import ViteSvgLoader from 'vite-svg-loader' export default defineConfig({ integrations: [vue({ appEntrypoint: '/src/pages/_app' - })] + })], + vite: { + plugins: [ + ViteSvgLoader(), + ], + }, }) diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/package.json b/packages/integrations/vue/test/fixtures/app-entrypoint/package.json index 3cb7d419b..abdab9e4c 100644 --- a/packages/integrations/vue/test/fixtures/app-entrypoint/package.json +++ b/packages/integrations/vue/test/fixtures/app-entrypoint/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "astro": "workspace:*", - "@astrojs/vue": "workspace:*" + "@astrojs/vue": "workspace:*", + "vite-svg-loader": "4.0.0" } -} +}
\ No newline at end of file diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg new file mode 100644 index 000000000..1b207e41a --- /dev/null +++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg @@ -0,0 +1,3 @@ +<svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg"> + <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" /> +</svg> diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue index 3e648808c..e07193d36 100644 --- a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue +++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue @@ -1,5 +1,10 @@ +<script setup> +import Circle from './Circle.svg?component' +</script> + <template> <div id="foo"> <Bar /> + <Circle/> </div> </template> |