Show More
Commit Description:
utf8mb4
Commit Description:
utf8mb4
References:
File last commit:
Show/Diff file:
Action:
node_modules/ast-transform/README.md
| 53 lines
| 1.8 KiB
| text/x-minidsrc
| MarkdownLexer
|
r789 | # ast-transform [](https://flattr.com/submit/auto?user_id=hughskennedy&url=http://github.com/hughsk/ast-transform&title=ast-transform&description=hughsk/ast-transform%20on%20GitHub&language=en_GB&tags=flattr,github,javascript&category=software)[](http://github.com/hughsk/stability-badges) # | |||
Convenience wrapper for performing AST transformations with | ||||
[browserify](http://browserify.org/) transform streams. Note that it doesn't | ||||
handle source maps nicely, though pull requests are welcome! | ||||
## Usage ## | ||||
[](https://nodei.co/npm/ast-transform) | ||||
### `ast(transform[, opts])` ### | ||||
Where `transform` is a function that takes a filename and returns a function, | ||||
e.g.: | ||||
``` javascript | ||||
var replace = require('replace-method') | ||||
var ast = require('ast-transform') | ||||
var path = require('path') | ||||
module.exports = ast(function (file) { | ||||
if (path.extname(file) !== '.js') return | ||||
return function(ast, done) { | ||||
// replace require calls with | ||||
// strings for some reason | ||||
replace(ast)(['require'], function(node) { | ||||
return { type: 'Literal', value: 'replaced!' } | ||||
}) | ||||
done() | ||||
} | ||||
}) | ||||
``` | ||||
Note that you can return a falsey value instead of a function to bail the | ||||
stream early and avoid the parse/deparse overhead. Here's an example of using | ||||
the above with browserify: | ||||
``` javascript | ||||
var browserify = require('browserify') | ||||
var example = require('./example') | ||||
var fs = require('fs') | ||||
browserify('./index.js') | ||||
.transform(example) | ||||
.bundle() | ||||
.pipe(fs.createWriteStream(__filename + '/bundle.js')) | ||||
``` | ||||
## License ## | ||||
MIT. See [LICENSE.md](http://github.com/hughsk/ast-transform/blob/master/LICENSE.md) for details. | ||||