Security News
vlt Debuts New JavaScript Package Manager and Serverless Registry at NodeConf EU
vlt introduced its new package manager and a serverless registry this week, innovating in a space where npm has stagnated.
@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({
...
})
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
The npm package @swc-node/register receives a total of 1,161,433 weekly downloads. As such, @swc-node/register popularity was classified as popular.
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
vlt introduced its new package manager and a serverless registry this week, innovating in a space where npm has stagnated.
Security News
Research
The Socket Research Team uncovered a malicious Python package typosquatting the popular 'fabric' SSH library, silently exfiltrating AWS credentials from unsuspecting developers.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.