npm ci- CLI XML parsing and serialization prefer
@xmldom/xmldom. jsdomprovides the remaining Web API compatibility used by the Node.js CLI and tests.- XML DOM is obtained through
globalThis.__mikuprojectXmlDombymsproject-xmlandexcel-io.
npm run build
npm testnpm run build:coretranspiles the core TypeScript files to their trackedsrc/js/runtime modules.npm run build:browser-runtimecreates the browser-compatible downstream artifact atbundle/miku-project-runtime.mjs.npm run build:cli-bundlecreates the Node.js CLI artifact atbundle/miku-project.mjsand a source archive.npm run build:cli-v1-runtimecreates the versioned v1 Node runtime underruntime/node/only from a clean source tree whose HEAD has the exactv<package.version>tag. It refuses existing output and is not a Release command. P4.10's test/audit-owned consumer pins the rawruntime-manifest.jsonSHA-256 supplied outside the runtime, verifies the canonical executable/source entries, sizes, and SHA-256 digests before launching Node, and validates the complete result/runtime binding.npm run verify:cli-v1-release-candidate -- --runtime-dir <directory> --lock <lock.json>verifies an already-built internal reference candidate against a Git-tracked external lock, copies only the three locked members to an isolated consumer, and replaysvalidate/inspect/plan-change/apply-change/verify-artifact. The Gate G4v1.0.3lock isdocs/miku-project-node-reference-runtime-lock-v1.0.3.json; its local retained candidate is expected atworkplace/gate-g4/v1.0.3/runtime/and is intentionally ignored by Git.- The Gate G4 lock is an internal approval trust anchor, not a public Release checksum or Skills lock. The current
.github/workflows/release-runtime-bundles.ymldoes not build or upload this v1 three-member runtime; do not publishv1.0.3as that public artifact through the current workflow. npm run build:fullruns the core build, both bundles, and the complete Main Application suite.npm run build:xlsx-samplewrites optional sample XLSX and Markdown output underlocal-data/.
テストsuiteは次の役割に固定する。追加した *.test.js は必ずいずれかへ明示的に分類し、tests/mikuproject-test-suite-topology.test.js が実行漏れと重複を検出する。
npm run test:fast: 日常開発用。core utility / codec / workbook / core APIとlegacy CLI compatibility contractを検証する。時間のかかるCLI統合testとbrowser runtime testは含めない。npm run test:full:fastにCLI統合testとbrowser runtime contractを加えた完全回帰。npm test/npm run test:all: 現在はfullと同じ全checked-in test fileを実行する、CI向けの安定した完全suite alias。
Web UI development, browser/UI tests, single-file HTML build, and offline browser verification are maintained in miku-project-web.
local-data/ is a disposable workspace for generated samples and verification outputs. It is not tracked by Git and must be reproducible when needed.