README
Walker Transforms
For documentation, go to https://normalize.github.io/api.html#transforms.
Adding Transforms
Feel free to add transforms as long as they transform would be used by a lot of people. In other words, please don't add transform for your brand new templating system.
Transforms here are a little odd due to the weird upstream/downstream
nature of the middleware as well as the additional responsibilities
transforms have, specifically handling dependencies.
If you don't know what you're doing, add a lot of tests and debug()
statements!
Please lazy-load all external modules unless they're very small.
This will help with faster initial load times as well as not throw
if the end user doesn't have it installed. Also, your underlying
transform library should not be included in dependencies
and instead devDependencies
.
Creating Custom Transforms
You might want to add your own transforms.
Feel free to fork this and use it as a replacement for nlz(1)
or your app.
You may either fork and use your fork as a git dependency in your app:
{
"devDependencies": {
"nlz": "1",
"normalize-transforms": "jonathanong/transforms.js"
}
}
Or you may publish it as a separate package and reference it in your .nlzrc
:
{
"devDependencies": {
"nlz": "1",
"my-custom-transforms": "1"
}
}
.nlzrc
:
{
"transform": "my-custom-transforms"
}
When creating your own custom transform as your own package,
you don't have to fork this repository.
Instead, you can use this repository as a dependency
and bundle all the exported transforms like the exported transform()
function: https://github.com/normalize/transforms.js/blob/master/lib/index.js
Caveat: if your transform function is a local file, prefix it with ./
so that
nlz
knows that it's a local file. It will be resolved against process.cwd()
.