$ cnpm install @esbuild-kit/cjs-loader
Node.js require() hook for loading ESM & TypeScript.
.cjs & .mjs (.cts & .mts)node: import prefixestsconfig.json pathsProtip: use with esm-loader or tsx
cjs-loader only transforms CommonJS modules (
.cjs/.ctsor.jsfiles incommonjstype packages).To hook into
import()calls or ES modules (.mjs/.mtsextensions or.jsfiles inmoduletype packages), use this with esm-loader.Alternatively, use tsx to handle them both automatically.
npm install --save-dev @esbuild-kit/cjs-loader
Pass @esbuild-kit/cjs-loader into the --require flag
node -r @esbuild-kit/cjs-loader ./file.js
The following properties are used from tsconfig.json in the working directory:
strict: Whether to transform to strict modejsx: Whether to transform JSX
Warning: When set to
preserve, the JSX syntax will remain untransformed. To prevent Node.js from throwing a syntax error, chain another Node.js loader that can transform JSX to JS.
jsxFactory: How to transform JSXjsxFragmentFactory: How to transform JSX FragmentsjsxImportSource: Where to import JSX functions fromallowJs: Whether to apply the tsconfig to JS filespaths: For resolving aliasestsconfig.json pathBy default, tsconfig.json will be detected from the current working directory.
To set a custom path, use the ESBK_TSCONFIG_PATH environment variable:
ESBK_TSCONFIG_PATH=./path/to/tsconfig.custom.json node -r @esbuild-kit/cjs-loader ./file.js
Modules transformations are cached in the system cache directory (TMPDIR). Transforms are cached by content hash so duplicate dependencies are not re-transformed.
Set environment variable ESBK_DISABLE_CACHE to a truthy value to disable the cache:
ESBK_DISABLE_CACHE=1 node -r @esbuild-kit/cjs-loader ./file.js
tsx - Node.js runtime powered by esbuild using @esbuild-kit/cjs-loader and @esbuild-kit/esm-loader.
@esbuild-kit/esm-loader - TypeScript to ESM transpiler using the Node.js loader API.
<picture>
<source width="410" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image=dark">
<source width="410" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image">
</picture>
<picture>
<source width="410" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image=dark">
<source width="410" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image">
</picture>
Copyright 2013 - present © cnpmjs.org | Home |