@napi-rs/cli 3.0.0-alpha.6 → 3.0.0-alpha.60
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/artifacts.js +28 -7
- package/dist/api/artifacts.js.map +1 -1
- package/dist/api/build.js +220 -39
- package/dist/api/build.js.map +1 -1
- package/dist/api/create-npm-dirs.js +45 -8
- package/dist/api/create-npm-dirs.js.map +1 -1
- package/dist/api/new.js +57 -20
- 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 +9 -1
- package/dist/api/rename.js.map +1 -1
- package/dist/api/templates/ci-template.d.ts +3 -1
- package/dist/api/templates/ci-template.js +124 -124
- 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.js +104 -214
- package/dist/api/templates/js-binding.js.map +1 -1
- package/dist/api/templates/lib.rs.js +1 -4
- package/dist/api/templates/lib.rs.js.map +1 -1
- package/dist/api/templates/load-wasi-template.d.ts +2 -0
- package/dist/api/templates/load-wasi-template.js +166 -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 +30 -8
- 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 +22 -4
- package/dist/def/build.js +16 -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 +8143 -14638
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- 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/__tests__/typegen.spec.js +8 -4
- package/dist/utils/__tests__/typegen.spec.js.map +1 -1
- package/dist/utils/cargo.js +1 -1
- package/dist/utils/cargo.js.map +1 -1
- package/dist/utils/config.d.ts +49 -5
- package/dist/utils/config.js +38 -6
- package/dist/utils/config.js.map +1 -1
- 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/metadata.js +2 -2
- package/dist/utils/metadata.js.map +1 -1
- package/dist/utils/misc.d.ts +1 -2
- package/dist/utils/misc.js +3 -3
- package/dist/utils/misc.js.map +1 -1
- 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 +29 -9
- 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 +25 -24
- package/src/api/artifacts.ts +81 -9
- package/src/api/build.ts +379 -58
- package/src/api/create-npm-dirs.ts +56 -8
- package/src/api/new.ts +89 -31
- package/src/api/pre-publish.ts +13 -7
- package/src/api/rename.ts +10 -1
- package/src/api/templates/ci-template.ts +134 -124
- package/src/api/templates/ci.yml.ts +27 -6
- package/src/api/templates/js-binding.ts +105 -214
- package/src/api/templates/lib.rs.ts +1 -4
- package/src/api/templates/load-wasi-template.ts +180 -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 +31 -8
- package/src/def/artifacts.ts +22 -3
- package/src/def/build.ts +36 -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/index.ts +2 -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 +713 -158
- 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/__tests__/typegen.spec.ts +18 -3
- package/src/utils/cargo.ts +1 -1
- package/src/utils/config.ts +114 -12
- package/src/utils/index.ts +0 -1
- package/src/utils/metadata.ts +2 -2
- package/src/utils/misc.ts +11 -3
- package/src/utils/target.ts +22 -4
- package/src/utils/typegen.ts +37 -8
- 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 -63
- 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 -65
- 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,14 +101,12 @@ 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 }}
|
|
@@ -134,14 +118,15 @@ jobs:
|
|
|
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') }}
|
|
143
128
|
with:
|
|
144
|
-
version: 0.
|
|
129
|
+
version: 0.12.0
|
|
145
130
|
|
|
146
131
|
- name: Setup toolchain
|
|
147
132
|
run: \${{ matrix.settings.setup }}
|
|
@@ -154,36 +139,35 @@ jobs:
|
|
|
154
139
|
shell: bash
|
|
155
140
|
|
|
156
141
|
- name: 'Install dependencies'
|
|
157
|
-
run:
|
|
142
|
+
run: ${packageManager} install
|
|
158
143
|
|
|
159
144
|
- name: Setup node x86
|
|
160
145
|
uses: actions/setup-node@v4
|
|
161
146
|
if: matrix.settings.target == 'i686-pc-windows-msvc'
|
|
162
147
|
with:
|
|
163
|
-
node-version:
|
|
164
|
-
cache: yarn
|
|
148
|
+
node-version: 20
|
|
165
149
|
architecture: x86
|
|
166
150
|
|
|
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
151
|
- name: 'Build'
|
|
176
152
|
run: \${{ matrix.settings.build }}
|
|
177
|
-
if: \${{ !matrix.settings.docker }}
|
|
178
153
|
shell: bash
|
|
179
154
|
|
|
180
155
|
- name: Upload artifact
|
|
181
|
-
uses: actions/upload-artifact@
|
|
156
|
+
uses: actions/upload-artifact@v4
|
|
157
|
+
if: matrix.settings.target != '${wasiTargetName}'
|
|
182
158
|
with:
|
|
183
159
|
name: bindings-\${{ matrix.settings.target }}
|
|
184
160
|
path: "*.node"
|
|
185
161
|
if-no-files-found: error
|
|
186
162
|
|
|
163
|
+
- name: Upload artifact
|
|
164
|
+
uses: actions/upload-artifact@v4
|
|
165
|
+
if: matrix.settings.target == '${wasiTargetName}'
|
|
166
|
+
with:
|
|
167
|
+
name: bindings-\${{ matrix.settings.target }}
|
|
168
|
+
path: "*.wasm"
|
|
169
|
+
if-no-files-found: error
|
|
170
|
+
|
|
187
171
|
build-freebsd:
|
|
188
172
|
runs-on: macos-12
|
|
189
173
|
name: Build FreeBSD
|
|
@@ -191,20 +175,21 @@ jobs:
|
|
|
191
175
|
- uses: actions/checkout@v4
|
|
192
176
|
- name: Build
|
|
193
177
|
id: build
|
|
194
|
-
uses: cross-platform-actions/action@v0.
|
|
178
|
+
uses: cross-platform-actions/action@v0.23.0
|
|
179
|
+
timeout-minutes: 30
|
|
195
180
|
env:
|
|
196
181
|
DEBUG: 'napi:*'
|
|
197
182
|
RUSTUP_IO_THREADS: 1
|
|
198
183
|
with:
|
|
199
184
|
operating_system: freebsd
|
|
200
185
|
version: '13.2'
|
|
201
|
-
memory:
|
|
186
|
+
memory: 8G
|
|
202
187
|
cpu_count: 3
|
|
203
188
|
environment_variables: 'DEBUG RUSTUP_IO_THREADS'
|
|
204
189
|
shell: bash
|
|
205
|
-
|
|
190
|
+
run: |
|
|
206
191
|
sudo pkg install -y -f curl node libnghttp2 npm
|
|
207
|
-
sudo npm install -g
|
|
192
|
+
sudo npm install -g ${packageManager} --ignore-scripts
|
|
208
193
|
curl https://sh.rustup.rs -sSf --output rustup.sh
|
|
209
194
|
sh rustup.sh -y --profile minimal --default-toolchain stable
|
|
210
195
|
source "$HOME/.cargo/env"
|
|
@@ -219,15 +204,15 @@ jobs:
|
|
|
219
204
|
whoami
|
|
220
205
|
env
|
|
221
206
|
freebsd-version
|
|
222
|
-
|
|
223
|
-
|
|
207
|
+
${packageManager} install
|
|
208
|
+
${packageManager} build
|
|
224
209
|
strip -x *.node
|
|
225
210
|
yarn test
|
|
226
211
|
rm -rf node_modules
|
|
227
212
|
rm -rf target
|
|
228
213
|
rm -rf .yarn/cache
|
|
229
214
|
- name: Upload artifact
|
|
230
|
-
uses: actions/upload-artifact@
|
|
215
|
+
uses: actions/upload-artifact@v4
|
|
231
216
|
with:
|
|
232
217
|
name: bindings-freebsd
|
|
233
218
|
path: "*.node"
|
|
@@ -245,7 +230,6 @@ jobs:
|
|
|
245
230
|
target: 'x86_64-apple-darwin'
|
|
246
231
|
- host: windows-latest
|
|
247
232
|
target: 'x86_64-pc-windows-msvc'
|
|
248
|
-
node: ['16', '18']
|
|
249
233
|
node: ['18', '20']
|
|
250
234
|
runs-on: \${{ matrix.settings.host }}
|
|
251
235
|
|
|
@@ -256,13 +240,13 @@ jobs:
|
|
|
256
240
|
uses: actions/setup-node@v4
|
|
257
241
|
with:
|
|
258
242
|
node-version: \${{ matrix.node }}
|
|
259
|
-
cache: '
|
|
243
|
+
cache: '${packageManager}'
|
|
260
244
|
|
|
261
245
|
- name: 'Install dependencies'
|
|
262
|
-
run:
|
|
246
|
+
run: ${packageManager} install
|
|
263
247
|
|
|
264
248
|
- name: Download artifacts
|
|
265
|
-
uses: actions/download-artifact@
|
|
249
|
+
uses: actions/download-artifact@v4
|
|
266
250
|
with:
|
|
267
251
|
name: bindings-\${{ matrix.settings.target }}
|
|
268
252
|
path: .
|
|
@@ -272,7 +256,7 @@ jobs:
|
|
|
272
256
|
shell: bash
|
|
273
257
|
|
|
274
258
|
- name: Test bindings
|
|
275
|
-
run:
|
|
259
|
+
run: ${packageManager} test
|
|
276
260
|
|
|
277
261
|
test-linux-x64-gnu-binding:
|
|
278
262
|
name: Test bindings on Linux-x64-gnu - node@\${{ matrix.node }}
|
|
@@ -281,7 +265,6 @@ jobs:
|
|
|
281
265
|
strategy:
|
|
282
266
|
fail-fast: false
|
|
283
267
|
matrix:
|
|
284
|
-
node: ['16', '18']
|
|
285
268
|
node: ['18', '20']
|
|
286
269
|
runs-on: ubuntu-latest
|
|
287
270
|
|
|
@@ -292,13 +275,13 @@ jobs:
|
|
|
292
275
|
uses: actions/setup-node@v4
|
|
293
276
|
with:
|
|
294
277
|
node-version: \${{ matrix.node }}
|
|
295
|
-
cache: '
|
|
278
|
+
cache: '${packageManager}'
|
|
296
279
|
|
|
297
280
|
- name: 'Install dependencies'
|
|
298
|
-
run:
|
|
281
|
+
run: ${packageManager} install
|
|
299
282
|
|
|
300
283
|
- name: Download artifacts
|
|
301
|
-
uses: actions/download-artifact@
|
|
284
|
+
uses: actions/download-artifact@v4
|
|
302
285
|
with:
|
|
303
286
|
name: bindings-x86_64-unknown-linux-gnu
|
|
304
287
|
path: .
|
|
@@ -317,7 +300,6 @@ jobs:
|
|
|
317
300
|
strategy:
|
|
318
301
|
fail-fast: false
|
|
319
302
|
matrix:
|
|
320
|
-
node: ['16', '18']
|
|
321
303
|
node: ['18', '20']
|
|
322
304
|
runs-on: ubuntu-latest
|
|
323
305
|
|
|
@@ -333,10 +315,10 @@ jobs:
|
|
|
333
315
|
- name: 'Install dependencies'
|
|
334
316
|
run: |
|
|
335
317
|
yarn config set supportedArchitectures.libc "musl"
|
|
336
|
-
|
|
318
|
+
${packageManager} install
|
|
337
319
|
|
|
338
320
|
- name: Download artifacts
|
|
339
|
-
uses: actions/download-artifact@
|
|
321
|
+
uses: actions/download-artifact@v4
|
|
340
322
|
with:
|
|
341
323
|
name: bindings-x86_64-unknown-linux-musl
|
|
342
324
|
path: .
|
|
@@ -355,15 +337,14 @@ jobs:
|
|
|
355
337
|
strategy:
|
|
356
338
|
fail-fast: false
|
|
357
339
|
matrix:
|
|
358
|
-
node: ['
|
|
359
|
-
node: ['18', '20']
|
|
340
|
+
node: ['20']
|
|
360
341
|
runs-on: ubuntu-latest
|
|
361
342
|
|
|
362
343
|
steps:
|
|
363
344
|
- uses: actions/checkout@v4
|
|
364
345
|
|
|
365
346
|
- name: Download artifacts
|
|
366
|
-
uses: actions/download-artifact@
|
|
347
|
+
uses: actions/download-artifact@v4
|
|
367
348
|
with:
|
|
368
349
|
name: bindings-aarch64-unknown-linux-gnu
|
|
369
350
|
path: .
|
|
@@ -376,7 +357,7 @@ jobs:
|
|
|
376
357
|
run: |
|
|
377
358
|
yarn config set supportedArchitectures.cpu "arm64"
|
|
378
359
|
yarn config set supportedArchitectures.libc "glibc"
|
|
379
|
-
|
|
360
|
+
${packageManager} install
|
|
380
361
|
|
|
381
362
|
- name: Set up QEMU
|
|
382
363
|
uses: docker/setup-qemu-action@v3
|
|
@@ -389,10 +370,7 @@ jobs:
|
|
|
389
370
|
with:
|
|
390
371
|
image: node:\${{ matrix.node }}-slim
|
|
391
372
|
options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
|
|
392
|
-
run:
|
|
393
|
-
set -e
|
|
394
|
-
yarn test
|
|
395
|
-
ls -la
|
|
373
|
+
run: yarn test
|
|
396
374
|
|
|
397
375
|
test-linux-aarch64-musl-binding:
|
|
398
376
|
name: Test bindings on aarch64-unknown-linux-musl - node@\${{ matrix.node }}
|
|
@@ -401,7 +379,7 @@ jobs:
|
|
|
401
379
|
strategy:
|
|
402
380
|
fail-fast: false
|
|
403
381
|
matrix:
|
|
404
|
-
node: ['
|
|
382
|
+
node: ['18', '20']
|
|
405
383
|
|
|
406
384
|
runs-on: ubuntu-latest
|
|
407
385
|
|
|
@@ -409,7 +387,7 @@ jobs:
|
|
|
409
387
|
- uses: actions/checkout@v4
|
|
410
388
|
|
|
411
389
|
- name: Download artifacts
|
|
412
|
-
uses: actions/download-artifact@
|
|
390
|
+
uses: actions/download-artifact@v4
|
|
413
391
|
with:
|
|
414
392
|
name: bindings-aarch64-unknown-linux-musl
|
|
415
393
|
path: .
|
|
@@ -422,7 +400,7 @@ jobs:
|
|
|
422
400
|
run: |
|
|
423
401
|
yarn config set supportedArchitectures.cpu "arm64"
|
|
424
402
|
yarn config set supportedArchitectures.libc "musl"
|
|
425
|
-
|
|
403
|
+
${packageManager} install
|
|
426
404
|
|
|
427
405
|
- name: Set up QEMU
|
|
428
406
|
uses: docker/setup-qemu-action@v3
|
|
@@ -435,9 +413,7 @@ jobs:
|
|
|
435
413
|
with:
|
|
436
414
|
image: node:\${{ matrix.node }}-alpine
|
|
437
415
|
options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
|
|
438
|
-
run:
|
|
439
|
-
set -e
|
|
440
|
-
yarn test
|
|
416
|
+
run: yarn test
|
|
441
417
|
|
|
442
418
|
test-linux-arm-gnueabihf-binding:
|
|
443
419
|
name: Test bindings on armv7-unknown-linux-gnueabihf - node@\${{ matrix.node }}
|
|
@@ -446,7 +422,6 @@ jobs:
|
|
|
446
422
|
strategy:
|
|
447
423
|
fail-fast: false
|
|
448
424
|
matrix:
|
|
449
|
-
node: ['16', '18']
|
|
450
425
|
node: ['18', '20']
|
|
451
426
|
runs-on: ubuntu-latest
|
|
452
427
|
|
|
@@ -454,7 +429,7 @@ jobs:
|
|
|
454
429
|
- uses: actions/checkout@v4
|
|
455
430
|
|
|
456
431
|
- name: Download artifacts
|
|
457
|
-
uses: actions/download-artifact@
|
|
432
|
+
uses: actions/download-artifact@v4
|
|
458
433
|
with:
|
|
459
434
|
name: bindings-armv7-unknown-linux-gnueabihf
|
|
460
435
|
path: .
|
|
@@ -466,7 +441,7 @@ jobs:
|
|
|
466
441
|
- name: Install dependencies
|
|
467
442
|
run: |
|
|
468
443
|
yarn config set supportedArchitectures.cpu "arm"
|
|
469
|
-
|
|
444
|
+
${packageManager} install
|
|
470
445
|
|
|
471
446
|
- name: Set up QEMU
|
|
472
447
|
uses: docker/setup-qemu-action@v3
|
|
@@ -479,10 +454,7 @@ jobs:
|
|
|
479
454
|
with:
|
|
480
455
|
image: node:\${{ matrix.node }}-bullseye-slim
|
|
481
456
|
options: --platform linux/arm/v7 -v \${{ github.workspace }}:/build -w /build
|
|
482
|
-
run:
|
|
483
|
-
set -e
|
|
484
|
-
yarn test
|
|
485
|
-
ls -la
|
|
457
|
+
run: ${packageManager} test
|
|
486
458
|
|
|
487
459
|
universal-macOS:
|
|
488
460
|
name: Build universal macOS binary
|
|
@@ -496,33 +468,62 @@ jobs:
|
|
|
496
468
|
- name: Setup node
|
|
497
469
|
uses: actions/setup-node@v4
|
|
498
470
|
with:
|
|
499
|
-
node-version:
|
|
500
|
-
cache:
|
|
471
|
+
node-version: 20
|
|
472
|
+
cache: ${packageManager}
|
|
501
473
|
|
|
502
474
|
- name: 'Install dependencies'
|
|
503
|
-
run:
|
|
475
|
+
run: ${packageManager} install
|
|
504
476
|
|
|
505
477
|
- name: Download macOS x64 artifact
|
|
506
|
-
uses: actions/download-artifact@
|
|
478
|
+
uses: actions/download-artifact@v4
|
|
507
479
|
with:
|
|
508
480
|
name: bindings-x86_64-apple-darwin
|
|
509
481
|
path: .
|
|
510
482
|
- name: Download macOS arm64 artifact
|
|
511
|
-
uses: actions/download-artifact@
|
|
483
|
+
uses: actions/download-artifact@v4
|
|
512
484
|
with:
|
|
513
485
|
name: bindings-aarch64-apple-darwin
|
|
514
486
|
path: .
|
|
515
487
|
|
|
516
488
|
- name: Combine binaries
|
|
517
|
-
run:
|
|
489
|
+
run: ${packageManager} napi universalize
|
|
518
490
|
|
|
519
491
|
- name: Upload artifact
|
|
520
|
-
uses: actions/upload-artifact@
|
|
492
|
+
uses: actions/upload-artifact@v4
|
|
521
493
|
with:
|
|
522
494
|
name: bindings-universal-apple-darwin
|
|
523
495
|
path: "*.node"
|
|
524
496
|
if-no-files-found: error
|
|
525
497
|
|
|
498
|
+
test-wasi-nodejs:
|
|
499
|
+
name: Test bindings on wasi - node@\${{ matrix.node }}
|
|
500
|
+
needs:
|
|
501
|
+
- build
|
|
502
|
+
strategy:
|
|
503
|
+
fail-fast: false
|
|
504
|
+
matrix:
|
|
505
|
+
node: ['18', '20']
|
|
506
|
+
runs-on: ubuntu-latest
|
|
507
|
+
steps:
|
|
508
|
+
- uses: actions/checkout@v4
|
|
509
|
+
- name: Download artifacts
|
|
510
|
+
uses: actions/download-artifact@v4
|
|
511
|
+
with:
|
|
512
|
+
name: bindings-${wasiTargetName}
|
|
513
|
+
path: .
|
|
514
|
+
- name: List packages
|
|
515
|
+
run: ls -R .
|
|
516
|
+
- uses: actions/setup-node@v4
|
|
517
|
+
with:
|
|
518
|
+
node-version: \${{ matrix.node }}
|
|
519
|
+
cache: ${packageManager}
|
|
520
|
+
- name: 'Install dependencies'
|
|
521
|
+
run: ${packageManager} install
|
|
522
|
+
- name: Test
|
|
523
|
+
run: ${packageManager} test
|
|
524
|
+
env:
|
|
525
|
+
NAPI_RS_FORCE_WASI: true
|
|
526
|
+
|
|
526
527
|
publish:
|
|
527
528
|
name: Publish
|
|
528
529
|
runs-on: ubuntu-latest
|
|
@@ -533,6 +534,7 @@ jobs:
|
|
|
533
534
|
- test-linux-arm-gnueabihf-binding
|
|
534
535
|
- test-macOS-windows-binding
|
|
535
536
|
- test-linux-aarch64-musl-binding
|
|
537
|
+
- test-wasi-nodejs
|
|
536
538
|
- build-freebsd
|
|
537
539
|
|
|
538
540
|
steps:
|
|
@@ -541,14 +543,15 @@ jobs:
|
|
|
541
543
|
- name: Setup node
|
|
542
544
|
uses: actions/setup-node@v4
|
|
543
545
|
with:
|
|
544
|
-
node-version:
|
|
545
|
-
cache: '
|
|
546
|
+
node-version: 20
|
|
547
|
+
cache: '${packageManager}'
|
|
548
|
+
registry-url: 'https://registry.npmjs.org'
|
|
546
549
|
|
|
547
550
|
- name: 'Install dependencies'
|
|
548
|
-
run:
|
|
551
|
+
run: ${packageManager} install
|
|
549
552
|
|
|
550
553
|
- name: Download all artifacts
|
|
551
|
-
uses: actions/download-artifact@
|
|
554
|
+
uses: actions/download-artifact@v4
|
|
552
555
|
with:
|
|
553
556
|
path: artifacts
|
|
554
557
|
|
|
@@ -561,20 +564,17 @@ jobs:
|
|
|
561
564
|
|
|
562
565
|
- name: Publish
|
|
563
566
|
run: |
|
|
564
|
-
npm config set provenance true
|
|
565
567
|
if git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+$";
|
|
566
568
|
then
|
|
567
|
-
|
|
568
|
-
npm publish --access public
|
|
569
|
+
npm publish --access public --provenance
|
|
569
570
|
elif git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+";
|
|
570
571
|
then
|
|
571
|
-
|
|
572
|
-
npm publish --tag next --access public
|
|
572
|
+
npm publish --tag next --access public --provenance
|
|
573
573
|
else
|
|
574
574
|
echo "Not a release, skipping publish"
|
|
575
575
|
fi
|
|
576
576
|
env:
|
|
577
577
|
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
|
|
578
|
-
|
|
578
|
+
NODE_AUTH_TOKEN: \${{ secrets.NPM_TOKEN }}
|
|
579
579
|
`;
|
|
580
580
|
//# sourceMappingURL=ci-template.js.map
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAoClB,cAAc;;;;;;;;;;;;;;;yCAeY,cAAc;;;;;;;;yCAQd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA2BrB,cAAc;;;;;;;;;;;;;;;cAelC,cAAc;cACd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmCR,cAAc;;;eAGnB,cAAc;;;;;;;;;;;;;eAad,cAAc;;;;;;;;;;;;;;;;;;;oBAmBT,cAAc;;;eAGnB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqCjB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA0Cd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2Cd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAyCd,cAAc;;;;;;;;;;;;;iBAaT,cAAc;;;;;;;;;;;;;;;mBAeZ,cAAc;;;eAGlB,cAAc;;;;;;;;;;;;;;eAcd,cAAc;;;;;;;;;;;;;;;;;;;;;;;2BAuBF,cAAc;;;;;;;mBAOtB,cAAc;;eAElB,cAAc;;eAEd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;oBAwBT,cAAc;;;;eAInB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B5B,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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"}
|