Skip to content

fix(js-parser): export FILE_BOUNDARY at module level for cross-parser parity#103

Open
gadievron wants to merge 1 commit into
masterfrom
fix/js-parser-export-file-boundary-at-module-level
Open

fix(js-parser): export FILE_BOUNDARY at module level for cross-parser parity#103
gadievron wants to merge 1 commit into
masterfrom
fix/js-parser-export-file-boundary-at-module-level

Conversation

@gadievron
Copy link
Copy Markdown
Collaborator

The JavaScript unit generator declared FILE_BOUNDARY as a function-local
const inside _assembleEnhancedCode and exported only { UnitGenerator }, so
require(...).FILE_BOUNDARY was undefined. Every sibling parser (python:60,
php/c/ruby:35) declares this marker at module level and makes it importable;
the JS parser was the outlier, trapping the canonical boundary string in a
method body where no external consumer could reach it.

Move the declaration to module level next to the requires, reference it
unchanged inside _assembleEnhancedCode (resolves via lexical scope, output
byte-identical), and add it to module.exports. No runtime/behavior change.

Tests: new tests/parsers/javascript/test_unit_generator_file_boundary.py
(node-subprocess seam) asserts the export exists and equals the canonical
marker string. RED 2 failed pre-fix; GREEN 2 passed. Full suite 219 passed,
22 skipped, 0 failed; ruff + node --check clean.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

… parity

The JavaScript unit generator declared FILE_BOUNDARY as a function-local
`const` inside _assembleEnhancedCode and exported only `{ UnitGenerator }`, so
`require(...).FILE_BOUNDARY` was undefined. Every sibling parser (python:60,
php/c/ruby:35) declares this marker at module level and makes it importable;
the JS parser was the outlier, trapping the canonical boundary string in a
method body where no external consumer could reach it.

Move the declaration to module level next to the requires, reference it
unchanged inside _assembleEnhancedCode (resolves via lexical scope, output
byte-identical), and add it to module.exports. No runtime/behavior change.

Tests: new tests/parsers/javascript/test_unit_generator_file_boundary.py
(node-subprocess seam) asserts the export exists and equals the canonical
marker string. RED 2 failed pre-fix; GREEN 2 passed. Full suite 219 passed,
22 skipped, 0 failed; ruff + node --check clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant