strong-trace-transform

Replace the internals of `require` to run code transforms on JavaScript prior to requiring it.

Usage no npm install needed!

<script type="module">
  import strongTraceTransform from 'https://cdn.skypack.dev/strong-trace-transform';
</script>

README

strong-trace-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

var requireTransform = require("strong-trace-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("strong-trace_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.