@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
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
|
+
import { WASI } from "node:wasi";
|
|
3
4
|
import { parentPort, Worker } from "node:worker_threads";
|
|
4
5
|
|
|
5
|
-
import { instantiateNapiModuleSync, MessageHandler, WASI } from "@napi-rs/wasm-runtime";
|
|
6
|
-
|
|
7
6
|
const require = createRequire(import.meta.url);
|
|
8
7
|
|
|
8
|
+
const { instantiateNapiModuleSync, MessageHandler, getDefaultContext } = require("@napi-rs/wasm-runtime");
|
|
9
|
+
|
|
9
10
|
if (parentPort) {
|
|
10
11
|
parentPort.on("message", (data) => {
|
|
11
12
|
globalThis.onmessage({ data });
|
|
@@ -26,13 +27,22 @@ Object.assign(globalThis, {
|
|
|
26
27
|
},
|
|
27
28
|
});
|
|
28
29
|
|
|
30
|
+
const emnapiContext = getDefaultContext()
|
|
31
|
+
|
|
29
32
|
const handler = new MessageHandler({
|
|
30
33
|
onLoad({ wasmModule, wasmMemory }) {
|
|
31
|
-
const wasi = new WASI({
|
|
34
|
+
const wasi = new WASI({
|
|
35
|
+
version: 'preview1',
|
|
36
|
+
env: process.env,
|
|
37
|
+
preopens: {
|
|
38
|
+
'/': '/',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
32
41
|
|
|
33
42
|
return instantiateNapiModuleSync(wasmModule, {
|
|
34
43
|
childThread: true,
|
|
35
44
|
wasi,
|
|
45
|
+
context: emnapiContext,
|
|
36
46
|
overwriteImports(importObject) {
|
|
37
47
|
importObject.env = {
|
|
38
48
|
...importObject.env,
|
package/src/commands/new.ts
CHANGED
|
@@ -64,14 +64,14 @@ export class NewCommand extends BaseNewCommand {
|
|
|
64
64
|
private async fetchName(defaultName: string): Promise<string> {
|
|
65
65
|
return (
|
|
66
66
|
this.$$name ??
|
|
67
|
-
|
|
67
|
+
inquirer
|
|
68
68
|
.prompt({
|
|
69
69
|
type: 'input',
|
|
70
70
|
name: 'name',
|
|
71
71
|
message: 'Package name (the name field in your package.json file)',
|
|
72
72
|
default: defaultName,
|
|
73
73
|
})
|
|
74
|
-
.then(({ name }) => name)
|
|
74
|
+
.then(({ name }) => name)
|
|
75
75
|
)
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -93,7 +93,7 @@ export class NewCommand extends BaseNewCommand {
|
|
|
93
93
|
name: 'minNodeApiVersion',
|
|
94
94
|
message: 'Minimum node-api version (with node version requirement)',
|
|
95
95
|
loop: false,
|
|
96
|
-
choices:
|
|
96
|
+
choices: Array.from({ length: 8 }, (_, i) => ({
|
|
97
97
|
name: `napi${i + 1} (${napiEngineRequirement(i + 1)})`,
|
|
98
98
|
value: i + 1,
|
|
99
99
|
})),
|
|
Binary file
|
|
@@ -93,6 +93,13 @@ Generated by [AVA](https://avajs.dev).
|
|
|
93
93
|
platformArchABI: 'linux-arm-gnueabihf',
|
|
94
94
|
triple: 'armv7-unknown-linux-gnueabihf',
|
|
95
95
|
},
|
|
96
|
+
{
|
|
97
|
+
abi: 'musleabihf',
|
|
98
|
+
arch: 'arm',
|
|
99
|
+
platform: 'linux',
|
|
100
|
+
platformArchABI: 'linux-arm-musleabihf',
|
|
101
|
+
triple: 'armv7-unknown-linux-musleabihf',
|
|
102
|
+
},
|
|
96
103
|
{
|
|
97
104
|
abi: 'eabi',
|
|
98
105
|
arch: 'arm',
|
|
@@ -114,6 +121,20 @@ Generated by [AVA](https://avajs.dev).
|
|
|
114
121
|
platformArchABI: 'linux-riscv64-gnu',
|
|
115
122
|
triple: 'riscv64gc-unknown-linux-gnu',
|
|
116
123
|
},
|
|
124
|
+
{
|
|
125
|
+
abi: 'gnu',
|
|
126
|
+
arch: 'ppc64',
|
|
127
|
+
platform: 'linux',
|
|
128
|
+
platformArchABI: 'linux-ppc64-gnu',
|
|
129
|
+
triple: 'powerpc64le-unknown-linux-gnu',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
abi: 'gnu',
|
|
133
|
+
arch: 's390x',
|
|
134
|
+
platform: 'linux',
|
|
135
|
+
platformArchABI: 'linux-s390x-gnu',
|
|
136
|
+
triple: 's390x-unknown-linux-gnu',
|
|
137
|
+
},
|
|
117
138
|
{
|
|
118
139
|
abi: 'wasi',
|
|
119
140
|
arch: 'wasm32',
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/utils/index.ts
CHANGED
package/src/utils/target.ts
CHANGED
|
@@ -19,9 +19,12 @@ export const AVAILABLE_TARGETS = [
|
|
|
19
19
|
'x86_64-unknown-freebsd',
|
|
20
20
|
'i686-pc-windows-msvc',
|
|
21
21
|
'armv7-unknown-linux-gnueabihf',
|
|
22
|
+
'armv7-unknown-linux-musleabihf',
|
|
22
23
|
'armv7-linux-androideabi',
|
|
23
24
|
'universal-apple-darwin',
|
|
24
25
|
'riscv64gc-unknown-linux-gnu',
|
|
26
|
+
'powerpc64le-unknown-linux-gnu',
|
|
27
|
+
's390x-unknown-linux-gnu',
|
|
25
28
|
'wasm32-wasi-preview1-threads',
|
|
26
29
|
] as const
|
|
27
30
|
|
|
@@ -37,6 +40,8 @@ export const DEFAULT_TARGETS = [
|
|
|
37
40
|
export const TARGET_LINKER: Record<string, string> = {
|
|
38
41
|
'aarch64-unknown-linux-musl': 'aarch64-linux-musl-gcc',
|
|
39
42
|
'riscv64gc-unknown-linux-gnu': 'riscv64-linux-gnu-gcc',
|
|
43
|
+
'powerpc64le-unknown-linux-gnu': 'powerpc64le-linux-gnu-gcc',
|
|
44
|
+
's390x-unknown-linux-gnu': 's390x-linux-gnu-gcc',
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
// https://nodejs.org/api/process.html#process_process_arch
|
|
@@ -62,6 +67,7 @@ const CpuToNodeArch: Record<string, NodeJSArch> = {
|
|
|
62
67
|
i686: 'ia32',
|
|
63
68
|
armv7: 'arm',
|
|
64
69
|
riscv64gc: 'riscv64',
|
|
70
|
+
powerpc64le: 'ppc64',
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
export const NodeArchToCpu: Record<string, string> = {
|
|
@@ -70,6 +76,7 @@ export const NodeArchToCpu: Record<string, string> = {
|
|
|
70
76
|
ia32: 'i686',
|
|
71
77
|
arm: 'armv7',
|
|
72
78
|
riscv64: 'riscv64gc',
|
|
79
|
+
ppc64: 'powerpc64le',
|
|
73
80
|
}
|
|
74
81
|
|
|
75
82
|
const SysToNodePlatform: Record<string, Platform> = {
|
|
@@ -102,7 +109,10 @@ export interface Target {
|
|
|
102
109
|
* - `abi` = The ABI, for example `gnu`, `android`, `eabi`, etc.
|
|
103
110
|
*/
|
|
104
111
|
export function parseTriple(rawTriple: string): Target {
|
|
105
|
-
if (
|
|
112
|
+
if (
|
|
113
|
+
rawTriple === 'wasm32-wasi-preview1-threads' ||
|
|
114
|
+
rawTriple.startsWith('wasm32-wasip')
|
|
115
|
+
) {
|
|
106
116
|
return {
|
|
107
117
|
triple: rawTriple,
|
|
108
118
|
platformArchABI: 'wasm32-wasi',
|
package/dist/utils/ci.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TargetTriple } from './target.js';
|
|
2
|
-
export declare const CIConfig: Partial<Record<TargetTriple, {
|
|
3
|
-
host: string;
|
|
4
|
-
build_image?: string;
|
|
5
|
-
build_setup?: string[];
|
|
6
|
-
test?: boolean;
|
|
7
|
-
test_image?: string;
|
|
8
|
-
test_setup?: string[];
|
|
9
|
-
yarn_cpu?: string;
|
|
10
|
-
yarn_libc?: string;
|
|
11
|
-
}>>;
|
package/dist/utils/ci.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
export const CIConfig = {
|
|
2
|
-
'x86_64-apple-darwin': {
|
|
3
|
-
host: 'macos-latest',
|
|
4
|
-
},
|
|
5
|
-
'x86_64-pc-windows-msvc': {
|
|
6
|
-
host: 'windows-latest',
|
|
7
|
-
},
|
|
8
|
-
'i686-pc-windows-msvc': {
|
|
9
|
-
host: 'windows-latest',
|
|
10
|
-
test: false,
|
|
11
|
-
},
|
|
12
|
-
'x86_64-unknown-linux-gnu': {
|
|
13
|
-
host: 'ubuntu-latest',
|
|
14
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian',
|
|
15
|
-
},
|
|
16
|
-
'x86_64-unknown-linux-musl': {
|
|
17
|
-
host: 'ubuntu-latest',
|
|
18
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
19
|
-
test_image: 'node:${{ matrix.node }}-alpine',
|
|
20
|
-
yarn_libc: 'musl',
|
|
21
|
-
},
|
|
22
|
-
'aarch64-apple-darwin': {
|
|
23
|
-
host: 'macos-latest',
|
|
24
|
-
build_setup: [
|
|
25
|
-
'sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*',
|
|
26
|
-
'export CC=$(xcrun -f clang)',
|
|
27
|
-
'export CXX=$(xcrun -f clang++)',
|
|
28
|
-
'export SDK_ROOT=$(xcrun --sdk macosx --show-sdk-path)',
|
|
29
|
-
'export CFLAGS="-isysroot $SDK_ROOT -isystem $SDK_ROOT"',
|
|
30
|
-
],
|
|
31
|
-
test: false,
|
|
32
|
-
},
|
|
33
|
-
'aarch64-unknown-linux-gnu': {
|
|
34
|
-
host: 'ubuntu-latest',
|
|
35
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64',
|
|
36
|
-
build_setup: [
|
|
37
|
-
'sudo apt-get update',
|
|
38
|
-
'sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y',
|
|
39
|
-
'export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnu',
|
|
40
|
-
],
|
|
41
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:aarch64-${{ matrix.node }}',
|
|
42
|
-
yarn_cpu: 'arm64',
|
|
43
|
-
},
|
|
44
|
-
'aarch64-unknown-linux-musl': {
|
|
45
|
-
host: 'ubuntu-latest',
|
|
46
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
47
|
-
build_setup: ['rustup target add aarch64-unknown-linux-musl'],
|
|
48
|
-
test_image: 'multiarch/alpine:aarch64-latest-stable',
|
|
49
|
-
test_setup: ['apk add nodejs npm yarn'],
|
|
50
|
-
yarn_cpu: 'arm64',
|
|
51
|
-
yarn_libc: 'musl',
|
|
52
|
-
},
|
|
53
|
-
'aarch64-pc-windows-msvc': {
|
|
54
|
-
host: 'windows-latest',
|
|
55
|
-
test: false,
|
|
56
|
-
},
|
|
57
|
-
'armv7-unknown-linux-gnueabihf': {
|
|
58
|
-
host: 'ubuntu-latest',
|
|
59
|
-
build_setup: [
|
|
60
|
-
'sudo apt-get update',
|
|
61
|
-
'sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y',
|
|
62
|
-
],
|
|
63
|
-
yarn_cpu: 'arm',
|
|
64
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:armhf-${{ matrix.node }}',
|
|
65
|
-
},
|
|
66
|
-
'aarch64-linux-android': {
|
|
67
|
-
host: 'ubuntu-latest',
|
|
68
|
-
build_setup: [
|
|
69
|
-
'export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
70
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
71
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"',
|
|
72
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
73
|
-
],
|
|
74
|
-
test: false,
|
|
75
|
-
},
|
|
76
|
-
'armv7-linux-androideabi': {
|
|
77
|
-
host: 'ubuntu-latest',
|
|
78
|
-
build_setup: [
|
|
79
|
-
'export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
80
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
81
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"',
|
|
82
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
83
|
-
],
|
|
84
|
-
test: false,
|
|
85
|
-
},
|
|
86
|
-
'riscv64gc-unknown-linux-gnu': {
|
|
87
|
-
host: 'ubuntu-latest',
|
|
88
|
-
build_setup: [
|
|
89
|
-
'sudo apt-get update',
|
|
90
|
-
'sudo apt-get install g++-riscv64-linux-gnu gcc-riscv64-linux-gnu -y',
|
|
91
|
-
],
|
|
92
|
-
// No official nodejs docker image for riscv64
|
|
93
|
-
test: false,
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=ci.js.map
|
package/dist/utils/ci.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/utils/ci.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAcjB;IACF,qBAAqB,EAAE;QACrB,IAAI,EAAE,cAAc;KACrB;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,gBAAgB;KACvB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,gCAAgC;QAC5C,SAAS,EAAE,MAAM;KAClB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;YACX,wDAAwD;YACxD,6BAA6B;YAC7B,gCAAgC;YAChC,uDAAuD;YACvD,wDAAwD;SACzD;QACD,IAAI,EAAE,KAAK;KACZ;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,qBAAqB;YACrB,qEAAqE;YACrE,oDAAoD;SACrD;QACD,UAAU,EAAE,2DAA2D;QACvE,QAAQ,EAAE,OAAO;KAClB;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE,CAAC,8CAA8C,CAAC;QAC7D,UAAU,EAAE,wCAAwC;QACpD,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACvC,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,MAAM;KAClB;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,+BAA+B,EAAE;QAC/B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qBAAqB;YACrB,yEAAyE;SAC1E;QACD,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,yDAAyD;KACtE;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,gJAAgJ;YAChJ,yGAAyG;YACzG,4GAA4G;YAC5G,qFAAqF;SACtF;QACD,IAAI,EAAE,KAAK;KACZ;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qJAAqJ;YACrJ,4GAA4G;YAC5G,+GAA+G;YAC/G,qFAAqF;SACtF;QACD,IAAI,EAAE,KAAK;KACZ;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qBAAqB;YACrB,qEAAqE;SACtE;QACD,8CAA8C;QAC9C,IAAI,EAAE,KAAK;KACZ;CACF,CAAA"}
|
package/src/utils/ci.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { TargetTriple } from './target.js'
|
|
2
|
-
|
|
3
|
-
export const CIConfig: Partial<
|
|
4
|
-
Record<
|
|
5
|
-
TargetTriple,
|
|
6
|
-
{
|
|
7
|
-
host: string
|
|
8
|
-
build_image?: string
|
|
9
|
-
build_setup?: string[]
|
|
10
|
-
test?: boolean
|
|
11
|
-
test_image?: string
|
|
12
|
-
test_setup?: string[]
|
|
13
|
-
yarn_cpu?: string
|
|
14
|
-
yarn_libc?: string
|
|
15
|
-
}
|
|
16
|
-
>
|
|
17
|
-
> = {
|
|
18
|
-
'x86_64-apple-darwin': {
|
|
19
|
-
host: 'macos-latest',
|
|
20
|
-
},
|
|
21
|
-
'x86_64-pc-windows-msvc': {
|
|
22
|
-
host: 'windows-latest',
|
|
23
|
-
},
|
|
24
|
-
'i686-pc-windows-msvc': {
|
|
25
|
-
host: 'windows-latest',
|
|
26
|
-
test: false,
|
|
27
|
-
},
|
|
28
|
-
'x86_64-unknown-linux-gnu': {
|
|
29
|
-
host: 'ubuntu-latest',
|
|
30
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian',
|
|
31
|
-
},
|
|
32
|
-
'x86_64-unknown-linux-musl': {
|
|
33
|
-
host: 'ubuntu-latest',
|
|
34
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
35
|
-
test_image: 'node:${{ matrix.node }}-alpine',
|
|
36
|
-
yarn_libc: 'musl',
|
|
37
|
-
},
|
|
38
|
-
'aarch64-apple-darwin': {
|
|
39
|
-
host: 'macos-latest',
|
|
40
|
-
build_setup: [
|
|
41
|
-
'sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*',
|
|
42
|
-
'export CC=$(xcrun -f clang)',
|
|
43
|
-
'export CXX=$(xcrun -f clang++)',
|
|
44
|
-
'export SDK_ROOT=$(xcrun --sdk macosx --show-sdk-path)',
|
|
45
|
-
'export CFLAGS="-isysroot $SDK_ROOT -isystem $SDK_ROOT"',
|
|
46
|
-
],
|
|
47
|
-
test: false,
|
|
48
|
-
},
|
|
49
|
-
'aarch64-unknown-linux-gnu': {
|
|
50
|
-
host: 'ubuntu-latest',
|
|
51
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64',
|
|
52
|
-
build_setup: [
|
|
53
|
-
'sudo apt-get update',
|
|
54
|
-
'sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y',
|
|
55
|
-
'export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnu',
|
|
56
|
-
],
|
|
57
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:aarch64-${{ matrix.node }}',
|
|
58
|
-
yarn_cpu: 'arm64',
|
|
59
|
-
},
|
|
60
|
-
'aarch64-unknown-linux-musl': {
|
|
61
|
-
host: 'ubuntu-latest',
|
|
62
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
63
|
-
build_setup: ['rustup target add aarch64-unknown-linux-musl'],
|
|
64
|
-
test_image: 'multiarch/alpine:aarch64-latest-stable',
|
|
65
|
-
test_setup: ['apk add nodejs npm yarn'],
|
|
66
|
-
yarn_cpu: 'arm64',
|
|
67
|
-
yarn_libc: 'musl',
|
|
68
|
-
},
|
|
69
|
-
'aarch64-pc-windows-msvc': {
|
|
70
|
-
host: 'windows-latest',
|
|
71
|
-
test: false,
|
|
72
|
-
},
|
|
73
|
-
'armv7-unknown-linux-gnueabihf': {
|
|
74
|
-
host: 'ubuntu-latest',
|
|
75
|
-
build_setup: [
|
|
76
|
-
'sudo apt-get update',
|
|
77
|
-
'sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y',
|
|
78
|
-
],
|
|
79
|
-
yarn_cpu: 'arm',
|
|
80
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:armhf-${{ matrix.node }}',
|
|
81
|
-
},
|
|
82
|
-
'aarch64-linux-android': {
|
|
83
|
-
host: 'ubuntu-latest',
|
|
84
|
-
build_setup: [
|
|
85
|
-
'export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
86
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
87
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"',
|
|
88
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
89
|
-
],
|
|
90
|
-
test: false,
|
|
91
|
-
},
|
|
92
|
-
'armv7-linux-androideabi': {
|
|
93
|
-
host: 'ubuntu-latest',
|
|
94
|
-
build_setup: [
|
|
95
|
-
'export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
96
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
97
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"',
|
|
98
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
99
|
-
],
|
|
100
|
-
test: false,
|
|
101
|
-
},
|
|
102
|
-
'riscv64gc-unknown-linux-gnu': {
|
|
103
|
-
host: 'ubuntu-latest',
|
|
104
|
-
build_setup: [
|
|
105
|
-
'sudo apt-get update',
|
|
106
|
-
'sudo apt-get install g++-riscv64-linux-gnu gcc-riscv64-linux-gnu -y',
|
|
107
|
-
],
|
|
108
|
-
// No official nodejs docker image for riscv64
|
|
109
|
-
test: false,
|
|
110
|
-
},
|
|
111
|
-
}
|