4 ms·
For a long time, Babel plugins were entirely smoke-and-mirrors. If you looked under the hood at the source code of a "plugin" package, all it would contain was
by mintplant 5y ago
For a long time, Babel plugins were entirely smoke-and-mirrors. If you looked under the hood at the source code of a "plugin" package, all it would contain was something like:
require('babel').____secret____.enablePluginFoo = true;
There was no actual plugin API, just selectively-enabled logic hardcoded into the main packages. The whole thing was fake-it-til-you-make-it.
- akiselev 5y agoThat's actually pretty clever, in a "all hail the dark lord Cthulu" kind of way.
- acemarke 5y agoFor built-in syntax parsing, yes - those official plugins just told the parser to enable those specific bits of syntax. Actual plugins for non-standard syntax were all real AST visitor-based modifications, though.
- mintplant 5y agoI found this out some years ago while investigating how I might write my own Babel plugin for some non-standard syntax. At the time there were no such facilities available, only the hidden built-in parser flags.