aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vue')
-rw-r--r--packages/integrations/vue/test/app-entrypoint.test.js8
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/astro.config.mjs8
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/package.json5
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg3
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue5
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>