@napi-rs/cli 3.0.0-alpha.44 → 3.0.0-alpha.46
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/dist/api/new.js +11 -0
- package/dist/api/new.js.map +1 -1
- package/dist/api/templates/ci-template.d.ts +2 -1
- package/dist/api/templates/ci-template.js +22 -5
- package/dist/api/templates/ci-template.js.map +1 -1
- package/dist/api/templates/ci.yml.d.ts +2 -1
- package/dist/api/templates/ci.yml.js +5 -3
- package/dist/api/templates/ci.yml.js.map +1 -1
- package/dist/api/templates/js-binding.js +7 -1
- package/dist/api/templates/js-binding.js.map +1 -1
- package/dist/api/templates/wasi-worker-template.d.ts +1 -1
- package/dist/api/templates/wasi-worker-template.js +13 -3
- package/dist/api/templates/wasi-worker-template.js.map +1 -1
- package/dist/commands/new.js +3 -3
- package/dist/commands/new.js.map +1 -1
- package/dist/index.cjs +76 -27
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/target.d.ts +1 -1
- package/dist/utils/target.js +9 -1
- package/dist/utils/target.js.map +1 -1
- package/package.json +5 -4
- package/src/api/new.ts +15 -0
- package/src/api/templates/ci-template.ts +30 -5
- package/src/api/templates/ci.yml.ts +7 -3
- package/src/api/templates/js-binding.ts +7 -1
- package/src/api/templates/wasi-worker-template.ts +13 -3
- package/src/commands/new.ts +3 -3
- package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.md +21 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/index.ts +0 -1
- package/src/utils/target.ts +11 -1
- package/dist/utils/ci.d.ts +0 -11
- package/dist/utils/ci.js +0 -96
- package/dist/utils/ci.js.map +0 -1
- package/src/utils/ci.ts +0 -111
package/dist/index.cjs
CHANGED
|
@@ -6453,7 +6453,7 @@ var require_dist_node2 = __commonJS({
|
|
|
6453
6453
|
});
|
|
6454
6454
|
module2.exports = __toCommonJS2(dist_src_exports);
|
|
6455
6455
|
var import_universal_user_agent = require_dist_node();
|
|
6456
|
-
var VERSION = "9.0.
|
|
6456
|
+
var VERSION = "9.0.5";
|
|
6457
6457
|
var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
|
|
6458
6458
|
var DEFAULTS = {
|
|
6459
6459
|
method: "GET",
|
|
@@ -6986,7 +6986,7 @@ var require_dist_node5 = __commonJS({
|
|
|
6986
6986
|
module2.exports = __toCommonJS2(dist_src_exports);
|
|
6987
6987
|
var import_endpoint = require_dist_node2();
|
|
6988
6988
|
var import_universal_user_agent = require_dist_node();
|
|
6989
|
-
var VERSION = "8.
|
|
6989
|
+
var VERSION = "8.3.1";
|
|
6990
6990
|
function isPlainObject2(value) {
|
|
6991
6991
|
if (typeof value !== "object" || value === null)
|
|
6992
6992
|
return false;
|
|
@@ -7197,7 +7197,7 @@ var require_dist_node6 = __commonJS({
|
|
|
7197
7197
|
module2.exports = __toCommonJS2(dist_src_exports);
|
|
7198
7198
|
var import_request3 = require_dist_node5();
|
|
7199
7199
|
var import_universal_user_agent = require_dist_node();
|
|
7200
|
-
var VERSION = "7.0
|
|
7200
|
+
var VERSION = "7.1.0";
|
|
7201
7201
|
var import_request2 = require_dist_node5();
|
|
7202
7202
|
var import_request = require_dist_node5();
|
|
7203
7203
|
function _buildMessageForResponseErrors(data) {
|
|
@@ -7407,7 +7407,7 @@ var require_dist_node8 = __commonJS({
|
|
|
7407
7407
|
var import_request = require_dist_node5();
|
|
7408
7408
|
var import_graphql = require_dist_node6();
|
|
7409
7409
|
var import_auth_token = require_dist_node7();
|
|
7410
|
-
var VERSION = "5.
|
|
7410
|
+
var VERSION = "5.2.0";
|
|
7411
7411
|
var noop = () => {
|
|
7412
7412
|
};
|
|
7413
7413
|
var consoleWarn = console.warn.bind(console);
|
|
@@ -7991,7 +7991,7 @@ var require_dist_node11 = __commonJS({
|
|
|
7991
7991
|
restEndpointMethods: () => restEndpointMethods
|
|
7992
7992
|
});
|
|
7993
7993
|
module2.exports = __toCommonJS2(dist_src_exports);
|
|
7994
|
-
var VERSION = "10.4.
|
|
7994
|
+
var VERSION = "10.4.1";
|
|
7995
7995
|
var Endpoints = {
|
|
7996
7996
|
actions: {
|
|
7997
7997
|
addCustomLabelsToSelfHostedRunnerForOrg: [
|
|
@@ -10150,7 +10150,7 @@ var require_dist_node12 = __commonJS({
|
|
|
10150
10150
|
var import_plugin_request_log = require_dist_node9();
|
|
10151
10151
|
var import_plugin_paginate_rest = require_dist_node10();
|
|
10152
10152
|
var import_plugin_rest_endpoint_methods = require_dist_node11();
|
|
10153
|
-
var VERSION = "20.0
|
|
10153
|
+
var VERSION = "20.1.0";
|
|
10154
10154
|
var Octokit2 = import_core.Octokit.plugin(
|
|
10155
10155
|
import_plugin_request_log.requestLog,
|
|
10156
10156
|
import_plugin_rest_endpoint_methods.legacyRestEndpointMethods,
|
|
@@ -10399,9 +10399,12 @@ var AVAILABLE_TARGETS = [
|
|
|
10399
10399
|
"x86_64-unknown-freebsd",
|
|
10400
10400
|
"i686-pc-windows-msvc",
|
|
10401
10401
|
"armv7-unknown-linux-gnueabihf",
|
|
10402
|
+
"armv7-unknown-linux-musleabihf",
|
|
10402
10403
|
"armv7-linux-androideabi",
|
|
10403
10404
|
"universal-apple-darwin",
|
|
10404
10405
|
"riscv64gc-unknown-linux-gnu",
|
|
10406
|
+
"powerpc64le-unknown-linux-gnu",
|
|
10407
|
+
"s390x-unknown-linux-gnu",
|
|
10405
10408
|
"wasm32-wasi-preview1-threads"
|
|
10406
10409
|
];
|
|
10407
10410
|
var DEFAULT_TARGETS = [
|
|
@@ -10412,21 +10415,25 @@ var DEFAULT_TARGETS = [
|
|
|
10412
10415
|
];
|
|
10413
10416
|
var TARGET_LINKER = {
|
|
10414
10417
|
"aarch64-unknown-linux-musl": "aarch64-linux-musl-gcc",
|
|
10415
|
-
"riscv64gc-unknown-linux-gnu": "riscv64-linux-gnu-gcc"
|
|
10418
|
+
"riscv64gc-unknown-linux-gnu": "riscv64-linux-gnu-gcc",
|
|
10419
|
+
"powerpc64le-unknown-linux-gnu": "powerpc64le-linux-gnu-gcc",
|
|
10420
|
+
"s390x-unknown-linux-gnu": "s390x-linux-gnu-gcc"
|
|
10416
10421
|
};
|
|
10417
10422
|
var CpuToNodeArch = {
|
|
10418
10423
|
x86_64: "x64",
|
|
10419
10424
|
aarch64: "arm64",
|
|
10420
10425
|
i686: "ia32",
|
|
10421
10426
|
armv7: "arm",
|
|
10422
|
-
riscv64gc: "riscv64"
|
|
10427
|
+
riscv64gc: "riscv64",
|
|
10428
|
+
powerpc64le: "ppc64"
|
|
10423
10429
|
};
|
|
10424
10430
|
var NodeArchToCpu = {
|
|
10425
10431
|
x64: "x86_64",
|
|
10426
10432
|
arm64: "aarch64",
|
|
10427
10433
|
ia32: "i686",
|
|
10428
10434
|
arm: "armv7",
|
|
10429
|
-
riscv64: "riscv64gc"
|
|
10435
|
+
riscv64: "riscv64gc",
|
|
10436
|
+
ppc64: "powerpc64le"
|
|
10430
10437
|
};
|
|
10431
10438
|
var SysToNodePlatform = {
|
|
10432
10439
|
linux: "linux",
|
|
@@ -10438,7 +10445,7 @@ var UniArchsByPlatform = {
|
|
|
10438
10445
|
darwin: ["x64", "arm64"]
|
|
10439
10446
|
};
|
|
10440
10447
|
function parseTriple(rawTriple) {
|
|
10441
|
-
if (rawTriple === "wasm32-wasi-preview1-threads") {
|
|
10448
|
+
if (rawTriple === "wasm32-wasi-preview1-threads" || rawTriple.startsWith("wasm32-wasip")) {
|
|
10442
10449
|
return {
|
|
10443
10450
|
triple: rawTriple,
|
|
10444
10451
|
platformArchABI: "wasm32-wasi",
|
|
@@ -16181,7 +16188,7 @@ var safeLoadAll = renamed("safeLoadAll", "loadAll");
|
|
|
16181
16188
|
var safeDump = renamed("safeDump", "dump");
|
|
16182
16189
|
|
|
16183
16190
|
// dist/api/templates/ci-template.js
|
|
16184
|
-
var YAML = (packageManager) => `
|
|
16191
|
+
var YAML = (packageManager, wasiTargetName) => `
|
|
16185
16192
|
name: CI
|
|
16186
16193
|
|
|
16187
16194
|
env:
|
|
@@ -16239,6 +16246,9 @@ jobs:
|
|
|
16239
16246
|
- host: ubuntu-latest
|
|
16240
16247
|
target: 'armv7-unknown-linux-gnueabihf'
|
|
16241
16248
|
build: ${packageManager} build --platform --target armv7-unknown-linux-gnueabihf --use-napi-cross
|
|
16249
|
+
- host: ubuntu-latest
|
|
16250
|
+
target: 'armv7-unknown-linux-musleabihf'
|
|
16251
|
+
build: ${packageManager} build --platform --target armv7-unknown-linux-musleabihf -x
|
|
16242
16252
|
- host: ubuntu-latest
|
|
16243
16253
|
target: 'aarch64-linux-android'
|
|
16244
16254
|
build: ${packageManager} build --platform --target aarch64-linux-android
|
|
@@ -16257,9 +16267,23 @@ jobs:
|
|
|
16257
16267
|
sudo apt-get update
|
|
16258
16268
|
sudo apt-get install gcc-riscv64-linux-gnu -y
|
|
16259
16269
|
build: ${packageManager} build --platform --target riscv64gc-unknown-linux-gnu
|
|
16270
|
+
- host: ubuntu-latest
|
|
16271
|
+
target: 'powerpc64le-unknown-linux-gnu'
|
|
16272
|
+
setup: |
|
|
16273
|
+
sudo apt-get update
|
|
16274
|
+
sudo apt-get install gcc-powerpc64le-linux-gnu -y
|
|
16275
|
+
build: ${packageManager} build --platform --target powerpc64le-unknown-linux-gnu
|
|
16276
|
+
- host: ubuntu-latest
|
|
16277
|
+
target: 's390x-unknown-linux-gnu'
|
|
16278
|
+
setup: |
|
|
16279
|
+
sudo apt-get update
|
|
16280
|
+
sudo apt-get install gcc-s390x-linux-gnu -y
|
|
16281
|
+
build: ${packageManager} build --platform --target s390x-unknown-linux-gnu
|
|
16260
16282
|
- host: ubuntu-latest
|
|
16261
16283
|
target: 'wasm32-wasi-preview1-threads'
|
|
16262
16284
|
build: ${packageManager} build --platform --target wasm32-wasi-preview1-threads
|
|
16285
|
+
target: '${wasiTargetName}'
|
|
16286
|
+
build: ${packageManager} build --platform --target ${wasiTargetName}
|
|
16263
16287
|
|
|
16264
16288
|
name: stable - \${{ matrix.settings.target }} - node@20
|
|
16265
16289
|
runs-on: \${{ matrix.settings.host }}
|
|
@@ -16322,7 +16346,7 @@ jobs:
|
|
|
16322
16346
|
|
|
16323
16347
|
- name: Upload artifact
|
|
16324
16348
|
uses: actions/upload-artifact@v4
|
|
16325
|
-
if: matrix.settings.target != '
|
|
16349
|
+
if: matrix.settings.target != '${wasiTargetName}'
|
|
16326
16350
|
with:
|
|
16327
16351
|
name: bindings-\${{ matrix.settings.target }}
|
|
16328
16352
|
path: "*.node"
|
|
@@ -16330,7 +16354,7 @@ jobs:
|
|
|
16330
16354
|
|
|
16331
16355
|
- name: Upload artifact
|
|
16332
16356
|
uses: actions/upload-artifact@v4
|
|
16333
|
-
if: matrix.settings.target == '
|
|
16357
|
+
if: matrix.settings.target == '${wasiTargetName}'
|
|
16334
16358
|
with:
|
|
16335
16359
|
name: bindings-\${{ matrix.settings.target }}
|
|
16336
16360
|
path: "*.wasm"
|
|
@@ -16343,7 +16367,7 @@ jobs:
|
|
|
16343
16367
|
- uses: actions/checkout@v4
|
|
16344
16368
|
- name: Build
|
|
16345
16369
|
id: build
|
|
16346
|
-
uses: cross-platform-actions/action@v0.
|
|
16370
|
+
uses: cross-platform-actions/action@v0.23.0
|
|
16347
16371
|
timeout-minutes: 30
|
|
16348
16372
|
env:
|
|
16349
16373
|
DEBUG: 'napi:*'
|
|
@@ -16677,7 +16701,7 @@ jobs:
|
|
|
16677
16701
|
- name: Download artifacts
|
|
16678
16702
|
uses: actions/download-artifact@v4
|
|
16679
16703
|
with:
|
|
16680
|
-
name: bindings
|
|
16704
|
+
name: bindings-${wasiTargetName}
|
|
16681
16705
|
path: .
|
|
16682
16706
|
- name: List packages
|
|
16683
16707
|
run: ls -R .
|
|
@@ -16756,7 +16780,7 @@ var TEST_LINUX_AARCH64_MUSL = "test-linux-aarch64-musl-binding";
|
|
|
16756
16780
|
var TEST_LINUX_ARM_GNUEABIHF = "test-linux-arm-gnueabihf-binding";
|
|
16757
16781
|
var TEST_WASI = "test-wasi-nodejs";
|
|
16758
16782
|
var UNIVERSAL_MACOS = "universal-macOS";
|
|
16759
|
-
var createGithubActionsCIYml = (targets, packageManager) => {
|
|
16783
|
+
var createGithubActionsCIYml = (targets, packageManager, wasiTargetName) => {
|
|
16760
16784
|
const allTargets = new Set(targets.flatMap((t) => {
|
|
16761
16785
|
const platform2 = parseTriple(t);
|
|
16762
16786
|
if (platform2.arch === "universal") {
|
|
@@ -16765,7 +16789,7 @@ var createGithubActionsCIYml = (targets, packageManager) => {
|
|
|
16765
16789
|
}
|
|
16766
16790
|
return [t];
|
|
16767
16791
|
}));
|
|
16768
|
-
const fullTemplate = load(YAML(packageManager));
|
|
16792
|
+
const fullTemplate = load(YAML(packageManager, wasiTargetName));
|
|
16769
16793
|
const requiredSteps = [];
|
|
16770
16794
|
const enableWindowsX86 = allTargets.has("x86_64-pc-windows-msvc");
|
|
16771
16795
|
const enableMacOSX86 = allTargets.has("x86_64-apple-darwin");
|
|
@@ -16776,7 +16800,7 @@ var createGithubActionsCIYml = (targets, packageManager) => {
|
|
|
16776
16800
|
const enableLinuxArm7 = allTargets.has("armv7-unknown-linux-gnueabihf");
|
|
16777
16801
|
const enableFreeBSD = allTargets.has("x86_64-unknown-freebsd");
|
|
16778
16802
|
const enableMacOSUni = allTargets.has("universal-apple-darwin");
|
|
16779
|
-
const enableWasi = allTargets.has("wasm32-wasi-preview1-threads");
|
|
16803
|
+
const enableWasi = allTargets.has("wasm32-wasi-preview1-threads") || allTargets.has("wasm32-wasip1-threads") || allTargets.has("wasm32-wasip2");
|
|
16780
16804
|
fullTemplate.jobs.build.strategy.matrix.settings = fullTemplate.jobs.build.strategy.matrix.settings.filter(({ target }) => allTargets.has(target));
|
|
16781
16805
|
if (!fullTemplate.jobs.build.strategy.matrix.settings.length) {
|
|
16782
16806
|
delete fullTemplate.jobs.build.strategy.matrix;
|
|
@@ -17023,13 +17047,19 @@ function requireNative() {
|
|
|
17023
17047
|
${requireTuple("linux-arm64-gnu")}
|
|
17024
17048
|
}
|
|
17025
17049
|
} else if (process.arch === 'arm') {
|
|
17026
|
-
|
|
17050
|
+
if (isMusl()) {
|
|
17051
|
+
${requireTuple("linux-arm-musleabihf")}
|
|
17052
|
+
} else {
|
|
17053
|
+
${requireTuple("linux-arm-gnueabihf")}
|
|
17054
|
+
}
|
|
17027
17055
|
} else if (process.arch === 'riscv64') {
|
|
17028
17056
|
if (isMusl()) {
|
|
17029
17057
|
${requireTuple("linux-riscv64-musl")}
|
|
17030
17058
|
} else {
|
|
17031
17059
|
${requireTuple("linux-riscv64-gnu")}
|
|
17032
17060
|
}
|
|
17061
|
+
} else if (process.arch === 'ppc64') {
|
|
17062
|
+
${requireTuple("linux-ppc64-gnu")}
|
|
17033
17063
|
} else if (process.arch === 's390x') {
|
|
17034
17064
|
${requireTuple("linux-s390x-gnu")}
|
|
17035
17065
|
} else {
|
|
@@ -17219,12 +17249,13 @@ ${wasiRegisterFunctions.map((name) => ` __napiInstance.exports['${name}']?.()`)
|
|
|
17219
17249
|
// dist/api/templates/wasi-worker-template.js
|
|
17220
17250
|
var WASI_WORKER_TEMPLATE = `import fs from "node:fs";
|
|
17221
17251
|
import { createRequire } from "node:module";
|
|
17252
|
+
import { WASI } from "node:wasi";
|
|
17222
17253
|
import { parentPort, Worker } from "node:worker_threads";
|
|
17223
17254
|
|
|
17224
|
-
import { instantiateNapiModuleSync, MessageHandler, WASI } from "@napi-rs/wasm-runtime";
|
|
17225
|
-
|
|
17226
17255
|
const require = createRequire(import.meta.url);
|
|
17227
17256
|
|
|
17257
|
+
const { instantiateNapiModuleSync, MessageHandler, getDefaultContext } = require("@napi-rs/wasm-runtime");
|
|
17258
|
+
|
|
17228
17259
|
if (parentPort) {
|
|
17229
17260
|
parentPort.on("message", (data) => {
|
|
17230
17261
|
globalThis.onmessage({ data });
|
|
@@ -17245,13 +17276,22 @@ Object.assign(globalThis, {
|
|
|
17245
17276
|
},
|
|
17246
17277
|
});
|
|
17247
17278
|
|
|
17279
|
+
const emnapiContext = getDefaultContext()
|
|
17280
|
+
|
|
17248
17281
|
const handler = new MessageHandler({
|
|
17249
17282
|
onLoad({ wasmModule, wasmMemory }) {
|
|
17250
|
-
const wasi = new WASI({
|
|
17283
|
+
const wasi = new WASI({
|
|
17284
|
+
version: 'preview1',
|
|
17285
|
+
env: process.env,
|
|
17286
|
+
preopens: {
|
|
17287
|
+
'/': '/',
|
|
17288
|
+
},
|
|
17289
|
+
});
|
|
17251
17290
|
|
|
17252
17291
|
return instantiateNapiModuleSync(wasmModule, {
|
|
17253
17292
|
childThread: true,
|
|
17254
17293
|
wasi,
|
|
17294
|
+
context: emnapiContext,
|
|
17255
17295
|
overwriteImports(importObject) {
|
|
17256
17296
|
importObject.env = {
|
|
17257
17297
|
...importObject.env,
|
|
@@ -17961,6 +18001,7 @@ This is the **${target.triple}** binary for \`${packageName}\`
|
|
|
17961
18001
|
}
|
|
17962
18002
|
|
|
17963
18003
|
// dist/api/new.js
|
|
18004
|
+
var import_node_child_process5 = require("node:child_process");
|
|
17964
18005
|
var import_node_path4 = __toESM(require("node:path"), 1);
|
|
17965
18006
|
|
|
17966
18007
|
// dist/def/new.js
|
|
@@ -18063,6 +18104,14 @@ function processOptions(options) {
|
|
|
18063
18104
|
throw new Error("At least one target must be enabled");
|
|
18064
18105
|
}
|
|
18065
18106
|
}
|
|
18107
|
+
if (options.targets.some((target) => target === "wasm32-wasi-preview1-threads")) {
|
|
18108
|
+
const out = (0, import_node_child_process5.execSync)(`rustup target list`, {
|
|
18109
|
+
encoding: "utf8"
|
|
18110
|
+
});
|
|
18111
|
+
if (out.includes("wasm32-wasip1-threads")) {
|
|
18112
|
+
options.targets.map((target) => target === "wasm32-wasi-preview1-threads" ? "wasm32-wasip1-threads" : target);
|
|
18113
|
+
}
|
|
18114
|
+
}
|
|
18066
18115
|
return applyDefaultNewOptions(options);
|
|
18067
18116
|
}
|
|
18068
18117
|
async function newProject(userOptions) {
|
|
@@ -18207,7 +18256,7 @@ function getBinaryName(name) {
|
|
|
18207
18256
|
}
|
|
18208
18257
|
|
|
18209
18258
|
// dist/api/pre-publish.js
|
|
18210
|
-
var
|
|
18259
|
+
var import_node_child_process6 = require("node:child_process");
|
|
18211
18260
|
var import_node_fs4 = require("node:fs");
|
|
18212
18261
|
var import_node_path6 = require("node:path");
|
|
18213
18262
|
var import_rest = __toESM(require_dist_node12(), 1);
|
|
@@ -18368,7 +18417,7 @@ async function prePublish(userOptions) {
|
|
|
18368
18417
|
return { owner: owner2, repo: repo2, pkgInfo: pkgInfo2, octokit: octokit2 };
|
|
18369
18418
|
}
|
|
18370
18419
|
function getRepoInfo(packageName2, version2) {
|
|
18371
|
-
const headCommit = (0,
|
|
18420
|
+
const headCommit = (0, import_node_child_process6.execSync)("git log -1 --pretty=%B", {
|
|
18372
18421
|
encoding: "utf-8"
|
|
18373
18422
|
}).trim();
|
|
18374
18423
|
const { GITHUB_REPOSITORY } = process.env;
|
|
@@ -18420,7 +18469,7 @@ async function prePublish(userOptions) {
|
|
|
18420
18469
|
debug7.warn(`%s doesn't exist`, dstPath);
|
|
18421
18470
|
continue;
|
|
18422
18471
|
}
|
|
18423
|
-
(0,
|
|
18472
|
+
(0, import_node_child_process6.execSync)(`${npmClient} publish`, {
|
|
18424
18473
|
cwd: pkgDir,
|
|
18425
18474
|
env: process.env
|
|
18426
18475
|
});
|
|
@@ -18566,7 +18615,7 @@ async function renameProject(userOptions) {
|
|
|
18566
18615
|
}
|
|
18567
18616
|
|
|
18568
18617
|
// dist/api/universalize.js
|
|
18569
|
-
var
|
|
18618
|
+
var import_node_child_process7 = require("node:child_process");
|
|
18570
18619
|
var import_node_path8 = require("node:path");
|
|
18571
18620
|
|
|
18572
18621
|
// dist/def/universalize.js
|
|
@@ -18610,7 +18659,7 @@ function applyDefaultUniversalizeOptions(options) {
|
|
|
18610
18659
|
var debug8 = debugFactory("universalize");
|
|
18611
18660
|
var universalizers = {
|
|
18612
18661
|
darwin: (inputs, output) => {
|
|
18613
|
-
(0,
|
|
18662
|
+
(0, import_node_child_process7.spawnSync)("lipo", ["-create", "-output", output, ...inputs], {
|
|
18614
18663
|
stdio: "inherit"
|
|
18615
18664
|
});
|
|
18616
18665
|
}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
|
package/dist/utils/target.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type Platform = NodeJS.Platform | 'wasm' | 'wasi';
|
|
|
3
3
|
export declare const UNIVERSAL_TARGETS: {
|
|
4
4
|
readonly 'universal-apple-darwin': readonly ["aarch64-apple-darwin", "x86_64-apple-darwin"];
|
|
5
5
|
};
|
|
6
|
-
export declare const AVAILABLE_TARGETS: readonly ["aarch64-apple-darwin", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "aarch64-unknown-linux-musl", "aarch64-pc-windows-msvc", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-unknown-freebsd", "i686-pc-windows-msvc", "armv7-unknown-linux-gnueabihf", "armv7-linux-androideabi", "universal-apple-darwin", "riscv64gc-unknown-linux-gnu", "wasm32-wasi-preview1-threads"];
|
|
6
|
+
export declare const AVAILABLE_TARGETS: readonly ["aarch64-apple-darwin", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "aarch64-unknown-linux-musl", "aarch64-pc-windows-msvc", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-unknown-freebsd", "i686-pc-windows-msvc", "armv7-unknown-linux-gnueabihf", "armv7-unknown-linux-musleabihf", "armv7-linux-androideabi", "universal-apple-darwin", "riscv64gc-unknown-linux-gnu", "powerpc64le-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi-preview1-threads"];
|
|
7
7
|
export type TargetTriple = (typeof AVAILABLE_TARGETS)[number];
|
|
8
8
|
export declare const DEFAULT_TARGETS: readonly ["x86_64-apple-darwin", "aarch64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-unknown-linux-gnu"];
|
|
9
9
|
export declare const TARGET_LINKER: Record<string, string>;
|
package/dist/utils/target.js
CHANGED
|
@@ -15,9 +15,12 @@ export const AVAILABLE_TARGETS = [
|
|
|
15
15
|
'x86_64-unknown-freebsd',
|
|
16
16
|
'i686-pc-windows-msvc',
|
|
17
17
|
'armv7-unknown-linux-gnueabihf',
|
|
18
|
+
'armv7-unknown-linux-musleabihf',
|
|
18
19
|
'armv7-linux-androideabi',
|
|
19
20
|
'universal-apple-darwin',
|
|
20
21
|
'riscv64gc-unknown-linux-gnu',
|
|
22
|
+
'powerpc64le-unknown-linux-gnu',
|
|
23
|
+
's390x-unknown-linux-gnu',
|
|
21
24
|
'wasm32-wasi-preview1-threads',
|
|
22
25
|
];
|
|
23
26
|
export const DEFAULT_TARGETS = [
|
|
@@ -29,6 +32,8 @@ export const DEFAULT_TARGETS = [
|
|
|
29
32
|
export const TARGET_LINKER = {
|
|
30
33
|
'aarch64-unknown-linux-musl': 'aarch64-linux-musl-gcc',
|
|
31
34
|
'riscv64gc-unknown-linux-gnu': 'riscv64-linux-gnu-gcc',
|
|
35
|
+
'powerpc64le-unknown-linux-gnu': 'powerpc64le-linux-gnu-gcc',
|
|
36
|
+
's390x-unknown-linux-gnu': 's390x-linux-gnu-gcc',
|
|
32
37
|
};
|
|
33
38
|
const CpuToNodeArch = {
|
|
34
39
|
x86_64: 'x64',
|
|
@@ -36,6 +41,7 @@ const CpuToNodeArch = {
|
|
|
36
41
|
i686: 'ia32',
|
|
37
42
|
armv7: 'arm',
|
|
38
43
|
riscv64gc: 'riscv64',
|
|
44
|
+
powerpc64le: 'ppc64',
|
|
39
45
|
};
|
|
40
46
|
export const NodeArchToCpu = {
|
|
41
47
|
x64: 'x86_64',
|
|
@@ -43,6 +49,7 @@ export const NodeArchToCpu = {
|
|
|
43
49
|
ia32: 'i686',
|
|
44
50
|
arm: 'armv7',
|
|
45
51
|
riscv64: 'riscv64gc',
|
|
52
|
+
ppc64: 'powerpc64le',
|
|
46
53
|
};
|
|
47
54
|
const SysToNodePlatform = {
|
|
48
55
|
linux: 'linux',
|
|
@@ -64,7 +71,8 @@ export const UniArchsByPlatform = {
|
|
|
64
71
|
* - `abi` = The ABI, for example `gnu`, `android`, `eabi`, etc.
|
|
65
72
|
*/
|
|
66
73
|
export function parseTriple(rawTriple) {
|
|
67
|
-
if (rawTriple === 'wasm32-wasi-preview1-threads'
|
|
74
|
+
if (rawTriple === 'wasm32-wasi-preview1-threads' ||
|
|
75
|
+
rawTriple.startsWith('wasm32-wasip')) {
|
|
68
76
|
return {
|
|
69
77
|
triple: rawTriple,
|
|
70
78
|
platformArchABI: 'wasm32-wasi',
|
package/dist/utils/target.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/utils/target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAI7C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;CACjE,CAAA;AAEV,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,4BAA4B;IAC5B,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,sBAAsB;IACtB,+BAA+B;IAC/B,yBAAyB;IACzB,wBAAwB;IACxB,6BAA6B;IAC7B,8BAA8B;CACtB,CAAA;AAIV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB;IACrB,sBAAsB;IACtB,wBAAwB;IACxB,0BAA0B;CAClB,CAAA;AAEV,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,4BAA4B,EAAE,wBAAwB;IACtD,6BAA6B,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/utils/target.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@napi-rs/cli",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.46",
|
|
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",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"clipanion": "^3.2.1",
|
|
73
73
|
"colorette": "^2.0.20",
|
|
74
74
|
"debug": "^4.3.4",
|
|
75
|
-
"emnapi": "1.1.
|
|
75
|
+
"emnapi": "1.1.1",
|
|
76
76
|
"inquirer": "^9.2.13",
|
|
77
77
|
"js-yaml": "^4.1.0",
|
|
78
78
|
"lodash-es": "^4.17.21",
|
|
@@ -89,13 +89,14 @@
|
|
|
89
89
|
"@types/js-yaml": "^4.0.9",
|
|
90
90
|
"@types/lodash-es": "^4.17.12",
|
|
91
91
|
"@types/node": "^20.11.13",
|
|
92
|
+
"@types/semver": "^7.5.8",
|
|
92
93
|
"ava": "^6.1.1",
|
|
93
94
|
"env-paths": "^3.0.0",
|
|
94
95
|
"esbuild": "^0.20.0",
|
|
95
96
|
"prettier": "^3.2.4",
|
|
96
97
|
"ts-node": "^10.9.2",
|
|
97
98
|
"tslib": "^2.6.2",
|
|
98
|
-
"typescript": "^5.
|
|
99
|
+
"typescript": "^5.4.4"
|
|
99
100
|
},
|
|
100
101
|
"peerDependencies": {
|
|
101
102
|
"@emnapi/runtime": "^1.1.0",
|
|
@@ -127,5 +128,5 @@
|
|
|
127
128
|
"**/__tests__/**/*.spec.ts"
|
|
128
129
|
]
|
|
129
130
|
},
|
|
130
|
-
"gitHead": "
|
|
131
|
+
"gitHead": "f1b8ab5e645e674df33c796ef75aa278cd1b4a31"
|
|
131
132
|
}
|
package/src/api/new.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process'
|
|
1
2
|
import path from 'node:path'
|
|
2
3
|
|
|
3
4
|
import {
|
|
@@ -61,6 +62,20 @@ function processOptions(options: RawNewOptions) {
|
|
|
61
62
|
throw new Error('At least one target must be enabled')
|
|
62
63
|
}
|
|
63
64
|
}
|
|
65
|
+
if (
|
|
66
|
+
options.targets.some((target) => target === 'wasm32-wasi-preview1-threads')
|
|
67
|
+
) {
|
|
68
|
+
const out = execSync(`rustup target list`, {
|
|
69
|
+
encoding: 'utf8',
|
|
70
|
+
})
|
|
71
|
+
if (out.includes('wasm32-wasip1-threads')) {
|
|
72
|
+
options.targets.map((target) =>
|
|
73
|
+
target === 'wasm32-wasi-preview1-threads'
|
|
74
|
+
? 'wasm32-wasip1-threads'
|
|
75
|
+
: target,
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
}
|
|
64
79
|
|
|
65
80
|
return applyDefaultNewOptions(options) as NewOptions
|
|
66
81
|
}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import type { SupportedPackageManager } from '../../utils/config.js'
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export type WasiTargetName =
|
|
4
|
+
| 'wasm32-wasi-preview1-threads'
|
|
5
|
+
| 'wasm32-wasip1-threads'
|
|
6
|
+
| 'wasm32-wasip2'
|
|
7
|
+
|
|
8
|
+
export const YAML = (
|
|
9
|
+
packageManager: SupportedPackageManager,
|
|
10
|
+
wasiTargetName?: WasiTargetName,
|
|
11
|
+
) => `
|
|
4
12
|
name: CI
|
|
5
13
|
|
|
6
14
|
env:
|
|
@@ -58,6 +66,9 @@ jobs:
|
|
|
58
66
|
- host: ubuntu-latest
|
|
59
67
|
target: 'armv7-unknown-linux-gnueabihf'
|
|
60
68
|
build: ${packageManager} build --platform --target armv7-unknown-linux-gnueabihf --use-napi-cross
|
|
69
|
+
- host: ubuntu-latest
|
|
70
|
+
target: 'armv7-unknown-linux-musleabihf'
|
|
71
|
+
build: ${packageManager} build --platform --target armv7-unknown-linux-musleabihf -x
|
|
61
72
|
- host: ubuntu-latest
|
|
62
73
|
target: 'aarch64-linux-android'
|
|
63
74
|
build: ${packageManager} build --platform --target aarch64-linux-android
|
|
@@ -76,9 +87,23 @@ jobs:
|
|
|
76
87
|
sudo apt-get update
|
|
77
88
|
sudo apt-get install gcc-riscv64-linux-gnu -y
|
|
78
89
|
build: ${packageManager} build --platform --target riscv64gc-unknown-linux-gnu
|
|
90
|
+
- host: ubuntu-latest
|
|
91
|
+
target: 'powerpc64le-unknown-linux-gnu'
|
|
92
|
+
setup: |
|
|
93
|
+
sudo apt-get update
|
|
94
|
+
sudo apt-get install gcc-powerpc64le-linux-gnu -y
|
|
95
|
+
build: ${packageManager} build --platform --target powerpc64le-unknown-linux-gnu
|
|
96
|
+
- host: ubuntu-latest
|
|
97
|
+
target: 's390x-unknown-linux-gnu'
|
|
98
|
+
setup: |
|
|
99
|
+
sudo apt-get update
|
|
100
|
+
sudo apt-get install gcc-s390x-linux-gnu -y
|
|
101
|
+
build: ${packageManager} build --platform --target s390x-unknown-linux-gnu
|
|
79
102
|
- host: ubuntu-latest
|
|
80
103
|
target: 'wasm32-wasi-preview1-threads'
|
|
81
104
|
build: ${packageManager} build --platform --target wasm32-wasi-preview1-threads
|
|
105
|
+
target: '${wasiTargetName}'
|
|
106
|
+
build: ${packageManager} build --platform --target ${wasiTargetName}
|
|
82
107
|
|
|
83
108
|
name: stable - \${{ matrix.settings.target }} - node@20
|
|
84
109
|
runs-on: \${{ matrix.settings.host }}
|
|
@@ -141,7 +166,7 @@ jobs:
|
|
|
141
166
|
|
|
142
167
|
- name: Upload artifact
|
|
143
168
|
uses: actions/upload-artifact@v4
|
|
144
|
-
if: matrix.settings.target != '
|
|
169
|
+
if: matrix.settings.target != '${wasiTargetName}'
|
|
145
170
|
with:
|
|
146
171
|
name: bindings-\${{ matrix.settings.target }}
|
|
147
172
|
path: "*.node"
|
|
@@ -149,7 +174,7 @@ jobs:
|
|
|
149
174
|
|
|
150
175
|
- name: Upload artifact
|
|
151
176
|
uses: actions/upload-artifact@v4
|
|
152
|
-
if: matrix.settings.target == '
|
|
177
|
+
if: matrix.settings.target == '${wasiTargetName}'
|
|
153
178
|
with:
|
|
154
179
|
name: bindings-\${{ matrix.settings.target }}
|
|
155
180
|
path: "*.wasm"
|
|
@@ -162,7 +187,7 @@ jobs:
|
|
|
162
187
|
- uses: actions/checkout@v4
|
|
163
188
|
- name: Build
|
|
164
189
|
id: build
|
|
165
|
-
uses: cross-platform-actions/action@v0.
|
|
190
|
+
uses: cross-platform-actions/action@v0.23.0
|
|
166
191
|
timeout-minutes: 30
|
|
167
192
|
env:
|
|
168
193
|
DEBUG: 'napi:*'
|
|
@@ -496,7 +521,7 @@ jobs:
|
|
|
496
521
|
- name: Download artifacts
|
|
497
522
|
uses: actions/download-artifact@v4
|
|
498
523
|
with:
|
|
499
|
-
name: bindings
|
|
524
|
+
name: bindings-${wasiTargetName}
|
|
500
525
|
path: .
|
|
501
526
|
- name: List packages
|
|
502
527
|
run: ls -R .
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
parseTriple,
|
|
8
8
|
} from '../../utils/index.js'
|
|
9
9
|
|
|
10
|
-
import { YAML } from './ci-template.js'
|
|
10
|
+
import { type WasiTargetName, YAML } from './ci-template.js'
|
|
11
11
|
|
|
12
12
|
const BUILD_FREEBSD = 'build-freebsd'
|
|
13
13
|
const TEST_MACOS_WINDOWS = 'test-macOS-windows-binding'
|
|
@@ -22,6 +22,7 @@ const UNIVERSAL_MACOS = 'universal-macOS'
|
|
|
22
22
|
export const createGithubActionsCIYml = (
|
|
23
23
|
targets: string[],
|
|
24
24
|
packageManager: SupportedPackageManager,
|
|
25
|
+
wasiTargetName?: WasiTargetName,
|
|
25
26
|
) => {
|
|
26
27
|
const allTargets = new Set(
|
|
27
28
|
targets.flatMap((t) => {
|
|
@@ -36,7 +37,7 @@ export const createGithubActionsCIYml = (
|
|
|
36
37
|
}),
|
|
37
38
|
)
|
|
38
39
|
|
|
39
|
-
const fullTemplate = load(YAML(packageManager)) as any
|
|
40
|
+
const fullTemplate = load(YAML(packageManager, wasiTargetName)) as any
|
|
40
41
|
|
|
41
42
|
const requiredSteps = []
|
|
42
43
|
const enableWindowsX86 = allTargets.has('x86_64-pc-windows-msvc')
|
|
@@ -48,7 +49,10 @@ export const createGithubActionsCIYml = (
|
|
|
48
49
|
const enableLinuxArm7 = allTargets.has('armv7-unknown-linux-gnueabihf')
|
|
49
50
|
const enableFreeBSD = allTargets.has('x86_64-unknown-freebsd')
|
|
50
51
|
const enableMacOSUni = allTargets.has('universal-apple-darwin')
|
|
51
|
-
const enableWasi =
|
|
52
|
+
const enableWasi =
|
|
53
|
+
allTargets.has('wasm32-wasi-preview1-threads') ||
|
|
54
|
+
allTargets.has('wasm32-wasip1-threads') ||
|
|
55
|
+
allTargets.has('wasm32-wasip2')
|
|
52
56
|
fullTemplate.jobs.build.strategy.matrix.settings =
|
|
53
57
|
fullTemplate.jobs.build.strategy.matrix.settings.filter(
|
|
54
58
|
({ target }: { target: string }) => allTargets.has(target),
|
|
@@ -125,13 +125,19 @@ function requireNative() {
|
|
|
125
125
|
${requireTuple('linux-arm64-gnu')}
|
|
126
126
|
}
|
|
127
127
|
} else if (process.arch === 'arm') {
|
|
128
|
-
|
|
128
|
+
if (isMusl()) {
|
|
129
|
+
${requireTuple('linux-arm-musleabihf')}
|
|
130
|
+
} else {
|
|
131
|
+
${requireTuple('linux-arm-gnueabihf')}
|
|
132
|
+
}
|
|
129
133
|
} else if (process.arch === 'riscv64') {
|
|
130
134
|
if (isMusl()) {
|
|
131
135
|
${requireTuple('linux-riscv64-musl')}
|
|
132
136
|
} else {
|
|
133
137
|
${requireTuple('linux-riscv64-gnu')}
|
|
134
138
|
}
|
|
139
|
+
} else if (process.arch === 'ppc64') {
|
|
140
|
+
${requireTuple('linux-ppc64-gnu')}
|
|
135
141
|
} else if (process.arch === 's390x') {
|
|
136
142
|
${requireTuple('linux-s390x-gnu')}
|
|
137
143
|
} else {
|