strong-trace
Version:
StrongTrace Node.js Tracer
51 lines (33 loc) • 1.14 kB
Markdown
require_transform
=====
Replace the symantics of `require` for JavaScript files such that it will call a set of `transform` functions on the content before requiring it.
Example
```javascript
var requireTransform = require("./require_transform")
function LogName() {}
LogName.prototype.transform = function transform(content, filename) {
console.log(filename)
// keep content intact
return content
}
requireTransform(new LogName())
require("redis")
```
API
===
`var requireTransform = require("./require_transform")`
`requireTransform.replaceCompile(transformer[, fileTest])`
Replace the internals of `require` such that `Module._compile` runs transformer.transform on any filename that passes `fileTest`
`transformer`
Will call `transformer.transform(content, filename)` and then pass the transformed content to the normal `Module._compile`.
`fileTest(filename)`
For the given filename, return `true` to run the transformer functions, or `false` to bypass them.
Default fileTest will always return true.
`requireTransform.restoreCompile()`
Restores the `Module._compile` to the original.