Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@swc-node/register
Advanced tools
@swc-node/register is an npm package that allows you to use SWC (a super-fast TypeScript/JavaScript compiler) to transpile your code on-the-fly when running Node.js applications. This package is particularly useful for developers who want to leverage the speed of SWC for TypeScript or modern JavaScript features without needing to precompile their code.
On-the-fly TypeScript Compilation
This feature allows you to run TypeScript code directly in Node.js without precompiling it. The code sample demonstrates how to require the @swc-node/register package and run TypeScript code on-the-fly.
require('@swc-node/register');
const tsCode = `const greet = (name: string): string => `Hello, ${name}`;`;
console.log(greet('World'));
Modern JavaScript Syntax Support
This feature allows you to use modern JavaScript syntax (like ES6 arrow functions) in Node.js applications. The code sample shows how to require the @swc-node/register package and run modern JavaScript code on-the-fly.
require('@swc-node/register');
const es6Code = `const add = (a, b) => a + b; console.log(add(2, 3));`;
eval(es6Code);
Configuration Options
This feature allows you to customize the SWC compiler options. The code sample demonstrates how to pass configuration options to the @swc-node/register package to set the JavaScript target version.
require('@swc-node/register')({
swc: {
jsc: {
target: 'es2017'
}
}
});
const code = `const x = async () => await Promise.resolve('done'); x().then(console.log);`;
eval(code);
ts-node is a TypeScript execution environment for Node.js. It allows you to run TypeScript code directly without precompiling. Compared to @swc-node/register, ts-node is slower because it uses the TypeScript compiler (tsc) instead of SWC.
babel-register is a package that hooks into Node.js require to compile files on the fly using Babel. It supports a wide range of JavaScript syntax and features. Compared to @swc-node/register, babel-register is slower because Babel is not as fast as SWC.
esbuild-register is a package that allows you to use esbuild to compile JavaScript and TypeScript code on-the-fly in Node.js. It is similar to @swc-node/register in terms of speed, as esbuild is also a very fast compiler.
@swc-node/register
const register = require('@swc-node/register')
register({
...
})
node -r @swc-node/register index.ts
mocha --require @swc-node/register --watch-extensions ts,tsx "test/**/*.{ts,tsx}" [...args]
// package.json
{
"ava": {
"extensions": ["ts", "tsx"],
"require": ["@swc-node/register"],
"files": ["packages/**/*.spec.{ts,tsx}"]
}
}
FAQs
SWC node register
We found that @swc-node/register demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.