@esbuild-kit/cjs-loader 2.4.2 → 2.4.3
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +56 -4
- package/dist/index.cjs +1 -0
- package/package.json +6 -5
- package/dist/index.js +0 -1
package/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# cjs-loader
|
2
2
|
|
3
|
-
Node.js `require()` hook
|
3
|
+
Node.js `require()` hook for loading ESM & TypeScript.
|
4
4
|
|
5
5
|
### Features
|
6
6
|
- Transforms ESM & TypeScript to CommonJS on demand
|
@@ -10,11 +10,25 @@ Node.js `require()` hook to instantaneously transform ESM & TypeScript to Common
|
|
10
10
|
- Handles `node:` import prefixes
|
11
11
|
- Resolves `tsconfig.json` [`paths`](https://www.typescriptlang.org/tsconfig#paths)
|
12
12
|
|
13
|
-
> **
|
13
|
+
> **Protip:** use with _esm-loader_ or _tsx_
|
14
14
|
>
|
15
|
-
>
|
15
|
+
> _cjs-loader_ only transforms CommonJS modules (`.cjs`/`.cts` or `.js` files in `commonjs` type packages).
|
16
16
|
>
|
17
|
-
>
|
17
|
+
> To hook into `import()` calls or ES modules (`.mjs`/`.mts` extensions or `.js` files in `module` type packages), use this with [esm-loader](https://github.com/esbuild-kit/esm-loader).
|
18
|
+
>
|
19
|
+
> Alternatively, use [tsx](https://github.com/esbuild-kit/tsx) to handle them both automatically.
|
20
|
+
|
21
|
+
<br>
|
22
|
+
|
23
|
+
<p align="center">
|
24
|
+
<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum">
|
25
|
+
<picture>
|
26
|
+
<source width="830" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum&image=dark">
|
27
|
+
<source width="830" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum&image">
|
28
|
+
<img width="830" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum&image" alt="Premium sponsor banner">
|
29
|
+
</picture>
|
30
|
+
</a>
|
31
|
+
</p>
|
18
32
|
|
19
33
|
## Install
|
20
34
|
|
@@ -49,6 +63,18 @@ To set a custom path, use the `ESBK_TSCONFIG_PATH` environment variable:
|
|
49
63
|
ESBK_TSCONFIG_PATH=./path/to/tsconfig.custom.json node -r @esbuild-kit/cjs-loader ./file.js
|
50
64
|
```
|
51
65
|
|
66
|
+
<br>
|
67
|
+
|
68
|
+
<p align="center">
|
69
|
+
<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold">
|
70
|
+
<picture>
|
71
|
+
<source width="830" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold&image=dark">
|
72
|
+
<source width="830" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold&image">
|
73
|
+
<img width="830" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold&image" alt="Premium sponsor banner">
|
74
|
+
</picture>
|
75
|
+
</a>
|
76
|
+
</p>
|
77
|
+
|
52
78
|
### Cache
|
53
79
|
Modules transformations are cached in the system cache directory ([`TMPDIR`](https://en.wikipedia.org/wiki/TMPDIR)). Transforms are cached by content hash so duplicate dependencies are not re-transformed.
|
54
80
|
|
@@ -63,3 +89,29 @@ ESBK_DISABLE_CACHE=1 node -r @esbuild-kit/cjs-loader ./file.js
|
|
63
89
|
- [tsx](https://github.com/esbuild-kit/tsx) - Node.js runtime powered by esbuild using [`@esbuild-kit/cjs-loader`](https://github.com/esbuild-kit/cjs-loader) and [`@esbuild-kit/esm-loader`](https://github.com/esbuild-kit/esm-loader).
|
64
90
|
|
65
91
|
- [@esbuild-kit/esm-loader](https://github.com/esbuild-kit/esm-loader) - TypeScript to ESM transpiler using the Node.js loader API.
|
92
|
+
|
93
|
+
|
94
|
+
## Sponsors
|
95
|
+
|
96
|
+
<p align="center">
|
97
|
+
<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1">
|
98
|
+
<picture>
|
99
|
+
<source width="410" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image=dark">
|
100
|
+
<source width="410" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image">
|
101
|
+
<img width="410" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image" alt="Premium sponsor banner">
|
102
|
+
</picture>
|
103
|
+
</a>
|
104
|
+
<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2">
|
105
|
+
<picture>
|
106
|
+
<source width="410" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image=dark">
|
107
|
+
<source width="410" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image">
|
108
|
+
<img width="410" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image" alt="Premium sponsor banner">
|
109
|
+
</picture>
|
110
|
+
</a>
|
111
|
+
</p>
|
112
|
+
|
113
|
+
<p align="center">
|
114
|
+
<a href="https://github.com/sponsors/privatenumber">
|
115
|
+
<img src="https://cdn.jsdelivr.net/gh/privatenumber/sponsors/sponsorkit/sponsors.svg">
|
116
|
+
</a>
|
117
|
+
</p>
|
package/dist/index.cjs
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";var j=require("path"),y=require("fs"),g=require("module"),r=require("@esbuild-kit/core-utils"),l=require("get-tsconfig");function f(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var d=f(j),E=f(y),u=f(g);const x=/^\.{0,2}\//,O=/\.[cm]?tsx?$/,P=`${d.default.sep}node_modules${d.default.sep}`,i=process.env.ESBK_TSCONFIG_PATH?{path:d.default.resolve(process.env.ESBK_TSCONFIG_PATH),config:l.parseTsconfig(process.env.ESBK_TSCONFIG_PATH)}:l.getTsconfig(),h=i&&l.createFilesMatcher(i),T=i&&l.createPathsMatcher(i),F=r.installSourceMapSupport(),M=r.compareNodeVersion([13,2,0])>=0||r.compareNodeVersion([12,20,0])>=0&&r.compareNodeVersion([13,0,0])<0,m=u.default._extensions,A=m[".js"],b=[".js",".cjs",".cts",".mjs",".mts",".ts",".tsx",".jsx"];function N(s,e){if(!b.some(t=>e.endsWith(t)))return A(s,e);process.send&&process.send({type:"dependency",path:e});let o=E.default.readFileSync(e,"utf8");if(e.endsWith(".cjs")&&M){const t=r.transformDynamicImport(e,o);t&&(o=F(t,e))}else{const t=r.transformSync(o,e,{tsconfigRaw:h==null?void 0:h(e)});o=F(t,e)}s._compile(o,e)}[".js",".ts",".tsx",".jsx"].forEach(s=>{m[s]=N}),Object.defineProperty(m,".mjs",{value:N,enumerable:!1});const D=r.compareNodeVersion([16,0,0])>=0||r.compareNodeVersion([14,18,0])>=0,p=u.default._resolveFilename;u.default._resolveFilename=function(s,e,n,o){var t;if(!D&&s.startsWith("node:")&&(s=s.slice(5)),T&&!x.test(s)&&!((t=e==null?void 0:e.filename)!=null&&t.includes(P))){const a=T(s);for(const _ of a){const v=S.call(this,_,e,n,o);if(v)return v;try{return p.call(this,_,e,n,o)}catch{}}}const c=S.call(this,s,e,n,o);return c||p.call(this,s,e,n,o)};function S(s,e,n,o){const t=r.resolveTsPath(s);if(e!=null&&e.filename&&O.test(e.filename)&&t)try{return p.call(this,t,e,n,o)}catch(c){const{code:a}=c;if(a!=="MODULE_NOT_FOUND"&&a!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw c}}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@esbuild-kit/cjs-loader",
|
3
|
-
"version": "2.4.
|
3
|
+
"version": "2.4.3",
|
4
4
|
"publishConfig": {
|
5
5
|
"access": "public"
|
6
6
|
},
|
@@ -20,13 +20,14 @@
|
|
20
20
|
"name": "Hiroki Osame",
|
21
21
|
"email": "hiroki.osame@gmail.com"
|
22
22
|
},
|
23
|
+
"type": "module",
|
23
24
|
"files": [
|
24
25
|
"dist"
|
25
26
|
],
|
26
|
-
"main": "./dist/index.
|
27
|
-
"exports": "./dist/index.
|
27
|
+
"main": "./dist/index.cjs",
|
28
|
+
"exports": "./dist/index.cjs",
|
28
29
|
"dependencies": {
|
29
|
-
"@esbuild-kit/core-utils": "^3.
|
30
|
-
"get-tsconfig": "^4.
|
30
|
+
"@esbuild-kit/core-utils": "^3.2.3",
|
31
|
+
"get-tsconfig": "^4.7.0"
|
31
32
|
}
|
32
33
|
}
|
package/dist/index.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";var S=require("path"),y=require("fs"),P=require("module"),r=require("@esbuild-kit/core-utils"),l=require("get-tsconfig");function f(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var d=f(S),E=f(y),u=f(P);const O=/^\.{0,2}\//,M=/\.[cm]?tsx?$/,b=`${d.default.sep}node_modules${d.default.sep}`,i=process.env.ESBK_TSCONFIG_PATH?{path:d.default.resolve(process.env.ESBK_TSCONFIG_PATH),config:l.parseTsconfig(process.env.ESBK_TSCONFIG_PATH)}:l.getTsconfig(),v=i&&l.createFilesMatcher(i),h=i&&l.createPathsMatcher(i),T=r.installSourceMapSupport(),j=r.compareNodeVersion([13,2,0])>=0||r.compareNodeVersion([12,20,0])>=0&&r.compareNodeVersion([13,0,0])<0;function F(s,e){process.send&&process.send({type:"dependency",path:e});let t=E.default.readFileSync(e,"utf8");if(e.endsWith(".cjs")&&j){const o=r.transformDynamicImport(e,t);o&&(t=T(o,e))}else{const o=r.transformSync(t,e,{tsconfigRaw:v==null?void 0:v(e)});t=T(o,e)}s._compile(t,e)}const g=u.default._extensions;[".js",".ts",".tsx",".jsx"].forEach(s=>{g[s]=F}),Object.defineProperty(g,".mjs",{value:F,enumerable:!1});const x=r.compareNodeVersion([16,0,0])>=0||r.compareNodeVersion([14,18,0])>=0,p=u.default._resolveFilename;u.default._resolveFilename=function(s,e,t,o){var c;if(!x&&s.startsWith("node:")&&(s=s.slice(5)),h&&!O.test(s)&&!((c=e==null?void 0:e.filename)!=null&&c.includes(b))){const a=h(s);for(const m of a){const _=N.call(this,m,e,t,o);if(_)return _;try{return p.call(this,m,e,t,o)}catch{}}}const n=N.call(this,s,e,t,o);return n||p.call(this,s,e,t,o)};function N(s,e,t,o){const c=r.resolveTsPath(s);if(e&&M.test(e.filename)&&c)try{return p.call(this,c,e,t,o)}catch(n){const{code:a}=n;if(a!=="MODULE_NOT_FOUND"&&a!=="ERR_PACKAGE_PATH_NOT_EXPORTED")throw n}}
|