@napi-rs/cli 3.0.0-alpha.63 → 3.0.0-alpha.65

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/cli.mjs CHANGED
@@ -5,7 +5,7 @@ import { resolve } from 'path'
5
5
  import { fileURLToPath } from 'url'
6
6
 
7
7
  execSync(
8
- `node --loader ts-node/esm/transpile-only ${resolve(
8
+ `node --import @oxc-node/core/register ${resolve(
9
9
  fileURLToPath(import.meta.url),
10
10
  '../src/cli.ts',
11
11
  )} ${process.argv.slice(2).join(' ')}`,
package/dist/api/build.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { createHash } from 'node:crypto';
3
- import { existsSync, mkdirSync } from 'node:fs';
3
+ import { existsSync, mkdirSync, unlinkSync } from 'node:fs';
4
4
  import { createRequire } from 'node:module';
5
5
  import { tmpdir, homedir } from 'node:os';
6
6
  import { parse, join, resolve } from 'node:path';
7
7
  import * as colors from 'colorette';
8
8
  import { include as setjmpInclude, lib as setjmpLib } from 'wasm-sjlj';
9
9
  import { CLI_VERSION, copyFileAsync, debugFactory, DEFAULT_TYPE_DEF_HEADER, fileExists, getSystemDefaultTarget, getTargetLinker, mkdirAsync, parseMetadata, parseTriple, processTypeDef, readFileAsync, readNapiConfig, targetToEnvVar, tryInstallCargoBinary, unlinkAsync, writeFileAsync, } from '../utils/index.js';
10
- import { createCjsBinding } from './templates/index.js';
10
+ import { createCjsBinding, createEsmBinding } from './templates/index.js';
11
11
  import { createWasiBinding, createWasiBrowserBinding, } from './templates/load-wasi-template.js';
12
12
  import { createWasiBrowserWorkerBinding, WASI_WORKER_TEMPLATE, } from './templates/wasi-worker-template.js';
13
13
  const debug = debugFactory('build');
@@ -372,7 +372,7 @@ class Builder {
372
372
  }
373
373
  setFeatures() {
374
374
  const args = [];
375
- if (this.options.allFeatures && this.options.allFeatures) {
375
+ if (this.options.allFeatures && this.options.noDefaultFeatures) {
376
376
  throw new Error('Cannot specify --all-features and --no-default-features together');
377
377
  }
378
378
  if (this.options.allFeatures) {
@@ -411,11 +411,19 @@ class Builder {
411
411
  return this;
412
412
  }
413
413
  getIntermediateTypeFile() {
414
- return join(tmpdir(), `${this.crate.name}-${createHash('sha256')
414
+ const dtsPath = join(tmpdir(), `${this.crate.name}-${createHash('sha256')
415
415
  .update(this.crate.manifest_path)
416
416
  .update(CLI_VERSION)
417
417
  .digest('hex')
418
- .substring(0, 8)}.napi_type_def.tmp`);
418
+ .substring(0, 8)}.napi_type_def`);
419
+ if (!this.options.dtsCache) {
420
+ try {
421
+ unlinkSync(dtsPath);
422
+ }
423
+ catch { }
424
+ return `${dtsPath}_${Date.now()}.tmp`;
425
+ }
426
+ return `${dtsPath}.tmp`;
419
427
  }
420
428
  getIntermediateWasiRegisterFile() {
421
429
  return join(tmpdir(), `${this.crate.name}-${createHash('sha256')
@@ -607,12 +615,13 @@ class Builder {
607
615
  return;
608
616
  }
609
617
  const name = this.options.jsBinding ?? 'index.js';
610
- const cjs = createCjsBinding(this.config.binaryName, this.config.packageName, idents);
618
+ const createBinding = this.options.esm ? createEsmBinding : createCjsBinding;
619
+ const binding = createBinding(this.config.binaryName, this.config.packageName, idents);
611
620
  try {
612
621
  const dest = join(this.outputDir, name);
613
622
  debug('Writing js binding to:');
614
623
  debug(' %i', dest);
615
- await writeFileAsync(dest, cjs, 'utf-8');
624
+ await writeFileAsync(dest, binding, 'utf-8');
616
625
  return {
617
626
  kind: 'js',
618
627
  path: dest,
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/api/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/api/build.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare function createCjsBinding(localName: string, pkgName: string, idents: string[]): string;
2
+ export declare function createEsmBinding(localName: string, pkgName: string, idents: string[]): string;
@@ -1,4 +1,31 @@
1
1
  export function createCjsBinding(localName, pkgName, idents) {
2
+ return `${bindingHeader}
3
+ const { createRequire } = require('node:module')
4
+ require = createRequire(__filename)
5
+
6
+ ${createCommonBinding(localName, pkgName)}
7
+ ${idents
8
+ .map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
9
+ .join('\n')}
10
+ `;
11
+ }
12
+ export function createEsmBinding(localName, pkgName, idents) {
13
+ return `${bindingHeader}
14
+ import { createRequire } from 'node:module'
15
+ const require = createRequire(import.meta.url)
16
+ const __dirname = new URL('.', import.meta.url).pathname
17
+
18
+ ${createCommonBinding(localName, pkgName)}
19
+ const { ${idents.join(', ')} } = nativeBinding
20
+ ${idents.map((ident) => `export { ${ident} }`).join('\n')}
21
+ `;
22
+ }
23
+ const bindingHeader = `// prettier-ignore
24
+ /* eslint-disable */
25
+ // @ts-nocheck
26
+ /* auto-generated by NAPI-RS */
27
+ `;
28
+ function createCommonBinding(localName, pkgName) {
2
29
  function requireTuple(tuple) {
3
30
  return `try {
4
31
  return require('./${localName}.${tuple}.node')
@@ -12,12 +39,7 @@ export function createCjsBinding(localName, pkgName, idents) {
12
39
  }
13
40
  `;
14
41
  }
15
- return `// prettier-ignore
16
- /* eslint-disable */
17
- /* auto-generated by NAPI-RS */
18
-
19
- const { readFileSync } = require('fs')
20
-
42
+ return `const { readFileSync } = require('node:fs')
21
43
  let nativeBinding = null
22
44
  const loadErrors = []
23
45
 
@@ -174,10 +196,6 @@ if (!nativeBinding) {
174
196
  }
175
197
  throw new Error(\`Failed to load native binding\`)
176
198
  }
177
-
178
- ${idents
179
- .map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
180
- .join('\n')}
181
199
  `;
182
200
  }
183
201
  //# sourceMappingURL=js-binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js-binding.js","sourceRoot":"","sources":["../../../src/api/templates/js-binding.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,OAAe,EACf,MAAgB;IAEhB,SAAS,YAAY,CAAC,KAAa;QACjC,OAAO;4BACiB,SAAS,IAAI,KAAK;;;;;0BAKpB,OAAO,IAAI,KAAK;;;;CAIzC,CAAA;IACC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6DD,YAAY,CAAC,eAAe,CAAC;;QAE7B,YAAY,CAAC,kBAAkB,CAAC;;;;;;QAMhC,YAAY,CAAC,gBAAgB,CAAC;;QAE9B,YAAY,CAAC,iBAAiB,CAAC;;QAE/B,YAAY,CAAC,kBAAkB,CAAC;;;;;MAKlC,YAAY,CAAC,kBAAkB,CAAC;;QAE9B,YAAY,CAAC,YAAY,CAAC;;QAE1B,YAAY,CAAC,cAAc,CAAC;;;;;;QAM5B,YAAY,CAAC,aAAa,CAAC;;QAE3B,YAAY,CAAC,eAAe,CAAC;;;;;;;UAO3B,YAAY,CAAC,gBAAgB,CAAC;;UAE9B,YAAY,CAAC,eAAe,CAAC;;;;UAI7B,YAAY,CAAC,kBAAkB,CAAC;;UAEhC,YAAY,CAAC,iBAAiB,CAAC;;;;UAI/B,YAAY,CAAC,sBAAsB,CAAC;;UAEpC,YAAY,CAAC,qBAAqB,CAAC;;;;UAInC,YAAY,CAAC,oBAAoB,CAAC;;UAElC,YAAY,CAAC,mBAAmB,CAAC;;;QAGnC,YAAY,CAAC,iBAAiB,CAAC;;QAE/B,YAAY,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;iCAaN,SAAS;;;;;;;;iCAQT,OAAO;;;;;;;;;;;;;;;;;;;;EAoBtC,MAAM;SACL,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,KAAK,oBAAoB,KAAK,EAAE,CAAC;SAClE,IAAI,CAAC,IAAI,CAAC;CACZ,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"js-binding.js","sourceRoot":"","sources":["../../../src/api/templates/js-binding.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,OAAe,EACf,MAAgB;IAEhB,OAAO,GAAG,aAAa;;;;EAIvB,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;EACvC,MAAM;SACL,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,KAAK,oBAAoB,KAAK,EAAE,CAAC;SAClE,IAAI,CAAC,IAAI,CAAC;CACZ,CAAA;AACD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,OAAe,EACf,MAAgB;IAEhB,OAAO,GAAG,aAAa;;;;;EAKvB,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;UAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;EACzB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACxD,CAAA;AACD,CAAC;AAED,MAAM,aAAa,GAAG;;;;CAIrB,CAAA;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,OAAe;IAC7D,SAAS,YAAY,CAAC,KAAa;QACjC,OAAO;4BACiB,SAAS,IAAI,KAAK;;;;;0BAKpB,OAAO,IAAI,KAAK;;;;CAIzC,CAAA;IACC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwDD,YAAY,CAAC,eAAe,CAAC;;QAE7B,YAAY,CAAC,kBAAkB,CAAC;;;;;;QAMhC,YAAY,CAAC,gBAAgB,CAAC;;QAE9B,YAAY,CAAC,iBAAiB,CAAC;;QAE/B,YAAY,CAAC,kBAAkB,CAAC;;;;;MAKlC,YAAY,CAAC,kBAAkB,CAAC;;QAE9B,YAAY,CAAC,YAAY,CAAC;;QAE1B,YAAY,CAAC,cAAc,CAAC;;;;;;QAM5B,YAAY,CAAC,aAAa,CAAC;;QAE3B,YAAY,CAAC,eAAe,CAAC;;;;;;;UAO3B,YAAY,CAAC,gBAAgB,CAAC;;UAE9B,YAAY,CAAC,eAAe,CAAC;;;;UAI7B,YAAY,CAAC,kBAAkB,CAAC;;UAEhC,YAAY,CAAC,iBAAiB,CAAC;;;;UAI/B,YAAY,CAAC,sBAAsB,CAAC;;UAEpC,YAAY,CAAC,qBAAqB,CAAC;;;;UAInC,YAAY,CAAC,oBAAoB,CAAC;;UAElC,YAAY,CAAC,mBAAmB,CAAC;;;QAGnC,YAAY,CAAC,iBAAiB,CAAC;;QAE/B,YAAY,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;iCAaN,SAAS;;;;;;;;iCAQT,OAAO;;;;;;;;;;;;;;;;;;;CAmBvC,CAAA;AACD,CAAC"}
@@ -9,7 +9,7 @@ const __wasi = new __WASI({
9
9
  fs: __fs,
10
10
  preopens: {
11
11
  '/': '/',
12
- }
12
+ },
13
13
  })`
14
14
  : `
15
15
  const __wasi = new __WASI({
@@ -132,11 +132,11 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
132
132
  return 4
133
133
  }
134
134
  })(),
135
+ reuseWorker: true,
135
136
  wasi: __wasi,
136
137
  onCreateWorker() {
137
138
  const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
138
139
  env: process.env,
139
- execArgv: ['--experimental-wasi-unstable-preview1'],
140
140
  })
141
141
  worker.onmessage = ({ data }) => {
142
142
  __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
@@ -17,6 +17,8 @@ export declare abstract class BaseBuildCommand extends Command {
17
17
  dts?: string;
18
18
  dtsHeader?: string;
19
19
  noDtsHeader?: boolean;
20
+ dtsCache: boolean;
21
+ esm?: boolean;
20
22
  strip?: boolean;
21
23
  release?: boolean;
22
24
  verbose?: boolean;
@@ -46,6 +48,8 @@ export declare abstract class BaseBuildCommand extends Command {
46
48
  dts: string | undefined;
47
49
  dtsHeader: string | undefined;
48
50
  noDtsHeader: boolean | undefined;
51
+ dtsCache: boolean;
52
+ esm: boolean | undefined;
49
53
  strip: boolean | undefined;
50
54
  release: boolean | undefined;
51
55
  verbose: boolean | undefined;
@@ -125,6 +129,16 @@ export interface BuildOptions {
125
129
  * Whether to disable the default file header for generated type def file. Only works when `typedef` feature enabled.
126
130
  */
127
131
  noDtsHeader?: boolean;
132
+ /**
133
+ * Whether to enable the dts cache, default to true
134
+ *
135
+ * @default true
136
+ */
137
+ dtsCache?: boolean;
138
+ /**
139
+ * Whether to emit an ESM JS binding file instead of CJS format. Only works with `--platform` flag.
140
+ */
141
+ esm?: boolean;
128
142
  /**
129
143
  * Whether strip the library to achieve the minimum file size
130
144
  */
@@ -178,3 +192,122 @@ export interface BuildOptions {
178
192
  */
179
193
  noDefaultFeatures?: boolean;
180
194
  }
195
+ export declare function applyDefaultBuildOptions(options: BuildOptions): {
196
+ /**
197
+ * Build for the target triple, bypassed to `cargo build --target`
198
+ */
199
+ target?: string;
200
+ /**
201
+ * The working directory of where napi command will be executed in, all other paths options are relative to this path
202
+ */
203
+ cwd?: string;
204
+ /**
205
+ * Path to `Cargo.toml`
206
+ */
207
+ manifestPath?: string;
208
+ /**
209
+ * Path to `napi` config json file
210
+ */
211
+ configPath?: string;
212
+ /**
213
+ * Path to `package.json`
214
+ */
215
+ packageJsonPath?: string;
216
+ /**
217
+ * Directory for all crate generated artifacts, see `cargo build --target-dir`
218
+ */
219
+ targetDir?: string;
220
+ /**
221
+ * Path to where all the built files would be put. Default to the crate folder
222
+ */
223
+ outputDir?: string;
224
+ /**
225
+ * Add platform triple to the generated nodejs binding file, eg: `[name].linux-x64-gnu.node`
226
+ */
227
+ platform?: boolean;
228
+ /**
229
+ * Package name in generated js binding file. Only works with `--platform` flag
230
+ */
231
+ jsPackageName?: string;
232
+ /**
233
+ * Whether generate const enum for typescript bindings
234
+ */
235
+ constEnum?: boolean;
236
+ /**
237
+ * Path and filename of generated JS binding file. Only works with `--platform` flag. Relative to `--output-dir`.
238
+ */
239
+ jsBinding?: string;
240
+ /**
241
+ * Whether to disable the generation JS binding file. Only works with `--platform` flag.
242
+ */
243
+ noJsBinding?: boolean;
244
+ /**
245
+ * Path and filename of generated type def file. Relative to `--output-dir`
246
+ */
247
+ dts?: string;
248
+ /**
249
+ * Custom file header for generated type def file. Only works when `typedef` feature enabled.
250
+ */
251
+ dtsHeader?: string;
252
+ /**
253
+ * Whether to disable the default file header for generated type def file. Only works when `typedef` feature enabled.
254
+ */
255
+ noDtsHeader?: boolean;
256
+ dtsCache: boolean;
257
+ /**
258
+ * Whether to emit an ESM JS binding file instead of CJS format. Only works with `--platform` flag.
259
+ */
260
+ esm?: boolean;
261
+ /**
262
+ * Whether strip the library to achieve the minimum file size
263
+ */
264
+ strip?: boolean;
265
+ /**
266
+ * Build in release mode
267
+ */
268
+ release?: boolean;
269
+ /**
270
+ * Verbosely log build command trace
271
+ */
272
+ verbose?: boolean;
273
+ /**
274
+ * Build only the specified binary
275
+ */
276
+ bin?: string;
277
+ /**
278
+ * Build the specified library or the one at cwd
279
+ */
280
+ package?: string;
281
+ /**
282
+ * Build artifacts with the specified profile
283
+ */
284
+ profile?: string;
285
+ /**
286
+ * [experimental] cross-compile for the specified target with `cargo-xwin` on windows and `cargo-zigbuild` on other platform
287
+ */
288
+ crossCompile?: boolean;
289
+ /**
290
+ * [experimental] use [cross](https://github.com/cross-rs/cross) instead of `cargo`
291
+ */
292
+ useCross?: boolean;
293
+ /**
294
+ * [experimental] use @napi-rs/cross-toolchain to cross-compile Linux arm/arm64/x64 gnu targets.
295
+ */
296
+ useNapiCross?: boolean;
297
+ /**
298
+ * watch the crate changes and build continuously with `cargo-watch` crates
299
+ */
300
+ watch?: boolean;
301
+ /**
302
+ * Space-separated list of features to activate
303
+ */
304
+ features?: string[];
305
+ /**
306
+ * Activate all available features
307
+ */
308
+ allFeatures?: boolean;
309
+ /**
310
+ * Do not activate the `default` feature
311
+ */
312
+ noDefaultFeatures?: boolean;
313
+ };
package/dist/def/build.js CHANGED
@@ -51,6 +51,12 @@ export class BaseBuildCommand extends Command {
51
51
  noDtsHeader = Option.Boolean('--no-dts-header', {
52
52
  description: 'Whether to disable the default file header for generated type def file. Only works when `typedef` feature enabled.',
53
53
  });
54
+ dtsCache = Option.Boolean('--dts-cache', true, {
55
+ description: 'Whether to enable the dts cache, default to true',
56
+ });
57
+ esm = Option.Boolean('--esm', {
58
+ description: 'Whether to emit an ESM JS binding file instead of CJS format. Only works with `--platform` flag.',
59
+ });
54
60
  strip = Option.Boolean('--strip,-s', {
55
61
  description: 'Whether strip the library to achieve the minimum file size',
56
62
  });
@@ -107,6 +113,8 @@ export class BaseBuildCommand extends Command {
107
113
  dts: this.dts,
108
114
  dtsHeader: this.dtsHeader,
109
115
  noDtsHeader: this.noDtsHeader,
116
+ dtsCache: this.dtsCache,
117
+ esm: this.esm,
110
118
  strip: this.strip,
111
119
  release: this.release,
112
120
  verbose: this.verbose,
@@ -123,4 +131,10 @@ export class BaseBuildCommand extends Command {
123
131
  };
124
132
  }
125
133
  }
134
+ export function applyDefaultBuildOptions(options) {
135
+ return {
136
+ dtsCache: true,
137
+ ...options,
138
+ };
139
+ }
126
140
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/def/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/def/build.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -4074,6 +4074,31 @@ var createPackageJson = async ({ name, binaryName, targets, license, engineRequi
4074
4074
 
4075
4075
  // dist/api/templates/js-binding.js
4076
4076
  function createCjsBinding(localName, pkgName, idents) {
4077
+ return `${bindingHeader}
4078
+ const { createRequire } = require('node:module')
4079
+ require = createRequire(__filename)
4080
+
4081
+ ${createCommonBinding(localName, pkgName)}
4082
+ ${idents.map((ident) => `module.exports.${ident} = nativeBinding.${ident}`).join("\n")}
4083
+ `;
4084
+ }
4085
+ function createEsmBinding(localName, pkgName, idents) {
4086
+ return `${bindingHeader}
4087
+ import { createRequire } from 'node:module'
4088
+ const require = createRequire(import.meta.url)
4089
+ const __dirname = new URL('.', import.meta.url).pathname
4090
+
4091
+ ${createCommonBinding(localName, pkgName)}
4092
+ const { ${idents.join(", ")} } = nativeBinding
4093
+ ${idents.map((ident) => `export { ${ident} }`).join("\n")}
4094
+ `;
4095
+ }
4096
+ var bindingHeader = `// prettier-ignore
4097
+ /* eslint-disable */
4098
+ // @ts-nocheck
4099
+ /* auto-generated by NAPI-RS */
4100
+ `;
4101
+ function createCommonBinding(localName, pkgName) {
4077
4102
  function requireTuple(tuple) {
4078
4103
  return `try {
4079
4104
  return require('./${localName}.${tuple}.node')
@@ -4087,12 +4112,7 @@ function createCjsBinding(localName, pkgName, idents) {
4087
4112
  }
4088
4113
  `;
4089
4114
  }
4090
- return `// prettier-ignore
4091
- /* eslint-disable */
4092
- /* auto-generated by NAPI-RS */
4093
-
4094
- const { readFileSync } = require('fs')
4095
-
4115
+ return `const { readFileSync } = require('node:fs')
4096
4116
  let nativeBinding = null
4097
4117
  const loadErrors = []
4098
4118
 
@@ -4249,8 +4269,6 @@ if (!nativeBinding) {
4249
4269
  }
4250
4270
  throw new Error(\`Failed to load native binding\`)
4251
4271
  }
4252
-
4253
- ${idents.map((ident) => `module.exports.${ident} = nativeBinding.${ident}`).join("\n")}
4254
4272
  `;
4255
4273
  }
4256
4274
 
@@ -4265,7 +4283,7 @@ const __wasi = new __WASI({
4265
4283
  fs: __fs,
4266
4284
  preopens: {
4267
4285
  '/': '/',
4268
- }
4286
+ },
4269
4287
  })` : `
4270
4288
  const __wasi = new __WASI({
4271
4289
  version: 'preview1',
@@ -4384,11 +4402,11 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
4384
4402
  return 4
4385
4403
  }
4386
4404
  })(),
4405
+ reuseWorker: true,
4387
4406
  wasi: __wasi,
4388
4407
  onCreateWorker() {
4389
4408
  const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
4390
4409
  env: process.env,
4391
- execArgv: ['--experimental-wasi-unstable-preview1'],
4392
4410
  })
4393
4411
  worker.onmessage = ({ data }) => {
4394
4412
  __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
@@ -4835,7 +4853,7 @@ var Builder = class {
4835
4853
  }
4836
4854
  setFeatures() {
4837
4855
  const args = [];
4838
- if (this.options.allFeatures && this.options.allFeatures) {
4856
+ if (this.options.allFeatures && this.options.noDefaultFeatures) {
4839
4857
  throw new Error("Cannot specify --all-features and --no-default-features together");
4840
4858
  }
4841
4859
  if (this.options.allFeatures) {
@@ -4873,7 +4891,15 @@ var Builder = class {
4873
4891
  return this;
4874
4892
  }
4875
4893
  getIntermediateTypeFile() {
4876
- return (0, import_node_path2.join)((0, import_node_os.tmpdir)(), `${this.crate.name}-${(0, import_node_crypto.createHash)("sha256").update(this.crate.manifest_path).update(CLI_VERSION).digest("hex").substring(0, 8)}.napi_type_def.tmp`);
4894
+ const dtsPath = (0, import_node_path2.join)((0, import_node_os.tmpdir)(), `${this.crate.name}-${(0, import_node_crypto.createHash)("sha256").update(this.crate.manifest_path).update(CLI_VERSION).digest("hex").substring(0, 8)}.napi_type_def`);
4895
+ if (!this.options.dtsCache) {
4896
+ try {
4897
+ (0, import_node_fs3.unlinkSync)(dtsPath);
4898
+ } catch {
4899
+ }
4900
+ return `${dtsPath}_${Date.now()}.tmp`;
4901
+ }
4902
+ return `${dtsPath}.tmp`;
4877
4903
  }
4878
4904
  getIntermediateWasiRegisterFile() {
4879
4905
  return (0, import_node_path2.join)((0, import_node_os.tmpdir)(), `${this.crate.name}-${(0, import_node_crypto.createHash)("sha256").update(this.crate.manifest_path).update(CLI_VERSION).digest("hex").substring(0, 8)}.napi_wasi_register.tmp`);
@@ -5014,12 +5040,13 @@ var Builder = class {
5014
5040
  return;
5015
5041
  }
5016
5042
  const name = this.options.jsBinding ?? "index.js";
5017
- const cjs = createCjsBinding(this.config.binaryName, this.config.packageName, idents);
5043
+ const createBinding = this.options.esm ? createEsmBinding : createCjsBinding;
5044
+ const binding = createBinding(this.config.binaryName, this.config.packageName, idents);
5018
5045
  try {
5019
5046
  const dest = (0, import_node_path2.join)(this.outputDir, name);
5020
5047
  debug3("Writing js binding to:");
5021
5048
  debug3(" %i", dest);
5022
- await writeFileAsync(dest, cjs, "utf-8");
5049
+ await writeFileAsync(dest, binding, "utf-8");
5023
5050
  return {
5024
5051
  kind: "js",
5025
5052
  path: dest
@@ -6519,7 +6546,7 @@ function paginateRest(octokit) {
6519
6546
  paginateRest.VERSION = VERSION6;
6520
6547
 
6521
6548
  // ../node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
6522
- var VERSION7 = "13.2.5";
6549
+ var VERSION7 = "13.2.6";
6523
6550
 
6524
6551
  // ../node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
6525
6552
  var Endpoints = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@napi-rs/cli",
3
- "version": "3.0.0-alpha.63",
3
+ "version": "3.0.0-alpha.65",
4
4
  "description": "Cli tools for napi-rs",
5
5
  "author": "LongYinan <lynweklm@gmail.com>",
6
6
  "homepage": "https://github.com/napi-rs/napi-rs",
@@ -67,37 +67,37 @@
67
67
  "url": "https://github.com/napi-rs/napi-rs/issues"
68
68
  },
69
69
  "dependencies": {
70
- "@inquirer/prompts": "^6.0.0",
70
+ "@inquirer/prompts": "^7.0.0",
71
71
  "@napi-rs/cross-toolchain": "^0.0.16",
72
72
  "@napi-rs/wasm-tools": "^0.0.2",
73
- "@octokit/rest": "^21.0.0",
73
+ "@octokit/rest": "^21.0.2",
74
74
  "clipanion": "^3.2.1",
75
75
  "colorette": "^2.0.20",
76
- "debug": "^4.3.4",
77
- "emnapi": "^1.2.0",
76
+ "debug": "^4.3.7",
77
+ "emnapi": "^1.3.1",
78
78
  "js-yaml": "^4.1.0",
79
79
  "lodash-es": "^4.17.21",
80
- "semver": "^7.5.4",
80
+ "semver": "^7.6.3",
81
81
  "toml": "^3.0.0",
82
82
  "typanion": "^3.14.0",
83
83
  "wasm-sjlj": "^1.0.5"
84
84
  },
85
85
  "devDependencies": {
86
- "@emnapi/core": "^1.1.0",
87
- "@emnapi/runtime": "^1.1.0",
86
+ "@emnapi/core": "^1.3.1",
87
+ "@emnapi/runtime": "^1.3.1",
88
88
  "@types/debug": "^4.1.12",
89
89
  "@types/inquirer": "^9.0.7",
90
90
  "@types/js-yaml": "^4.0.9",
91
91
  "@types/lodash-es": "^4.17.12",
92
- "@types/node": "^20.11.13",
92
+ "@types/node": "^22.7.5",
93
93
  "@types/semver": "^7.5.8",
94
- "ava": "^6.1.1",
94
+ "ava": "^6.1.3",
95
95
  "env-paths": "^3.0.0",
96
96
  "esbuild": "^0.24.0",
97
- "prettier": "^3.2.4",
97
+ "prettier": "^3.3.3",
98
98
  "ts-node": "^10.9.2",
99
- "tslib": "^2.6.2",
100
- "typescript": "^5.4.4"
99
+ "tslib": "^2.7.0",
100
+ "typescript": "^5.6.3"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "@emnapi/runtime": "^1.1.0",
@@ -129,5 +129,5 @@
129
129
  "**/__tests__/**/*.spec.ts"
130
130
  ]
131
131
  },
132
- "gitHead": "8f4f74a32c12a5c9dec7ad5df1ef0f02377ac942"
132
+ "gitHead": "d23290f9c18134165a2100dcaa90fa6a7c6ec3f5"
133
133
  }
package/src/api/build.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { spawn } from 'node:child_process'
2
2
  import { createHash } from 'node:crypto'
3
- import { existsSync, mkdirSync } from 'node:fs'
3
+ import { existsSync, mkdirSync, unlinkSync } from 'node:fs'
4
4
  import { createRequire } from 'node:module'
5
5
  import { tmpdir, homedir } from 'node:os'
6
6
  import { parse, join, resolve } from 'node:path'
@@ -32,7 +32,7 @@ import {
32
32
  writeFileAsync,
33
33
  } from '../utils/index.js'
34
34
 
35
- import { createCjsBinding } from './templates/index.js'
35
+ import { createCjsBinding, createEsmBinding } from './templates/index.js'
36
36
  import {
37
37
  createWasiBinding,
38
38
  createWasiBrowserBinding,
@@ -588,7 +588,7 @@ class Builder {
588
588
 
589
589
  private setFeatures() {
590
590
  const args = []
591
- if (this.options.allFeatures && this.options.allFeatures) {
591
+ if (this.options.allFeatures && this.options.noDefaultFeatures) {
592
592
  throw new Error(
593
593
  'Cannot specify --all-features and --no-default-features together',
594
594
  )
@@ -638,14 +638,21 @@ class Builder {
638
638
  }
639
639
 
640
640
  private getIntermediateTypeFile() {
641
- return join(
641
+ const dtsPath = join(
642
642
  tmpdir(),
643
643
  `${this.crate.name}-${createHash('sha256')
644
644
  .update(this.crate.manifest_path)
645
645
  .update(CLI_VERSION)
646
646
  .digest('hex')
647
- .substring(0, 8)}.napi_type_def.tmp`,
647
+ .substring(0, 8)}.napi_type_def`,
648
648
  )
649
+ if (!this.options.dtsCache) {
650
+ try {
651
+ unlinkSync(dtsPath)
652
+ } catch {}
653
+ return `${dtsPath}_${Date.now()}.tmp`
654
+ }
655
+ return `${dtsPath}.tmp`
649
656
  }
650
657
 
651
658
  private getIntermediateWasiRegisterFile() {
@@ -887,7 +894,8 @@ class Builder {
887
894
 
888
895
  const name = this.options.jsBinding ?? 'index.js'
889
896
 
890
- const cjs = createCjsBinding(
897
+ const createBinding = this.options.esm ? createEsmBinding : createCjsBinding
898
+ const binding = createBinding(
891
899
  this.config.binaryName,
892
900
  this.config.packageName,
893
901
  idents,
@@ -897,7 +905,7 @@ class Builder {
897
905
  const dest = join(this.outputDir, name)
898
906
  debug('Writing js binding to:')
899
907
  debug(' %i', dest)
900
- await writeFileAsync(dest, cjs, 'utf-8')
908
+ await writeFileAsync(dest, binding, 'utf-8')
901
909
  return {
902
910
  kind: 'js',
903
911
  path: dest,
@@ -3,6 +3,40 @@ export function createCjsBinding(
3
3
  pkgName: string,
4
4
  idents: string[],
5
5
  ): string {
6
+ return `${bindingHeader}
7
+ const { createRequire } = require('node:module')
8
+ require = createRequire(__filename)
9
+
10
+ ${createCommonBinding(localName, pkgName)}
11
+ ${idents
12
+ .map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
13
+ .join('\n')}
14
+ `
15
+ }
16
+
17
+ export function createEsmBinding(
18
+ localName: string,
19
+ pkgName: string,
20
+ idents: string[],
21
+ ): string {
22
+ return `${bindingHeader}
23
+ import { createRequire } from 'node:module'
24
+ const require = createRequire(import.meta.url)
25
+ const __dirname = new URL('.', import.meta.url).pathname
26
+
27
+ ${createCommonBinding(localName, pkgName)}
28
+ const { ${idents.join(', ')} } = nativeBinding
29
+ ${idents.map((ident) => `export { ${ident} }`).join('\n')}
30
+ `
31
+ }
32
+
33
+ const bindingHeader = `// prettier-ignore
34
+ /* eslint-disable */
35
+ // @ts-nocheck
36
+ /* auto-generated by NAPI-RS */
37
+ `
38
+
39
+ function createCommonBinding(localName: string, pkgName: string): string {
6
40
  function requireTuple(tuple: string) {
7
41
  return `try {
8
42
  return require('./${localName}.${tuple}.node')
@@ -17,12 +51,7 @@ export function createCjsBinding(
17
51
  `
18
52
  }
19
53
 
20
- return `// prettier-ignore
21
- /* eslint-disable */
22
- /* auto-generated by NAPI-RS */
23
-
24
- const { readFileSync } = require('fs')
25
-
54
+ return `const { readFileSync } = require('node:fs')
26
55
  let nativeBinding = null
27
56
  const loadErrors = []
28
57
 
@@ -179,9 +208,5 @@ if (!nativeBinding) {
179
208
  }
180
209
  throw new Error(\`Failed to load native binding\`)
181
210
  }
182
-
183
- ${idents
184
- .map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
185
- .join('\n')}
186
211
  `
187
212
  }
@@ -15,7 +15,7 @@ const __wasi = new __WASI({
15
15
  fs: __fs,
16
16
  preopens: {
17
17
  '/': '/',
18
- }
18
+ },
19
19
  })`
20
20
  : `
21
21
  const __wasi = new __WASI({
@@ -147,11 +147,11 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
147
147
  return 4
148
148
  }
149
149
  })(),
150
+ reuseWorker: true,
150
151
  wasi: __wasi,
151
152
  onCreateWorker() {
152
153
  const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
153
154
  env: process.env,
154
- execArgv: ['--experimental-wasi-unstable-preview1'],
155
155
  })
156
156
  worker.onmessage = ({ data }) => {
157
157
  __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
package/src/def/build.ts CHANGED
@@ -80,6 +80,15 @@ export abstract class BaseBuildCommand extends Command {
80
80
  'Whether to disable the default file header for generated type def file. Only works when `typedef` feature enabled.',
81
81
  })
82
82
 
83
+ dtsCache = Option.Boolean('--dts-cache', true, {
84
+ description: 'Whether to enable the dts cache, default to true',
85
+ })
86
+
87
+ esm?: boolean = Option.Boolean('--esm', {
88
+ description:
89
+ 'Whether to emit an ESM JS binding file instead of CJS format. Only works with `--platform` flag.',
90
+ })
91
+
83
92
  strip?: boolean = Option.Boolean('--strip,-s', {
84
93
  description: 'Whether strip the library to achieve the minimum file size',
85
94
  })
@@ -153,6 +162,8 @@ export abstract class BaseBuildCommand extends Command {
153
162
  dts: this.dts,
154
163
  dtsHeader: this.dtsHeader,
155
164
  noDtsHeader: this.noDtsHeader,
165
+ dtsCache: this.dtsCache,
166
+ esm: this.esm,
156
167
  strip: this.strip,
157
168
  release: this.release,
158
169
  verbose: this.verbose,
@@ -234,6 +245,16 @@ export interface BuildOptions {
234
245
  * Whether to disable the default file header for generated type def file. Only works when `typedef` feature enabled.
235
246
  */
236
247
  noDtsHeader?: boolean
248
+ /**
249
+ * Whether to enable the dts cache, default to true
250
+ *
251
+ * @default true
252
+ */
253
+ dtsCache?: boolean
254
+ /**
255
+ * Whether to emit an ESM JS binding file instead of CJS format. Only works with `--platform` flag.
256
+ */
257
+ esm?: boolean
237
258
  /**
238
259
  * Whether strip the library to achieve the minimum file size
239
260
  */
@@ -287,3 +308,10 @@ export interface BuildOptions {
287
308
  */
288
309
  noDefaultFeatures?: boolean
289
310
  }
311
+
312
+ export function applyDefaultBuildOptions(options: BuildOptions) {
313
+ return {
314
+ dtsCache: true,
315
+ ...options,
316
+ }
317
+ }