@esbuild-kit/cjs-loader 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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}}
|