@napi-rs/cli 3.0.0-alpha.10 → 3.0.0-alpha.100

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 (199) hide show
  1. package/cli.mjs +1 -1
  2. package/dist/api/__tests__/create-npm-dirs.spec.d.ts +1 -0
  3. package/dist/api/__tests__/new.spec.d.ts +1 -0
  4. package/dist/api/build.d.ts +1 -1
  5. package/dist/api/create-npm-dirs.d.ts +5 -0
  6. package/dist/api/templates/index.d.ts +0 -7
  7. package/dist/api/templates/js-binding.d.ts +1 -0
  8. package/dist/api/templates/load-wasi-template.d.ts +2 -0
  9. package/dist/api/templates/wasi-worker-template.d.ts +2 -0
  10. package/dist/cli.js +3961 -15
  11. package/dist/def/artifacts.d.ts +21 -1
  12. package/dist/def/build.d.ts +149 -4
  13. package/dist/def/create-npm-dirs.d.ts +10 -0
  14. package/dist/def/new.d.ts +25 -7
  15. package/dist/def/pre-publish.d.ts +21 -2
  16. package/dist/def/rename.d.ts +16 -6
  17. package/dist/def/universalize.d.ts +10 -0
  18. package/dist/def/version.d.ts +10 -0
  19. package/dist/index.cjs +10052 -15662
  20. package/dist/index.js +3712 -32
  21. package/dist/utils/__tests__/config.spec.d.ts +1 -0
  22. package/dist/utils/config.d.ts +56 -4
  23. package/dist/utils/index.d.ts +1 -1
  24. package/dist/utils/metadata.d.ts +13 -1
  25. package/dist/utils/misc.d.ts +3 -3
  26. package/dist/utils/read-config.d.ts +7 -0
  27. package/dist/utils/target.d.ts +8 -6
  28. package/dist/utils/typegen.d.ts +1 -1
  29. package/dist/utils/version.d.ts +2 -1
  30. package/package.json +38 -34
  31. package/src/api/__tests__/create-npm-dirs.spec.ts +210 -0
  32. package/src/api/__tests__/new.spec.ts +429 -0
  33. package/src/api/artifacts.ts +81 -9
  34. package/src/api/build.ts +595 -183
  35. package/src/api/create-npm-dirs.ts +64 -13
  36. package/src/api/new.ts +389 -122
  37. package/src/api/pre-publish.ts +19 -11
  38. package/src/api/rename.ts +103 -17
  39. package/src/api/templates/index.ts +0 -7
  40. package/src/api/templates/js-binding.ts +159 -220
  41. package/src/api/templates/load-wasi-template.ts +216 -0
  42. package/src/api/templates/wasi-worker-template.ts +122 -0
  43. package/src/api/universalize.ts +13 -8
  44. package/src/api/version.ts +5 -2
  45. package/src/commands/artifacts.ts +2 -2
  46. package/src/commands/build.ts +1 -1
  47. package/src/commands/new.ts +46 -45
  48. package/src/def/artifacts.ts +22 -3
  49. package/src/def/build.ts +55 -8
  50. package/src/def/create-npm-dirs.ts +9 -0
  51. package/src/def/new.ts +28 -3
  52. package/src/def/pre-publish.ts +24 -3
  53. package/src/def/rename.ts +11 -2
  54. package/src/def/universalize.ts +9 -0
  55. package/src/def/version.ts +9 -0
  56. package/src/utils/__tests__/__fixtures__/napi_type_def +130 -130
  57. package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
  58. package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
  59. package/src/utils/__tests__/__snapshots__/target.spec.ts.md +49 -0
  60. package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
  61. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +316 -332
  62. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
  63. package/src/utils/__tests__/__snapshots__/version.spec.ts.md +8 -7
  64. package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
  65. package/src/utils/__tests__/config.spec.ts +81 -0
  66. package/src/utils/cargo.ts +2 -2
  67. package/src/utils/config.ts +127 -9
  68. package/src/utils/index.ts +1 -1
  69. package/src/utils/log.ts +1 -1
  70. package/src/utils/metadata.ts +52 -14
  71. package/src/utils/misc.ts +21 -12
  72. package/src/utils/read-config.ts +20 -0
  73. package/src/utils/target.ts +37 -5
  74. package/src/utils/typegen.ts +87 -52
  75. package/src/utils/version.ts +10 -8
  76. package/dist/api/artifacts.js +0 -53
  77. package/dist/api/artifacts.js.map +0 -1
  78. package/dist/api/build.js +0 -498
  79. package/dist/api/build.js.map +0 -1
  80. package/dist/api/create-npm-dirs.js +0 -64
  81. package/dist/api/create-npm-dirs.js.map +0 -1
  82. package/dist/api/load-wasi-template.d.ts +0 -1
  83. package/dist/api/load-wasi-template.js +0 -60
  84. package/dist/api/load-wasi-template.js.map +0 -1
  85. package/dist/api/new.js +0 -155
  86. package/dist/api/new.js.map +0 -1
  87. package/dist/api/pre-publish.js +0 -158
  88. package/dist/api/pre-publish.js.map +0 -1
  89. package/dist/api/rename.js +0 -29
  90. package/dist/api/rename.js.map +0 -1
  91. package/dist/api/templates/.gitignore.d.ts +0 -1
  92. package/dist/api/templates/.gitignore.js +0 -200
  93. package/dist/api/templates/.gitignore.js.map +0 -1
  94. package/dist/api/templates/.npmignore.d.ts +0 -1
  95. package/dist/api/templates/.npmignore.js +0 -15
  96. package/dist/api/templates/.npmignore.js.map +0 -1
  97. package/dist/api/templates/build.rs.d.ts +0 -1
  98. package/dist/api/templates/build.rs.js +0 -5
  99. package/dist/api/templates/build.rs.js.map +0 -1
  100. package/dist/api/templates/cargo.toml.d.ts +0 -6
  101. package/dist/api/templates/cargo.toml.js +0 -26
  102. package/dist/api/templates/cargo.toml.js.map +0 -1
  103. package/dist/api/templates/ci-template.d.ts +0 -1
  104. package/dist/api/templates/ci-template.js +0 -578
  105. package/dist/api/templates/ci-template.js.map +0 -1
  106. package/dist/api/templates/ci.yml.d.ts +0 -1
  107. package/dist/api/templates/ci.yml.js +0 -99
  108. package/dist/api/templates/ci.yml.js.map +0 -1
  109. package/dist/api/templates/index.js +0 -9
  110. package/dist/api/templates/index.js.map +0 -1
  111. package/dist/api/templates/js-binding.js +0 -293
  112. package/dist/api/templates/js-binding.js.map +0 -1
  113. package/dist/api/templates/lib.rs.d.ts +0 -1
  114. package/dist/api/templates/lib.rs.js +0 -8
  115. package/dist/api/templates/lib.rs.js.map +0 -1
  116. package/dist/api/templates/package.json.d.ts +0 -8
  117. package/dist/api/templates/package.json.js +0 -32
  118. package/dist/api/templates/package.json.js.map +0 -1
  119. package/dist/api/universalize.js +0 -39
  120. package/dist/api/universalize.js.map +0 -1
  121. package/dist/api/version.js +0 -17
  122. package/dist/api/version.js.map +0 -1
  123. package/dist/api/wasi-worker-template.d.ts +0 -1
  124. package/dist/api/wasi-worker-template.js +0 -53
  125. package/dist/api/wasi-worker-template.js.map +0 -1
  126. package/dist/cli.js.map +0 -1
  127. package/dist/commands/artifacts.js +0 -20
  128. package/dist/commands/artifacts.js.map +0 -1
  129. package/dist/commands/build.js +0 -35
  130. package/dist/commands/build.js.map +0 -1
  131. package/dist/commands/create-npm-dirs.js +0 -8
  132. package/dist/commands/create-npm-dirs.js.map +0 -1
  133. package/dist/commands/help.js +0 -13
  134. package/dist/commands/help.js.map +0 -1
  135. package/dist/commands/new.js +0 -110
  136. package/dist/commands/new.js.map +0 -1
  137. package/dist/commands/pre-publish.js +0 -9
  138. package/dist/commands/pre-publish.js.map +0 -1
  139. package/dist/commands/rename.js +0 -8
  140. package/dist/commands/rename.js.map +0 -1
  141. package/dist/commands/universalize.js +0 -8
  142. package/dist/commands/universalize.js.map +0 -1
  143. package/dist/commands/version.js +0 -8
  144. package/dist/commands/version.js.map +0 -1
  145. package/dist/def/artifacts.js +0 -39
  146. package/dist/def/artifacts.js.map +0 -1
  147. package/dist/def/build.js +0 -118
  148. package/dist/def/build.js.map +0 -1
  149. package/dist/def/create-npm-dirs.js +0 -39
  150. package/dist/def/create-npm-dirs.js.map +0 -1
  151. package/dist/def/new.js +0 -67
  152. package/dist/def/new.js.map +0 -1
  153. package/dist/def/pre-publish.js +0 -57
  154. package/dist/def/pre-publish.js.map +0 -1
  155. package/dist/def/rename.js +0 -59
  156. package/dist/def/rename.js.map +0 -1
  157. package/dist/def/universalize.js +0 -34
  158. package/dist/def/universalize.js.map +0 -1
  159. package/dist/def/version.js +0 -34
  160. package/dist/def/version.js.map +0 -1
  161. package/dist/index.js.map +0 -1
  162. package/dist/utils/__tests__/target.spec.js +0 -11
  163. package/dist/utils/__tests__/target.spec.js.map +0 -1
  164. package/dist/utils/__tests__/typegen.spec.js +0 -42
  165. package/dist/utils/__tests__/typegen.spec.js.map +0 -1
  166. package/dist/utils/__tests__/version.spec.js +0 -6
  167. package/dist/utils/__tests__/version.spec.js.map +0 -1
  168. package/dist/utils/cargo.js +0 -34
  169. package/dist/utils/cargo.js.map +0 -1
  170. package/dist/utils/ci.d.ts +0 -11
  171. package/dist/utils/ci.js +0 -96
  172. package/dist/utils/ci.js.map +0 -1
  173. package/dist/utils/config.js +0 -43
  174. package/dist/utils/config.js.map +0 -1
  175. package/dist/utils/index.js +0 -10
  176. package/dist/utils/index.js.map +0 -1
  177. package/dist/utils/log.js +0 -15
  178. package/dist/utils/log.js.map +0 -1
  179. package/dist/utils/metadata.js +0 -20
  180. package/dist/utils/metadata.js.map +0 -1
  181. package/dist/utils/misc.js +0 -41
  182. package/dist/utils/misc.js.map +0 -1
  183. package/dist/utils/target.js +0 -121
  184. package/dist/utils/target.js.map +0 -1
  185. package/dist/utils/typegen.js +0 -179
  186. package/dist/utils/typegen.js.map +0 -1
  187. package/dist/utils/version.js +0 -60
  188. package/dist/utils/version.js.map +0 -1
  189. package/src/api/load-wasi-template.ts +0 -62
  190. package/src/api/templates/.gitignore.ts +0 -199
  191. package/src/api/templates/.npmignore.ts +0 -14
  192. package/src/api/templates/build.rs.ts +0 -4
  193. package/src/api/templates/cargo.toml.ts +0 -35
  194. package/src/api/templates/ci-template.ts +0 -577
  195. package/src/api/templates/ci.yml.ts +0 -119
  196. package/src/api/templates/lib.rs.ts +0 -7
  197. package/src/api/templates/package.json.ts +0 -48
  198. package/src/api/wasi-worker-template.ts +0 -52
  199. package/src/utils/ci.ts +0 -111
@@ -1,34 +0,0 @@
1
- // This file is generated by codegen/index.ts
2
- // Do not edit this file manually
3
- import { Command, Option } from 'clipanion';
4
- export class BaseVersionCommand extends Command {
5
- static paths = [['version']];
6
- static usage = Command.Usage({
7
- description: 'Update version in created npm packages',
8
- });
9
- cwd = Option.String('--cwd', process.cwd(), {
10
- description: 'The working directory of where napi command will be executed in, all other paths options are relative to this path',
11
- });
12
- packageJsonPath = Option.String('--package-json-path', 'package.json', {
13
- description: 'Path to `package.json`',
14
- });
15
- npmDir = Option.String('--npm-dir', 'npm', {
16
- description: 'Path to the folder where the npm packages put',
17
- });
18
- getOptions() {
19
- return {
20
- cwd: this.cwd,
21
- packageJsonPath: this.packageJsonPath,
22
- npmDir: this.npmDir,
23
- };
24
- }
25
- }
26
- export function applyDefaultVersionOptions(options) {
27
- return {
28
- cwd: process.cwd(),
29
- packageJsonPath: 'package.json',
30
- npmDir: 'npm',
31
- ...options,
32
- };
33
- }
34
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/def/version.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,iCAAiC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,OAAgB,kBAAmB,SAAQ,OAAO;IACtD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAE5B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,WAAW,EAAE,wCAAwC;KACtD,CAAC,CAAA;IAEF,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;QAC1C,WAAW,EACT,oHAAoH;KACvH,CAAC,CAAA;IAEF,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE;QACrE,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAA;IAEF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE;QACzC,WAAW,EAAE,+CAA+C;KAC7D,CAAC,CAAA;IAEF,UAAU;QACR,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;;AA2BH,MAAM,UAAU,0BAA0B,CAAC,OAAuB;IAChE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,eAAe,EAAE,cAAc;QAC/B,MAAM,EAAE,KAAK;QACb,GAAG,OAAO;KACX,CAAA;AACH,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,OAAO;IAClB,SAAS,GAAG,gBAAgB,CAAA;IAC5B,GAAG,GAAG,UAAU,CAAA;IAChB,KAAK,GAAG,YAAY,CAAA;IACpB,aAAa,GAAG,aAAa,CAAA;IAC7B,UAAU,GAAG,UAAU,CAAA;IACvB,MAAM,GAAG,aAAa,CAAA;IACtB,YAAY,GAAG,oBAAoB,CAAA;IACnC,OAAO,GAAG,OAAO,CAAA;CAClB;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,11 +0,0 @@
1
- import os from 'os';
2
- import test from 'ava';
3
- import { parseTriple, getSystemDefaultTarget, AVAILABLE_TARGETS, } from '../target.js';
4
- test('should parse triple correctly', (t) => {
5
- t.snapshot(AVAILABLE_TARGETS.map(parseTriple));
6
- });
7
- test('should get system default target correctly', (t) => {
8
- const target = getSystemDefaultTarget();
9
- t.is(target.platform, os.platform());
10
- });
11
- //# sourceMappingURL=target.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"target.spec.js","sourceRoot":"","sources":["../../../src/utils/__tests__/target.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,IAAI,MAAM,KAAK,CAAA;AAEtB,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAErB,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1C,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAA;IAEvC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AACtC,CAAC,CAAC,CAAA"}
@@ -1,42 +0,0 @@
1
- import { join } from 'path';
2
- import { fileURLToPath } from 'url';
3
- import test from 'ava';
4
- import { correctStringIdent, processTypeDef } from '../typegen.js';
5
- test('should ident string correctly', (t) => {
6
- const input = `
7
- /**
8
- * should keep
9
- * class A {
10
- * foo = () => {}
11
- * bar = () => {}
12
- * }
13
- */
14
- class A {
15
- foo() {
16
- a = b
17
- }
18
-
19
- bar = () => {
20
-
21
- }
22
- boz = 1
23
- }
24
-
25
- namespace B {
26
- namespace C {
27
- type D = A
28
- }
29
- }
30
- `;
31
- t.snapshot(correctStringIdent(input, 0), 'original ident is 0');
32
- t.snapshot(correctStringIdent(input, 2), 'original ident is 2');
33
- });
34
- test('should process type def correctly', async (t) => {
35
- const { dts } = await processTypeDef(join(fileURLToPath(import.meta.url), '../', '__fixtures__', 'napi_type_def'), true);
36
- t.snapshot(dts);
37
- });
38
- test('should process type def with noConstEnum correctly', async (t) => {
39
- const { dts } = await processTypeDef(join(fileURLToPath(import.meta.url), '../', '__fixtures__', 'napi_type_def'), false);
40
- t.snapshot(dts);
41
- });
42
- //# sourceMappingURL=typegen.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typegen.spec.js","sourceRoot":"","sources":["../../../src/utils/__tests__/typegen.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,IAAI,MAAM,KAAK,CAAA;AAEtB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAElE,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBf,CAAA;IACC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAC/D,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,cAAc,CAClC,IAAI,CACF,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9B,KAAK,EACL,cAAc,EACd,eAAe,CAChB,EACD,IAAI,CACL,CAAA;IAED,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,cAAc,CAClC,IAAI,CACF,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9B,KAAK,EACL,cAAc,EACd,eAAe,CAChB,EACD,KAAK,CACN,CAAA;IAED,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import test from 'ava';
2
- import { napiEngineRequirement, NapiVersion } from '../version.js';
3
- test('should generate correct napi engine requirement', (t) => {
4
- t.snapshot(Object.values(NapiVersion).filter((v) => typeof v === 'number').map(napiEngineRequirement));
5
- });
6
- //# sourceMappingURL=version.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.spec.js","sourceRoot":"","sources":["../../../src/utils/__tests__/version.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAA;AAEtB,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAElE,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5D,CAAC,CAAC,QAAQ,CAEN,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAE/B,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAC7B,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,34 +0,0 @@
1
- import { execSync } from 'child_process';
2
- import { debug } from './log.js';
3
- export function tryInstallCargoBinary(name, bin) {
4
- if (detectCargoBinary(bin)) {
5
- debug('Cargo binary already installed: %s', name);
6
- return;
7
- }
8
- try {
9
- debug('Installing cargo binary: %s', name);
10
- execSync(`cargo install ${name}`, {
11
- stdio: 'inherit',
12
- });
13
- }
14
- catch (e) {
15
- throw new Error(`Failed to install cargo binary: ${name}`, {
16
- cause: e,
17
- });
18
- }
19
- }
20
- function detectCargoBinary(bin) {
21
- debug('Detecting cargo binary: %s', bin);
22
- try {
23
- execSync(`cargo help ${bin}`, {
24
- stdio: 'ignore',
25
- });
26
- debug('Cargo binary detected: %s', bin);
27
- return true;
28
- }
29
- catch (e) {
30
- debug('Cargo binary not detected: %s', bin);
31
- return false;
32
- }
33
- }
34
- //# sourceMappingURL=cargo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/utils/cargo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,GAAW;IAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAC1B,KAAK,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAA;QACjD,OAAM;KACP;IAED,IAAI;QACF,KAAK,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAA;QAC1C,QAAQ,CAAC,iBAAiB,IAAI,EAAE,EAAE;YAChC,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;KACH;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,EAAE;YACzD,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;KACH;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;IACxC,IAAI;QACF,QAAQ,CAAC,cAAc,GAAG,EAAE,EAAE;YAC5B,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;QACF,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAC3C,OAAO,KAAK,CAAA;KACb;AACH,CAAC"}
@@ -1,11 +0,0 @@
1
- import { TargetTriple } from './target.js';
2
- export declare const CIConfig: Partial<Record<TargetTriple, {
3
- host: string;
4
- build_image?: string;
5
- build_setup?: string[];
6
- test?: boolean;
7
- test_image?: string;
8
- test_setup?: string[];
9
- yarn_cpu?: string;
10
- yarn_libc?: string;
11
- }>>;
package/dist/utils/ci.js DELETED
@@ -1,96 +0,0 @@
1
- export const CIConfig = {
2
- 'x86_64-apple-darwin': {
3
- host: 'macos-latest',
4
- },
5
- 'x86_64-pc-windows-msvc': {
6
- host: 'windows-latest',
7
- },
8
- 'i686-pc-windows-msvc': {
9
- host: 'windows-latest',
10
- test: false,
11
- },
12
- 'x86_64-unknown-linux-gnu': {
13
- host: 'ubuntu-latest',
14
- build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian',
15
- },
16
- 'x86_64-unknown-linux-musl': {
17
- host: 'ubuntu-latest',
18
- build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
19
- test_image: 'node:${{ matrix.node }}-alpine',
20
- yarn_libc: 'musl',
21
- },
22
- 'aarch64-apple-darwin': {
23
- host: 'macos-latest',
24
- build_setup: [
25
- 'sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*',
26
- 'export CC=$(xcrun -f clang)',
27
- 'export CXX=$(xcrun -f clang++)',
28
- 'export SDK_ROOT=$(xcrun --sdk macosx --show-sdk-path)',
29
- 'export CFLAGS="-isysroot $SDK_ROOT -isystem $SDK_ROOT"',
30
- ],
31
- test: false,
32
- },
33
- 'aarch64-unknown-linux-gnu': {
34
- host: 'ubuntu-latest',
35
- build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64',
36
- build_setup: [
37
- 'sudo apt-get update',
38
- 'sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y',
39
- 'export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnu',
40
- ],
41
- test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:aarch64-${{ matrix.node }}',
42
- yarn_cpu: 'arm64',
43
- },
44
- 'aarch64-unknown-linux-musl': {
45
- host: 'ubuntu-latest',
46
- build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
47
- build_setup: ['rustup target add aarch64-unknown-linux-musl'],
48
- test_image: 'multiarch/alpine:aarch64-latest-stable',
49
- test_setup: ['apk add nodejs npm yarn'],
50
- yarn_cpu: 'arm64',
51
- yarn_libc: 'musl',
52
- },
53
- 'aarch64-pc-windows-msvc': {
54
- host: 'windows-latest',
55
- test: false,
56
- },
57
- 'armv7-unknown-linux-gnueabihf': {
58
- host: 'ubuntu-latest',
59
- build_setup: [
60
- 'sudo apt-get update',
61
- 'sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y',
62
- ],
63
- yarn_cpu: 'arm',
64
- test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:armhf-${{ matrix.node }}',
65
- },
66
- 'aarch64-linux-android': {
67
- host: 'ubuntu-latest',
68
- build_setup: [
69
- 'export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
70
- 'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
71
- 'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"',
72
- 'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
73
- ],
74
- test: false,
75
- },
76
- 'armv7-linux-androideabi': {
77
- host: 'ubuntu-latest',
78
- build_setup: [
79
- 'export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
80
- 'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
81
- 'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"',
82
- 'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
83
- ],
84
- test: false,
85
- },
86
- 'riscv64gc-unknown-linux-gnu': {
87
- host: 'ubuntu-latest',
88
- build_setup: [
89
- 'sudo apt-get update',
90
- 'sudo apt-get install g++-riscv64-linux-gnu gcc-riscv64-linux-gnu -y',
91
- ],
92
- // No official nodejs docker image for riscv64
93
- test: false,
94
- },
95
- };
96
- //# sourceMappingURL=ci.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/utils/ci.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAcjB;IACF,qBAAqB,EAAE;QACrB,IAAI,EAAE,cAAc;KACrB;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,gBAAgB;KACvB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,gCAAgC;QAC5C,SAAS,EAAE,MAAM;KAClB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;YACX,wDAAwD;YACxD,6BAA6B;YAC7B,gCAAgC;YAChC,uDAAuD;YACvD,wDAAwD;SACzD;QACD,IAAI,EAAE,KAAK;KACZ;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,qBAAqB;YACrB,qEAAqE;YACrE,oDAAoD;SACrD;QACD,UAAU,EAAE,2DAA2D;QACvE,QAAQ,EAAE,OAAO;KAClB;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE,CAAC,8CAA8C,CAAC;QAC7D,UAAU,EAAE,wCAAwC;QACpD,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACvC,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,MAAM;KAClB;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,+BAA+B,EAAE;QAC/B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qBAAqB;YACrB,yEAAyE;SAC1E;QACD,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,yDAAyD;KACtE;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,gJAAgJ;YAChJ,yGAAyG;YACzG,4GAA4G;YAC5G,qFAAqF;SACtF;QACD,IAAI,EAAE,KAAK;KACZ;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qJAAqJ;YACrJ,4GAA4G;YAC5G,+GAA+G;YAC/G,qFAAqF;SACtF;QACD,IAAI,EAAE,KAAK;KACZ;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qBAAqB;YACrB,qEAAqE;SACtE;QACD,8CAA8C;QAC9C,IAAI,EAAE,KAAK;KACZ;CACF,CAAA"}
@@ -1,43 +0,0 @@
1
- import { merge, omit } from 'lodash-es';
2
- import { fileExists, readFileAsync } from './misc.js';
3
- import { DEFAULT_TARGETS, parseTriple } from './target.js';
4
- export async function readNapiConfig(path) {
5
- if (!(await fileExists(path))) {
6
- throw new Error(`napi-rs config not found at ${path}`);
7
- }
8
- // May support multiple config sources later on.
9
- const content = await readFileAsync(path, 'utf8');
10
- let pkgJson;
11
- try {
12
- pkgJson = JSON.parse(content);
13
- }
14
- catch (e) {
15
- throw new Error('Failed to parse napi-rs config', {
16
- cause: e,
17
- });
18
- }
19
- const userNapiConfig = pkgJson.napi ?? {};
20
- const napiConfig = merge({
21
- binaryName: 'index',
22
- packageName: pkgJson.name,
23
- targets: [],
24
- packageJson: pkgJson,
25
- npmClient: 'npm',
26
- }, omit(userNapiConfig, 'targets'));
27
- let targets = userNapiConfig.targets ?? [];
28
- // compatible with old config
29
- if (userNapiConfig?.name) {
30
- napiConfig.packageName = userNapiConfig.name;
31
- }
32
- if (!targets.length) {
33
- if (userNapiConfig.triples?.defaults) {
34
- targets = targets.concat(DEFAULT_TARGETS);
35
- }
36
- if (userNapiConfig.triples?.additional?.length) {
37
- targets = targets.concat(userNapiConfig.triples.additional);
38
- }
39
- }
40
- napiConfig.targets = targets.map(parseTriple);
41
- return napiConfig;
42
- }
43
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAU,MAAM,aAAa,CAAA;AAwFlE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAA;KACvD;IACD,gDAAgD;IAChD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,OAAO,CAAA;IACX,IAAI;QACF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAA;KACzD;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE;YAChD,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;KACH;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA;IACzC,MAAM,UAAU,GAAe,KAAK,CAClC;QACE,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,KAAK;KACjB,EACD,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAChC,CAAA;IAED,IAAI,OAAO,GAAa,cAAc,CAAC,OAAO,IAAI,EAAE,CAAA;IAEpD,6BAA6B;IAC7B,IAAI,cAAc,EAAE,IAAI,EAAE;QACxB,UAAU,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAA;KAC7C;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;YACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;SAC1C;QAED,IAAI,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE;YAC9C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;SAC5D;KACF;IAED,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAE7C,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -1,10 +0,0 @@
1
- export * from './ci.js';
2
- export * from './log.js';
3
- export * from './misc.js';
4
- export * from './target.js';
5
- export * from './version.js';
6
- export * from './metadata.js';
7
- export * from './config.js';
8
- export * from './cargo.js';
9
- export * from './typegen.js';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
package/dist/utils/log.js DELETED
@@ -1,15 +0,0 @@
1
- import * as colors from 'colorette';
2
- import rawDebug from 'debug';
3
- // debug('%i', 'This is an info')
4
- rawDebug.formatters.i = (v) => {
5
- return colors.green(v);
6
- };
7
- export const debugFactory = (namespace) => {
8
- const debug = rawDebug(`napi:${namespace}`);
9
- debug.info = (...args) => console.error(colors.black(colors.bgGreen(' INFO ')), ...args);
10
- debug.warn = (...args) => console.error(colors.black(colors.bgYellow(' WARNING ')), ...args);
11
- debug.error = (...args) => console.error(colors.white(colors.bgRed(' ERROR ')), ...args.map((arg) => arg instanceof Error ? arg.stack ?? arg.message : arg));
12
- return debug;
13
- };
14
- export const debug = debugFactory('utils');
15
- //# sourceMappingURL=log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,QAAQ,MAAM,OAAO,CAAA;AAE5B,iCAAiC;AACjC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAA;IAE3C,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACpE,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,CACX,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EACrC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACtD,CACF,CAAA;IAEH,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA"}
@@ -1,20 +0,0 @@
1
- import { execSync } from 'child_process';
2
- import fs from 'fs';
3
- export function parseMetadata(manifestPath) {
4
- if (!fs.existsSync(manifestPath)) {
5
- throw new Error(`No crate found in manifest: ${manifestPath}`);
6
- }
7
- const cmd = `cargo metadata --manifest-path ${manifestPath} --format-version 1 --no-deps`;
8
- try {
9
- const output = execSync(cmd, {
10
- encoding: 'utf-8',
11
- });
12
- return JSON.parse(output);
13
- }
14
- catch (e) {
15
- throw new Error(`Failed to parse cargo metadata output by command: ${cmd}`, {
16
- cause: e,
17
- });
18
- }
19
- }
20
- //# sourceMappingURL=metadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,IAAI,CAAA;AAqCnB,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAA;KAC/D;IAED,MAAM,GAAG,GAAG,kCAAkC,YAAY,+BAA+B,CAAA;IAEzF,IAAI;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC3B,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAA2B,CAAA;KACpD;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,qDAAqD,GAAG,EAAE,EAC1D;YACE,KAAK,EAAE,CAAC;SACT,CACF,CAAA;KACF;AACH,CAAC"}
@@ -1,41 +0,0 @@
1
- import { readFile, writeFile, copyFile, mkdir, unlink, stat, readdir } from 'fs';
2
- import { createRequire } from 'module';
3
- import { promisify } from 'util';
4
- import { debug } from './log.js';
5
- const require = createRequire(import.meta.url);
6
- // NOTE:
7
- // import pkgJson from '@napi-rs/cli/package.json' assert { type: 'json' }
8
- // is experimental feature now, avoid using it.
9
- // see: https://nodejs.org/api/esm.html#import-assertions
10
- // eslint-disable-next-line import/no-extraneous-dependencies
11
- const pkgJson = require('@napi-rs/cli/package.json');
12
- export const readFileAsync = promisify(readFile);
13
- export const writeFileAsync = promisify(writeFile);
14
- export const unlinkAsync = promisify(unlink);
15
- export const copyFileAsync = promisify(copyFile);
16
- export const mkdirAsync = promisify(mkdir);
17
- export const statAsync = promisify(stat);
18
- export const readdirAsync = promisify(readdir);
19
- export async function fileExists(path) {
20
- const exists = await statAsync(path)
21
- .then(() => true)
22
- .catch(() => false);
23
- return exists;
24
- }
25
- export function pick(o, ...keys) {
26
- return keys.reduce((acc, key) => {
27
- acc[key] = o[key];
28
- return acc;
29
- }, {});
30
- }
31
- export async function updatePackageJson(path, partial) {
32
- const exists = await fileExists(path);
33
- if (!exists) {
34
- debug(`File not exists ${path}`);
35
- return;
36
- }
37
- const old = require(path);
38
- await writeFileAsync(path, JSON.stringify({ ...old, ...partial }, null, 2));
39
- }
40
- export const CLI_VERSION = pkgJson.version;
41
- //# sourceMappingURL=misc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,QAAQ;AACR,4EAA4E;AAC5E,iDAAiD;AACjD,2DAA2D;AAC3D,6DAA6D;AAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;SACjC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IACrB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,IAAI,CAAuB,CAAI,EAAE,GAAG,IAAS;IAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAO,CAAC,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE;QACX,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;QAChC,OAAM;KACP;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAA"}
@@ -1,121 +0,0 @@
1
- import { execSync } from 'child_process';
2
- export const AVAILABLE_TARGETS = [
3
- 'aarch64-apple-darwin',
4
- 'aarch64-linux-android',
5
- 'aarch64-unknown-linux-gnu',
6
- 'aarch64-unknown-linux-musl',
7
- 'aarch64-pc-windows-msvc',
8
- 'x86_64-apple-darwin',
9
- 'x86_64-pc-windows-msvc',
10
- 'x86_64-unknown-linux-gnu',
11
- 'x86_64-unknown-linux-musl',
12
- 'x86_64-unknown-freebsd',
13
- 'i686-pc-windows-msvc',
14
- 'armv7-unknown-linux-gnueabihf',
15
- 'armv7-linux-androideabi',
16
- 'universal-apple-darwin',
17
- 'riscv64gc-unknown-linux-gnu',
18
- ];
19
- export const DEFAULT_TARGETS = [
20
- 'x86_64-apple-darwin',
21
- 'x86_64-pc-windows-msvc',
22
- 'x86_64-unknown-linux-gnu',
23
- ];
24
- export const TARGET_LINKER = {
25
- 'aarch64-unknown-linux-musl': 'aarch64-linux-musl-gcc',
26
- 'riscv64gc-unknown-linux-gnu': 'riscv64-linux-gnu-gcc',
27
- };
28
- const CpuToNodeArch = {
29
- x86_64: 'x64',
30
- aarch64: 'arm64',
31
- i686: 'ia32',
32
- armv7: 'arm',
33
- riscv64gc: 'riscv64',
34
- };
35
- export const NodeArchToCpu = {
36
- x64: 'x86_64',
37
- arm64: 'aarch64',
38
- ia32: 'i686',
39
- arm: 'armv7',
40
- riscv64: 'riscv64gc',
41
- };
42
- const SysToNodePlatform = {
43
- linux: 'linux',
44
- freebsd: 'freebsd',
45
- darwin: 'darwin',
46
- windows: 'win32',
47
- };
48
- export const UniArchsByPlatform = {
49
- darwin: ['x64', 'arm64'],
50
- };
51
- /**
52
- * A triple is a specific format for specifying a target architecture.
53
- * Triples may be referred to as a target triple which is the architecture for the artifact produced, and the host triple which is the architecture that the compiler is running on.
54
- * The general format of the triple is `<arch><sub>-<vendor>-<sys>-<abi>` where:
55
- * - `arch` = The base CPU architecture, for example `x86_64`, `i686`, `arm`, `thumb`, `mips`, etc.
56
- * - `sub` = The CPU sub-architecture, for example `arm` has `v7`, `v7s`, `v5te`, etc.
57
- * - `vendor` = The vendor, for example `unknown`, `apple`, `pc`, `nvidia`, etc.
58
- * - `sys` = The system name, for example `linux`, `windows`, `darwin`, etc. none is typically used for bare-metal without an OS.
59
- * - `abi` = The ABI, for example `gnu`, `android`, `eabi`, etc.
60
- */
61
- export function parseTriple(rawTriple) {
62
- if (rawTriple === 'wasm32-wasi-preview1-threads') {
63
- return {
64
- triple: rawTriple,
65
- platformArchABI: rawTriple,
66
- platform: 'wasi',
67
- arch: 'wasm32',
68
- abi: 'wasi',
69
- };
70
- }
71
- const triple = rawTriple.endsWith('eabi')
72
- ? `${rawTriple.slice(0, -4)}-eabi`
73
- : rawTriple;
74
- const triples = triple.split('-');
75
- let cpu;
76
- let sys;
77
- let abi = null;
78
- if (triples.length === 2) {
79
- // aarch64-fuchsia
80
- // ^ cpu ^ sys
81
- ;
82
- [cpu, sys] = triples;
83
- }
84
- else {
85
- // aarch64-unknown-linux-musl
86
- // ^ cpu ^ sys ^ abi
87
- // aarch64-apple-darwin
88
- // ^ cpu ^ sys (abi is None)
89
- ;
90
- [cpu, , sys, abi = null] = triples;
91
- }
92
- const platform = SysToNodePlatform[sys] ?? sys;
93
- const arch = CpuToNodeArch[cpu] ?? cpu;
94
- return {
95
- triple: rawTriple,
96
- platformArchABI: abi ? `${platform}-${arch}-${abi}` : `${platform}-${arch}`,
97
- platform,
98
- arch,
99
- abi,
100
- };
101
- }
102
- export function getSystemDefaultTarget() {
103
- const host = execSync(`rustc -vV`, {
104
- env: process.env,
105
- })
106
- .toString('utf8')
107
- .split('\n')
108
- .find((line) => line.startsWith('host: '));
109
- const triple = host?.slice('host: '.length);
110
- if (!triple) {
111
- throw new TypeError(`Can not parse target triple from host`);
112
- }
113
- return parseTriple(triple);
114
- }
115
- export function getTargetLinker(target) {
116
- return TARGET_LINKER[target];
117
- }
118
- export function targetToEnvVar(target) {
119
- return target.replace(/-/g, '_').toUpperCase();
120
- }
121
- //# sourceMappingURL=target.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/utils/target.ts"],"names":[],"mappings":"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"}