@napi-rs/cli 3.0.0-alpha.90 → 3.0.0-alpha.91

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 (110) hide show
  1. package/dist/cli.js +3867 -15
  2. package/dist/index.cjs +9173 -8790
  3. package/dist/index.js +3618 -32
  4. package/package.json +10 -8
  5. package/dist/api/__tests__/new.spec.js +0 -283
  6. package/dist/api/__tests__/new.spec.js.map +0 -1
  7. package/dist/api/artifacts.js +0 -74
  8. package/dist/api/artifacts.js.map +0 -1
  9. package/dist/api/build.js +0 -707
  10. package/dist/api/build.js.map +0 -1
  11. package/dist/api/create-npm-dirs.js +0 -101
  12. package/dist/api/create-npm-dirs.js.map +0 -1
  13. package/dist/api/new.js +0 -360
  14. package/dist/api/new.js.map +0 -1
  15. package/dist/api/pre-publish.js +0 -160
  16. package/dist/api/pre-publish.js.map +0 -1
  17. package/dist/api/rename.js +0 -91
  18. package/dist/api/rename.js.map +0 -1
  19. package/dist/api/templates/.gitignore.js +0 -200
  20. package/dist/api/templates/.gitignore.js.map +0 -1
  21. package/dist/api/templates/.npmignore.js +0 -15
  22. package/dist/api/templates/.npmignore.js.map +0 -1
  23. package/dist/api/templates/build.rs.js +0 -5
  24. package/dist/api/templates/build.rs.js.map +0 -1
  25. package/dist/api/templates/cargo.toml.js +0 -27
  26. package/dist/api/templates/cargo.toml.js.map +0 -1
  27. package/dist/api/templates/ci-template.js +0 -593
  28. package/dist/api/templates/ci-template.js.map +0 -1
  29. package/dist/api/templates/ci.yml.js +0 -115
  30. package/dist/api/templates/ci.yml.js.map +0 -1
  31. package/dist/api/templates/index.js +0 -9
  32. package/dist/api/templates/index.js.map +0 -1
  33. package/dist/api/templates/js-binding.js +0 -213
  34. package/dist/api/templates/js-binding.js.map +0 -1
  35. package/dist/api/templates/lib.rs.js +0 -8
  36. package/dist/api/templates/lib.rs.js.map +0 -1
  37. package/dist/api/templates/load-wasi-template.js +0 -168
  38. package/dist/api/templates/load-wasi-template.js.map +0 -1
  39. package/dist/api/templates/package.json.js +0 -54
  40. package/dist/api/templates/package.json.js.map +0 -1
  41. package/dist/api/templates/wasi-worker-template.js +0 -122
  42. package/dist/api/templates/wasi-worker-template.js.map +0 -1
  43. package/dist/api/universalize.js +0 -39
  44. package/dist/api/universalize.js.map +0 -1
  45. package/dist/api/version.js +0 -17
  46. package/dist/api/version.js.map +0 -1
  47. package/dist/cli.js.map +0 -1
  48. package/dist/commands/artifacts.js +0 -20
  49. package/dist/commands/artifacts.js.map +0 -1
  50. package/dist/commands/build.js +0 -35
  51. package/dist/commands/build.js.map +0 -1
  52. package/dist/commands/create-npm-dirs.js +0 -8
  53. package/dist/commands/create-npm-dirs.js.map +0 -1
  54. package/dist/commands/help.js +0 -13
  55. package/dist/commands/help.js.map +0 -1
  56. package/dist/commands/new.js +0 -110
  57. package/dist/commands/new.js.map +0 -1
  58. package/dist/commands/pre-publish.js +0 -9
  59. package/dist/commands/pre-publish.js.map +0 -1
  60. package/dist/commands/rename.js +0 -8
  61. package/dist/commands/rename.js.map +0 -1
  62. package/dist/commands/universalize.js +0 -8
  63. package/dist/commands/universalize.js.map +0 -1
  64. package/dist/commands/version.js +0 -8
  65. package/dist/commands/version.js.map +0 -1
  66. package/dist/def/artifacts.js +0 -47
  67. package/dist/def/artifacts.js.map +0 -1
  68. package/dist/def/build.js +0 -140
  69. package/dist/def/build.js.map +0 -1
  70. package/dist/def/create-npm-dirs.js +0 -43
  71. package/dist/def/create-npm-dirs.js.map +0 -1
  72. package/dist/def/new.js +0 -77
  73. package/dist/def/new.js.map +0 -1
  74. package/dist/def/pre-publish.js +0 -61
  75. package/dist/def/pre-publish.js.map +0 -1
  76. package/dist/def/rename.js +0 -63
  77. package/dist/def/rename.js.map +0 -1
  78. package/dist/def/universalize.js +0 -38
  79. package/dist/def/universalize.js.map +0 -1
  80. package/dist/def/version.js +0 -38
  81. package/dist/def/version.js.map +0 -1
  82. package/dist/index.js.map +0 -1
  83. package/dist/utils/__tests__/config.spec.js +0 -63
  84. package/dist/utils/__tests__/config.spec.js.map +0 -1
  85. package/dist/utils/__tests__/target.spec.js +0 -11
  86. package/dist/utils/__tests__/target.spec.js.map +0 -1
  87. package/dist/utils/__tests__/typegen.spec.js +0 -42
  88. package/dist/utils/__tests__/typegen.spec.js.map +0 -1
  89. package/dist/utils/__tests__/version.spec.js +0 -6
  90. package/dist/utils/__tests__/version.spec.js.map +0 -1
  91. package/dist/utils/cargo.js +0 -34
  92. package/dist/utils/cargo.js.map +0 -1
  93. package/dist/utils/config.js +0 -75
  94. package/dist/utils/config.js.map +0 -1
  95. package/dist/utils/index.js +0 -10
  96. package/dist/utils/index.js.map +0 -1
  97. package/dist/utils/log.js +0 -15
  98. package/dist/utils/log.js.map +0 -1
  99. package/dist/utils/metadata.js +0 -40
  100. package/dist/utils/metadata.js.map +0 -1
  101. package/dist/utils/misc.js +0 -43
  102. package/dist/utils/misc.js.map +0 -1
  103. package/dist/utils/read-config.js +0 -8
  104. package/dist/utils/read-config.js.map +0 -1
  105. package/dist/utils/target.js +0 -135
  106. package/dist/utils/target.js.map +0 -1
  107. package/dist/utils/typegen.js +0 -210
  108. package/dist/utils/typegen.js.map +0 -1
  109. package/dist/utils/version.js +0 -62
  110. package/dist/utils/version.js.map +0 -1
@@ -1,593 +0,0 @@
1
- export const YAML = (packageManager, wasiTargetName) => `
2
- name: CI
3
-
4
- env:
5
- DEBUG: 'napi:*'
6
- MACOSX_DEPLOYMENT_TARGET: '10.13'
7
-
8
- permissions:
9
- contents: write
10
- id-token: write
11
-
12
- on:
13
- push:
14
- branches:
15
- - main
16
- tags-ignore:
17
- - '**'
18
- paths-ignore:
19
- - '**/*.md'
20
- - 'LICENSE'
21
- - '**/*.gitignore'
22
- - '.editorconfig'
23
- - 'docs/**'
24
- pull_request:
25
-
26
- jobs:
27
- build:
28
-
29
- strategy:
30
- fail-fast: false
31
- matrix:
32
- settings:
33
- - host: macos-latest
34
- target: 'x86_64-apple-darwin'
35
- build: ${packageManager} build --platform --target x86_64-apple-darwin
36
- - host: windows-latest
37
- build: ${packageManager} build --platform
38
- target: 'x86_64-pc-windows-msvc'
39
- - host: windows-latest
40
- build: |
41
- ${packageManager} build --platform --target i686-pc-windows-msvc
42
- ${packageManager} test
43
- target: 'i686-pc-windows-msvc'
44
- - host: ubuntu-latest
45
- target: 'x86_64-unknown-linux-gnu'
46
- build: ${packageManager} build --platform --target x86_64-unknown-linux-gnu --use-napi-cross
47
- - host: ubuntu-latest
48
- target: 'x86_64-unknown-linux-musl'
49
- build: ${packageManager} build --platform --target x86_64-unknown-linux-musl -x
50
- - host: macos-latest
51
- target: 'aarch64-apple-darwin'
52
- build: ${packageManager} build --platform --target aarch64-apple-darwin
53
- - host: ubuntu-latest
54
- target: 'aarch64-unknown-linux-gnu'
55
- build: ${packageManager} build --platform --target aarch64-unknown-linux-gnu --use-napi-cross
56
- - host: ubuntu-latest
57
- target: 'armv7-unknown-linux-gnueabihf'
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
62
- - host: ubuntu-latest
63
- target: 'aarch64-linux-android'
64
- build: ${packageManager} build --platform --target aarch64-linux-android
65
- - host: ubuntu-latest
66
- target: 'armv7-linux-androideabi'
67
- build: ${packageManager} build --platform --target armv7-linux-androideabi
68
- - host: ubuntu-latest
69
- target: 'aarch64-unknown-linux-musl'
70
- build: ${packageManager} build --platform --target aarch64-unknown-linux-musl -x
71
- - host: windows-latest
72
- target: 'aarch64-pc-windows-msvc'
73
- build: ${packageManager} build --platform --target aarch64-pc-windows-msvc
74
- - host: ubuntu-latest
75
- target: 'riscv64gc-unknown-linux-gnu'
76
- setup: |
77
- sudo apt-get update
78
- sudo apt-get install gcc-riscv64-linux-gnu -y
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}
95
-
96
- name: stable - \${{ matrix.settings.target }} - node@20
97
- runs-on: \${{ matrix.settings.host }}
98
-
99
- steps:
100
- - uses: actions/checkout@v4
101
-
102
- - name: Setup node
103
- uses: actions/setup-node@v4
104
- with:
105
- node-version: 20
106
- cache: ${packageManager}
107
-
108
- - name: Install
109
- uses: dtolnay/rust-toolchain@stable
110
- with:
111
- toolchain: stable
112
- targets: \${{ matrix.settings.target }}
113
-
114
- - name: Cache cargo
115
- uses: actions/cache@v4
116
- with:
117
- path: |
118
- ~/.cargo/registry/index/
119
- ~/.cargo/registry/cache/
120
- ~/.cargo/git/db/
121
- ~/.napi-rs
122
- .cargo-cache
123
- target/
124
- key: \${{ matrix.settings.target }}-cargo-\${{ matrix.settings.host }}
125
-
126
- - uses: goto-bus-stop/setup-zig@v2
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 }}
136
- with:
137
- tool: cargo-zigbuild
138
-
139
- - name: Setup toolchain
140
- run: \${{ matrix.settings.setup }}
141
- if: \${{ matrix.settings.setup }}
142
- shell: bash
143
-
144
- - name: Setup node x86
145
- if: matrix.settings.target == 'i686-pc-windows-msvc'
146
- run: yarn config set supportedArchitectures.cpu "ia32"
147
- shell: bash
148
-
149
- - name: 'Install dependencies'
150
- run: ${packageManager} install
151
-
152
- - name: Setup node x86
153
- uses: actions/setup-node@v4
154
- if: matrix.settings.target == 'i686-pc-windows-msvc'
155
- with:
156
- node-version: 20
157
- architecture: x86
158
-
159
- - name: 'Build'
160
- run: \${{ matrix.settings.build }}
161
- shell: bash
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: "*.node"
169
- if-no-files-found: error
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
-
179
- build-freebsd:
180
- runs-on: ubuntu-latest
181
- name: Build FreeBSD
182
- steps:
183
- - uses: actions/checkout@v4
184
- - name: Build
185
- id: build
186
- uses: cross-platform-actions/action@v0.25.0
187
- env:
188
- DEBUG: 'napi:*'
189
- RUSTUP_IO_THREADS: 1
190
- with:
191
- operating_system: freebsd
192
- version: '14.1'
193
- memory: 8G
194
- cpu_count: 3
195
- environment_variables: 'DEBUG RUSTUP_IO_THREADS'
196
- shell: bash
197
- run: |
198
- sudo pkg install -y -f curl node libnghttp2 npm
199
- sudo npm install -g ${packageManager} --ignore-scripts
200
- curl https://sh.rustup.rs -sSf --output rustup.sh
201
- sh rustup.sh -y --profile minimal --default-toolchain stable
202
- source "$HOME/.cargo/env"
203
- echo "~~~~ rustc --version ~~~~"
204
- rustc --version
205
- echo "~~~~ node -v ~~~~"
206
- node -v
207
- echo "~~~~ yarn --version ~~~~"
208
- yarn --version
209
- pwd
210
- ls -lah
211
- whoami
212
- env
213
- freebsd-version
214
- ${packageManager} install
215
- ${packageManager} build
216
- strip -x *.node
217
- yarn test
218
- rm -rf node_modules
219
- rm -rf target
220
- rm -rf .yarn/cache
221
- - name: Upload artifact
222
- uses: actions/upload-artifact@v4
223
- with:
224
- name: bindings-freebsd
225
- path: "*.node"
226
- if-no-files-found: error
227
-
228
- test-macOS-windows-binding:
229
- name: Test bindings on \${{ matrix.settings.target }} - node@\${{ matrix.node }}
230
- needs:
231
- - build
232
- strategy:
233
- fail-fast: false
234
- matrix:
235
- settings:
236
- - host: macos-latest
237
- target: 'x86_64-apple-darwin'
238
- architecture: x64
239
- - host: macos-latest
240
- target: 'aarch64-apple-darwin'
241
- architecture: arm64
242
- - host: windows-latest
243
- target: 'x86_64-pc-windows-msvc'
244
- architecture: x64
245
- node: ['18', '20']
246
- runs-on: \${{ matrix.settings.host }}
247
-
248
- steps:
249
- - uses: actions/checkout@v4
250
-
251
- - name: Setup node
252
- uses: actions/setup-node@v4
253
- with:
254
- node-version: \${{ matrix.node }}
255
- cache: '${packageManager}'
256
- architecture: \${{ matrix.settings.architecture }}
257
-
258
- - name: 'Install dependencies'
259
- run: ${packageManager} install
260
-
261
- - name: Download artifacts
262
- uses: actions/download-artifact@v4
263
- with:
264
- name: bindings-\${{ matrix.settings.target }}
265
- path: .
266
-
267
- - name: List packages
268
- run: ls -R .
269
- shell: bash
270
-
271
- - name: Test bindings
272
- run: ${packageManager} run test
273
-
274
- test-linux-x64-gnu-binding:
275
- name: Test bindings on Linux-x64-gnu - node@\${{ matrix.node }}
276
- needs:
277
- - build
278
- strategy:
279
- fail-fast: false
280
- matrix:
281
- node: ['18', '20']
282
- runs-on: ubuntu-latest
283
-
284
- steps:
285
- - uses: actions/checkout@v4
286
-
287
- - name: Setup node
288
- uses: actions/setup-node@v4
289
- with:
290
- node-version: \${{ matrix.node }}
291
- cache: '${packageManager}'
292
-
293
- - name: 'Install dependencies'
294
- run: ${packageManager} install
295
-
296
- - name: Download artifacts
297
- uses: actions/download-artifact@v4
298
- with:
299
- name: bindings-x86_64-unknown-linux-gnu
300
- path: .
301
-
302
- - name: List packages
303
- run: ls -R .
304
- shell: bash
305
-
306
- - name: Test bindings
307
- run: docker run --rm -v $(pwd):/build -w /build node:\${{ matrix.node }}-slim ${packageManager} run test
308
-
309
- test-linux-x64-musl-binding:
310
- name: Test bindings on x86_64-unknown-linux-musl - node@\${{ matrix.node }}
311
- needs:
312
- - build
313
- strategy:
314
- fail-fast: false
315
- matrix:
316
- node: ['18', '20']
317
- runs-on: ubuntu-latest
318
-
319
- steps:
320
- - uses: actions/checkout@v4
321
-
322
- - name: Setup node
323
- uses: actions/setup-node@v4
324
- with:
325
- node-version: \${{ matrix.node }}
326
- cache: '${packageManager}'
327
-
328
- - name: 'Install dependencies'
329
- run: |
330
- yarn config set supportedArchitectures.libc "musl"
331
- ${packageManager} install
332
-
333
- - name: Download artifacts
334
- uses: actions/download-artifact@v4
335
- with:
336
- name: bindings-x86_64-unknown-linux-musl
337
- path: .
338
-
339
- - name: List packages
340
- run: ls -R .
341
- shell: bash
342
-
343
- - name: Test bindings
344
- run: docker run --rm -v $(pwd):/build -w /build node:\${{ matrix.node }}-alpine ${packageManager} run test
345
-
346
- test-linux-aarch64-gnu-binding:
347
- name: Test bindings on aarch64-unknown-linux-gnu - node@\${{ matrix.node }}
348
- needs:
349
- - build
350
- strategy:
351
- fail-fast: false
352
- matrix:
353
- node: ['20']
354
- runs-on: ubuntu-latest
355
-
356
- steps:
357
- - uses: actions/checkout@v4
358
-
359
- - name: Download artifacts
360
- uses: actions/download-artifact@v4
361
- with:
362
- name: bindings-aarch64-unknown-linux-gnu
363
- path: .
364
-
365
- - name: List packages
366
- run: ls -R .
367
- shell: bash
368
-
369
- - name: Install dependencies
370
- run: |
371
- yarn config set supportedArchitectures.cpu "arm64"
372
- yarn config set supportedArchitectures.libc "glibc"
373
- ${packageManager} install
374
-
375
- - name: Set up QEMU
376
- uses: docker/setup-qemu-action@v3
377
- with:
378
- platforms: arm64
379
- - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
380
-
381
- - name: Setup and run tests
382
- uses: addnab/docker-run-action@v3
383
- with:
384
- image: node:\${{ matrix.node }}-slim
385
- options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
386
- run: ${packageManager} run test
387
-
388
- test-linux-aarch64-musl-binding:
389
- name: Test bindings on aarch64-unknown-linux-musl - node@\${{ matrix.node }}
390
- needs:
391
- - build
392
- strategy:
393
- fail-fast: false
394
- matrix:
395
- node: ['18', '20']
396
-
397
- runs-on: ubuntu-latest
398
-
399
- steps:
400
- - uses: actions/checkout@v4
401
-
402
- - name: Download artifacts
403
- uses: actions/download-artifact@v4
404
- with:
405
- name: bindings-aarch64-unknown-linux-musl
406
- path: .
407
-
408
- - name: List packages
409
- run: ls -R .
410
- shell: bash
411
-
412
- - name: Install dependencies
413
- run: |
414
- yarn config set supportedArchitectures.cpu "arm64"
415
- yarn config set supportedArchitectures.libc "musl"
416
- ${packageManager} install
417
-
418
- - name: Set up QEMU
419
- uses: docker/setup-qemu-action@v3
420
- with:
421
- platforms: arm64
422
- - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
423
-
424
- - name: Setup and run tests
425
- uses: addnab/docker-run-action@v3
426
- with:
427
- image: node:\${{ matrix.node }}-alpine
428
- options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
429
- run: ${packageManager} run test
430
-
431
- test-linux-arm-gnueabihf-binding:
432
- name: Test bindings on armv7-unknown-linux-gnueabihf - node@\${{ matrix.node }}
433
- needs:
434
- - build
435
- strategy:
436
- fail-fast: false
437
- matrix:
438
- node: ['18', '20']
439
- runs-on: ubuntu-latest
440
-
441
- steps:
442
- - uses: actions/checkout@v4
443
-
444
- - name: Download artifacts
445
- uses: actions/download-artifact@v4
446
- with:
447
- name: bindings-armv7-unknown-linux-gnueabihf
448
- path: .
449
-
450
- - name: List packages
451
- run: ls -R .
452
- shell: bash
453
-
454
- - name: Install dependencies
455
- run: |
456
- yarn config set supportedArchitectures.cpu "arm"
457
- ${packageManager} install
458
-
459
- - name: Set up QEMU
460
- uses: docker/setup-qemu-action@v3
461
- with:
462
- platforms: arm
463
- - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
464
-
465
- - name: Setup and run tests
466
- uses: addnab/docker-run-action@v3
467
- with:
468
- image: node:\${{ matrix.node }}-bullseye-slim
469
- options: --platform linux/arm/v7 -v \${{ github.workspace }}:/build -w /build
470
- run: ${packageManager} test
471
-
472
- universal-macOS:
473
- name: Build universal macOS binary
474
- needs:
475
- - build
476
- runs-on: macos-latest
477
-
478
- steps:
479
- - uses: actions/checkout@v4
480
-
481
- - name: Setup node
482
- uses: actions/setup-node@v4
483
- with:
484
- node-version: 20
485
- cache: ${packageManager}
486
-
487
- - name: 'Install dependencies'
488
- run: ${packageManager} install
489
-
490
- - name: Download macOS x64 artifact
491
- uses: actions/download-artifact@v4
492
- with:
493
- name: bindings-x86_64-apple-darwin
494
- path: .
495
- - name: Download macOS arm64 artifact
496
- uses: actions/download-artifact@v4
497
- with:
498
- name: bindings-aarch64-apple-darwin
499
- path: .
500
-
501
- - name: Combine binaries
502
- run: ${packageManager} napi universalize
503
-
504
- - name: Upload artifact
505
- uses: actions/upload-artifact@v4
506
- with:
507
- name: bindings-universal-apple-darwin
508
- path: "*.node"
509
- if-no-files-found: error
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
-
540
- publish:
541
- name: Publish
542
- runs-on: ubuntu-latest
543
- needs:
544
- - test-linux-x64-gnu-binding
545
- - test-linux-x64-musl-binding
546
- - test-linux-aarch64-gnu-binding
547
- - test-linux-arm-gnueabihf-binding
548
- - test-macOS-windows-binding
549
- - test-linux-aarch64-musl-binding
550
- - test-wasi-nodejs
551
- - build-freebsd
552
-
553
- steps:
554
- - uses: actions/checkout@v4
555
-
556
- - name: Setup node
557
- uses: actions/setup-node@v4
558
- with:
559
- node-version: 20
560
- cache: '${packageManager}'
561
- registry-url: 'https://registry.npmjs.org'
562
-
563
- - name: 'Install dependencies'
564
- run: ${packageManager} install
565
-
566
- - name: Download all artifacts
567
- uses: actions/download-artifact@v4
568
- with:
569
- path: artifacts
570
-
571
- - name: Move artifacts
572
- run: ${packageManager} artifacts
573
-
574
- - name: List packages
575
- run: ls -R ./npm
576
- shell: bash
577
-
578
- - name: Publish
579
- run: |
580
- if git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+$";
581
- then
582
- npm publish --access public --provenance
583
- elif git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+";
584
- then
585
- npm publish --tag next --access public --provenance
586
- else
587
- echo "Not a release, skipping publish"
588
- fi
589
- env:
590
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
591
- NODE_AUTH_TOKEN: \${{ secrets.NPM_TOKEN }}
592
- `;
593
- //# sourceMappingURL=ci-template.js.map
@@ -1 +0,0 @@
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,115 +0,0 @@
1
- import { load, dump } from 'js-yaml';
2
- import { NodeArchToCpu, UniArchsByPlatform, parseTriple, } from '../../utils/index.js';
3
- import { YAML } from './ci-template.js';
4
- const BUILD_FREEBSD = 'build-freebsd';
5
- const TEST_MACOS_WINDOWS = 'test-macOS-windows-binding';
6
- const TEST_LINUX_X64_GNU = 'test-linux-x64-gnu-binding';
7
- const TEST_LINUX_X64_MUSL = 'test-linux-x64-musl-binding';
8
- const TEST_LINUX_AARCH64_GNU = 'test-linux-aarch64-gnu-binding';
9
- const TEST_LINUX_AARCH64_MUSL = 'test-linux-aarch64-musl-binding';
10
- const TEST_LINUX_ARM_GNUEABIHF = 'test-linux-arm-gnueabihf-binding';
11
- const TEST_WASI = 'test-wasi-nodejs';
12
- const UNIVERSAL_MACOS = 'universal-macOS';
13
- export const createGithubActionsCIYml = (targets, packageManager, wasiTargetName) => {
14
- const allTargets = new Set(targets.flatMap((t) => {
15
- const platform = parseTriple(t);
16
- if (platform.arch === 'universal') {
17
- const srcTriples = UniArchsByPlatform[platform.platform]?.map((arch) => t.replace('universal', NodeArchToCpu[arch]));
18
- return [t, ...(srcTriples ?? [])];
19
- }
20
- return [t];
21
- }));
22
- const fullTemplate = load(YAML(packageManager, wasiTargetName));
23
- const requiredSteps = [];
24
- const enableWindowsX86 = allTargets.has('x86_64-pc-windows-msvc');
25
- const enableMacOSX86 = allTargets.has('x86_64-apple-darwin');
26
- const enableLinuxX86Gnu = allTargets.has('x86_64-unknown-linux-gnu');
27
- const enableLinuxX86Musl = allTargets.has('x86_64-unknown-linux-musl');
28
- const enableLinuxArm8Gnu = allTargets.has('aarch64-unknown-linux-gnu');
29
- const enableLinuxArm8Musl = allTargets.has('aarch64-unknown-linux-musl');
30
- const enableLinuxArm7 = allTargets.has('armv7-unknown-linux-gnueabihf');
31
- const enableFreeBSD = allTargets.has('x86_64-unknown-freebsd');
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');
36
- fullTemplate.jobs.build.strategy.matrix.settings =
37
- fullTemplate.jobs.build.strategy.matrix.settings.filter(({ target }) => allTargets.has(target));
38
- if (!fullTemplate.jobs.build.strategy.matrix.settings.length) {
39
- delete fullTemplate.jobs.build.strategy.matrix;
40
- }
41
- if (!enableFreeBSD) {
42
- delete fullTemplate.jobs[BUILD_FREEBSD];
43
- }
44
- else {
45
- requiredSteps.push(BUILD_FREEBSD);
46
- }
47
- if (!enableWindowsX86 && !enableMacOSX86) {
48
- delete fullTemplate.jobs[TEST_MACOS_WINDOWS];
49
- }
50
- else {
51
- const filterTargets = new Set();
52
- if (enableWindowsX86) {
53
- filterTargets.add('windows-latest');
54
- }
55
- if (enableMacOSUni || enableMacOSX86) {
56
- filterTargets.add('macos-latest');
57
- }
58
- fullTemplate.jobs[TEST_MACOS_WINDOWS].strategy.matrix.settings =
59
- fullTemplate.jobs[TEST_MACOS_WINDOWS].strategy.matrix.settings.filter(({ host }) => filterTargets.has(host));
60
- requiredSteps.push(TEST_MACOS_WINDOWS);
61
- }
62
- if (!enableLinuxX86Gnu) {
63
- delete fullTemplate.jobs[TEST_LINUX_X64_GNU];
64
- }
65
- else {
66
- requiredSteps.push(TEST_LINUX_X64_GNU);
67
- }
68
- if (!enableLinuxX86Musl) {
69
- delete fullTemplate.jobs[TEST_LINUX_X64_MUSL];
70
- }
71
- else {
72
- requiredSteps.push(TEST_LINUX_X64_MUSL);
73
- }
74
- if (!enableLinuxArm8Gnu) {
75
- delete fullTemplate.jobs[TEST_LINUX_AARCH64_GNU];
76
- }
77
- else {
78
- requiredSteps.push(TEST_LINUX_AARCH64_GNU);
79
- }
80
- if (!enableLinuxArm8Musl) {
81
- delete fullTemplate.jobs[TEST_LINUX_AARCH64_MUSL];
82
- }
83
- else {
84
- requiredSteps.push(TEST_LINUX_AARCH64_MUSL);
85
- }
86
- if (!enableLinuxArm7) {
87
- delete fullTemplate.jobs[TEST_LINUX_ARM_GNUEABIHF];
88
- }
89
- else {
90
- requiredSteps.push(TEST_LINUX_ARM_GNUEABIHF);
91
- }
92
- if (!enableMacOSUni) {
93
- delete fullTemplate.jobs[UNIVERSAL_MACOS];
94
- }
95
- else {
96
- requiredSteps.push(UNIVERSAL_MACOS);
97
- }
98
- if (!enableWasi) {
99
- delete fullTemplate.jobs[TEST_WASI];
100
- }
101
- else {
102
- requiredSteps.push(TEST_WASI);
103
- }
104
- fullTemplate.jobs.publish.needs = requiredSteps;
105
- try {
106
- return dump(fullTemplate, {
107
- lineWidth: 1000,
108
- });
109
- }
110
- catch (err) {
111
- console.info(fullTemplate);
112
- throw err;
113
- }
114
- };
115
- //# sourceMappingURL=ci.yml.js.map