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