A really naive way to flavor your JavaScript.
Getting Started
Currently, it takes 3* different files to flavor your code, a source file, an output file, and a flavor.config.js file.
$ touch source.js output.js flavor.config.js
In the flavor.config.js
file you need to export an array named "keys", and fill it with alias objects:
module.export.keys = [
{
alias: /\b(aint)\b/g,
translation: '!=='
}
]
When writing your alias specification, make sure to include \b
word boundaries to enforce that the keyword must be separate from other characters and omit it when not, like in this regex /\b(unless\()/g
.
The above regex would match unless(false)
and will translate the unless(
part into anything you'd like such as if(!false)
.
Also note the /g
global modifier to ensure this keyword matches in the whole program.
These :key:s will provide flavor with a way to find and replace your aliases with proper code.
Then in your source file write some weird code:
'This string' aint false
Run the flavor command:
$ flavor source.js output.js
And your output.js
file should give you real JavaScript.
'This string' !== false
*The output file will be autogenerated by specified path + name if it wasn't created before compile time.
Check out the example for more details
Example Config
Example SourceFile
Use prewritten recipes
Recipe Book
Just download the config file and rename to flavor.config.js
or require()
it in your config file and concat the array onto your custom flavor.
Note
This is just an experimental project on syntax translation, and is subject to change drastically. Please do not ship this to production.
Please join in on the fun with ideas of your own with a PR or Issue!