| 1234567891011121314151617 |
- // 票 56(第二轮):PanelBlocks.vue SFC 编译自检(t48-sfc-check 同款,只查本票改动文件)。
- import { readFileSync } from 'node:fs'
- import { parse, compileScript, compileTemplate } from 'vue/compiler-sfc'
- const ROOT = new URL('../../../', import.meta.url)
- const rel = 'src/modules/cockpit/components/PanelBlocks.vue'
- const source = readFileSync(new URL(rel, ROOT), 'utf8')
- const { descriptor, errors } = parse(source, { filename: rel })
- if (errors.length) { console.log(`FAIL parse — ${errors[0].message}`); process.exit(1) }
- try {
- compileScript(descriptor, { id: rel })
- const tpl = compileTemplate({ source: descriptor.template.content, filename: rel, id: rel })
- if (tpl.errors.length) throw new Error(tpl.errors[0])
- console.log('PASS compile PanelBlocks.vue')
- } catch (error) {
- console.log(`FAIL compile — ${error.message}`)
- process.exit(1)
- }
|