Vue <script setup lang="ts"> breaks dev

Hi everyone!

When I try to make Vue SFC with <script setup lang="ts"> my bud dev breaks.

I found out that this problem exists on bud 6.19 and newer.

bud dev works if I remove lang=“ts”
bud build works anyway

Also, if I remove lang=“ts” in the component imported for createApp, but leave it in the other components used in it, everything will work.
And if I remove in the component, but leave lang=“ts”, then everything will work too.

Similar old bug

Error:

│ │ Module parse failed: Unexpected token (5:27)
│ │ File was processed with these loaders:
│ │  * ../node_modules/vue-loader/dist/templateLoader.js
│ │  * ../node_modules/vue-loader/dist/index.js
│ │ You may need an additional loader to handle the result of these loaders.
│ │ | const _hoisted_1 = /*#__PURE__*/_createElementVNode("p", null, "This is VUE", -1 /* HOISTED */)
│ │ |
│ │ > export function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {
│ │ |   return (_openBlock(), _createElementBlock(_Fragment, null, [
│ │ |     _hoisted_1,

My packages:

"@roots/bud": "6.21.0",
"@roots/bud-sass": "6.21.0",
"@roots/bud-typescript": "6.21.0",
"@roots/bud-vue": "6.21.0",
"@roots/sage": "6.21.0",
"typescript": "^5.4.5"

Sorry, my english is bad and I use a translator.

2 Likes

I’ve got the same issue with the following packages:

    "@roots/bud": "6.20.0",
    "@roots/bud-eslint": "6.20.0",
    "@roots/bud-imagemin": "6.20.0",
    "@roots/bud-prettier": "6.20.0",
    "@roots/bud-swc": "6.20.0",
    "@roots/bud-tailwindcss": "6.20.0",
    "@roots/bud-vue": "6.20.0",
    "@roots/eslint-config": "6.20.0",
    "@roots/sage": "6.20.0",
1 Like

You can go back to bud version 6.18, run bud clean or bud dev --force (maybe other, i don’t remember) and work without errors.
I have not found a solution for any version after 6.18.