babel-preprocessor
This is a Babel plugin that adds preprocessor directives to Javascript.
Features:
- Run code during transpilation
- Include external Javascript
- Conditional transpilation
- Embed values calculated during transpilation into output
Installation
$ npm install babel-preprocessor
Usage
.babelrc
Via .babelrc
Via CLI
$ babel --plugins babel-preprocessor script.js
Via Node API
;
Syntax
PREP, PREPROCESS
Execute code during transpilation.
Example:
PREP console; var x = 'variables live in global context';END
PREP(filename/expression, ...)
Execute code retrieved from the filename(s) specified. If an expression is used it must return a filename.
PREP[expr]
Execute the expression within the global context during transpilation. Use this to access variables you have set using DEFINE or PREP.
PREPvar preprocessVariable = 'OK';END console;
DEFINE(expr, ...)
Define a variable within the transpilation's global context.
console;
INCLUDE(expr, ...)
Include files as code. If this is used inside a PREPROCESSOR or PREP directive, the file will execute within the transpilation global context. If used outside a PREPROCESSOR directive it will be included in the transpilation output.
$INCLUDE(expr, ...)
Include files as a string.
var x = console;
PROCINCLUDE(command, arguments, options)
Include process output as code. This takes the same parameters as child_process.spawnSync. If this is used inside a PREPROCESSOR or PREP directive, the file will execute within the transpilation global context. If used outside a PREPROCESSOR directive it will be included in the transpilation output.
$PROCINCLUDE(command, arguments, options)
Include process output as a string. This takes the same parameters as child_process.spawnSync.
var transpileDate = ;var platform = ; console;console;
IF/ELSEIF (expr, ...)
Conditional compilation.
// this gets included in the output console;ELSE // this does not console;END