Skip to content

Commit

Permalink
fix(vapor): handle vapor mode with empty script
Browse files Browse the repository at this point in the history
  • Loading branch information
edison1105 committed Feb 19, 2025
1 parent c6fe9f9 commit 6aebc52
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
11 changes: 11 additions & 0 deletions packages/compiler-sfc/__tests__/parse.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,17 @@ h1 { color: red }
})
})

describe('vapor mode', () => {
test('on empty script', () => {
const { descriptor } = parse(`<script vapor></script>`)
expect(descriptor.vapor).toBe(true)
})
test('on template', () => {
const { descriptor } = parse(`<template vapor><div/></template>`)
expect(descriptor.vapor).toBe(true)
})
})

describe('warnings', () => {
function assertWarning(errors: Error[], msg: string) {
expect(errors.some(e => e.message.match(msg))).toBe(true)
Expand Down
7 changes: 4 additions & 3 deletions packages/compiler-sfc/src/parse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,8 @@ export function parse(
ignoreEmpty &&
node.tag !== 'template' &&
isEmpty(node) &&
!hasSrc(node)
!hasProp(node, 'src') &&
!hasProp(node, 'vapor')
) {
return
}
Expand Down Expand Up @@ -409,12 +410,12 @@ function padContent(
}
}

function hasSrc(node: ElementNode) {
function hasProp(node: ElementNode, name: string) {
return node.props.some(p => {
if (p.type !== NodeTypes.ATTRIBUTE) {
return false
}
return p.name === 'src'
return p.name === name
})
}

Expand Down

0 comments on commit 6aebc52

Please sign in to comment.