@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # cjs-loader
2
2
 
3
- Node.js `require()` hook to instantaneously transform ESM & TypeScript to CommonJS on demand using [esbuild](https://esbuild.github.io/).
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
- > **Tip:**
13
+ > **Protip:** use with _esm-loader_ or _tsx_
14
14
  >
15
- > _cjs-loader_ doesn't hook into dynamic `import()` calls.
15
+ > _cjs-loader_ only transforms CommonJS modules (`.cjs`/`.cts` or `.js` files in `commonjs` type packages).
16
16
  >
17
- > Use this with [esm-loader](https://github.com/esbuild-kit/esm-loader) for `import()` support. Alternatively, use [tsx](https://github.com/esbuild-kit/tsx) to handle them both automatically.
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.2",
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.js",
27
- "exports": "./dist/index.js",
27
+ "main": "./dist/index.cjs",
28
+ "exports": "./dist/index.cjs",
28
29
  "dependencies": {
29
- "@esbuild-kit/core-utils": "^3.0.0",
30
- "get-tsconfig": "^4.4.0"
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}}