The Wire · Showcase
LANGUAGE TOOLS BREAK FREE OF READ-ONLY FILESYSTEMS
By RepoJournal · Filed · About Vue.js
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].
One email a day. Unsubscribe in one click.
Keep up with Vue.js in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
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