3.0.0 • Published 5 months ago
@contrast/agent-swc-plugin v3.0.0
Contrast Node Agent v5 swc plugins
swc plugins for the Node agent's swc rewriter.
Setup
See: https://swc.rs/docs/plugin/ecmascript/getting-started
Install rust
https://www.rust-lang.org/tools/install
Add wasm target
https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html
rustup target add wasm32-wasip1Install and test
cargo test runs the rust unit tests for all plugins.
npm test runs the JavaScript unit tests
Building
To build release-ready targets, either run npm run build or
cargo build --release --target wasm32-wasip1.
Usage
These plugins are designed to be used programmatically from @swc/core.
const { transformSync } = require('@swc/core');
const {
defaultRewriter,
defaultUnwriter,
// this is not being built or released until a need arises
//noPropagationRewriter
} = require('@contrast/agent-swc-plugin');
const result = transformSync(src, {
env: {
targets: {
node: '18', // specify your (lowest) node version
},
},
jsc: {
experimental: {
plugins: [[defaultRewriter], { assess: true, inject: true }]],
},
},
});Releasing
Run npm version <major|minor|patch> to bump the version. Push the changes
and tag to the repo.
When the version bump is merged to main, invoke the release workflow using
either the GitHub UI or the gh CLI program.