Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 0d41856

Browse files
committed
fix: failed to transform Vue on webpack, close #27, close #26
1 parent ccbd69e commit 0d41856

File tree

4 files changed

+6
-39
lines changed

4 files changed

+6
-39
lines changed

examples/vue-cli/vue.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable @typescript-eslint/no-var-requires */
22

3-
const ScriptSetup = require('unplugin-vue2-script-setup/webpack')
3+
const ScriptSetup = require('unplugin-vue2-script-setup/webpack').default
44

55
/**
66
* @type {import('@vue/cli-service').ProjectOptions}

playground/App.vue

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import HelloWorld from './HelloWorld.vue'
99
1010
function onUpdate(e: any) {
11+
// eslint-disable-next-line no-console
1112
console.log(e)
1213
}
1314
</script>

src/core/transform.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ export function transform(input: string, id: string, options?: ScriptSetupTransf
1616
if (!shouldTransform(input, id, options))
1717
return null
1818
const resolved = resolveOptions(options)
19-
if (!id.endsWith('.vue'))
20-
return transformNonVue(input, id, resolved)
21-
else
19+
if (id.endsWith('.vue') || id.includes('.vue?vue'))
2220
return transformVue(input, id, resolved)
21+
else
22+
return transformNonVue(input, id, resolved)
2323
}
2424

2525
function transformNonVue(input: string, id: string, options: ResolvedOptions): TransformResult {

test/__snapshots__/transform.test.ts.snap

+1-35
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const __sfc_main = {};
1313
1414
__sfc_main.setup = (__props, __ctx) => {
1515
function onUpdate(e: any) {
16+
// eslint-disable-next-line no-console
1617
console.log(e);
1718
}
1819
@@ -145,41 +146,6 @@ export default defineConfig({
145146
"
146147
`;
147148
148-
exports[`transform fixtures test/fixtures/A.vue 1`] = `
149-
"<template>
150-
<div @click=\\"counter\\">{{ msg }}: {{ count }}</div>
151-
</template>
152-
153-
<script lang=\\"ts\\">
154-
const __sfc_main = {
155-
data() {
156-
return {
157-
msg: 'hello'
158-
};
159-
}
160-
161-
};
162-
163-
__sfc_main.setup = (__props, __ctx) => {
164-
let count = 0;
165-
166-
function counter() {
167-
count = count + 1;
168-
}
169-
170-
return {
171-
count,
172-
counter
173-
};
174-
};
175-
176-
export default __sfc_main;
177-
</script>
178-
179-
180-
"
181-
`;
182-
183149
exports[`transform fixtures test/fixtures/DynamicStyle.vue 1`] = `
184150
"<template>
185151
<div :style=\\"{ color, border: '1px' }\\" />

0 commit comments

Comments
 (0)