@napi-rs/cli 3.0.0-alpha.9 → 3.0.0-alpha.90
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 +1 -1
- package/dist/api/__tests__/new.spec.d.ts +1 -0
- package/dist/api/__tests__/new.spec.js +283 -0
- package/dist/api/__tests__/new.spec.js.map +1 -0
- package/dist/api/artifacts.js +28 -7
- package/dist/api/artifacts.js.map +1 -1
- package/dist/api/build.d.ts +1 -1
- package/dist/api/build.js +324 -115
- package/dist/api/build.js.map +1 -1
- package/dist/api/create-npm-dirs.js +46 -9
- package/dist/api/create-npm-dirs.js.map +1 -1
- package/dist/api/new.js +312 -107
- package/dist/api/new.js.map +1 -1
- package/dist/api/pre-publish.js +9 -7
- package/dist/api/pre-publish.js.map +1 -1
- package/dist/api/rename.js +74 -12
- package/dist/api/rename.js.map +1 -1
- package/dist/api/templates/cargo.toml.js +1 -0
- package/dist/api/templates/cargo.toml.js.map +1 -1
- package/dist/api/templates/ci-template.d.ts +3 -1
- package/dist/api/templates/ci-template.js +140 -125
- package/dist/api/templates/ci-template.js.map +1 -1
- package/dist/api/templates/ci.yml.d.ts +3 -1
- package/dist/api/templates/ci.yml.js +21 -5
- package/dist/api/templates/ci.yml.js.map +1 -1
- package/dist/api/templates/js-binding.d.ts +1 -0
- package/dist/api/templates/js-binding.js +142 -222
- package/dist/api/templates/js-binding.js.map +1 -1
- package/dist/api/templates/load-wasi-template.d.ts +2 -0
- package/dist/api/templates/load-wasi-template.js +168 -0
- package/dist/api/templates/load-wasi-template.js.map +1 -0
- package/dist/api/templates/package.json.d.ts +9 -2
- package/dist/api/templates/package.json.js +26 -4
- package/dist/api/templates/package.json.js.map +1 -1
- package/dist/api/templates/wasi-worker-template.d.ts +2 -0
- package/dist/api/templates/wasi-worker-template.js +122 -0
- package/dist/api/templates/wasi-worker-template.js.map +1 -0
- package/dist/api/universalize.js +5 -5
- package/dist/api/universalize.js.map +1 -1
- package/dist/api/version.js +2 -2
- package/dist/api/version.js.map +1 -1
- package/dist/commands/artifacts.js +2 -2
- package/dist/commands/artifacts.js.map +1 -1
- package/dist/commands/build.js +1 -1
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/new.js +34 -34
- package/dist/commands/new.js.map +1 -1
- package/dist/def/artifacts.d.ts +21 -1
- package/dist/def/artifacts.js +10 -2
- package/dist/def/artifacts.js.map +1 -1
- package/dist/def/build.d.ts +149 -4
- package/dist/def/build.js +26 -4
- package/dist/def/build.js.map +1 -1
- package/dist/def/create-npm-dirs.d.ts +10 -0
- package/dist/def/create-npm-dirs.js +4 -0
- package/dist/def/create-npm-dirs.js.map +1 -1
- package/dist/def/new.d.ts +25 -7
- package/dist/def/new.js +11 -1
- package/dist/def/new.js.map +1 -1
- package/dist/def/pre-publish.d.ts +12 -2
- package/dist/def/pre-publish.js +7 -3
- package/dist/def/pre-publish.js.map +1 -1
- package/dist/def/rename.d.ts +16 -6
- package/dist/def/rename.js +5 -1
- package/dist/def/rename.js.map +1 -1
- package/dist/def/universalize.d.ts +10 -0
- package/dist/def/universalize.js +4 -0
- package/dist/def/universalize.js.map +1 -1
- package/dist/def/version.d.ts +10 -0
- package/dist/def/version.js +4 -0
- package/dist/def/version.js.map +1 -1
- package/dist/index.cjs +8743 -14849
- package/dist/utils/__tests__/config.spec.d.ts +1 -0
- package/dist/utils/__tests__/config.spec.js +63 -0
- package/dist/utils/__tests__/config.spec.js.map +1 -0
- package/dist/utils/cargo.js +2 -2
- package/dist/utils/cargo.js.map +1 -1
- package/dist/utils/config.d.ts +48 -4
- package/dist/utils/config.js +36 -4
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/log.js +1 -1
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/metadata.d.ts +13 -1
- package/dist/utils/metadata.js +31 -11
- package/dist/utils/metadata.js.map +1 -1
- package/dist/utils/misc.d.ts +3 -3
- package/dist/utils/misc.js +13 -11
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/read-config.d.ts +7 -0
- package/dist/utils/read-config.js +8 -0
- package/dist/utils/read-config.js.map +1 -0
- package/dist/utils/target.d.ts +7 -5
- package/dist/utils/target.js +17 -3
- package/dist/utils/target.js.map +1 -1
- package/dist/utils/typegen.d.ts +1 -1
- package/dist/utils/typegen.js +63 -32
- package/dist/utils/typegen.js.map +1 -1
- package/dist/utils/version.d.ts +2 -1
- package/dist/utils/version.js +10 -8
- package/dist/utils/version.js.map +1 -1
- package/package.json +34 -32
- package/src/api/__tests__/new.spec.ts +429 -0
- package/src/api/artifacts.ts +81 -9
- package/src/api/build.ts +498 -149
- package/src/api/create-npm-dirs.ts +57 -9
- package/src/api/new.ts +389 -122
- package/src/api/pre-publish.ts +13 -7
- package/src/api/rename.ts +103 -17
- package/src/api/templates/cargo.toml.ts +1 -0
- package/src/api/templates/ci-template.ts +150 -125
- package/src/api/templates/ci.yml.ts +27 -6
- package/src/api/templates/js-binding.ts +148 -220
- package/src/api/templates/load-wasi-template.ts +182 -0
- package/src/api/templates/package.json.ts +47 -5
- package/src/api/templates/wasi-worker-template.ts +122 -0
- package/src/api/universalize.ts +13 -8
- package/src/api/version.ts +5 -2
- package/src/commands/artifacts.ts +2 -2
- package/src/commands/build.ts +1 -1
- package/src/commands/new.ts +46 -45
- package/src/def/artifacts.ts +22 -3
- package/src/def/build.ts +55 -8
- package/src/def/create-npm-dirs.ts +9 -0
- package/src/def/new.ts +28 -3
- package/src/def/pre-publish.ts +12 -3
- package/src/def/rename.ts +11 -2
- package/src/def/universalize.ts +9 -0
- package/src/def/version.ts +9 -0
- package/src/utils/__tests__/__fixtures__/napi_type_def +130 -130
- package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
- package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.md +28 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +316 -332
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/version.spec.ts.md +8 -7
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/__tests__/config.spec.ts +81 -0
- package/src/utils/cargo.ts +2 -2
- package/src/utils/config.ts +110 -9
- package/src/utils/index.ts +1 -1
- package/src/utils/log.ts +1 -1
- package/src/utils/metadata.ts +52 -14
- package/src/utils/misc.ts +21 -12
- package/src/utils/read-config.ts +20 -0
- package/src/utils/target.ts +22 -4
- package/src/utils/typegen.ts +87 -52
- package/src/utils/version.ts +10 -8
- package/dist/api/load-wasi-template.d.ts +0 -1
- package/dist/api/load-wasi-template.js +0 -64
- package/dist/api/load-wasi-template.js.map +0 -1
- package/dist/api/wasi-worker-template.d.ts +0 -1
- package/dist/api/wasi-worker-template.js +0 -53
- package/dist/api/wasi-worker-template.js.map +0 -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/api/load-wasi-template.ts +0 -66
- package/src/api/wasi-worker-template.ts +0 -52
- package/src/utils/ci.ts +0 -111
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const YAML = () => `
|
|
1
|
+
export const YAML = (packageManager, wasiTargetName) => `
|
|
2
2
|
name: CI
|
|
3
3
|
|
|
4
4
|
env:
|
|
@@ -32,82 +32,68 @@ jobs:
|
|
|
32
32
|
settings:
|
|
33
33
|
- host: macos-latest
|
|
34
34
|
target: 'x86_64-apple-darwin'
|
|
35
|
-
build:
|
|
36
|
-
yarn build --platform
|
|
37
|
-
strip -x *.node
|
|
35
|
+
build: ${packageManager} build --platform --target x86_64-apple-darwin
|
|
38
36
|
- host: windows-latest
|
|
39
|
-
build:
|
|
37
|
+
build: ${packageManager} build --platform
|
|
40
38
|
target: 'x86_64-pc-windows-msvc'
|
|
41
39
|
- host: windows-latest
|
|
42
40
|
build: |
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
${packageManager} build --platform --target i686-pc-windows-msvc
|
|
42
|
+
${packageManager} test
|
|
45
43
|
target: 'i686-pc-windows-msvc'
|
|
46
44
|
- host: ubuntu-latest
|
|
47
45
|
target: 'x86_64-unknown-linux-gnu'
|
|
48
|
-
|
|
49
|
-
build: >-
|
|
50
|
-
set -e &&\n
|
|
51
|
-
yarn build --platform --target x86_64-unknown-linux-gnu &&\n
|
|
52
|
-
strip *.node
|
|
46
|
+
build: ${packageManager} build --platform --target x86_64-unknown-linux-gnu --use-napi-cross
|
|
53
47
|
- host: ubuntu-latest
|
|
54
48
|
target: 'x86_64-unknown-linux-musl'
|
|
55
|
-
|
|
56
|
-
build: >-
|
|
57
|
-
set -e &&
|
|
58
|
-
yarn build --platform &&
|
|
59
|
-
strip *.node
|
|
49
|
+
build: ${packageManager} build --platform --target x86_64-unknown-linux-musl -x
|
|
60
50
|
- host: macos-latest
|
|
61
51
|
target: 'aarch64-apple-darwin'
|
|
62
|
-
build:
|
|
63
|
-
yarn build --platform --target aarch64-apple-darwin
|
|
64
|
-
strip -x *.node
|
|
52
|
+
build: ${packageManager} build --platform --target aarch64-apple-darwin
|
|
65
53
|
- host: ubuntu-latest
|
|
66
54
|
target: 'aarch64-unknown-linux-gnu'
|
|
67
|
-
|
|
68
|
-
build: >-
|
|
69
|
-
set -e &&\n
|
|
70
|
-
yarn build --platform --target aarch64-unknown-linux-gnu &&\n
|
|
71
|
-
aarch64-unknown-linux-gnu-strip *.node
|
|
55
|
+
build: ${packageManager} build --platform --target aarch64-unknown-linux-gnu --use-napi-cross
|
|
72
56
|
- host: ubuntu-latest
|
|
73
57
|
target: 'armv7-unknown-linux-gnueabihf'
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
build:
|
|
78
|
-
yarn build --platform --target armv7-unknown-linux-gnueabihf --cross-compile
|
|
79
|
-
arm-linux-gnueabihf-strip *.node
|
|
58
|
+
build: ${packageManager} build --platform --target armv7-unknown-linux-gnueabihf --use-napi-cross
|
|
59
|
+
- host: ubuntu-latest
|
|
60
|
+
target: 'armv7-unknown-linux-musleabihf'
|
|
61
|
+
build: ${packageManager} build --platform --target armv7-unknown-linux-musleabihf -x
|
|
80
62
|
- host: ubuntu-latest
|
|
81
63
|
target: 'aarch64-linux-android'
|
|
82
|
-
build:
|
|
83
|
-
yarn build --platform --target aarch64-linux-android
|
|
84
|
-
\${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
|
|
64
|
+
build: ${packageManager} build --platform --target aarch64-linux-android
|
|
85
65
|
- host: ubuntu-latest
|
|
86
66
|
target: 'armv7-linux-androideabi'
|
|
87
|
-
build:
|
|
88
|
-
yarn build --platform --target armv7-linux-androideabi
|
|
89
|
-
\${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
|
|
67
|
+
build: ${packageManager} build --platform --target armv7-linux-androideabi
|
|
90
68
|
- host: ubuntu-latest
|
|
91
69
|
target: 'aarch64-unknown-linux-musl'
|
|
92
|
-
|
|
93
|
-
build: >-
|
|
94
|
-
set -e &&\n
|
|
95
|
-
rustup target add aarch64-unknown-linux-musl &&\n
|
|
96
|
-
yarn build --platform --target aarch64-unknown-linux-musl &&\n
|
|
97
|
-
/aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node
|
|
70
|
+
build: ${packageManager} build --platform --target aarch64-unknown-linux-musl -x
|
|
98
71
|
- host: windows-latest
|
|
99
72
|
target: 'aarch64-pc-windows-msvc'
|
|
100
|
-
build:
|
|
73
|
+
build: ${packageManager} build --platform --target aarch64-pc-windows-msvc
|
|
101
74
|
- host: ubuntu-latest
|
|
102
75
|
target: 'riscv64gc-unknown-linux-gnu'
|
|
103
76
|
setup: |
|
|
104
77
|
sudo apt-get update
|
|
105
78
|
sudo apt-get install gcc-riscv64-linux-gnu -y
|
|
106
|
-
build:
|
|
107
|
-
|
|
108
|
-
|
|
79
|
+
build: ${packageManager} build --platform --target riscv64gc-unknown-linux-gnu
|
|
80
|
+
- host: ubuntu-latest
|
|
81
|
+
target: 'powerpc64le-unknown-linux-gnu'
|
|
82
|
+
setup: |
|
|
83
|
+
sudo apt-get update
|
|
84
|
+
sudo apt-get install gcc-powerpc64le-linux-gnu -y
|
|
85
|
+
build: ${packageManager} build --platform --target powerpc64le-unknown-linux-gnu
|
|
86
|
+
- host: ubuntu-latest
|
|
87
|
+
target: 's390x-unknown-linux-gnu'
|
|
88
|
+
setup: |
|
|
89
|
+
sudo apt-get update
|
|
90
|
+
sudo apt-get install gcc-s390x-linux-gnu -y
|
|
91
|
+
build: ${packageManager} build --platform --target s390x-unknown-linux-gnu
|
|
92
|
+
- host: ubuntu-latest
|
|
93
|
+
target: '${wasiTargetName}'
|
|
94
|
+
build: ${packageManager} build --platform --target ${wasiTargetName}
|
|
109
95
|
|
|
110
|
-
name: stable - \${{ matrix.settings.target }} - node@
|
|
96
|
+
name: stable - \${{ matrix.settings.target }} - node@20
|
|
111
97
|
runs-on: \${{ matrix.settings.host }}
|
|
112
98
|
|
|
113
99
|
steps:
|
|
@@ -115,33 +101,40 @@ jobs:
|
|
|
115
101
|
|
|
116
102
|
- name: Setup node
|
|
117
103
|
uses: actions/setup-node@v4
|
|
118
|
-
if: \${{ !matrix.settings.docker }}
|
|
119
104
|
with:
|
|
120
|
-
node-version:
|
|
121
|
-
cache:
|
|
105
|
+
node-version: 20
|
|
106
|
+
cache: ${packageManager}
|
|
122
107
|
|
|
123
108
|
- name: Install
|
|
124
109
|
uses: dtolnay/rust-toolchain@stable
|
|
125
|
-
if: \${{ !matrix.settings.docker }}
|
|
126
110
|
with:
|
|
127
111
|
toolchain: stable
|
|
128
112
|
targets: \${{ matrix.settings.target }}
|
|
129
113
|
|
|
130
114
|
- name: Cache cargo
|
|
131
|
-
uses: actions/cache@
|
|
115
|
+
uses: actions/cache@v4
|
|
132
116
|
with:
|
|
133
117
|
path: |
|
|
134
118
|
~/.cargo/registry/index/
|
|
135
119
|
~/.cargo/registry/cache/
|
|
136
120
|
~/.cargo/git/db/
|
|
121
|
+
~/.napi-rs
|
|
137
122
|
.cargo-cache
|
|
138
123
|
target/
|
|
139
124
|
key: \${{ matrix.settings.target }}-cargo-\${{ matrix.settings.host }}
|
|
140
125
|
|
|
141
126
|
- uses: goto-bus-stop/setup-zig@v2
|
|
142
|
-
if: \${{ matrix.settings.target
|
|
127
|
+
if: \${{ contains(matrix.settings.target, 'musl') }}
|
|
128
|
+
with:
|
|
129
|
+
version: 0.13.0
|
|
130
|
+
|
|
131
|
+
- name: Install cargo-zigbuild
|
|
132
|
+
uses: taiki-e/install-action@v2
|
|
133
|
+
if: \${{ contains(matrix.settings.target, 'musl') }}
|
|
134
|
+
env:
|
|
135
|
+
GITHUB_TOKEN: \${{ github.token }}
|
|
143
136
|
with:
|
|
144
|
-
|
|
137
|
+
tool: cargo-zigbuild
|
|
145
138
|
|
|
146
139
|
- name: Setup toolchain
|
|
147
140
|
run: \${{ matrix.settings.setup }}
|
|
@@ -154,57 +147,56 @@ jobs:
|
|
|
154
147
|
shell: bash
|
|
155
148
|
|
|
156
149
|
- name: 'Install dependencies'
|
|
157
|
-
run:
|
|
150
|
+
run: ${packageManager} install
|
|
158
151
|
|
|
159
152
|
- name: Setup node x86
|
|
160
153
|
uses: actions/setup-node@v4
|
|
161
154
|
if: matrix.settings.target == 'i686-pc-windows-msvc'
|
|
162
155
|
with:
|
|
163
|
-
node-version:
|
|
164
|
-
cache: yarn
|
|
156
|
+
node-version: 20
|
|
165
157
|
architecture: x86
|
|
166
158
|
|
|
167
|
-
- name: Build in docker
|
|
168
|
-
uses: addnab/docker-run-action@v3
|
|
169
|
-
if: \${{ matrix.settings.docker }}
|
|
170
|
-
with:
|
|
171
|
-
image: \${{ matrix.settings.docker }}
|
|
172
|
-
options: --user 0:0 -v \${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v \${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v \${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v \${{ github.workspace }}:/build -w /build
|
|
173
|
-
run: \${{ matrix.settings.build }}
|
|
174
|
-
|
|
175
159
|
- name: 'Build'
|
|
176
160
|
run: \${{ matrix.settings.build }}
|
|
177
|
-
if: \${{ !matrix.settings.docker }}
|
|
178
161
|
shell: bash
|
|
179
162
|
|
|
180
163
|
- name: Upload artifact
|
|
181
|
-
uses: actions/upload-artifact@
|
|
164
|
+
uses: actions/upload-artifact@v4
|
|
165
|
+
if: matrix.settings.target != '${wasiTargetName}'
|
|
182
166
|
with:
|
|
183
167
|
name: bindings-\${{ matrix.settings.target }}
|
|
184
168
|
path: "*.node"
|
|
185
169
|
if-no-files-found: error
|
|
186
170
|
|
|
171
|
+
- name: Upload artifact
|
|
172
|
+
uses: actions/upload-artifact@v4
|
|
173
|
+
if: matrix.settings.target == '${wasiTargetName}'
|
|
174
|
+
with:
|
|
175
|
+
name: bindings-\${{ matrix.settings.target }}
|
|
176
|
+
path: "*.wasm"
|
|
177
|
+
if-no-files-found: error
|
|
178
|
+
|
|
187
179
|
build-freebsd:
|
|
188
|
-
runs-on:
|
|
180
|
+
runs-on: ubuntu-latest
|
|
189
181
|
name: Build FreeBSD
|
|
190
182
|
steps:
|
|
191
183
|
- uses: actions/checkout@v4
|
|
192
184
|
- name: Build
|
|
193
185
|
id: build
|
|
194
|
-
uses: cross-platform-actions/action@v0.
|
|
186
|
+
uses: cross-platform-actions/action@v0.25.0
|
|
195
187
|
env:
|
|
196
188
|
DEBUG: 'napi:*'
|
|
197
189
|
RUSTUP_IO_THREADS: 1
|
|
198
190
|
with:
|
|
199
191
|
operating_system: freebsd
|
|
200
|
-
version: '
|
|
201
|
-
memory:
|
|
192
|
+
version: '14.1'
|
|
193
|
+
memory: 8G
|
|
202
194
|
cpu_count: 3
|
|
203
195
|
environment_variables: 'DEBUG RUSTUP_IO_THREADS'
|
|
204
196
|
shell: bash
|
|
205
|
-
|
|
197
|
+
run: |
|
|
206
198
|
sudo pkg install -y -f curl node libnghttp2 npm
|
|
207
|
-
sudo npm install -g
|
|
199
|
+
sudo npm install -g ${packageManager} --ignore-scripts
|
|
208
200
|
curl https://sh.rustup.rs -sSf --output rustup.sh
|
|
209
201
|
sh rustup.sh -y --profile minimal --default-toolchain stable
|
|
210
202
|
source "$HOME/.cargo/env"
|
|
@@ -219,15 +211,15 @@ jobs:
|
|
|
219
211
|
whoami
|
|
220
212
|
env
|
|
221
213
|
freebsd-version
|
|
222
|
-
|
|
223
|
-
|
|
214
|
+
${packageManager} install
|
|
215
|
+
${packageManager} build
|
|
224
216
|
strip -x *.node
|
|
225
217
|
yarn test
|
|
226
218
|
rm -rf node_modules
|
|
227
219
|
rm -rf target
|
|
228
220
|
rm -rf .yarn/cache
|
|
229
221
|
- name: Upload artifact
|
|
230
|
-
uses: actions/upload-artifact@
|
|
222
|
+
uses: actions/upload-artifact@v4
|
|
231
223
|
with:
|
|
232
224
|
name: bindings-freebsd
|
|
233
225
|
path: "*.node"
|
|
@@ -243,9 +235,13 @@ jobs:
|
|
|
243
235
|
settings:
|
|
244
236
|
- host: macos-latest
|
|
245
237
|
target: 'x86_64-apple-darwin'
|
|
238
|
+
architecture: x64
|
|
239
|
+
- host: macos-latest
|
|
240
|
+
target: 'aarch64-apple-darwin'
|
|
241
|
+
architecture: arm64
|
|
246
242
|
- host: windows-latest
|
|
247
243
|
target: 'x86_64-pc-windows-msvc'
|
|
248
|
-
|
|
244
|
+
architecture: x64
|
|
249
245
|
node: ['18', '20']
|
|
250
246
|
runs-on: \${{ matrix.settings.host }}
|
|
251
247
|
|
|
@@ -256,13 +252,14 @@ jobs:
|
|
|
256
252
|
uses: actions/setup-node@v4
|
|
257
253
|
with:
|
|
258
254
|
node-version: \${{ matrix.node }}
|
|
259
|
-
cache: '
|
|
255
|
+
cache: '${packageManager}'
|
|
256
|
+
architecture: \${{ matrix.settings.architecture }}
|
|
260
257
|
|
|
261
258
|
- name: 'Install dependencies'
|
|
262
|
-
run:
|
|
259
|
+
run: ${packageManager} install
|
|
263
260
|
|
|
264
261
|
- name: Download artifacts
|
|
265
|
-
uses: actions/download-artifact@
|
|
262
|
+
uses: actions/download-artifact@v4
|
|
266
263
|
with:
|
|
267
264
|
name: bindings-\${{ matrix.settings.target }}
|
|
268
265
|
path: .
|
|
@@ -272,7 +269,7 @@ jobs:
|
|
|
272
269
|
shell: bash
|
|
273
270
|
|
|
274
271
|
- name: Test bindings
|
|
275
|
-
run:
|
|
272
|
+
run: ${packageManager} run test
|
|
276
273
|
|
|
277
274
|
test-linux-x64-gnu-binding:
|
|
278
275
|
name: Test bindings on Linux-x64-gnu - node@\${{ matrix.node }}
|
|
@@ -281,7 +278,6 @@ jobs:
|
|
|
281
278
|
strategy:
|
|
282
279
|
fail-fast: false
|
|
283
280
|
matrix:
|
|
284
|
-
node: ['16', '18']
|
|
285
281
|
node: ['18', '20']
|
|
286
282
|
runs-on: ubuntu-latest
|
|
287
283
|
|
|
@@ -292,13 +288,13 @@ jobs:
|
|
|
292
288
|
uses: actions/setup-node@v4
|
|
293
289
|
with:
|
|
294
290
|
node-version: \${{ matrix.node }}
|
|
295
|
-
cache: '
|
|
291
|
+
cache: '${packageManager}'
|
|
296
292
|
|
|
297
293
|
- name: 'Install dependencies'
|
|
298
|
-
run:
|
|
294
|
+
run: ${packageManager} install
|
|
299
295
|
|
|
300
296
|
- name: Download artifacts
|
|
301
|
-
uses: actions/download-artifact@
|
|
297
|
+
uses: actions/download-artifact@v4
|
|
302
298
|
with:
|
|
303
299
|
name: bindings-x86_64-unknown-linux-gnu
|
|
304
300
|
path: .
|
|
@@ -308,7 +304,7 @@ jobs:
|
|
|
308
304
|
shell: bash
|
|
309
305
|
|
|
310
306
|
- name: Test bindings
|
|
311
|
-
run: docker run --rm -v $(pwd):/build -w /build node:\${{ matrix.node }}-slim
|
|
307
|
+
run: docker run --rm -v $(pwd):/build -w /build node:\${{ matrix.node }}-slim ${packageManager} run test
|
|
312
308
|
|
|
313
309
|
test-linux-x64-musl-binding:
|
|
314
310
|
name: Test bindings on x86_64-unknown-linux-musl - node@\${{ matrix.node }}
|
|
@@ -317,7 +313,6 @@ jobs:
|
|
|
317
313
|
strategy:
|
|
318
314
|
fail-fast: false
|
|
319
315
|
matrix:
|
|
320
|
-
node: ['16', '18']
|
|
321
316
|
node: ['18', '20']
|
|
322
317
|
runs-on: ubuntu-latest
|
|
323
318
|
|
|
@@ -328,15 +323,15 @@ jobs:
|
|
|
328
323
|
uses: actions/setup-node@v4
|
|
329
324
|
with:
|
|
330
325
|
node-version: \${{ matrix.node }}
|
|
331
|
-
cache: '
|
|
326
|
+
cache: '${packageManager}'
|
|
332
327
|
|
|
333
328
|
- name: 'Install dependencies'
|
|
334
329
|
run: |
|
|
335
330
|
yarn config set supportedArchitectures.libc "musl"
|
|
336
|
-
|
|
331
|
+
${packageManager} install
|
|
337
332
|
|
|
338
333
|
- name: Download artifacts
|
|
339
|
-
uses: actions/download-artifact@
|
|
334
|
+
uses: actions/download-artifact@v4
|
|
340
335
|
with:
|
|
341
336
|
name: bindings-x86_64-unknown-linux-musl
|
|
342
337
|
path: .
|
|
@@ -346,7 +341,7 @@ jobs:
|
|
|
346
341
|
shell: bash
|
|
347
342
|
|
|
348
343
|
- name: Test bindings
|
|
349
|
-
run: docker run --rm -v $(pwd):/build -w /build node:\${{ matrix.node }}-alpine
|
|
344
|
+
run: docker run --rm -v $(pwd):/build -w /build node:\${{ matrix.node }}-alpine ${packageManager} run test
|
|
350
345
|
|
|
351
346
|
test-linux-aarch64-gnu-binding:
|
|
352
347
|
name: Test bindings on aarch64-unknown-linux-gnu - node@\${{ matrix.node }}
|
|
@@ -355,15 +350,14 @@ jobs:
|
|
|
355
350
|
strategy:
|
|
356
351
|
fail-fast: false
|
|
357
352
|
matrix:
|
|
358
|
-
node: ['
|
|
359
|
-
node: ['18', '20']
|
|
353
|
+
node: ['20']
|
|
360
354
|
runs-on: ubuntu-latest
|
|
361
355
|
|
|
362
356
|
steps:
|
|
363
357
|
- uses: actions/checkout@v4
|
|
364
358
|
|
|
365
359
|
- name: Download artifacts
|
|
366
|
-
uses: actions/download-artifact@
|
|
360
|
+
uses: actions/download-artifact@v4
|
|
367
361
|
with:
|
|
368
362
|
name: bindings-aarch64-unknown-linux-gnu
|
|
369
363
|
path: .
|
|
@@ -376,7 +370,7 @@ jobs:
|
|
|
376
370
|
run: |
|
|
377
371
|
yarn config set supportedArchitectures.cpu "arm64"
|
|
378
372
|
yarn config set supportedArchitectures.libc "glibc"
|
|
379
|
-
|
|
373
|
+
${packageManager} install
|
|
380
374
|
|
|
381
375
|
- name: Set up QEMU
|
|
382
376
|
uses: docker/setup-qemu-action@v3
|
|
@@ -389,10 +383,7 @@ jobs:
|
|
|
389
383
|
with:
|
|
390
384
|
image: node:\${{ matrix.node }}-slim
|
|
391
385
|
options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
|
|
392
|
-
run:
|
|
393
|
-
set -e
|
|
394
|
-
yarn test
|
|
395
|
-
ls -la
|
|
386
|
+
run: ${packageManager} run test
|
|
396
387
|
|
|
397
388
|
test-linux-aarch64-musl-binding:
|
|
398
389
|
name: Test bindings on aarch64-unknown-linux-musl - node@\${{ matrix.node }}
|
|
@@ -401,7 +392,7 @@ jobs:
|
|
|
401
392
|
strategy:
|
|
402
393
|
fail-fast: false
|
|
403
394
|
matrix:
|
|
404
|
-
node: ['
|
|
395
|
+
node: ['18', '20']
|
|
405
396
|
|
|
406
397
|
runs-on: ubuntu-latest
|
|
407
398
|
|
|
@@ -409,7 +400,7 @@ jobs:
|
|
|
409
400
|
- uses: actions/checkout@v4
|
|
410
401
|
|
|
411
402
|
- name: Download artifacts
|
|
412
|
-
uses: actions/download-artifact@
|
|
403
|
+
uses: actions/download-artifact@v4
|
|
413
404
|
with:
|
|
414
405
|
name: bindings-aarch64-unknown-linux-musl
|
|
415
406
|
path: .
|
|
@@ -422,7 +413,7 @@ jobs:
|
|
|
422
413
|
run: |
|
|
423
414
|
yarn config set supportedArchitectures.cpu "arm64"
|
|
424
415
|
yarn config set supportedArchitectures.libc "musl"
|
|
425
|
-
|
|
416
|
+
${packageManager} install
|
|
426
417
|
|
|
427
418
|
- name: Set up QEMU
|
|
428
419
|
uses: docker/setup-qemu-action@v3
|
|
@@ -435,9 +426,7 @@ jobs:
|
|
|
435
426
|
with:
|
|
436
427
|
image: node:\${{ matrix.node }}-alpine
|
|
437
428
|
options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
|
|
438
|
-
run:
|
|
439
|
-
set -e
|
|
440
|
-
yarn test
|
|
429
|
+
run: ${packageManager} run test
|
|
441
430
|
|
|
442
431
|
test-linux-arm-gnueabihf-binding:
|
|
443
432
|
name: Test bindings on armv7-unknown-linux-gnueabihf - node@\${{ matrix.node }}
|
|
@@ -446,7 +435,6 @@ jobs:
|
|
|
446
435
|
strategy:
|
|
447
436
|
fail-fast: false
|
|
448
437
|
matrix:
|
|
449
|
-
node: ['16', '18']
|
|
450
438
|
node: ['18', '20']
|
|
451
439
|
runs-on: ubuntu-latest
|
|
452
440
|
|
|
@@ -454,7 +442,7 @@ jobs:
|
|
|
454
442
|
- uses: actions/checkout@v4
|
|
455
443
|
|
|
456
444
|
- name: Download artifacts
|
|
457
|
-
uses: actions/download-artifact@
|
|
445
|
+
uses: actions/download-artifact@v4
|
|
458
446
|
with:
|
|
459
447
|
name: bindings-armv7-unknown-linux-gnueabihf
|
|
460
448
|
path: .
|
|
@@ -466,7 +454,7 @@ jobs:
|
|
|
466
454
|
- name: Install dependencies
|
|
467
455
|
run: |
|
|
468
456
|
yarn config set supportedArchitectures.cpu "arm"
|
|
469
|
-
|
|
457
|
+
${packageManager} install
|
|
470
458
|
|
|
471
459
|
- name: Set up QEMU
|
|
472
460
|
uses: docker/setup-qemu-action@v3
|
|
@@ -479,10 +467,7 @@ jobs:
|
|
|
479
467
|
with:
|
|
480
468
|
image: node:\${{ matrix.node }}-bullseye-slim
|
|
481
469
|
options: --platform linux/arm/v7 -v \${{ github.workspace }}:/build -w /build
|
|
482
|
-
run:
|
|
483
|
-
set -e
|
|
484
|
-
yarn test
|
|
485
|
-
ls -la
|
|
470
|
+
run: ${packageManager} test
|
|
486
471
|
|
|
487
472
|
universal-macOS:
|
|
488
473
|
name: Build universal macOS binary
|
|
@@ -496,33 +481,62 @@ jobs:
|
|
|
496
481
|
- name: Setup node
|
|
497
482
|
uses: actions/setup-node@v4
|
|
498
483
|
with:
|
|
499
|
-
node-version:
|
|
500
|
-
cache:
|
|
484
|
+
node-version: 20
|
|
485
|
+
cache: ${packageManager}
|
|
501
486
|
|
|
502
487
|
- name: 'Install dependencies'
|
|
503
|
-
run:
|
|
488
|
+
run: ${packageManager} install
|
|
504
489
|
|
|
505
490
|
- name: Download macOS x64 artifact
|
|
506
|
-
uses: actions/download-artifact@
|
|
491
|
+
uses: actions/download-artifact@v4
|
|
507
492
|
with:
|
|
508
493
|
name: bindings-x86_64-apple-darwin
|
|
509
494
|
path: .
|
|
510
495
|
- name: Download macOS arm64 artifact
|
|
511
|
-
uses: actions/download-artifact@
|
|
496
|
+
uses: actions/download-artifact@v4
|
|
512
497
|
with:
|
|
513
498
|
name: bindings-aarch64-apple-darwin
|
|
514
499
|
path: .
|
|
515
500
|
|
|
516
501
|
- name: Combine binaries
|
|
517
|
-
run:
|
|
502
|
+
run: ${packageManager} napi universalize
|
|
518
503
|
|
|
519
504
|
- name: Upload artifact
|
|
520
|
-
uses: actions/upload-artifact@
|
|
505
|
+
uses: actions/upload-artifact@v4
|
|
521
506
|
with:
|
|
522
507
|
name: bindings-universal-apple-darwin
|
|
523
508
|
path: "*.node"
|
|
524
509
|
if-no-files-found: error
|
|
525
510
|
|
|
511
|
+
test-wasi-nodejs:
|
|
512
|
+
name: Test bindings on wasi - node@\${{ matrix.node }}
|
|
513
|
+
needs:
|
|
514
|
+
- build
|
|
515
|
+
strategy:
|
|
516
|
+
fail-fast: false
|
|
517
|
+
matrix:
|
|
518
|
+
node: ['18', '20']
|
|
519
|
+
runs-on: ubuntu-latest
|
|
520
|
+
steps:
|
|
521
|
+
- uses: actions/checkout@v4
|
|
522
|
+
- name: Download artifacts
|
|
523
|
+
uses: actions/download-artifact@v4
|
|
524
|
+
with:
|
|
525
|
+
name: bindings-${wasiTargetName}
|
|
526
|
+
path: .
|
|
527
|
+
- name: List packages
|
|
528
|
+
run: ls -R .
|
|
529
|
+
- uses: actions/setup-node@v4
|
|
530
|
+
with:
|
|
531
|
+
node-version: \${{ matrix.node }}
|
|
532
|
+
cache: ${packageManager}
|
|
533
|
+
- name: 'Install dependencies'
|
|
534
|
+
run: ${packageManager} install
|
|
535
|
+
- name: Test
|
|
536
|
+
run: ${packageManager} test
|
|
537
|
+
env:
|
|
538
|
+
NAPI_RS_FORCE_WASI: true
|
|
539
|
+
|
|
526
540
|
publish:
|
|
527
541
|
name: Publish
|
|
528
542
|
runs-on: ubuntu-latest
|
|
@@ -533,6 +547,7 @@ jobs:
|
|
|
533
547
|
- test-linux-arm-gnueabihf-binding
|
|
534
548
|
- test-macOS-windows-binding
|
|
535
549
|
- test-linux-aarch64-musl-binding
|
|
550
|
+
- test-wasi-nodejs
|
|
536
551
|
- build-freebsd
|
|
537
552
|
|
|
538
553
|
steps:
|
|
@@ -541,20 +556,20 @@ jobs:
|
|
|
541
556
|
- name: Setup node
|
|
542
557
|
uses: actions/setup-node@v4
|
|
543
558
|
with:
|
|
544
|
-
node-version:
|
|
545
|
-
cache: '
|
|
559
|
+
node-version: 20
|
|
560
|
+
cache: '${packageManager}'
|
|
546
561
|
registry-url: 'https://registry.npmjs.org'
|
|
547
562
|
|
|
548
563
|
- name: 'Install dependencies'
|
|
549
|
-
run:
|
|
564
|
+
run: ${packageManager} install
|
|
550
565
|
|
|
551
566
|
- name: Download all artifacts
|
|
552
|
-
uses: actions/download-artifact@
|
|
567
|
+
uses: actions/download-artifact@v4
|
|
553
568
|
with:
|
|
554
569
|
path: artifacts
|
|
555
570
|
|
|
556
571
|
- name: Move artifacts
|
|
557
|
-
run:
|
|
572
|
+
run: ${packageManager} artifacts
|
|
558
573
|
|
|
559
574
|
- name: List packages
|
|
560
575
|
run: ls -R ./npm
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-template.js","sourceRoot":"","sources":["../../../src/api/templates/ci-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ci-template.js","sourceRoot":"","sources":["../../../src/api/templates/ci-template.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,cAAuC,EACvC,cAA8B,EAC9B,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkCgB,cAAc;;qBAEd,cAAc;;;;gBAInB,cAAc;gBACd,cAAc;;;;qBAIT,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;qBAGd,cAAc;;;;;;qBAMd,cAAc;;;;;;qBAMd,cAAc;;;;;;qBAMd,cAAc;;uBAEZ,cAAc;qBAChB,cAAc,8BAA8B,cAAc;;;;;;;;;;;;mBAY5D,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4ClB,cAAc;;;;;;;;;;;;;;;yCAeY,cAAc;;;;;;;;yCAQd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0BrB,cAAc;;;;;;;;;;;;;;;cAelC,cAAc;cACd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAwCR,cAAc;;;;eAInB,cAAc;;;;;;;;;;;;;eAad,cAAc;;;;;;;;;;;;;;;;;;;oBAmBT,cAAc;;;eAGnB,cAAc;;;;;;;;;;;;;wFAa2D,cAAc;;;;;;;;;;;;;;;;;;;oBAmBlF,cAAc;;;;;YAKtB,cAAc;;;;;;;;;;;;;0FAagE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6B5F,cAAc;;;;;;;;;;;;;iBAaT,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA8BnB,cAAc;;;;;;;;;;;;;iBAaT,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA4BnB,cAAc;;;;;;;;;;;;;iBAaT,cAAc;;;;;;;;;;;;;;;mBAeZ,cAAc;;;eAGlB,cAAc;;;;;;;;;;;;;;eAcd,cAAc;;;;;;;;;;;;;;;;;;;;;;;2BAuBF,cAAc;;;;;;;mBAOtB,cAAc;;eAElB,cAAc;;eAEd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;oBAwBT,cAAc;;;;eAInB,cAAc;;;;;;;;eAQd,cAAc;;;;;;;;;;;;;;;;;;;;CAoB5B,CAAA"}
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { type SupportedPackageManager } from '../../utils/index.js';
|
|
2
|
+
import { type WasiTargetName } from './ci-template.js';
|
|
3
|
+
export declare const createGithubActionsCIYml: (targets: string[], packageManager: SupportedPackageManager, wasiTargetName: WasiTargetName) => string;
|
|
@@ -8,8 +8,9 @@ const TEST_LINUX_X64_MUSL = 'test-linux-x64-musl-binding';
|
|
|
8
8
|
const TEST_LINUX_AARCH64_GNU = 'test-linux-aarch64-gnu-binding';
|
|
9
9
|
const TEST_LINUX_AARCH64_MUSL = 'test-linux-aarch64-musl-binding';
|
|
10
10
|
const TEST_LINUX_ARM_GNUEABIHF = 'test-linux-arm-gnueabihf-binding';
|
|
11
|
+
const TEST_WASI = 'test-wasi-nodejs';
|
|
11
12
|
const UNIVERSAL_MACOS = 'universal-macOS';
|
|
12
|
-
export const createGithubActionsCIYml = (targets) => {
|
|
13
|
+
export const createGithubActionsCIYml = (targets, packageManager, wasiTargetName) => {
|
|
13
14
|
const allTargets = new Set(targets.flatMap((t) => {
|
|
14
15
|
const platform = parseTriple(t);
|
|
15
16
|
if (platform.arch === 'universal') {
|
|
@@ -18,7 +19,7 @@ export const createGithubActionsCIYml = (targets) => {
|
|
|
18
19
|
}
|
|
19
20
|
return [t];
|
|
20
21
|
}));
|
|
21
|
-
const fullTemplate = load(YAML());
|
|
22
|
+
const fullTemplate = load(YAML(packageManager, wasiTargetName));
|
|
22
23
|
const requiredSteps = [];
|
|
23
24
|
const enableWindowsX86 = allTargets.has('x86_64-pc-windows-msvc');
|
|
24
25
|
const enableMacOSX86 = allTargets.has('x86_64-apple-darwin');
|
|
@@ -29,6 +30,9 @@ export const createGithubActionsCIYml = (targets) => {
|
|
|
29
30
|
const enableLinuxArm7 = allTargets.has('armv7-unknown-linux-gnueabihf');
|
|
30
31
|
const enableFreeBSD = allTargets.has('x86_64-unknown-freebsd');
|
|
31
32
|
const enableMacOSUni = allTargets.has('universal-apple-darwin');
|
|
33
|
+
const enableWasi = allTargets.has('wasm32-wasi-preview1-threads') ||
|
|
34
|
+
allTargets.has('wasm32-wasip1-threads') ||
|
|
35
|
+
allTargets.has('wasm32-wasip2');
|
|
32
36
|
fullTemplate.jobs.build.strategy.matrix.settings =
|
|
33
37
|
fullTemplate.jobs.build.strategy.matrix.settings.filter(({ target }) => allTargets.has(target));
|
|
34
38
|
if (!fullTemplate.jobs.build.strategy.matrix.settings.length) {
|
|
@@ -91,9 +95,21 @@ export const createGithubActionsCIYml = (targets) => {
|
|
|
91
95
|
else {
|
|
92
96
|
requiredSteps.push(UNIVERSAL_MACOS);
|
|
93
97
|
}
|
|
98
|
+
if (!enableWasi) {
|
|
99
|
+
delete fullTemplate.jobs[TEST_WASI];
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
requiredSteps.push(TEST_WASI);
|
|
103
|
+
}
|
|
94
104
|
fullTemplate.jobs.publish.needs = requiredSteps;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
105
|
+
try {
|
|
106
|
+
return dump(fullTemplate, {
|
|
107
|
+
lineWidth: 1000,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.info(fullTemplate);
|
|
112
|
+
throw err;
|
|
113
|
+
}
|
|
98
114
|
};
|
|
99
115
|
//# sourceMappingURL=ci.yml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci.yml.js","sourceRoot":"","sources":["../../../src/api/templates/ci.yml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,aAAa,
|
|
1
|
+
{"version":3,"file":"ci.yml.js","sourceRoot":"","sources":["../../../src/api/templates/ci.yml.ts"],"names":[],"mappings":"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"}
|