@napi-rs/cli 3.0.0-alpha.4 → 3.0.0-alpha.6

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 (135) hide show
  1. package/cli.mjs +0 -0
  2. package/dist/api/artifacts.js +5 -2
  3. package/dist/api/artifacts.js.map +1 -0
  4. package/dist/api/build.d.ts +1 -1
  5. package/dist/api/build.js +98 -27
  6. package/dist/api/build.js.map +1 -0
  7. package/dist/api/create-npm-dirs.js +1 -0
  8. package/dist/api/create-npm-dirs.js.map +1 -0
  9. package/dist/api/load-wasi-template.d.ts +1 -0
  10. package/dist/api/load-wasi-template.js +63 -0
  11. package/dist/api/load-wasi-template.js.map +1 -0
  12. package/dist/api/new.js +2 -1
  13. package/dist/api/new.js.map +1 -0
  14. package/dist/api/pre-publish.js +1 -0
  15. package/dist/api/pre-publish.js.map +1 -0
  16. package/dist/api/rename.js +1 -0
  17. package/dist/api/rename.js.map +1 -0
  18. package/dist/api/templates/.gitignore.d.ts +1 -1
  19. package/dist/api/templates/.gitignore.js +2 -0
  20. package/dist/api/templates/.gitignore.js.map +1 -0
  21. package/dist/api/templates/.npmignore.js +1 -0
  22. package/dist/api/templates/.npmignore.js.map +1 -0
  23. package/dist/api/templates/build.rs.js +1 -0
  24. package/dist/api/templates/build.rs.js.map +1 -0
  25. package/dist/api/templates/cargo.toml.js +1 -0
  26. package/dist/api/templates/cargo.toml.js.map +1 -0
  27. package/dist/api/templates/ci-template.js +48 -35
  28. package/dist/api/templates/ci-template.js.map +1 -0
  29. package/dist/api/templates/ci.yml.d.ts +1 -1
  30. package/dist/api/templates/ci.yml.js +10 -3
  31. package/dist/api/templates/ci.yml.js.map +1 -0
  32. package/dist/api/templates/index.js +1 -0
  33. package/dist/api/templates/index.js.map +1 -0
  34. package/dist/api/templates/js-binding.d.ts +1 -1
  35. package/dist/api/templates/js-binding.js +49 -13
  36. package/dist/api/templates/js-binding.js.map +1 -0
  37. package/dist/api/templates/lib.rs.js +1 -0
  38. package/dist/api/templates/lib.rs.js.map +1 -0
  39. package/dist/api/templates/package.json.js +30 -27
  40. package/dist/api/templates/package.json.js.map +1 -0
  41. package/dist/api/universalize.js +1 -0
  42. package/dist/api/universalize.js.map +1 -0
  43. package/dist/api/version.js +1 -0
  44. package/dist/api/version.js.map +1 -0
  45. package/dist/api/wasi-worker-template.d.ts +1 -0
  46. package/dist/api/wasi-worker-template.js +53 -0
  47. package/dist/api/wasi-worker-template.js.map +1 -0
  48. package/dist/cli.js +1 -0
  49. package/dist/cli.js.map +1 -0
  50. package/dist/commands/artifacts.js +2 -2
  51. package/dist/commands/artifacts.js.map +1 -0
  52. package/dist/commands/build.js +1 -0
  53. package/dist/commands/build.js.map +1 -0
  54. package/dist/commands/create-npm-dirs.js +1 -0
  55. package/dist/commands/create-npm-dirs.js.map +1 -0
  56. package/dist/commands/help.js +2 -2
  57. package/dist/commands/help.js.map +1 -0
  58. package/dist/commands/new.js +2 -4
  59. package/dist/commands/new.js.map +1 -0
  60. package/dist/commands/pre-publish.js +1 -0
  61. package/dist/commands/pre-publish.js.map +1 -0
  62. package/dist/commands/rename.js +1 -0
  63. package/dist/commands/rename.js.map +1 -0
  64. package/dist/commands/universalize.js +1 -0
  65. package/dist/commands/universalize.js.map +1 -0
  66. package/dist/commands/version.js +1 -0
  67. package/dist/commands/version.js.map +1 -0
  68. package/dist/def/artifacts.js +2 -2
  69. package/dist/def/artifacts.js.map +1 -0
  70. package/dist/def/build.js +2 -2
  71. package/dist/def/build.js.map +1 -0
  72. package/dist/def/create-npm-dirs.js +2 -2
  73. package/dist/def/create-npm-dirs.js.map +1 -0
  74. package/dist/def/new.js +2 -2
  75. package/dist/def/new.js.map +1 -0
  76. package/dist/def/pre-publish.js +2 -2
  77. package/dist/def/pre-publish.js.map +1 -0
  78. package/dist/def/rename.js +2 -2
  79. package/dist/def/rename.js.map +1 -0
  80. package/dist/def/universalize.js +2 -2
  81. package/dist/def/universalize.js.map +1 -0
  82. package/dist/def/version.js +2 -2
  83. package/dist/def/version.js.map +1 -0
  84. package/dist/index.cjs +2921 -7847
  85. package/dist/index.js +1 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/utils/__tests__/target.spec.js +1 -0
  88. package/dist/utils/__tests__/target.spec.js.map +1 -0
  89. package/dist/utils/__tests__/typegen.spec.js +2 -1
  90. package/dist/utils/__tests__/typegen.spec.js.map +1 -0
  91. package/dist/utils/__tests__/version.spec.js +1 -0
  92. package/dist/utils/__tests__/version.spec.js.map +1 -0
  93. package/dist/utils/cargo.js +1 -0
  94. package/dist/utils/cargo.js.map +1 -0
  95. package/dist/utils/ci.js +1 -0
  96. package/dist/utils/ci.js.map +1 -0
  97. package/dist/utils/config.d.ts +9 -1
  98. package/dist/utils/config.js +1 -0
  99. package/dist/utils/config.js.map +1 -0
  100. package/dist/utils/index.js +1 -0
  101. package/dist/utils/index.js.map +1 -0
  102. package/dist/utils/log.js +1 -0
  103. package/dist/utils/log.js.map +1 -0
  104. package/dist/utils/metadata.js +1 -0
  105. package/dist/utils/metadata.js.map +1 -0
  106. package/dist/utils/misc.js +1 -0
  107. package/dist/utils/misc.js.map +1 -0
  108. package/dist/utils/target.d.ts +4 -3
  109. package/dist/utils/target.js +10 -0
  110. package/dist/utils/target.js.map +1 -0
  111. package/dist/utils/typegen.d.ts +4 -1
  112. package/dist/utils/typegen.js +21 -1
  113. package/dist/utils/typegen.js.map +1 -0
  114. package/dist/utils/version.js +3 -2
  115. package/dist/utils/version.js.map +1 -0
  116. package/package.json +47 -15
  117. package/src/api/artifacts.ts +7 -4
  118. package/src/api/build.ts +133 -25
  119. package/src/api/load-wasi-template.ts +65 -0
  120. package/src/api/new.ts +1 -4
  121. package/src/api/pre-publish.ts +8 -5
  122. package/src/api/templates/.gitignore.ts +1 -0
  123. package/src/api/templates/ci-template.ts +47 -35
  124. package/src/api/templates/ci.yml.ts +9 -6
  125. package/src/api/templates/js-binding.ts +52 -13
  126. package/src/api/templates/package.json.ts +31 -26
  127. package/src/api/wasi-worker-template.ts +52 -0
  128. package/src/commands/new.ts +1 -5
  129. package/src/utils/__tests__/__snapshots__/version.spec.ts.md +7 -7
  130. package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
  131. package/src/utils/__tests__/typegen.spec.ts +1 -1
  132. package/src/utils/config.ts +12 -1
  133. package/src/utils/target.ts +16 -7
  134. package/src/utils/typegen.ts +20 -1
  135. package/src/utils/version.ts +1 -1
@@ -5,6 +5,10 @@ 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:
@@ -107,10 +111,10 @@ jobs:
107
111
  runs-on: \${{ matrix.settings.host }}
108
112
 
109
113
  steps:
110
- - uses: actions/checkout@v3
114
+ - uses: actions/checkout@v4
111
115
 
112
116
  - name: Setup node
113
- uses: actions/setup-node@v3
117
+ uses: actions/setup-node@v4
114
118
  if: \${{ !matrix.settings.docker }}
115
119
  with:
116
120
  node-version: 18
@@ -137,7 +141,7 @@ jobs:
137
141
  - uses: goto-bus-stop/setup-zig@v2
138
142
  if: \${{ matrix.settings.target == 'armv7-unknown-linux-gnueabihf' }}
139
143
  with:
140
- version: 0.10.1
144
+ version: 0.11.0
141
145
 
142
146
  - name: Setup toolchain
143
147
  run: \${{ matrix.settings.setup }}
@@ -153,7 +157,7 @@ jobs:
153
157
  run: yarn install
154
158
 
155
159
  - name: Setup node x86
156
- uses: actions/setup-node@v3
160
+ uses: actions/setup-node@v4
157
161
  if: matrix.settings.target == 'i686-pc-windows-msvc'
158
162
  with:
159
163
  node-version: 18
@@ -184,34 +188,32 @@ jobs:
184
188
  runs-on: macos-12
185
189
  name: Build FreeBSD
186
190
  steps:
187
- - uses: actions/checkout@v3
191
+ - uses: actions/checkout@v4
188
192
  - name: Build
189
193
  id: build
190
- uses: vmactions/freebsd-vm@v0
194
+ uses: cross-platform-actions/action@v0.21.0
191
195
  env:
192
196
  DEBUG: 'napi:*'
193
- RUSTUP_HOME: /usr/local/rustup
194
- CARGO_HOME: /usr/local/cargo
195
197
  RUSTUP_IO_THREADS: 1
196
198
  with:
197
- envs: 'DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS'
198
- usesh: true
199
- mem: 3000
199
+ operating_system: freebsd
200
+ version: '13.2'
201
+ memory: 13G
202
+ cpu_count: 3
203
+ environment_variables: 'DEBUG RUSTUP_IO_THREADS'
204
+ shell: bash
200
205
  prepare: |
201
- pkg install -y -f curl node libnghttp2
202
- curl -qL https://www.npmjs.com/install.sh | sh
203
- npm install --location=global --ignore-scripts yarn
206
+ sudo pkg install -y -f curl node libnghttp2 npm
207
+ sudo npm install -g yarn --ignore-scripts
204
208
  curl https://sh.rustup.rs -sSf --output rustup.sh
205
- sh rustup.sh -y --profile minimal --default-toolchain beta
206
- export PATH="/usr/local/cargo/bin:$PATH"
209
+ sh rustup.sh -y --profile minimal --default-toolchain stable
210
+ source "$HOME/.cargo/env"
207
211
  echo "~~~~ rustc --version ~~~~"
208
212
  rustc --version
209
213
  echo "~~~~ node -v ~~~~"
210
214
  node -v
211
215
  echo "~~~~ yarn --version ~~~~"
212
216
  yarn --version
213
- run: |
214
- export PATH="/usr/local/cargo/bin:$PATH"
215
217
  pwd
216
218
  ls -lah
217
219
  whoami
@@ -244,13 +246,14 @@ jobs:
244
246
  - host: windows-latest
245
247
  target: 'x86_64-pc-windows-msvc'
246
248
  node: ['16', '18']
249
+ node: ['18', '20']
247
250
  runs-on: \${{ matrix.settings.host }}
248
251
 
249
252
  steps:
250
- - uses: actions/checkout@v3
253
+ - uses: actions/checkout@v4
251
254
 
252
255
  - name: Setup node
253
- uses: actions/setup-node@v3
256
+ uses: actions/setup-node@v4
254
257
  with:
255
258
  node-version: \${{ matrix.node }}
256
259
  cache: 'yarn'
@@ -279,13 +282,14 @@ jobs:
279
282
  fail-fast: false
280
283
  matrix:
281
284
  node: ['16', '18']
285
+ node: ['18', '20']
282
286
  runs-on: ubuntu-latest
283
287
 
284
288
  steps:
285
- - uses: actions/checkout@v3
289
+ - uses: actions/checkout@v4
286
290
 
287
291
  - name: Setup node
288
- uses: actions/setup-node@v3
292
+ uses: actions/setup-node@v4
289
293
  with:
290
294
  node-version: \${{ matrix.node }}
291
295
  cache: 'yarn'
@@ -314,13 +318,14 @@ jobs:
314
318
  fail-fast: false
315
319
  matrix:
316
320
  node: ['16', '18']
321
+ node: ['18', '20']
317
322
  runs-on: ubuntu-latest
318
323
 
319
324
  steps:
320
- - uses: actions/checkout@v3
325
+ - uses: actions/checkout@v4
321
326
 
322
327
  - name: Setup node
323
- uses: actions/setup-node@v3
328
+ uses: actions/setup-node@v4
324
329
  with:
325
330
  node-version: \${{ matrix.node }}
326
331
  cache: 'yarn'
@@ -351,10 +356,11 @@ jobs:
351
356
  fail-fast: false
352
357
  matrix:
353
358
  node: ['16', '18']
359
+ node: ['18', '20']
354
360
  runs-on: ubuntu-latest
355
361
 
356
362
  steps:
357
- - uses: actions/checkout@v3
363
+ - uses: actions/checkout@v4
358
364
 
359
365
  - name: Download artifacts
360
366
  uses: actions/download-artifact@v3
@@ -373,7 +379,7 @@ jobs:
373
379
  yarn install
374
380
 
375
381
  - name: Set up QEMU
376
- uses: docker/setup-qemu-action@v2
382
+ uses: docker/setup-qemu-action@v3
377
383
  with:
378
384
  platforms: arm64
379
385
  - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -392,11 +398,15 @@ jobs:
392
398
  name: Test bindings on aarch64-unknown-linux-musl - node@\${{ matrix.node }}
393
399
  needs:
394
400
  - build
401
+ strategy:
402
+ fail-fast: false
403
+ matrix:
404
+ node: ['16', '18']
395
405
 
396
406
  runs-on: ubuntu-latest
397
407
 
398
408
  steps:
399
- - uses: actions/checkout@v3
409
+ - uses: actions/checkout@v4
400
410
 
401
411
  - name: Download artifacts
402
412
  uses: actions/download-artifact@v3
@@ -415,7 +425,7 @@ jobs:
415
425
  yarn install
416
426
 
417
427
  - name: Set up QEMU
418
- uses: docker/setup-qemu-action@v2
428
+ uses: docker/setup-qemu-action@v3
419
429
  with:
420
430
  platforms: arm64
421
431
  - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -423,7 +433,7 @@ jobs:
423
433
  - name: Setup and run tests
424
434
  uses: addnab/docker-run-action@v3
425
435
  with:
426
- image: node:lts-alpine
436
+ image: node:\${{ matrix.node }}-alpine
427
437
  options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
428
438
  run: |
429
439
  set -e
@@ -437,10 +447,11 @@ jobs:
437
447
  fail-fast: false
438
448
  matrix:
439
449
  node: ['16', '18']
450
+ node: ['18', '20']
440
451
  runs-on: ubuntu-latest
441
452
 
442
453
  steps:
443
- - uses: actions/checkout@v3
454
+ - uses: actions/checkout@v4
444
455
 
445
456
  - name: Download artifacts
446
457
  uses: actions/download-artifact@v3
@@ -458,7 +469,7 @@ jobs:
458
469
  yarn install
459
470
 
460
471
  - name: Set up QEMU
461
- uses: docker/setup-qemu-action@v2
472
+ uses: docker/setup-qemu-action@v3
462
473
  with:
463
474
  platforms: arm
464
475
  - run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
@@ -480,10 +491,10 @@ jobs:
480
491
  runs-on: macos-latest
481
492
 
482
493
  steps:
483
- - uses: actions/checkout@v3
494
+ - uses: actions/checkout@v4
484
495
 
485
496
  - name: Setup node
486
- uses: actions/setup-node@v3
497
+ uses: actions/setup-node@v4
487
498
  with:
488
499
  node-version: 18
489
500
  cache: yarn
@@ -525,10 +536,10 @@ jobs:
525
536
  - build-freebsd
526
537
 
527
538
  steps:
528
- - uses: actions/checkout@v3
539
+ - uses: actions/checkout@v4
529
540
 
530
541
  - name: Setup node
531
- uses: actions/setup-node@v3
542
+ uses: actions/setup-node@v4
532
543
  with:
533
544
  node-version: 18
534
545
  cache: 'yarn'
@@ -550,6 +561,7 @@ jobs:
550
561
 
551
562
  - name: Publish
552
563
  run: |
564
+ npm config set provenance true
553
565
  if git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+$";
554
566
  then
555
567
  echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
@@ -565,3 +577,4 @@ jobs:
565
577
  GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
566
578
  NPM_TOKEN: \${{ secrets.NPM_TOKEN }}
567
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":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkkBzB,CAAA"}
@@ -1 +1 @@
1
- export declare const createGithubActionsCIYml: (binaryName: string, targets: string[]) => string;
1
+ export declare const createGithubActionsCIYml: (targets: string[]) => string;
@@ -9,7 +9,7 @@ const TEST_LINUX_AARCH64_GNU = 'test-linux-aarch64-gnu-binding';
9
9
  const TEST_LINUX_AARCH64_MUSL = 'test-linux-aarch64-musl-binding';
10
10
  const TEST_LINUX_ARM_GNUEABIHF = 'test-linux-arm-gnueabihf-binding';
11
11
  const UNIVERSAL_MACOS = 'universal-macOS';
12
- export const createGithubActionsCIYml = (binaryName, targets) => {
12
+ export const createGithubActionsCIYml = (targets) => {
13
13
  const allTargets = new Set(targets.flatMap((t) => {
14
14
  const platform = parseTriple(t);
15
15
  if (platform.arch === 'universal') {
@@ -44,9 +44,15 @@ export const createGithubActionsCIYml = (binaryName, targets) => {
44
44
  delete fullTemplate.jobs[TEST_MACOS_WINDOWS];
45
45
  }
46
46
  else {
47
- const filterTarget = enableWindowsX86 ? 'macos-latest' : 'windows-latest';
47
+ const filterTargets = new Set();
48
+ if (enableWindowsX86) {
49
+ filterTargets.add('windows-latest');
50
+ }
51
+ if (enableMacOSUni || enableMacOSX86) {
52
+ filterTargets.add('macos-latest');
53
+ }
48
54
  fullTemplate.jobs[TEST_MACOS_WINDOWS].strategy.matrix.settings =
49
- fullTemplate.jobs[TEST_MACOS_WINDOWS].strategy.matrix.settings.filter(({ host }) => host !== filterTarget);
55
+ fullTemplate.jobs[TEST_MACOS_WINDOWS].strategy.matrix.settings.filter(({ host }) => filterTargets.has(host));
50
56
  requiredSteps.push(TEST_MACOS_WINDOWS);
51
57
  }
52
58
  if (!enableLinuxX86Gnu) {
@@ -90,3 +96,4 @@ export const createGithubActionsCIYml = (binaryName, targets) => {
90
96
  lineWidth: 1000,
91
97
  });
92
98
  };
99
+ //# sourceMappingURL=ci.yml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.yml.js","sourceRoot":"","sources":["../../../src/api/templates/ci.yml.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,4 @@ export * from './ci.yml.js';
6
6
  export * from './lib.rs.js';
7
7
  export * from './package.json.js';
8
8
  export * from './js-binding.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA"}
@@ -1 +1 @@
1
- export declare function createJsBinding(localName: string, pkgName: string): string;
1
+ export declare function createCjsBinding(localName: string, pkgName: string, idents: string[]): string;
@@ -1,8 +1,6 @@
1
- export function createJsBinding(localName, pkgName) {
1
+ export function createCjsBinding(localName, pkgName, idents) {
2
2
  return `// prettier-ignore
3
- /* tslint:disable */
4
3
  /* eslint-disable */
5
-
6
4
  /* auto-generated by NAPI-RS */
7
5
 
8
6
  const { existsSync, readFileSync } = require('fs')
@@ -14,18 +12,52 @@ let nativeBinding = null
14
12
  let localFileExisted = false
15
13
  let loadError = null
16
14
 
17
- function isMusl() {
18
- // For Node 10
19
- if (!process.report || typeof process.report.getReport !== 'function') {
20
- try {
21
- const lddPath = require('child_process').execSync('which ldd').toString().trim()
22
- return readFileSync(lddPath, 'utf8').includes('musl')
23
- } catch (e) {
15
+ const isMusl = () => {
16
+ let musl = false
17
+ if (process.platform === 'linux') {
18
+ musl = isMuslFromFilesystem()
19
+ if (musl === null) {
20
+ musl = isMuslFromReport()
21
+ }
22
+ if (musl === null) {
23
+ musl = isMuslFromChildProcess()
24
+ }
25
+ }
26
+ return musl
27
+ }
28
+
29
+ const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
30
+
31
+ const isMuslFromFilesystem = () => {
32
+ try {
33
+ return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
34
+ } catch {
35
+ return null
36
+ }
37
+ }
38
+
39
+ const isMuslFromReport = () => {
40
+ const report = typeof process.report.getReport === 'function' ? process.report.getReport() : null
41
+ if (!report) {
42
+ return null
43
+ }
44
+ if (report.header && report.header.glibcVersionRuntime) {
45
+ return false
46
+ }
47
+ if (Array.isArray(report.sharedObjects)) {
48
+ if (report.sharedObjects.some(isFileMusl)) {
24
49
  return true
25
50
  }
26
- } else {
27
- const { glibcVersionRuntime } = process.report.getReport().header
28
- return !glibcVersionRuntime
51
+ }
52
+ return false
53
+ }
54
+
55
+ const isMuslFromChildProcess = () => {
56
+ try {
57
+ return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
58
+ } catch (e) {
59
+ // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
60
+ return false
29
61
  }
30
62
  }
31
63
 
@@ -253,5 +285,9 @@ if (!nativeBinding) {
253
285
  throw new Error(\`Failed to load native binding\`)
254
286
  }
255
287
 
288
+ ${idents
289
+ .map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
290
+ .join('\n')}
256
291
  `;
257
292
  }
293
+ //# sourceMappingURL=js-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-binding.js","sourceRoot":"","sources":["../../../src/api/templates/js-binding.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,OAAe,EACf,MAAgB;IAEhB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAkEgD,SAAS;;;yCAGzB,SAAS;;uCAEX,OAAO;;;;;;;yDAOW,SAAS;;;yCAGzB,SAAS;;uCAEX,OAAO;;;;;;;;;;;;;;6BAcjB,SAAS;;;;yCAIG,SAAS;;uCAEX,OAAO;;;;;;;;6BAQjB,SAAS;;;;yCAIG,SAAS;;uCAEX,OAAO;;;;;;;;6BAQjB,SAAS;;;;yCAIG,SAAS;;uCAEX,OAAO;;;;;;;;;;;qDAWO,SAAS;;;qCAGzB,SAAS;;mCAEX,OAAO;;;;;;yDAMe,SAAS;;;yCAGzB,SAAS;;uCAEX,OAAO;;;;;;;;6BAQjB,SAAS;;;;yCAIG,SAAS;;uCAEX,OAAO;;;;;;;;;;;;;;qDAcO,SAAS;;;qCAGzB,SAAS;;mCAEX,OAAO;;;;;;;;;;;+BAWX,SAAS;;;;2CAIG,SAAS;;yCAEX,OAAO;;;;;;;+BAOjB,SAAS;;;;2CAIG,SAAS;;yCAEX,OAAO;;;;;;;;;;+BAUjB,SAAS;;;;2CAIG,SAAS;;yCAEX,OAAO;;;;;;;+BAOjB,SAAS;;;;2CAIG,SAAS;;yCAEX,OAAO;;;;;;;;;6BASnB,SAAS;;;;yCAIG,SAAS;;uCAEX,OAAO;;;;;;;;;;;;;;;;;;;;;EAqB5C,MAAM;SACL,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,KAAK,oBAAoB,KAAK,EAAE,CAAC;SAClE,IAAI,CAAC,IAAI,CAAC;CACZ,CAAA;AACD,CAAC"}
@@ -8,3 +8,4 @@ pub fn sum(a: i32, b: i32) -> i32 {
8
8
  a + b
9
9
  }
10
10
  `;
11
+ //# sourceMappingURL=lib.rs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.rs.js","sourceRoot":"","sources":["../../../src/api/templates/lib.rs.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;;;;;;;;;CAShC,CAAA"}
@@ -1,29 +1,32 @@
1
1
  export const createPackageJson = ({ name, binaryName, targets, license, engineRequirement, cliVersion, }) => {
2
- return `{
3
- "name": "${name}",
4
- "version": "1.0.0",
5
- "main": "index.js",
6
- "types": "index.d.ts",
7
- "license": "${license}",
8
- "engines": {
9
- "node": "${engineRequirement}"
10
- },
11
- "napi": {
12
- "binaryName": "${binaryName}",
13
- "targets": [
14
- ${targets.map((t) => `"${t}"`).join(',\n ')}
15
- ]
16
- },
17
- "scripts": {
18
- "test": "node -e \\"assert(require('.').sum(1, 2) === 3)\\"",
19
- "build": "napi build --release --platform --strip",
20
- "build:debug": "napi build",
21
- "prepublishOnly": "napi prepublish -t npm",
22
- "artifacts": "napi artifacts",
23
- "version": "napi version"
24
- },
25
- "devDependencies": {
26
- "@napi-rs/cli": "^${cliVersion}"
27
- }
28
- }`;
2
+ const content = {
3
+ name,
4
+ version: '1.0.0',
5
+ license,
6
+ engines: {
7
+ node: engineRequirement,
8
+ },
9
+ type: 'commonjs',
10
+ main: 'index.js',
11
+ types: 'index.d.ts',
12
+ module: undefined,
13
+ exports: undefined,
14
+ napi: {
15
+ binaryName,
16
+ targets,
17
+ },
18
+ scripts: {
19
+ test: 'node -e "assert(require(\'.\').sum(1, 2) === 3)"',
20
+ build: 'napi build --release --platform --strip',
21
+ 'build:debug': 'napi build',
22
+ prepublishOnly: 'napi prepublish -t npm',
23
+ artifacts: 'napi artifacts',
24
+ version: 'napi version',
25
+ },
26
+ devDependencies: {
27
+ '@napi-rs/cli': `^${cliVersion}`,
28
+ },
29
+ };
30
+ return JSON.stringify(content, null, 2);
29
31
  };
32
+ //# sourceMappingURL=package.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../src/api/templates/package.json.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,UAAU,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,UAAU,GAQX,EAAE,EAAE;IACH,MAAM,OAAO,GAA4B;QACvC,IAAI;QACJ,OAAO,EAAE,OAAO;QAChB,OAAO;QACP,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;SACxB;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE;YACJ,UAAU;YACV,OAAO;SACR;QACD,OAAO,EAAE;YACP,IAAI,EAAE,kDAAkD;YACxD,KAAK,EAAE,yCAAyC;YAChD,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,wBAAwB;YACxC,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE,cAAc;SACxB;QACD,eAAe,EAAE;YACf,cAAc,EAAE,IAAI,UAAU,EAAE;SACjC;KACF,CAAA;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA"}
@@ -36,3 +36,4 @@ export async function universalizeBinaries(userOptions) {
36
36
  universalizers[process.platform]?.(srcFiles, output);
37
37
  debug(`Produced universal binary: ${output}`);
38
38
  }
39
+ //# sourceMappingURL=universalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universalize.js","sourceRoot":"","sources":["../../src/api/universalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,EACL,+BAA+B,GAEhC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AAE1C,MAAM,cAAc,GAEhB;IACF,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACzB,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE;YAC3D,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAgC;IACzE,MAAM,OAAO,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAA;IAE5D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAElE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CACjE,CAAA;IAED,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CACb,kCAAkC,OAAO,CAAC,QAAQ,wBAAwB,CAC3E,CAAA;KACF;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CACxD,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,OAAO,CAClE,CAAA;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClD,MAAM,IAAI,KAAK,CACb,kCAAkC,OAAO,CAAC,QAAQ,kBAAkB,CACrE,CAAA;KACF;IAED,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAChD,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEvB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAA;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAElE,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CACrE,CAAA;KACF;IAED,MAAM,MAAM,GAAG,OAAO,CACpB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,SAAS,EACjB,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,iBAAiB,CAC1D,CAAA;IAED,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAEpD,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;AAC/C,CAAC"}
@@ -14,3 +14,4 @@ export async function version(userOptions) {
14
14
  });
15
15
  }
16
16
  }
17
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/api/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,EAAE,0BAA0B,EAAkB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;AAErC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,WAA2B;IACvD,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAA;IACvD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAErE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,CAAA;IAEpD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;QAE3E,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzE,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;YACpD,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO;SACpC,CAAC,CAAA;KACH;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const WASI_WORKER_TEMPLATE = "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { parentPort, Worker } from \"node:worker_threads\";\n\nimport { instantiateNapiModuleSync, MessageHandler } from \"@emnapi/core\";\nimport { WASI } from \"@tybys/wasm-util\";\n\nconst require = createRequire(import.meta.url);\n\nif (parentPort) {\n parentPort.on(\"message\", (data) => {\n globalThis.onmessage({ data });\n });\n}\n\nObject.assign(globalThis, {\n self: globalThis,\n require,\n Worker,\n importScripts: function (f) {\n ;(0, eval)(fs.readFileSync(f, \"utf8\") + \"//# sourceURL=\" + f);\n },\n postMessage: function (msg) {\n if (parentPort) {\n parentPort.postMessage(msg);\n }\n },\n});\n\nconst handler = new MessageHandler({\n onLoad({ wasmModule, wasmMemory }) {\n const wasi = new WASI({ fs });\n\n return instantiateNapiModuleSync(wasmModule, {\n childThread: true,\n wasi,\n overwriteImports(importObject) {\n importObject.env = {\n ...importObject.env,\n ...importObject.napi,\n ...importObject.emnapi,\n memory: wasmMemory\n };\n },\n });\n },\n});\n\nglobalThis.onmessage = function (e) {\n handler.handle(e);\n};\n";
@@ -0,0 +1,53 @@
1
+ export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { parentPort, Worker } from "node:worker_threads";
4
+
5
+ import { instantiateNapiModuleSync, MessageHandler } from "@emnapi/core";
6
+ import { WASI } from "@tybys/wasm-util";
7
+
8
+ const require = createRequire(import.meta.url);
9
+
10
+ if (parentPort) {
11
+ parentPort.on("message", (data) => {
12
+ globalThis.onmessage({ data });
13
+ });
14
+ }
15
+
16
+ Object.assign(globalThis, {
17
+ self: globalThis,
18
+ require,
19
+ Worker,
20
+ importScripts: function (f) {
21
+ ;(0, eval)(fs.readFileSync(f, "utf8") + "//# sourceURL=" + f);
22
+ },
23
+ postMessage: function (msg) {
24
+ if (parentPort) {
25
+ parentPort.postMessage(msg);
26
+ }
27
+ },
28
+ });
29
+
30
+ const handler = new MessageHandler({
31
+ onLoad({ wasmModule, wasmMemory }) {
32
+ const wasi = new WASI({ fs });
33
+
34
+ return instantiateNapiModuleSync(wasmModule, {
35
+ childThread: true,
36
+ wasi,
37
+ overwriteImports(importObject) {
38
+ importObject.env = {
39
+ ...importObject.env,
40
+ ...importObject.napi,
41
+ ...importObject.emnapi,
42
+ memory: wasmMemory
43
+ };
44
+ },
45
+ });
46
+ },
47
+ });
48
+
49
+ globalThis.onmessage = function (e) {
50
+ handler.handle(e);
51
+ };
52
+ `;
53
+ //# sourceMappingURL=wasi-worker-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi-worker-template.js","sourceRoot":"","sources":["../../src/api/wasi-worker-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDnC,CAAA"}
package/dist/cli.js CHANGED
@@ -24,3 +24,4 @@ cli.register(PrePublishCommand);
24
24
  cli.register(VersionCommand);
25
25
  cli.register(HelpCommand);
26
26
  void cli.runExit(process.argv.slice(2));
27
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,WAAW;CAC3B,CAAC,CAAA;AAEF,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACxB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC1B,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAClC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAC9B,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AACjC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC3B,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AAC/B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AAC5B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAEzB,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Command } from 'clipanion';
2
2
  import { collectArtifacts } from '../api/artifacts.js';
3
3
  import { BaseArtifactsCommand } from '../def/artifacts.js';
4
- class ArtifactsCommand extends BaseArtifactsCommand {
4
+ export class ArtifactsCommand extends BaseArtifactsCommand {
5
5
  static usage = Command.Usage({
6
6
  description: 'Copy artifacts from Github Actions into specified dir',
7
7
  examples: [
@@ -17,4 +17,4 @@ e.g: index.linux-x64-gnu.node --> ./npm/linux-x64-gnu/index.node`,
17
17
  await collectArtifacts(this.getOptions());
18
18
  }
19
19
  }
20
- export { ArtifactsCommand };
20
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/commands/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,MAAM,OAAO,gBAAiB,SAAQ,oBAAoB;IACxD,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE;YACR;gBACE,mCAAmC;gBACnC;iEACyD;aAC1D;SACF;KACF,CAAC,CAAA;IAEF,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAE9B,KAAK,CAAC,OAAO;QACX,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3C,CAAC"}
@@ -32,3 +32,4 @@ export class BuildCommand extends BaseBuildCommand {
32
32
  }
33
33
  }
34
34
  }
35
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AAEnC,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAChD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC7B,WAAW,EACT,yFAAyF;KAC5F,CAAC,CAAA;IAEF,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAE5B,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;YAClC,GAAG,IAAI,CAAC,UAAU,EAAE;YACpB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAA;QAE1B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,KAAK,CAAC,mCAAmC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrD,IAAI;oBACF,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE;wBACtC,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAA;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,KAAK,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;oBACnE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBACf;aACF;SACF;IACH,CAAC;CACF"}
@@ -5,3 +5,4 @@ export class CreateNpmDirsCommand extends BaseCreateNpmDirsCommand {
5
5
  await createNpmDirs(this.getOptions());
6
6
  }
7
7
  }
8
+ //# sourceMappingURL=create-npm-dirs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-npm-dirs.js","sourceRoot":"","sources":["../../src/commands/create-npm-dirs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IAChE,KAAK,CAAC,OAAO;QACX,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -4,10 +4,10 @@ import { Command } from 'clipanion';
4
4
  *
5
5
  * Paths: `-h`, `--help`
6
6
  */
7
- class HelpCommand extends Command {
7
+ export class HelpCommand extends Command {
8
8
  static paths = [[`-h`], [`--help`]];
9
9
  async execute() {
10
10
  await this.context.stdout.write(this.cli.usage());
11
11
  }
12
12
  }
13
- export { HelpCommand };
13
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAY;IAC3C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnC,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IACnD,CAAC"}