// t64 K 组补充:外壳 CockpitShell.vue 的 script 也必须编译过(本票改了它的 panelViewOf 分支)。 import assert from 'node:assert/strict' import { readFileSync } from 'node:fs' import { parse, compileScript, compileTemplate } from '@vue/compiler-sfc' // artifacts/t64 → artifacts → verify → effort → .scratch → repo root(5 级) const rel = '../../../../../src/modules/cockpit/CockpitShell.vue' const source = readFileSync(new URL(rel, import.meta.url), 'utf8') const { descriptor, errors } = parse(source, { filename: 'CockpitShell.vue' }) assert.deepEqual(errors, [], 'CockpitShell parse') const script = compileScript(descriptor, { id: 't64' }) const template = compileTemplate({ source: descriptor.template.content, filename: 'CockpitShell.vue', id: 't64', compilerOptions: { bindingMetadata: script.bindings }, }) assert.deepEqual(template.errors, [], 'CockpitShell template') console.log('PASS CockpitShell.vue script+template 编译通过') // 本票接线:operation 面板要吃到当前片区键(换片区复位判据) assert.ok(/panelId === 'operation'\) extra = \{ scope: scope\.value \}/.test(source), '外壳没把 scope 传给运行信息面板') console.log('PASS 外壳把 scope 传给运行信息面板(换片区复位判据的输入)')