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