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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/api/artifacts.js +23 -7
  2. package/dist/api/artifacts.js.map +1 -0
  3. package/dist/api/build.d.ts +1 -1
  4. package/dist/api/build.js +184 -32
  5. package/dist/api/build.js.map +1 -0
  6. package/dist/api/create-npm-dirs.js +43 -7
  7. package/dist/api/create-npm-dirs.js.map +1 -0
  8. package/dist/api/new.js +47 -20
  9. package/dist/api/new.js.map +1 -0
  10. package/dist/api/pre-publish.js +10 -7
  11. package/dist/api/pre-publish.js.map +1 -0
  12. package/dist/api/rename.js +10 -1
  13. package/dist/api/rename.js.map +1 -0
  14. package/dist/api/templates/.gitignore.d.ts +1 -1
  15. package/dist/api/templates/.gitignore.js +2 -0
  16. package/dist/api/templates/.gitignore.js.map +1 -0
  17. package/dist/api/templates/.npmignore.js +1 -0
  18. package/dist/api/templates/.npmignore.js.map +1 -0
  19. package/dist/api/templates/build.rs.js +1 -0
  20. package/dist/api/templates/build.rs.js.map +1 -0
  21. package/dist/api/templates/cargo.toml.js +1 -0
  22. package/dist/api/templates/cargo.toml.js.map +1 -0
  23. package/dist/api/templates/ci-template.d.ts +2 -1
  24. package/dist/api/templates/ci-template.js +156 -157
  25. package/dist/api/templates/ci-template.js.map +1 -0
  26. package/dist/api/templates/ci.yml.d.ts +2 -1
  27. package/dist/api/templates/ci.yml.js +19 -4
  28. package/dist/api/templates/ci.yml.js.map +1 -0
  29. package/dist/api/templates/index.js +1 -0
  30. package/dist/api/templates/index.js.map +1 -0
  31. package/dist/api/templates/js-binding.d.ts +1 -1
  32. package/dist/api/templates/js-binding.js +320 -107
  33. package/dist/api/templates/js-binding.js.map +1 -0
  34. package/dist/api/templates/lib.rs.js +2 -4
  35. package/dist/api/templates/lib.rs.js.map +1 -0
  36. package/dist/api/templates/load-wasi-template.d.ts +1 -0
  37. package/dist/api/templates/load-wasi-template.js +78 -0
  38. package/dist/api/templates/load-wasi-template.js.map +1 -0
  39. package/dist/api/templates/package.json.d.ts +9 -2
  40. package/dist/api/templates/package.json.js +55 -28
  41. package/dist/api/templates/package.json.js.map +1 -0
  42. package/dist/api/templates/wasi-worker-template.d.ts +1 -0
  43. package/dist/api/templates/wasi-worker-template.js +53 -0
  44. package/dist/api/templates/wasi-worker-template.js.map +1 -0
  45. package/dist/api/universalize.js +4 -3
  46. package/dist/api/universalize.js.map +1 -0
  47. package/dist/api/version.js +3 -2
  48. package/dist/api/version.js.map +1 -0
  49. package/dist/cli.js +1 -0
  50. package/dist/cli.js.map +1 -0
  51. package/dist/commands/artifacts.js +3 -2
  52. package/dist/commands/artifacts.js.map +1 -0
  53. package/dist/commands/build.js +2 -1
  54. package/dist/commands/build.js.map +1 -0
  55. package/dist/commands/create-npm-dirs.js +1 -0
  56. package/dist/commands/create-npm-dirs.js.map +1 -0
  57. package/dist/commands/help.js +1 -0
  58. package/dist/commands/help.js.map +1 -0
  59. package/dist/commands/new.js +15 -7
  60. package/dist/commands/new.js.map +1 -0
  61. package/dist/commands/pre-publish.js +1 -0
  62. package/dist/commands/pre-publish.js.map +1 -0
  63. package/dist/commands/rename.js +1 -0
  64. package/dist/commands/rename.js.map +1 -0
  65. package/dist/commands/universalize.js +1 -0
  66. package/dist/commands/universalize.js.map +1 -0
  67. package/dist/commands/version.js +1 -0
  68. package/dist/commands/version.js.map +1 -0
  69. package/dist/def/artifacts.d.ts +21 -1
  70. package/dist/def/artifacts.js +11 -2
  71. package/dist/def/artifacts.js.map +1 -0
  72. package/dist/def/build.d.ts +32 -2
  73. package/dist/def/build.js +23 -2
  74. package/dist/def/build.js.map +1 -0
  75. package/dist/def/create-npm-dirs.d.ts +10 -0
  76. package/dist/def/create-npm-dirs.js +5 -0
  77. package/dist/def/create-npm-dirs.js.map +1 -0
  78. package/dist/def/new.d.ts +24 -6
  79. package/dist/def/new.js +12 -1
  80. package/dist/def/new.js.map +1 -0
  81. package/dist/def/pre-publish.d.ts +10 -0
  82. package/dist/def/pre-publish.js +8 -3
  83. package/dist/def/pre-publish.js.map +1 -0
  84. package/dist/def/rename.d.ts +11 -1
  85. package/dist/def/rename.js +6 -1
  86. package/dist/def/rename.js.map +1 -0
  87. package/dist/def/universalize.d.ts +10 -0
  88. package/dist/def/universalize.js +5 -0
  89. package/dist/def/universalize.js.map +1 -0
  90. package/dist/def/version.d.ts +10 -0
  91. package/dist/def/version.js +5 -0
  92. package/dist/def/version.js.map +1 -0
  93. package/dist/index.cjs +6020 -8093
  94. package/dist/index.d.ts +1 -0
  95. package/dist/index.js +2 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/utils/__tests__/config.spec.d.ts +1 -0
  98. package/dist/utils/__tests__/config.spec.js +63 -0
  99. package/dist/utils/__tests__/config.spec.js.map +1 -0
  100. package/dist/utils/__tests__/target.spec.js +1 -0
  101. package/dist/utils/__tests__/target.spec.js.map +1 -0
  102. package/dist/utils/__tests__/typegen.spec.js +9 -4
  103. package/dist/utils/__tests__/typegen.spec.js.map +1 -0
  104. package/dist/utils/__tests__/version.spec.js +1 -0
  105. package/dist/utils/__tests__/version.spec.js.map +1 -0
  106. package/dist/utils/cargo.js +2 -1
  107. package/dist/utils/cargo.js.map +1 -0
  108. package/dist/utils/ci.js +10 -0
  109. package/dist/utils/ci.js.map +1 -0
  110. package/dist/utils/config.d.ts +24 -5
  111. package/dist/utils/config.js +39 -6
  112. package/dist/utils/config.js.map +1 -0
  113. package/dist/utils/index.js +1 -0
  114. package/dist/utils/index.js.map +1 -0
  115. package/dist/utils/log.js +1 -0
  116. package/dist/utils/log.js.map +1 -0
  117. package/dist/utils/metadata.js +3 -2
  118. package/dist/utils/metadata.js.map +1 -0
  119. package/dist/utils/misc.d.ts +1 -1
  120. package/dist/utils/misc.js +4 -3
  121. package/dist/utils/misc.js.map +1 -0
  122. package/dist/utils/target.d.ts +9 -5
  123. package/dist/utils/target.js +20 -1
  124. package/dist/utils/target.js.map +1 -0
  125. package/dist/utils/typegen.d.ts +4 -1
  126. package/dist/utils/typegen.js +27 -6
  127. package/dist/utils/typegen.js.map +1 -0
  128. package/dist/utils/version.d.ts +2 -1
  129. package/dist/utils/version.js +13 -10
  130. package/dist/utils/version.js.map +1 -0
  131. package/package.json +50 -15
  132. package/src/api/artifacts.ts +53 -9
  133. package/src/api/build.ts +289 -39
  134. package/src/api/create-npm-dirs.ts +51 -7
  135. package/src/api/new.ts +69 -33
  136. package/src/api/pre-publish.ts +21 -12
  137. package/src/api/rename.ts +10 -1
  138. package/src/api/templates/.gitignore.ts +1 -0
  139. package/src/api/templates/ci-template.ts +157 -157
  140. package/src/api/templates/ci.yml.ts +19 -4
  141. package/src/api/templates/js-binding.ts +312 -102
  142. package/src/api/templates/lib.rs.ts +1 -4
  143. package/src/api/templates/load-wasi-template.ts +81 -0
  144. package/src/api/templates/package.json.ts +78 -27
  145. package/src/api/templates/wasi-worker-template.ts +52 -0
  146. package/src/api/universalize.ts +6 -3
  147. package/src/api/version.ts +5 -2
  148. package/src/commands/artifacts.ts +2 -2
  149. package/src/commands/build.ts +1 -1
  150. package/src/commands/new.ts +14 -8
  151. package/src/def/artifacts.ts +22 -3
  152. package/src/def/build.ts +51 -4
  153. package/src/def/create-npm-dirs.ts +9 -0
  154. package/src/def/new.ts +28 -3
  155. package/src/def/pre-publish.ts +12 -3
  156. package/src/def/rename.ts +11 -2
  157. package/src/def/universalize.ts +9 -0
  158. package/src/def/version.ts +9 -0
  159. package/src/index.ts +2 -0
  160. package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
  161. package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
  162. package/src/utils/__tests__/__snapshots__/target.spec.ts.md +14 -0
  163. package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
  164. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +555 -0
  165. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
  166. package/src/utils/__tests__/__snapshots__/version.spec.ts.md +9 -8
  167. package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
  168. package/src/utils/__tests__/config.spec.ts +81 -0
  169. package/src/utils/__tests__/typegen.spec.ts +19 -4
  170. package/src/utils/cargo.ts +1 -1
  171. package/src/utils/ci.ts +9 -0
  172. package/src/utils/config.ts +84 -9
  173. package/src/utils/metadata.ts +2 -2
  174. package/src/utils/misc.ts +11 -3
  175. package/src/utils/target.ts +28 -7
  176. package/src/utils/typegen.ts +30 -5
  177. package/src/utils/version.ts +11 -9
  178. package/dist/def/commands/artifacts.d.ts +0 -15
  179. package/dist/def/commands/artifacts.js +0 -29
  180. package/dist/def/commands/build.d.ts +0 -53
  181. package/dist/def/commands/build.js +0 -105
  182. package/dist/def/commands/create-npm-dirs.d.ts +0 -15
  183. package/dist/def/commands/create-npm-dirs.js +0 -29
  184. package/dist/def/commands/new.d.ts +0 -27
  185. package/dist/def/commands/new.js +0 -53
  186. package/dist/def/commands/pre-publish.d.ts +0 -23
  187. package/dist/def/commands/pre-publish.js +0 -45
  188. package/dist/def/commands/rename.d.ts +0 -25
  189. package/dist/def/commands/rename.js +0 -49
  190. package/dist/def/commands/universalize.d.ts +0 -13
  191. package/dist/def/commands/universalize.js +0 -25
  192. package/dist/def/commands/version.d.ts +0 -13
  193. package/dist/def/commands/version.js +0 -25
  194. package/dist/def/options/artifacts.d.ts +0 -35
  195. package/dist/def/options/artifacts.js +0 -11
  196. package/dist/def/options/build.d.ts +0 -97
  197. package/dist/def/options/build.js +0 -3
  198. package/dist/def/options/create-npm-dirs.d.ts +0 -35
  199. package/dist/def/options/create-npm-dirs.js +0 -11
  200. package/dist/def/options/new.d.ts +0 -79
  201. package/dist/def/options/new.js +0 -15
  202. package/dist/def/options/pre-publish.d.ts +0 -65
  203. package/dist/def/options/pre-publish.js +0 -13
  204. package/dist/def/options/rename.d.ts +0 -75
  205. package/dist/def/options/rename.js +0 -11
  206. package/dist/def/options/universalize.d.ts +0 -28
  207. package/dist/def/options/universalize.js +0 -10
  208. package/dist/def/options/version.d.ts +0 -28
  209. package/dist/def/options/version.js +0 -10
@@ -1,10 +1,14 @@
1
- export const YAML = () => `
1
+ export const YAML = (packageManager) => `
2
2
  name: CI
3
3
 
4
4
  env:
5
5
  DEBUG: 'napi:*'
6
6
  MACOSX_DEPLOYMENT_TARGET: '10.13'
7
7
 
8
+ permissions:
9
+ contents: write
10
+ id-token: write
11
+
8
12
  on:
9
13
  push:
10
14
  branches:
@@ -28,90 +32,66 @@ jobs:
28
32
  settings:
29
33
  - host: macos-latest
30
34
  target: 'x86_64-apple-darwin'
31
- build: |
32
- yarn build --platform
33
- strip -x *.node
35
+ build: ${packageManager} build --platform
34
36
  - host: windows-latest
35
- build: yarn build --platform
37
+ build: ${packageManager} build --platform
36
38
  target: 'x86_64-pc-windows-msvc'
37
39
  - host: windows-latest
38
40
  build: |
39
- yarn build --platform --target i686-pc-windows-msvc
40
- yarn test
41
+ ${packageManager} build --platform --target i686-pc-windows-msvc
42
+ ${packageManager} test
41
43
  target: 'i686-pc-windows-msvc'
42
44
  - host: ubuntu-latest
43
45
  target: 'x86_64-unknown-linux-gnu'
44
- docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
45
- build: >-
46
- set -e &&\n
47
- yarn build --platform --target x86_64-unknown-linux-gnu &&\n
48
- strip *.node
46
+ build: ${packageManager} build --platform --target x86_64-unknown-linux-gnu --use-napi-cross
49
47
  - host: ubuntu-latest
50
48
  target: 'x86_64-unknown-linux-musl'
51
- docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
52
- build: >-
53
- set -e &&
54
- yarn build --platform &&
55
- strip *.node
49
+ build: ${packageManager} build --platform --target x86_64-unknown-linux-musl -x
56
50
  - host: macos-latest
57
51
  target: 'aarch64-apple-darwin'
58
- build: |
59
- yarn build --platform --target aarch64-apple-darwin
60
- strip -x *.node
52
+ build: ${packageManager} build --platform --target aarch64-apple-darwin
61
53
  - host: ubuntu-latest
62
54
  target: 'aarch64-unknown-linux-gnu'
63
- docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
64
- build: >-
65
- set -e &&\n
66
- yarn build --platform --target aarch64-unknown-linux-gnu &&\n
67
- aarch64-unknown-linux-gnu-strip *.node
55
+ build: ${packageManager} build --platform --target aarch64-unknown-linux-gnu --use-napi-cross
68
56
  - host: ubuntu-latest
69
57
  target: 'armv7-unknown-linux-gnueabihf'
70
- setup: |
71
- sudo apt-get update
72
- sudo apt-get install gcc-arm-linux-gnueabihf -y
73
- build: |
74
- yarn build --platform --target armv7-unknown-linux-gnueabihf --cross-compile
75
- arm-linux-gnueabihf-strip *.node
58
+ build: ${packageManager} build --platform --target armv7-unknown-linux-gnueabihf --use-napi-cross
76
59
  - host: ubuntu-latest
77
60
  target: 'aarch64-linux-android'
78
- build: |
79
- yarn build --platform --target aarch64-linux-android
80
- \${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
61
+ build: ${packageManager} build --platform --target aarch64-linux-android
81
62
  - host: ubuntu-latest
82
63
  target: 'armv7-linux-androideabi'
83
- build: |
84
- yarn build --platform --target armv7-linux-androideabi
85
- \${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
64
+ build: ${packageManager} build --platform --target armv7-linux-androideabi
86
65
  - host: ubuntu-latest
87
66
  target: 'aarch64-unknown-linux-musl'
88
- docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
89
- build: >-
90
- set -e &&\n
91
- rustup target add aarch64-unknown-linux-musl &&\n
92
- yarn build --platform --target aarch64-unknown-linux-musl &&\n
93
- /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node
67
+ build: ${packageManager} build --platform --target aarch64-unknown-linux-musl -x
94
68
  - host: windows-latest
95
69
  target: 'aarch64-pc-windows-msvc'
96
- build: yarn build --platform --target aarch64-pc-windows-msvc
70
+ build: ${packageManager} build --platform --target aarch64-pc-windows-msvc
71
+ - host: ubuntu-latest
72
+ target: 'riscv64gc-unknown-linux-gnu'
73
+ setup: |
74
+ sudo apt-get update
75
+ sudo apt-get install gcc-riscv64-linux-gnu -y
76
+ build: ${packageManager} build --platform --target riscv64gc-unknown-linux-gnu
77
+ - host: ubuntu-latest
78
+ target: 'wasm32-wasi-preview1-threads'
79
+ build: ${packageManager} build --platform --target wasm32-wasi-preview1-threads
97
80
 
98
- name: stable - \${{ matrix.settings.target }} - node@18
81
+ name: stable - \${{ matrix.settings.target }} - node@20
99
82
  runs-on: \${{ matrix.settings.host }}
100
83
 
101
84
  steps:
102
- - uses: actions/checkout@v3
85
+ - uses: actions/checkout@v4
103
86
 
104
87
  - name: Setup node
105
- uses: actions/setup-node@v3
106
- if: \${{ !matrix.settings.docker }}
88
+ uses: actions/setup-node@v4
107
89
  with:
108
- node-version: 18
109
- check-latest: true
110
- cache: yarn
90
+ node-version: 20
91
+ cache: ${packageManager}
111
92
 
112
93
  - name: Install
113
94
  uses: dtolnay/rust-toolchain@stable
114
- if: \${{ !matrix.settings.docker }}
115
95
  with:
116
96
  toolchain: stable
117
97
  targets: \${{ matrix.settings.target }}
@@ -123,14 +103,15 @@ jobs:
123
103
  ~/.cargo/registry/index/
124
104
  ~/.cargo/registry/cache/
125
105
  ~/.cargo/git/db/
106
+ ~/.napi-rs
126
107
  .cargo-cache
127
108
  target/
128
109
  key: \${{ matrix.settings.target }}-cargo-\${{ matrix.settings.host }}
129
110
 
130
111
  - uses: goto-bus-stop/setup-zig@v2
131
- if: \${{ matrix.settings.target == 'armv7-unknown-linux-gnueabihf' }}
112
+ if: \${{ contains(matrix.settings.target, 'musl') }}
132
113
  with:
133
- version: 0.10.1
114
+ version: 0.11.0
134
115
 
135
116
  - name: Setup toolchain
136
117
  run: \${{ matrix.settings.setup }}
@@ -143,83 +124,80 @@ jobs:
143
124
  shell: bash
144
125
 
145
126
  - name: 'Install dependencies'
146
- run: yarn install
127
+ run: ${packageManager} install
147
128
 
148
129
  - name: Setup node x86
149
- uses: actions/setup-node@v3
130
+ uses: actions/setup-node@v4
150
131
  if: matrix.settings.target == 'i686-pc-windows-msvc'
151
132
  with:
152
- node-version: 18
153
- check-latest: true
154
- cache: yarn
133
+ node-version: 20
155
134
  architecture: x86
156
135
 
157
- - name: Build in docker
158
- uses: addnab/docker-run-action@v3
159
- if: \${{ matrix.settings.docker }}
160
- with:
161
- image: \${{ matrix.settings.docker }}
162
- 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
163
- run: \${{ matrix.settings.build }}
164
-
165
136
  - name: 'Build'
166
137
  run: \${{ matrix.settings.build }}
167
- if: \${{ !matrix.settings.docker }}
168
138
  shell: bash
169
139
 
170
140
  - name: Upload artifact
171
- uses: actions/upload-artifact@v3
141
+ uses: actions/upload-artifact@v4
142
+ if: matrix.settings.target != 'wasm32-wasi-preview1-threads'
172
143
  with:
173
144
  name: bindings-\${{ matrix.settings.target }}
174
145
  path: "*.node"
175
146
  if-no-files-found: error
176
147
 
148
+ - name: Upload artifact
149
+ uses: actions/upload-artifact@v4
150
+ if: matrix.settings.target == 'wasm32-wasi-preview1-threads'
151
+ with:
152
+ name: bindings-\${{ matrix.settings.target }}
153
+ path: "*.wasm"
154
+ if-no-files-found: error
155
+
177
156
  build-freebsd:
178
157
  runs-on: macos-12
179
158
  name: Build FreeBSD
180
159
  steps:
181
- - uses: actions/checkout@v3
160
+ - uses: actions/checkout@v4
182
161
  - name: Build
183
162
  id: build
184
- uses: vmactions/freebsd-vm@v0
163
+ uses: cross-platform-actions/action@v0.21.1
164
+ timeout-minutes: 30
185
165
  env:
186
166
  DEBUG: 'napi:*'
187
- RUSTUP_HOME: /usr/local/rustup
188
- CARGO_HOME: /usr/local/cargo
189
167
  RUSTUP_IO_THREADS: 1
190
168
  with:
191
- envs: 'DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS'
192
- usesh: true
193
- mem: 3000
194
- prepare: |
195
- pkg install -y -f curl node libnghttp2
196
- curl -qL https://www.npmjs.com/install.sh | sh
197
- npm install --location=global --ignore-scripts yarn
169
+ operating_system: freebsd
170
+ version: '13.2'
171
+ memory: 13G
172
+ cpu_count: 3
173
+ environment_variables: 'DEBUG RUSTUP_IO_THREADS'
174
+ shell: bash
175
+ run: |
176
+ sudo pkg install -y -f curl node libnghttp2 npm
177
+ sudo npm install -g ${packageManager} --ignore-scripts
198
178
  curl https://sh.rustup.rs -sSf --output rustup.sh
199
- sh rustup.sh -y --profile minimal --default-toolchain beta
200
- export PATH="/usr/local/cargo/bin:$PATH"
179
+ sh rustup.sh -y --profile minimal --default-toolchain stable
180
+ source "$HOME/.cargo/env"
201
181
  echo "~~~~ rustc --version ~~~~"
202
182
  rustc --version
203
183
  echo "~~~~ node -v ~~~~"
204
184
  node -v
205
185
  echo "~~~~ yarn --version ~~~~"
206
186
  yarn --version
207
- run: |
208
- export PATH="/usr/local/cargo/bin:$PATH"
209
187
  pwd
210
188
  ls -lah
211
189
  whoami
212
190
  env
213
191
  freebsd-version
214
- yarn install
215
- yarn build
192
+ ${packageManager} install
193
+ ${packageManager} build
216
194
  strip -x *.node
217
195
  yarn test
218
196
  rm -rf node_modules
219
197
  rm -rf target
220
198
  rm -rf .yarn/cache
221
199
  - name: Upload artifact
222
- uses: actions/upload-artifact@v3
200
+ uses: actions/upload-artifact@v4
223
201
  with:
224
202
  name: bindings-freebsd
225
203
  path: "*.node"
@@ -237,24 +215,23 @@ jobs:
237
215
  target: 'x86_64-apple-darwin'
238
216
  - host: windows-latest
239
217
  target: 'x86_64-pc-windows-msvc'
240
- node: ['16', '18']
218
+ node: ['18', '20']
241
219
  runs-on: \${{ matrix.settings.host }}
242
220
 
243
221
  steps:
244
- - uses: actions/checkout@v3
222
+ - uses: actions/checkout@v4
245
223
 
246
224
  - name: Setup node
247
- uses: actions/setup-node@v3
225
+ uses: actions/setup-node@v4
248
226
  with:
249
227
  node-version: \${{ matrix.node }}
250
- check-latest: true
251
- cache: 'yarn'
228
+ cache: '${packageManager}'
252
229
 
253
230
  - name: 'Install dependencies'
254
- run: yarn install
231
+ run: ${packageManager} install
255
232
 
256
233
  - name: Download artifacts
257
- uses: actions/download-artifact@v3
234
+ uses: actions/download-artifact@v4
258
235
  with:
259
236
  name: bindings-\${{ matrix.settings.target }}
260
237
  path: .
@@ -264,7 +241,7 @@ jobs:
264
241
  shell: bash
265
242
 
266
243
  - name: Test bindings
267
- run: yarn test
244
+ run: ${packageManager} test
268
245
 
269
246
  test-linux-x64-gnu-binding:
270
247
  name: Test bindings on Linux-x64-gnu - node@\${{ matrix.node }}
@@ -273,24 +250,23 @@ jobs:
273
250
  strategy:
274
251
  fail-fast: false
275
252
  matrix:
276
- node: ['16', '18']
253
+ node: ['18', '20']
277
254
  runs-on: ubuntu-latest
278
255
 
279
256
  steps:
280
- - uses: actions/checkout@v3
257
+ - uses: actions/checkout@v4
281
258
 
282
259
  - name: Setup node
283
- uses: actions/setup-node@v3
260
+ uses: actions/setup-node@v4
284
261
  with:
285
262
  node-version: \${{ matrix.node }}
286
- check-latest: true
287
- cache: 'yarn'
263
+ cache: '${packageManager}'
288
264
 
289
265
  - name: 'Install dependencies'
290
- run: yarn install
266
+ run: ${packageManager} install
291
267
 
292
268
  - name: Download artifacts
293
- uses: actions/download-artifact@v3
269
+ uses: actions/download-artifact@v4
294
270
  with:
295
271
  name: bindings-x86_64-unknown-linux-gnu
296
272
  path: .
@@ -309,26 +285,25 @@ jobs:
309
285
  strategy:
310
286
  fail-fast: false
311
287
  matrix:
312
- node: ['16', '18']
288
+ node: ['18', '20']
313
289
  runs-on: ubuntu-latest
314
290
 
315
291
  steps:
316
- - uses: actions/checkout@v3
292
+ - uses: actions/checkout@v4
317
293
 
318
294
  - name: Setup node
319
- uses: actions/setup-node@v3
295
+ uses: actions/setup-node@v4
320
296
  with:
321
297
  node-version: \${{ matrix.node }}
322
- check-latest: true
323
298
  cache: 'yarn'
324
299
 
325
300
  - name: 'Install dependencies'
326
301
  run: |
327
302
  yarn config set supportedArchitectures.libc "musl"
328
- yarn install
303
+ ${packageManager} install
329
304
 
330
305
  - name: Download artifacts
331
- uses: actions/download-artifact@v3
306
+ uses: actions/download-artifact@v4
332
307
  with:
333
308
  name: bindings-x86_64-unknown-linux-musl
334
309
  path: .
@@ -347,14 +322,14 @@ jobs:
347
322
  strategy:
348
323
  fail-fast: false
349
324
  matrix:
350
- node: ['16', '18']
325
+ node: ['20']
351
326
  runs-on: ubuntu-latest
352
327
 
353
328
  steps:
354
- - uses: actions/checkout@v3
329
+ - uses: actions/checkout@v4
355
330
 
356
331
  - name: Download artifacts
357
- uses: actions/download-artifact@v3
332
+ uses: actions/download-artifact@v4
358
333
  with:
359
334
  name: bindings-aarch64-unknown-linux-gnu
360
335
  path: .
@@ -367,10 +342,10 @@ jobs:
367
342
  run: |
368
343
  yarn config set supportedArchitectures.cpu "arm64"
369
344
  yarn config set supportedArchitectures.libc "glibc"
370
- yarn install
371
-
345
+ ${packageManager} install
346
+
372
347
  - name: Set up QEMU
373
- uses: docker/setup-qemu-action@v2
348
+ uses: docker/setup-qemu-action@v3
374
349
  with:
375
350
  platforms: arm64
376
351
  - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -380,23 +355,24 @@ jobs:
380
355
  with:
381
356
  image: node:\${{ matrix.node }}-slim
382
357
  options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
383
- run: |
384
- set -e
385
- yarn test
386
- ls -la
358
+ run: yarn test
387
359
 
388
360
  test-linux-aarch64-musl-binding:
389
361
  name: Test bindings on aarch64-unknown-linux-musl - node@\${{ matrix.node }}
390
362
  needs:
391
363
  - build
364
+ strategy:
365
+ fail-fast: false
366
+ matrix:
367
+ node: ['18', '20']
392
368
 
393
369
  runs-on: ubuntu-latest
394
370
 
395
371
  steps:
396
- - uses: actions/checkout@v3
372
+ - uses: actions/checkout@v4
397
373
 
398
374
  - name: Download artifacts
399
- uses: actions/download-artifact@v3
375
+ uses: actions/download-artifact@v4
400
376
  with:
401
377
  name: bindings-aarch64-unknown-linux-musl
402
378
  path: .
@@ -409,10 +385,10 @@ jobs:
409
385
  run: |
410
386
  yarn config set supportedArchitectures.cpu "arm64"
411
387
  yarn config set supportedArchitectures.libc "musl"
412
- yarn install
388
+ ${packageManager} install
413
389
 
414
390
  - name: Set up QEMU
415
- uses: docker/setup-qemu-action@v2
391
+ uses: docker/setup-qemu-action@v3
416
392
  with:
417
393
  platforms: arm64
418
394
  - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -420,11 +396,9 @@ jobs:
420
396
  - name: Setup and run tests
421
397
  uses: addnab/docker-run-action@v3
422
398
  with:
423
- image: node:lts-alpine
399
+ image: node:\${{ matrix.node }}-alpine
424
400
  options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
425
- run: |
426
- set -e
427
- yarn test
401
+ run: yarn test
428
402
 
429
403
  test-linux-arm-gnueabihf-binding:
430
404
  name: Test bindings on armv7-unknown-linux-gnueabihf - node@\${{ matrix.node }}
@@ -433,14 +407,14 @@ jobs:
433
407
  strategy:
434
408
  fail-fast: false
435
409
  matrix:
436
- node: ['16', '18']
410
+ node: ['18', '20']
437
411
  runs-on: ubuntu-latest
438
412
 
439
413
  steps:
440
- - uses: actions/checkout@v3
414
+ - uses: actions/checkout@v4
441
415
 
442
416
  - name: Download artifacts
443
- uses: actions/download-artifact@v3
417
+ uses: actions/download-artifact@v4
444
418
  with:
445
419
  name: bindings-armv7-unknown-linux-gnueabihf
446
420
  path: .
@@ -452,10 +426,10 @@ jobs:
452
426
  - name: Install dependencies
453
427
  run: |
454
428
  yarn config set supportedArchitectures.cpu "arm"
455
- yarn install
429
+ ${packageManager} install
456
430
 
457
431
  - name: Set up QEMU
458
- uses: docker/setup-qemu-action@v2
432
+ uses: docker/setup-qemu-action@v3
459
433
  with:
460
434
  platforms: arm
461
435
  - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -465,10 +439,7 @@ jobs:
465
439
  with:
466
440
  image: node:\${{ matrix.node }}-bullseye-slim
467
441
  options: --platform linux/arm/v7 -v \${{ github.workspace }}:/build -w /build
468
- run: |
469
- set -e
470
- yarn test
471
- ls -la
442
+ run: ${packageManager} test
472
443
 
473
444
  universal-macOS:
474
445
  name: Build universal macOS binary
@@ -477,39 +448,67 @@ jobs:
477
448
  runs-on: macos-latest
478
449
 
479
450
  steps:
480
- - uses: actions/checkout@v3
451
+ - uses: actions/checkout@v4
481
452
 
482
453
  - name: Setup node
483
- uses: actions/setup-node@v3
454
+ uses: actions/setup-node@v4
484
455
  with:
485
- node-version: 18
486
- check-latest: true
487
- cache: yarn
456
+ node-version: 20
457
+ cache: ${packageManager}
488
458
 
489
459
  - name: 'Install dependencies'
490
- run: yarn install
460
+ run: ${packageManager} install
491
461
 
492
462
  - name: Download macOS x64 artifact
493
- uses: actions/download-artifact@v3
463
+ uses: actions/download-artifact@v4
494
464
  with:
495
465
  name: bindings-x86_64-apple-darwin
496
466
  path: .
497
467
  - name: Download macOS arm64 artifact
498
- uses: actions/download-artifact@v3
468
+ uses: actions/download-artifact@v4
499
469
  with:
500
470
  name: bindings-aarch64-apple-darwin
501
471
  path: .
502
472
 
503
473
  - name: Combine binaries
504
- run: yarn napi universalize
474
+ run: ${packageManager} napi universalize
505
475
 
506
476
  - name: Upload artifact
507
- uses: actions/upload-artifact@v3
477
+ uses: actions/upload-artifact@v4
508
478
  with:
509
479
  name: bindings-universal-apple-darwin
510
480
  path: "*.node"
511
481
  if-no-files-found: error
512
482
 
483
+ test-wasi-nodejs:
484
+ name: Test bindings on wasi - node@\${{ matrix.node }}
485
+ needs:
486
+ - build
487
+ strategy:
488
+ fail-fast: false
489
+ matrix:
490
+ node: ['18', '20']
491
+ runs-on: ubuntu-latest
492
+ steps:
493
+ - uses: actions/checkout@v4
494
+ - name: Download artifacts
495
+ uses: actions/download-artifact@v4
496
+ with:
497
+ name: bindings-wasm32-wasi-preview1-threads
498
+ path: .
499
+ - name: List packages
500
+ run: ls -R .
501
+ - uses: actions/setup-node@v4
502
+ with:
503
+ node-version: \${{ matrix.node }}
504
+ cache: ${packageManager}
505
+ - name: 'Install dependencies'
506
+ run: ${packageManager} install
507
+ - name: Test
508
+ run: ${packageManager} test
509
+ env:
510
+ NAPI_RS_FORCE_WASI: true
511
+
513
512
  publish:
514
513
  name: Publish
515
514
  runs-on: ubuntu-latest
@@ -520,23 +519,24 @@ jobs:
520
519
  - test-linux-arm-gnueabihf-binding
521
520
  - test-macOS-windows-binding
522
521
  - test-linux-aarch64-musl-binding
522
+ - test-wasi-nodejs
523
523
  - build-freebsd
524
524
 
525
525
  steps:
526
- - uses: actions/checkout@v3
526
+ - uses: actions/checkout@v4
527
527
 
528
528
  - name: Setup node
529
- uses: actions/setup-node@v3
529
+ uses: actions/setup-node@v4
530
530
  with:
531
- node-version: 18
532
- check-latest: true
533
- cache: 'yarn'
531
+ node-version: 20
532
+ cache: '${packageManager}'
533
+ registry-url: 'https://registry.npmjs.org'
534
534
 
535
535
  - name: 'Install dependencies'
536
- run: yarn install
536
+ run: ${packageManager} install
537
537
 
538
538
  - name: Download all artifacts
539
- uses: actions/download-artifact@v3
539
+ uses: actions/download-artifact@v4
540
540
  with:
541
541
  path: artifacts
542
542
 
@@ -551,16 +551,15 @@ jobs:
551
551
  run: |
552
552
  if git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+$";
553
553
  then
554
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
555
- npm publish --access public
554
+ npm publish --access public --provenance
556
555
  elif git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+";
557
556
  then
558
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
559
- npm publish --tag next --access public
557
+ npm publish --tag next --access public --provenance
560
558
  else
561
559
  echo "Not a release, skipping publish"
562
560
  fi
563
561
  env:
564
562
  GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
565
- NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
563
+ NODE_AUTH_TOKEN: \${{ secrets.NPM_TOKEN }}
566
564
  `;
565
+ //# sourceMappingURL=ci-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-template.js","sourceRoot":"","sources":["../../../src/api/templates/ci-template.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,cAAuC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkC5C,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;;;;;;qBAMd,cAAc;;;qBAGd,cAAc;;;;;;;;;;;;mBAYhB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAoClB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAkDK,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA8BV,cAAc;;eAElB,cAAc;;eAEd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;oBAwBT,cAAc;;;;eAInB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B5B,CAAA"}
@@ -1 +1,2 @@
1
- export declare const createGithubActionsCIYml: (binaryName: string, targets: string[]) => string;
1
+ import { type SupportedPackageManager } from '../../utils/index.js';
2
+ export declare const createGithubActionsCIYml: (targets: string[], packageManager: SupportedPackageManager) => string;