node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »

normalize-transforms

Walker Transforms

NPM version Build status Test coverage Dependency Status License Downloads Gittip

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().