An SWC plugin to remove "node:"
Install with your favorite package manager as devDependency.
npm i -D swc-plugin-remove-node-protocol
or pnpm add -D swc-plugin-remove-node-protocol
or yarn add -D swc-plugin-remove-node-protocol
You can check the compatibility of versions on https://plugins.swc.rs/
Via .swcrc
{
"jsc": {
"experimental": {
"plugins": [
[
"swc-plugin-remove-node-protocol"
]
]
}
}
}
Input Code:
import fs from 'node:fs';
import path from 'node:path';
const dynamic = import('node:url');
const fs = require('node:fs');
const path = require.resolve('node:path');
export * as fs from 'node:fs';
export * from 'node:crypto';
export { readFile } from 'node:fs';
module.exports = { fs: require('node:fs') };
module.exports.fs = require('node:fs');
console.log('node:fs');
fn('node:fs')
Output:
import fs from 'fs';
import path from 'path';
const dynamic = import('url');
const fs = require('fs');
const path = require.resolve('path');
export * as fs from 'fs';
export * from 'crypto';
export { readFile } from 'fs';
module.exports = {fs: require('fs')};
module.exports.fs = require('fs');
console.log('node:fs');
fn('node:fs');
environment:
pnpm install
pnpm run prepack
pnpm run test
cargo test