$ the-wire · showcase
LANGUAGE TOOLS BREAK FREE OF READ-ONLY FILESYSTEMS
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
Vue's TypeScript integration just ditched the disk-patching hack that broke on read-only systems, fixing a race condition in the bargain.
The language-tools team shipped a cleaner architecture for TypeScript patching in VS Code [1]. Instead of writing a proxy file to disk, the extension now injects patches via Node's `--require` CLI option, which works on read-only filesystems and eliminates the pre-existing race condition that plagued the old approach [2]. Meanwhile, serkodev landed a lock-based fix for concurrent template data provider access [3], addressing a serialization issue that could corrupt state under parallel requests. On the core side, the server-renderer tightened safety checks by rejecting carriage returns in attribute names [4], a hardening measure that continues rendering safe attributes while skipping unsafe ones with warnings. Grammars are back in sync after a VS Code CSS grammar shift [5].
Action items
- → Update language-tools to get read-only filesystem support and race condition fix vuejs/language-tools [plan]
- → Patch vuejs/core to enforce carriage return rejection in attributes vuejs/core [monitor]
References
- [1] feat(vscode): patch `typescript.js` via `--require` CLI option ↗ vuejs/language-tools
- [2] feat(vscode): patch `typescript.js` via `--require` CLI option (#6149) ↗ vuejs/language-tools
- [3] fix(language-service): serialize template data provider access across concurrent requests (#6154) ↗ vuejs/language-tools
- [4] fix(server-renderer): reject CR in attribute names ↗ vuejs/core
- [5] chore(vscode): update embedded grammars lock ↗ vuejs/language-tools