feat: add highlight.js compatibility harness - #319
Conversation
|
Decision record for the auto-detection corpus: upstream 11.11.2 currently comments out its dynamic detect assertions, and eight sample-directory names do not win when all 192 grammars compete. Requiring the directory names made Node fail; limiting each input to its own grammar would have avoided the ambiguity but weakened the scoring-state-machine coverage. The harness therefore records the pinned Node winners for those eight inputs and lets every eligible input compete against the complete grammar set. Markup retains upstream debug mode, while detection uses the public production/safe mode because Node itself hits the Nix grammar zero-width debug assertion on valid inputs. G-code, properties, and plain text are excluded through upstream’s own autoDetection() opt-out. This yields the same fixed 731-case oracle on both engines without JSSE-only skips. |
…pat-library-highlight-js # Conflicts: # CLAUDE.md # scripts/README.md
|
🎉 This PR is included in version 0.2.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
scripts/, with no engine or default-global changesValidation
./scripts/run-library-tests.sh highlight.js --clean --node— 731/731./scripts/run-library-tests.sh highlight.js --no-cross-check— 731/731cargo fmt --checkcargo clippycargo build --releasecargo test --release— 294 Rust tests + smoke oracle./scripts/lint.shuv run python scripts/run-custom-tests.py— 7/7uv run python scripts/run-test262.py test262/test/built-ins/RegExp/— 3,756/3,756./scripts/run-acorn-tests.sh— 13,507/13,507, cross-checked against NodeTZ=UTC uv run python scripts/run-test262.py— 99,568/99,568, zero regressions (UTC matches the current baseline environment recorded by PR fix(intl): localize DateTimeFormat output #281; baseline left unchanged)Closes #297