import fs from 'node:fs' import path from 'node:path' import { fileURLToPath } from 'node:url' const currentDir = path.dirname(fileURLToPath(import.meta.url)) const toolbarFile = path.resolve(currentDir, '../components/SteadyTrendToolbar.vue') const payloadFile = path.resolve(currentDir, '../utils/trendPayload.ts') const toolbarSource = fs.readFileSync(toolbarFile, 'utf8') const payloadSource = fs.readFileSync(payloadFile, 'utf8') const checks = [ ['toolbar labels the filter as data quality', /toolbar-field__label">数据质量:<\/span>/], ['toolbar renders quality flag with switch', / !pattern.test(index < 6 ? toolbarSource : payloadSource)) .map(([message]) => message) if (failed.length) { console.error('steadyTrend quality switch contract failed:') failed.forEach(message => console.error(`- ${message}`)) process.exit(1) } console.log('steadyTrend quality switch contract passed')