diff --git a/src/js-tokens.ts b/src/js-tokens.ts index 2f0f9d4..01f4372 100644 --- a/src/js-tokens.ts +++ b/src/js-tokens.ts @@ -26,6 +26,11 @@ export function stripLiteralJsTokens(code: string, options?: StripLiteralOptions } if (token.type === 'StringLiteral') { + // js-token sees exotic vue prop value as an unclosed string literal + if (!token.closed) { + result += token.value + continue + } const body = token.value.slice(1, -1) if (filter(body)) { result += token.value[0] + FILL.repeat(body.length) + token.value[token.value.length - 1] diff --git a/test/fixtures/vitest-5387.output.vue b/test/fixtures/vitest-5387.output.vue new file mode 100644 index 0000000..58989cb --- /dev/null +++ b/test/fixtures/vitest-5387.output.vue @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/test/fixtures/vitest-5387.vue b/test/fixtures/vitest-5387.vue new file mode 100644 index 0000000..4c9230e --- /dev/null +++ b/test/fixtures/vitest-5387.vue @@ -0,0 +1,8 @@ + +