@napi-rs/cli 3.0.0-alpha.3 → 3.0.0-alpha.30

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.
Files changed (209) hide show
  1. package/dist/api/artifacts.js +23 -7
  2. package/dist/api/artifacts.js.map +1 -0
  3. package/dist/api/build.d.ts +1 -1
  4. package/dist/api/build.js +184 -32
  5. package/dist/api/build.js.map +1 -0
  6. package/dist/api/create-npm-dirs.js +43 -7
  7. package/dist/api/create-npm-dirs.js.map +1 -0
  8. package/dist/api/new.js +47 -20
  9. package/dist/api/new.js.map +1 -0
  10. package/dist/api/pre-publish.js +10 -7
  11. package/dist/api/pre-publish.js.map +1 -0
  12. package/dist/api/rename.js +10 -1
  13. package/dist/api/rename.js.map +1 -0
  14. package/dist/api/templates/.gitignore.d.ts +1 -1
  15. package/dist/api/templates/.gitignore.js +2 -0
  16. package/dist/api/templates/.gitignore.js.map +1 -0
  17. package/dist/api/templates/.npmignore.js +1 -0
  18. package/dist/api/templates/.npmignore.js.map +1 -0
  19. package/dist/api/templates/build.rs.js +1 -0
  20. package/dist/api/templates/build.rs.js.map +1 -0
  21. package/dist/api/templates/cargo.toml.js +1 -0
  22. package/dist/api/templates/cargo.toml.js.map +1 -0
  23. package/dist/api/templates/ci-template.d.ts +2 -1
  24. package/dist/api/templates/ci-template.js +156 -157
  25. package/dist/api/templates/ci-template.js.map +1 -0
  26. package/dist/api/templates/ci.yml.d.ts +2 -1
  27. package/dist/api/templates/ci.yml.js +19 -4
  28. package/dist/api/templates/ci.yml.js.map +1 -0
  29. package/dist/api/templates/index.js +1 -0
  30. package/dist/api/templates/index.js.map +1 -0
  31. package/dist/api/templates/js-binding.d.ts +1 -1
  32. package/dist/api/templates/js-binding.js +320 -107
  33. package/dist/api/templates/js-binding.js.map +1 -0
  34. package/dist/api/templates/lib.rs.js +2 -4
  35. package/dist/api/templates/lib.rs.js.map +1 -0
  36. package/dist/api/templates/load-wasi-template.d.ts +1 -0
  37. package/dist/api/templates/load-wasi-template.js +78 -0
  38. package/dist/api/templates/load-wasi-template.js.map +1 -0
  39. package/dist/api/templates/package.json.d.ts +9 -2
  40. package/dist/api/templates/package.json.js +55 -28
  41. package/dist/api/templates/package.json.js.map +1 -0
  42. package/dist/api/templates/wasi-worker-template.d.ts +1 -0
  43. package/dist/api/templates/wasi-worker-template.js +53 -0
  44. package/dist/api/templates/wasi-worker-template.js.map +1 -0
  45. package/dist/api/universalize.js +4 -3
  46. package/dist/api/universalize.js.map +1 -0
  47. package/dist/api/version.js +3 -2
  48. package/dist/api/version.js.map +1 -0
  49. package/dist/cli.js +1 -0
  50. package/dist/cli.js.map +1 -0
  51. package/dist/commands/artifacts.js +3 -2
  52. package/dist/commands/artifacts.js.map +1 -0
  53. package/dist/commands/build.js +2 -1
  54. package/dist/commands/build.js.map +1 -0
  55. package/dist/commands/create-npm-dirs.js +1 -0
  56. package/dist/commands/create-npm-dirs.js.map +1 -0
  57. package/dist/commands/help.js +1 -0
  58. package/dist/commands/help.js.map +1 -0
  59. package/dist/commands/new.js +15 -7
  60. package/dist/commands/new.js.map +1 -0
  61. package/dist/commands/pre-publish.js +1 -0
  62. package/dist/commands/pre-publish.js.map +1 -0
  63. package/dist/commands/rename.js +1 -0
  64. package/dist/commands/rename.js.map +1 -0
  65. package/dist/commands/universalize.js +1 -0
  66. package/dist/commands/universalize.js.map +1 -0
  67. package/dist/commands/version.js +1 -0
  68. package/dist/commands/version.js.map +1 -0
  69. package/dist/def/artifacts.d.ts +21 -1
  70. package/dist/def/artifacts.js +11 -2
  71. package/dist/def/artifacts.js.map +1 -0
  72. package/dist/def/build.d.ts +32 -2
  73. package/dist/def/build.js +23 -2
  74. package/dist/def/build.js.map +1 -0
  75. package/dist/def/create-npm-dirs.d.ts +10 -0
  76. package/dist/def/create-npm-dirs.js +5 -0
  77. package/dist/def/create-npm-dirs.js.map +1 -0
  78. package/dist/def/new.d.ts +24 -6
  79. package/dist/def/new.js +12 -1
  80. package/dist/def/new.js.map +1 -0
  81. package/dist/def/pre-publish.d.ts +10 -0
  82. package/dist/def/pre-publish.js +8 -3
  83. package/dist/def/pre-publish.js.map +1 -0
  84. package/dist/def/rename.d.ts +11 -1
  85. package/dist/def/rename.js +6 -1
  86. package/dist/def/rename.js.map +1 -0
  87. package/dist/def/universalize.d.ts +10 -0
  88. package/dist/def/universalize.js +5 -0
  89. package/dist/def/universalize.js.map +1 -0
  90. package/dist/def/version.d.ts +10 -0
  91. package/dist/def/version.js +5 -0
  92. package/dist/def/version.js.map +1 -0
  93. package/dist/index.cjs +6020 -8093
  94. package/dist/index.d.ts +1 -0
  95. package/dist/index.js +2 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/utils/__tests__/config.spec.d.ts +1 -0
  98. package/dist/utils/__tests__/config.spec.js +63 -0
  99. package/dist/utils/__tests__/config.spec.js.map +1 -0
  100. package/dist/utils/__tests__/target.spec.js +1 -0
  101. package/dist/utils/__tests__/target.spec.js.map +1 -0
  102. package/dist/utils/__tests__/typegen.spec.js +9 -4
  103. package/dist/utils/__tests__/typegen.spec.js.map +1 -0
  104. package/dist/utils/__tests__/version.spec.js +1 -0
  105. package/dist/utils/__tests__/version.spec.js.map +1 -0
  106. package/dist/utils/cargo.js +2 -1
  107. package/dist/utils/cargo.js.map +1 -0
  108. package/dist/utils/ci.js +10 -0
  109. package/dist/utils/ci.js.map +1 -0
  110. package/dist/utils/config.d.ts +24 -5
  111. package/dist/utils/config.js +39 -6
  112. package/dist/utils/config.js.map +1 -0
  113. package/dist/utils/index.js +1 -0
  114. package/dist/utils/index.js.map +1 -0
  115. package/dist/utils/log.js +1 -0
  116. package/dist/utils/log.js.map +1 -0
  117. package/dist/utils/metadata.js +3 -2
  118. package/dist/utils/metadata.js.map +1 -0
  119. package/dist/utils/misc.d.ts +1 -1
  120. package/dist/utils/misc.js +4 -3
  121. package/dist/utils/misc.js.map +1 -0
  122. package/dist/utils/target.d.ts +9 -5
  123. package/dist/utils/target.js +20 -1
  124. package/dist/utils/target.js.map +1 -0
  125. package/dist/utils/typegen.d.ts +4 -1
  126. package/dist/utils/typegen.js +27 -6
  127. package/dist/utils/typegen.js.map +1 -0
  128. package/dist/utils/version.d.ts +2 -1
  129. package/dist/utils/version.js +13 -10
  130. package/dist/utils/version.js.map +1 -0
  131. package/package.json +50 -15
  132. package/src/api/artifacts.ts +53 -9
  133. package/src/api/build.ts +289 -39
  134. package/src/api/create-npm-dirs.ts +51 -7
  135. package/src/api/new.ts +69 -33
  136. package/src/api/pre-publish.ts +21 -12
  137. package/src/api/rename.ts +10 -1
  138. package/src/api/templates/.gitignore.ts +1 -0
  139. package/src/api/templates/ci-template.ts +157 -157
  140. package/src/api/templates/ci.yml.ts +19 -4
  141. package/src/api/templates/js-binding.ts +312 -102
  142. package/src/api/templates/lib.rs.ts +1 -4
  143. package/src/api/templates/load-wasi-template.ts +81 -0
  144. package/src/api/templates/package.json.ts +78 -27
  145. package/src/api/templates/wasi-worker-template.ts +52 -0
  146. package/src/api/universalize.ts +6 -3
  147. package/src/api/version.ts +5 -2
  148. package/src/commands/artifacts.ts +2 -2
  149. package/src/commands/build.ts +1 -1
  150. package/src/commands/new.ts +14 -8
  151. package/src/def/artifacts.ts +22 -3
  152. package/src/def/build.ts +51 -4
  153. package/src/def/create-npm-dirs.ts +9 -0
  154. package/src/def/new.ts +28 -3
  155. package/src/def/pre-publish.ts +12 -3
  156. package/src/def/rename.ts +11 -2
  157. package/src/def/universalize.ts +9 -0
  158. package/src/def/version.ts +9 -0
  159. package/src/index.ts +2 -0
  160. package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
  161. package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
  162. package/src/utils/__tests__/__snapshots__/target.spec.ts.md +14 -0
  163. package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
  164. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +555 -0
  165. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
  166. package/src/utils/__tests__/__snapshots__/version.spec.ts.md +9 -8
  167. package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
  168. package/src/utils/__tests__/config.spec.ts +81 -0
  169. package/src/utils/__tests__/typegen.spec.ts +19 -4
  170. package/src/utils/cargo.ts +1 -1
  171. package/src/utils/ci.ts +9 -0
  172. package/src/utils/config.ts +84 -9
  173. package/src/utils/metadata.ts +2 -2
  174. package/src/utils/misc.ts +11 -3
  175. package/src/utils/target.ts +28 -7
  176. package/src/utils/typegen.ts +30 -5
  177. package/src/utils/version.ts +11 -9
  178. package/dist/def/commands/artifacts.d.ts +0 -15
  179. package/dist/def/commands/artifacts.js +0 -29
  180. package/dist/def/commands/build.d.ts +0 -53
  181. package/dist/def/commands/build.js +0 -105
  182. package/dist/def/commands/create-npm-dirs.d.ts +0 -15
  183. package/dist/def/commands/create-npm-dirs.js +0 -29
  184. package/dist/def/commands/new.d.ts +0 -27
  185. package/dist/def/commands/new.js +0 -53
  186. package/dist/def/commands/pre-publish.d.ts +0 -23
  187. package/dist/def/commands/pre-publish.js +0 -45
  188. package/dist/def/commands/rename.d.ts +0 -25
  189. package/dist/def/commands/rename.js +0 -49
  190. package/dist/def/commands/universalize.d.ts +0 -13
  191. package/dist/def/commands/universalize.js +0 -25
  192. package/dist/def/commands/version.d.ts +0 -13
  193. package/dist/def/commands/version.js +0 -25
  194. package/dist/def/options/artifacts.d.ts +0 -35
  195. package/dist/def/options/artifacts.js +0 -11
  196. package/dist/def/options/build.d.ts +0 -97
  197. package/dist/def/options/build.js +0 -3
  198. package/dist/def/options/create-npm-dirs.d.ts +0 -35
  199. package/dist/def/options/create-npm-dirs.js +0 -11
  200. package/dist/def/options/new.d.ts +0 -79
  201. package/dist/def/options/new.js +0 -15
  202. package/dist/def/options/pre-publish.d.ts +0 -65
  203. package/dist/def/options/pre-publish.js +0 -13
  204. package/dist/def/options/rename.d.ts +0 -75
  205. package/dist/def/options/rename.js +0 -11
  206. package/dist/def/options/universalize.d.ts +0 -28
  207. package/dist/def/options/universalize.js +0 -10
  208. package/dist/def/options/version.d.ts +0 -28
  209. package/dist/def/options/version.js +0 -10
@@ -1,29 +1,56 @@
1
- export const createPackageJson = ({ name, binaryName, targets, license, engineRequirement, cliVersion, }) => {
2
- return `{
3
- "name": "${name}",
4
- "version": "1.0.0",
5
- "main": "index.js",
6
- "types": "index.d.ts",
7
- "license": "${license}",
8
- "engines": {
9
- "node": "${engineRequirement}"
10
- },
11
- "napi": {
12
- "binaryName": "${binaryName}",
13
- "targets": [
14
- ${targets.map((t) => `"${t}"`).join(',\n ')}
15
- ]
16
- },
17
- "scripts": {
18
- "test": "node -e \\"assert(require('.').sum(1, 2) === 3)\\"",
19
- "build": "napi build --release --platform --strip",
20
- "build:debug": "napi build",
21
- "prepublishOnly": "napi prepublish -t npm",
22
- "artifacts": "napi artifacts",
23
- "version": "napi version"
24
- },
25
- "devDependencies": {
26
- "@napi-rs/cli": "^${cliVersion}"
27
- }
28
- }`;
1
+ import { UNIVERSAL_TARGETS } from '../../utils/target.js';
2
+ export const createPackageJson = async ({ name, binaryName, targets, license, engineRequirement, cliVersion, testFramework, }) => {
3
+ const hasWasmTarget = targets.some((t) => t.includes('wasm'));
4
+ const universalTargets = targets.filter((t) => t in UNIVERSAL_TARGETS);
5
+ const unifiedtargets = universalTargets.length
6
+ ? targets.filter((target) => !universalTargets.some((t) => {
7
+ // @ts-expect-error
8
+ return UNIVERSAL_TARGETS[t].includes(target);
9
+ }))
10
+ : targets;
11
+ const content = {
12
+ name,
13
+ version: '0.0.0',
14
+ license,
15
+ engines: {
16
+ node: engineRequirement,
17
+ },
18
+ type: 'commonjs',
19
+ main: 'index.js',
20
+ types: 'index.d.ts',
21
+ module: undefined,
22
+ exports: undefined,
23
+ napi: {
24
+ binaryName,
25
+ targets: unifiedtargets,
26
+ },
27
+ scripts: {
28
+ test: testFramework,
29
+ build: 'napi build --release --platform --strip',
30
+ 'build:debug': 'napi build',
31
+ prepublishOnly: 'napi prepublish -t npm',
32
+ artifacts: 'napi artifacts',
33
+ version: 'napi version',
34
+ },
35
+ devDependencies: {
36
+ '@napi-rs/cli': `^${cliVersion}`,
37
+ },
38
+ };
39
+ if (testFramework === 'ava') {
40
+ const avaMeta = await fetch(`https://registry.npmjs.org/ava`).then((res) => res.json());
41
+ content.devDependencies['ava'] = `^${avaMeta['dist-tags'].latest}`;
42
+ content.ava = {
43
+ timeout: '1m',
44
+ };
45
+ }
46
+ if (hasWasmTarget) {
47
+ const emnapiCoreMeta = await fetch(`https://registry.npmjs.org/@emnapi/core`).then((res) => res.json());
48
+ const latest = emnapiCoreMeta['dist-tags'].latest;
49
+ content.devDependencies['@emnapi/core'] = `^${latest}`;
50
+ const emnapiRuntimeMeta = await fetch(`https://registry.npmjs.org/@emnapi/runtime`).then((res) => res.json());
51
+ const runtimeLatest = emnapiRuntimeMeta['dist-tags'].latest;
52
+ content.devDependencies['@emnapi/runtime'] = `^${runtimeLatest}`;
53
+ }
54
+ return JSON.stringify(content, null, 2);
29
55
  };
56
+ //# sourceMappingURL=package.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../src/api/templates/package.json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const WASI_WORKER_TEMPLATE = "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { parentPort, Worker } from \"node:worker_threads\";\n\nimport { instantiateNapiModuleSync, MessageHandler } from \"@emnapi/core\";\nimport { WASI } from \"@tybys/wasm-util\";\n\nconst require = createRequire(import.meta.url);\n\nif (parentPort) {\n parentPort.on(\"message\", (data) => {\n globalThis.onmessage({ data });\n });\n}\n\nObject.assign(globalThis, {\n self: globalThis,\n require,\n Worker,\n importScripts: function (f) {\n ;(0, eval)(fs.readFileSync(f, \"utf8\") + \"//# sourceURL=\" + f);\n },\n postMessage: function (msg) {\n if (parentPort) {\n parentPort.postMessage(msg);\n }\n },\n});\n\nconst handler = new MessageHandler({\n onLoad({ wasmModule, wasmMemory }) {\n const wasi = new WASI({ fs });\n\n return instantiateNapiModuleSync(wasmModule, {\n childThread: true,\n wasi,\n overwriteImports(importObject) {\n importObject.env = {\n ...importObject.env,\n ...importObject.napi,\n ...importObject.emnapi,\n memory: wasmMemory\n };\n },\n });\n },\n});\n\nglobalThis.onmessage = function (e) {\n handler.handle(e);\n};\n";
@@ -0,0 +1,53 @@
1
+ export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { parentPort, Worker } from "node:worker_threads";
4
+
5
+ import { instantiateNapiModuleSync, MessageHandler } from "@emnapi/core";
6
+ import { WASI } from "@tybys/wasm-util";
7
+
8
+ const require = createRequire(import.meta.url);
9
+
10
+ if (parentPort) {
11
+ parentPort.on("message", (data) => {
12
+ globalThis.onmessage({ data });
13
+ });
14
+ }
15
+
16
+ Object.assign(globalThis, {
17
+ self: globalThis,
18
+ require,
19
+ Worker,
20
+ importScripts: function (f) {
21
+ ;(0, eval)(fs.readFileSync(f, "utf8") + "//# sourceURL=" + f);
22
+ },
23
+ postMessage: function (msg) {
24
+ if (parentPort) {
25
+ parentPort.postMessage(msg);
26
+ }
27
+ },
28
+ });
29
+
30
+ const handler = new MessageHandler({
31
+ onLoad({ wasmModule, wasmMemory }) {
32
+ const wasi = new WASI({ fs });
33
+
34
+ return instantiateNapiModuleSync(wasmModule, {
35
+ childThread: true,
36
+ wasi,
37
+ overwriteImports(importObject) {
38
+ importObject.env = {
39
+ ...importObject.env,
40
+ ...importObject.napi,
41
+ ...importObject.emnapi,
42
+ memory: wasmMemory
43
+ };
44
+ },
45
+ });
46
+ },
47
+ });
48
+
49
+ globalThis.onmessage = function (e) {
50
+ handler.handle(e);
51
+ };
52
+ `;
53
+ //# sourceMappingURL=wasi-worker-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi-worker-template.js","sourceRoot":"","sources":["../../../src/api/templates/wasi-worker-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDnC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { spawnSync } from 'child_process';
2
- import { join, resolve } from 'path';
1
+ import { spawnSync } from 'node:child_process';
2
+ import { join, resolve } from 'node:path';
3
3
  import { applyDefaultUniversalizeOptions, } from '../def/universalize.js';
4
4
  import { readNapiConfig } from '../utils/config.js';
5
5
  import { debugFactory } from '../utils/log.js';
@@ -16,7 +16,7 @@ const universalizers = {
16
16
  export async function universalizeBinaries(userOptions) {
17
17
  const options = applyDefaultUniversalizeOptions(userOptions);
18
18
  const packageJsonPath = join(options.cwd, options.packageJsonPath);
19
- const config = await readNapiConfig(packageJsonPath);
19
+ const config = await readNapiConfig(packageJsonPath, options.configPath ? resolve(options.cwd, options.configPath) : undefined);
20
20
  const target = config.targets.find((t) => t.platform === process.platform && t.arch === 'universal');
21
21
  if (!target) {
22
22
  throw new Error(`'universal' arch for platform '${process.platform}' not found in config!`);
@@ -36,3 +36,4 @@ export async function universalizeBinaries(userOptions) {
36
36
  universalizers[process.platform]?.(srcFiles, output);
37
37
  debug(`Produced universal binary: ${output}`);
38
38
  }
39
+ //# sourceMappingURL=universalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universalize.js","sourceRoot":"","sources":["../../src/api/universalize.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { join, resolve } from 'path';
1
+ import { join, resolve } from 'node:path';
2
2
  import { applyDefaultVersionOptions } from '../def/version.js';
3
3
  import { readNapiConfig, debugFactory, updatePackageJson, } from '../utils/index.js';
4
4
  const debug = debugFactory('version');
5
5
  export async function version(userOptions) {
6
6
  const options = applyDefaultVersionOptions(userOptions);
7
7
  const packageJsonPath = resolve(options.cwd, options.packageJsonPath);
8
- const config = await readNapiConfig(packageJsonPath);
8
+ const config = await readNapiConfig(packageJsonPath, options.configPath ? resolve(options.cwd, options.configPath) : undefined);
9
9
  for (const target of config.targets) {
10
10
  const pkgDir = resolve(options.cwd, options.npmDir, target.platformArchABI);
11
11
  debug(`Update version to %i in [%i]`, config.packageJson.version, pkgDir);
@@ -14,3 +14,4 @@ export async function version(userOptions) {
14
14
  });
15
15
  }
16
16
  }
17
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/api/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,0BAA0B,EAAkB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;AAErC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,WAA2B;IACvD,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAA;IACvD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAErE,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,eAAe,EACf,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAA;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;QAE3E,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzE,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;YACpD,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO;SACpC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
package/dist/cli.js CHANGED
@@ -24,3 +24,4 @@ cli.register(PrePublishCommand);
24
24
  cli.register(VersionCommand);
25
25
  cli.register(HelpCommand);
26
26
  void cli.runExit(process.argv.slice(2));
27
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,WAAW;CAC3B,CAAC,CAAA;AAEF,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACxB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC1B,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAClC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAC9B,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AACjC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC3B,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AAC/B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AAC5B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAEzB,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -6,9 +6,9 @@ export class ArtifactsCommand extends BaseArtifactsCommand {
6
6
  description: 'Copy artifacts from Github Actions into specified dir',
7
7
  examples: [
8
8
  [
9
- '$0 artifacts --dir . --dist ./npm',
9
+ '$0 artifacts --output-dir ./artifacts --dist ./npm',
10
10
  `Copy [binaryName].[platform].node under current dir(.) into packages under npm dir.
11
- e.g: index.linux-x64-gnu.node --> ./npm/linux-x64-gnu/index.node`,
11
+ e.g: index.linux-x64-gnu.node --> ./npm/linux-x64-gnu/index.linux-x64-gnu.node`,
12
12
  ],
13
13
  ],
14
14
  });
@@ -17,3 +17,4 @@ e.g: index.linux-x64-gnu.node --> ./npm/linux-x64-gnu/index.node`,
17
17
  await collectArtifacts(this.getOptions());
18
18
  }
19
19
  }
20
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/commands/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,MAAM,OAAO,gBAAiB,SAAQ,oBAAoB;IACxD,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE;YACR;gBACE,oDAAoD;gBACpD;+EACuE;aACxE;SACF;KACF,CAAC,CAAA;IAEF,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAE9B,KAAK,CAAC,OAAO;QACX,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { execSync } from 'child_process';
1
+ import { execSync } from 'node:child_process';
2
2
  import { Option } from 'clipanion';
3
3
  import { buildProject } from '../api/build.js';
4
4
  import { BaseBuildCommand } from '../def/build.js';
@@ -32,3 +32,4 @@ export class BuildCommand extends BaseBuildCommand {
32
32
  }
33
33
  }
34
34
  }
35
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AAEnC,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAChD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC7B,WAAW,EACT,yFAAyF;KAC5F,CAAC,CAAA;IAEF,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAE5B,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;YAClC,GAAG,IAAI,CAAC,UAAU,EAAE;YACpB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAA;QAE1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,KAAK,CAAC,mCAAmC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,IAAI,CAAC;oBACH,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE;wBACtC,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;oBACnE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -5,3 +5,4 @@ export class CreateNpmDirsCommand extends BaseCreateNpmDirsCommand {
5
5
  await createNpmDirs(this.getOptions());
6
6
  }
7
7
  }
8
+ //# sourceMappingURL=create-npm-dirs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-npm-dirs.js","sourceRoot":"","sources":["../../src/commands/create-npm-dirs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IAChE,KAAK,CAAC,OAAO;QACX,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -10,3 +10,4 @@ export class HelpCommand extends Command {
10
10
  await this.context.stdout.write(this.cli.usage());
11
11
  }
12
12
  }
13
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAY;IAC3C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnC,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IACnD,CAAC"}
@@ -1,4 +1,4 @@
1
- import path from 'path';
1
+ import path from 'node:path';
2
2
  import { Option } from 'clipanion';
3
3
  import inquirer from 'inquirer';
4
4
  import { newProject } from '../api/new.js';
@@ -7,7 +7,7 @@ import { AVAILABLE_TARGETS, debugFactory, DEFAULT_TARGETS, } from '../utils/inde
7
7
  import { napiEngineRequirement } from '../utils/version.js';
8
8
  const debug = debugFactory('new');
9
9
  export class NewCommand extends BaseNewCommand {
10
- interactive = Option.Boolean('--interactive,-i', false, {
10
+ interactive = Option.Boolean('--interactive,-i', true, {
11
11
  description: 'Ask project basic information interactively without just using the default.',
12
12
  });
13
13
  async execute() {
@@ -25,9 +25,19 @@ export class NewCommand extends BaseNewCommand {
25
25
  async fetchOptions() {
26
26
  const cmdOptions = super.getOptions();
27
27
  if (this.interactive) {
28
+ const targetPath = cmdOptions.path
29
+ ? cmdOptions.path
30
+ : await inquirer
31
+ .prompt({
32
+ type: 'input',
33
+ name: 'path',
34
+ message: 'Target path to create the project, relative to cwd',
35
+ })
36
+ .then(({ path }) => path);
37
+ cmdOptions.path = targetPath;
28
38
  return {
29
39
  ...cmdOptions,
30
- name: await this.fetchName(path.parse(cmdOptions.path).base),
40
+ name: await this.fetchName(path.parse(targetPath).base),
31
41
  minNodeApiVersion: await this.fetchNapiVersion(),
32
42
  targets: await this.fetchTargets(),
33
43
  license: await this.fetchLicense(),
@@ -75,9 +85,6 @@ export class NewCommand extends BaseNewCommand {
75
85
  .then(({ minNodeApiVersion }) => minNodeApiVersion);
76
86
  }
77
87
  async fetchTargets() {
78
- if (this.enableDefaultTargets) {
79
- return DEFAULT_TARGETS.concat();
80
- }
81
88
  if (this.enableAllTargets) {
82
89
  return AVAILABLE_TARGETS.concat();
83
90
  }
@@ -86,7 +93,7 @@ export class NewCommand extends BaseNewCommand {
86
93
  type: 'checkbox',
87
94
  loop: false,
88
95
  message: 'Choose target(s) your crate will be compiled to',
89
- default: DEFAULT_TARGETS,
96
+ default: this.enableDefaultTargets ? DEFAULT_TARGETS : [],
90
97
  choices: AVAILABLE_TARGETS,
91
98
  });
92
99
  return targets;
@@ -110,3 +117,4 @@ export class NewCommand extends BaseNewCommand {
110
117
  return enableGithubActions;
111
118
  }
112
119
  }
120
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,4 @@ export class PrePublishCommand extends BasePrePublishCommand {
6
6
  await prePublish(this.getOptions());
7
7
  }
8
8
  }
9
+ //# sourceMappingURL=pre-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-publish.js","sourceRoot":"","sources":["../../src/commands/pre-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D,KAAK,CAAC,OAAO;QACX,mDAAmD;QACnD,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACrC,CAAC;CACF"}
@@ -5,3 +5,4 @@ export class RenameCommand extends BaseRenameCommand {
5
5
  await renameProject(this.getOptions());
6
6
  }
7
7
  }
8
+ //# sourceMappingURL=rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAClD,KAAK,CAAC,OAAO;QACX,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -5,3 +5,4 @@ export class UniversalizeCommand extends BaseUniversalizeCommand {
5
5
  await universalizeBinaries(this.getOptions());
6
6
  }
7
7
  }
8
+ //# sourceMappingURL=universalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universalize.js","sourceRoot":"","sources":["../../src/commands/universalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,MAAM,OAAO,mBAAoB,SAAQ,uBAAuB;IAC9D,KAAK,CAAC,OAAO;QACX,MAAM,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC/C,CAAC;CACF"}
@@ -5,3 +5,4 @@ export class VersionCommand extends BaseVersionCommand {
5
5
  await version(this.getOptions());
6
6
  }
7
7
  }
8
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IACpD,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAClC,CAAC;CACF"}
@@ -3,14 +3,18 @@ export declare abstract class BaseArtifactsCommand extends Command {
3
3
  static paths: string[][];
4
4
  static usage: import("clipanion").Usage;
5
5
  cwd: string;
6
+ configPath?: string;
6
7
  packageJsonPath: string;
7
8
  outputDir: string;
8
9
  npmDir: string;
10
+ buildOutputDir?: string;
9
11
  getOptions(): {
10
12
  cwd: string;
13
+ configPath: string | undefined;
11
14
  packageJsonPath: string;
12
15
  outputDir: string;
13
16
  npmDir: string;
17
+ buildOutputDir: string | undefined;
14
18
  };
15
19
  }
16
20
  /**
@@ -23,6 +27,10 @@ export interface ArtifactsOptions {
23
27
  * @default process.cwd()
24
28
  */
25
29
  cwd?: string;
30
+ /**
31
+ * Path to `napi` config json file
32
+ */
33
+ configPath?: string;
26
34
  /**
27
35
  * Path to `package.json`
28
36
  *
@@ -32,7 +40,7 @@ export interface ArtifactsOptions {
32
40
  /**
33
41
  * Path to the folder where all built `.node` files put, same as `--output-dir` of build command
34
42
  *
35
- * @default './'
43
+ * @default './artifacts'
36
44
  */
37
45
  outputDir?: string;
38
46
  /**
@@ -41,10 +49,22 @@ export interface ArtifactsOptions {
41
49
  * @default 'npm'
42
50
  */
43
51
  npmDir?: string;
52
+ /**
53
+ * Path to the build output dir, only needed when targets contains `wasm32-wasi-*`
54
+ */
55
+ buildOutputDir?: string;
44
56
  }
45
57
  export declare function applyDefaultArtifactsOptions(options: ArtifactsOptions): {
46
58
  cwd: string;
59
+ /**
60
+ * Path to `napi` config json file
61
+ */
62
+ configPath?: string | undefined;
47
63
  packageJsonPath: string;
48
64
  outputDir: string;
49
65
  npmDir: string;
66
+ /**
67
+ * Path to the build output dir, only needed when targets contains `wasm32-wasi-*`
68
+ */
69
+ buildOutputDir?: string | undefined;
50
70
  };
@@ -9,21 +9,29 @@ export class BaseArtifactsCommand extends Command {
9
9
  cwd = Option.String('--cwd', process.cwd(), {
10
10
  description: 'The working directory of where napi command will be executed in, all other paths options are relative to this path',
11
11
  });
12
+ configPath = Option.String('--config-path,-c', {
13
+ description: 'Path to `napi` config json file',
14
+ });
12
15
  packageJsonPath = Option.String('--package-json-path', 'package.json', {
13
16
  description: 'Path to `package.json`',
14
17
  });
15
- outputDir = Option.String('--output-dir,-o', './', {
18
+ outputDir = Option.String('--output-dir,-o,-d', './artifacts', {
16
19
  description: 'Path to the folder where all built `.node` files put, same as `--output-dir` of build command',
17
20
  });
18
21
  npmDir = Option.String('--npm-dir', 'npm', {
19
22
  description: 'Path to the folder where the npm packages put',
20
23
  });
24
+ buildOutputDir = Option.String('--build-output-dir', {
25
+ description: 'Path to the build output dir, only needed when targets contains `wasm32-wasi-*`',
26
+ });
21
27
  getOptions() {
22
28
  return {
23
29
  cwd: this.cwd,
30
+ configPath: this.configPath,
24
31
  packageJsonPath: this.packageJsonPath,
25
32
  outputDir: this.outputDir,
26
33
  npmDir: this.npmDir,
34
+ buildOutputDir: this.buildOutputDir,
27
35
  };
28
36
  }
29
37
  }
@@ -31,8 +39,9 @@ export function applyDefaultArtifactsOptions(options) {
31
39
  return {
32
40
  cwd: process.cwd(),
33
41
  packageJsonPath: 'package.json',
34
- outputDir: './',
42
+ outputDir: './artifacts',
35
43
  npmDir: 'npm',
36
44
  ...options,
37
45
  };
38
46
  }
47
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/def/artifacts.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,iCAAiC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,OAAgB,oBAAqB,SAAQ,OAAO;IACxD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAE9B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,WAAW,EACT,2EAA2E;KAC9E,CAAC,CAAA;IAEF,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;QAC1C,WAAW,EACT,oHAAoH;KACvH,CAAC,CAAA;IAEF,UAAU,GAAY,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACtD,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CAAA;IAEF,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE;QACrE,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAA;IAEF,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,EAAE;QAC7D,WAAW,EACT,+FAA+F;KAClG,CAAC,CAAA;IAEF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE;QACzC,WAAW,EAAE,+CAA+C;KAC7D,CAAC,CAAA;IAEF,cAAc,GAAY,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE;QAC5D,WAAW,EACT,iFAAiF;KACpF,CAAC,CAAA;IAEF,UAAU;QACR,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAA;IACH,CAAC;;AAyCH,MAAM,UAAU,4BAA4B,CAAC,OAAyB;IACpE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,eAAe,EAAE,cAAc;QAC/B,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,KAAK;QACb,GAAG,OAAO;KACX,CAAA;AACH,CAAC"}
@@ -5,11 +5,13 @@ export declare abstract class BaseBuildCommand extends Command {
5
5
  target?: string;
6
6
  cwd?: string;
7
7
  manifestPath?: string;
8
+ configPath?: string;
8
9
  packageJsonPath?: string;
9
10
  targetDir?: string;
10
11
  outputDir?: string;
11
12
  platform?: boolean;
12
13
  jsPackageName?: string;
14
+ constEnum?: boolean;
13
15
  jsBinding?: string;
14
16
  noJsBinding?: boolean;
15
17
  dts?: string;
@@ -20,7 +22,10 @@ export declare abstract class BaseBuildCommand extends Command {
20
22
  verbose?: boolean;
21
23
  bin?: string;
22
24
  package?: string;
25
+ profile?: string;
23
26
  crossCompile?: boolean;
27
+ useCross?: boolean;
28
+ useNapiCross?: boolean;
24
29
  watch?: boolean;
25
30
  features?: string[];
26
31
  allFeatures?: boolean;
@@ -29,11 +34,13 @@ export declare abstract class BaseBuildCommand extends Command {
29
34
  target: string | undefined;
30
35
  cwd: string | undefined;
31
36
  manifestPath: string | undefined;
37
+ configPath: string | undefined;
32
38
  packageJsonPath: string | undefined;
33
39
  targetDir: string | undefined;
34
40
  outputDir: string | undefined;
35
41
  platform: boolean | undefined;
36
42
  jsPackageName: string | undefined;
43
+ constEnum: boolean | undefined;
37
44
  jsBinding: string | undefined;
38
45
  noJsBinding: boolean | undefined;
39
46
  dts: string | undefined;
@@ -44,7 +51,10 @@ export declare abstract class BaseBuildCommand extends Command {
44
51
  verbose: boolean | undefined;
45
52
  bin: string | undefined;
46
53
  package: string | undefined;
54
+ profile: string | undefined;
47
55
  crossCompile: boolean | undefined;
56
+ useCross: boolean | undefined;
57
+ useNapiCross: boolean | undefined;
48
58
  watch: boolean | undefined;
49
59
  features: string[] | undefined;
50
60
  allFeatures: boolean | undefined;
@@ -52,7 +62,7 @@ export declare abstract class BaseBuildCommand extends Command {
52
62
  };
53
63
  }
54
64
  /**
55
- * Build the napi-rs project
65
+ * Build the NAPI-RS project
56
66
  */
57
67
  export interface BuildOptions {
58
68
  /**
@@ -67,6 +77,10 @@ export interface BuildOptions {
67
77
  * Path to `Cargo.toml`
68
78
  */
69
79
  manifestPath?: string;
80
+ /**
81
+ * Path to `napi` config json file
82
+ */
83
+ configPath?: string;
70
84
  /**
71
85
  * Path to `package.json`
72
86
  */
@@ -87,6 +101,10 @@ export interface BuildOptions {
87
101
  * Package name in generated js binding file. Only works with `--platform` flag
88
102
  */
89
103
  jsPackageName?: string;
104
+ /**
105
+ * Whether generate const enum for typescript bindings
106
+ */
107
+ constEnum?: boolean;
90
108
  /**
91
109
  * Path and filename of generated JS binding file. Only works with `--platform` flag. Relative to `--output_dir`.
92
110
  */
@@ -127,12 +145,24 @@ export interface BuildOptions {
127
145
  * Build the specified library or the one at cwd
128
146
  */
129
147
  package?: string;
148
+ /**
149
+ * Build artifacts with the specified profile
150
+ */
151
+ profile?: string;
130
152
  /**
131
153
  * [experimental] cross-compile for the specified target with `cargo-xwin` on windows and `cargo-zigbuild` on other platform
132
154
  */
133
155
  crossCompile?: boolean;
134
156
  /**
135
- * watch the crate changes and build continiously with `cargo-watch` crates
157
+ * [experimental] use [cross](https://github.com/cross-rs/cross) instead of `cargo`
158
+ */
159
+ useCross?: boolean;
160
+ /**
161
+ * [experimental] use @napi-rs/cross-toolchain to cross-compile Linux arm/arm64/x64 gnu targets.
162
+ */
163
+ useNapiCross?: boolean;
164
+ /**
165
+ * watch the crate changes and build continuously with `cargo-watch` crates
136
166
  */
137
167
  watch?: boolean;
138
168
  /**