@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,179 +0,0 @@
1
- import { sortBy } from 'lodash-es';
2
- import { readFileAsync } from './misc.js';
3
- const TOP_LEVEL_NAMESPACE = '__TOP_LEVEL_MODULE__';
4
- export const DEFAULT_TYPE_DEF_HEADER = `/* auto-generated by NAPI-RS */
5
- /* eslint-disable */
6
- `;
7
- var TypeDefKind;
8
- (function (TypeDefKind) {
9
- TypeDefKind["Const"] = "const";
10
- TypeDefKind["Enum"] = "enum";
11
- TypeDefKind["Interface"] = "interface";
12
- TypeDefKind["Fn"] = "fn";
13
- TypeDefKind["Struct"] = "struct";
14
- TypeDefKind["Impl"] = "impl";
15
- })(TypeDefKind || (TypeDefKind = {}));
16
- function prettyPrint(line, constEnum, ident) {
17
- let s = line.js_doc ?? '';
18
- switch (line.kind) {
19
- case TypeDefKind.Interface:
20
- s += `export interface ${line.name} {\n${line.def}\n}`;
21
- break;
22
- case TypeDefKind.Enum:
23
- const enumName = constEnum ? 'const enum' : 'enum';
24
- s += `export ${enumName} ${line.name} {\n${line.def}\n}`;
25
- break;
26
- case TypeDefKind.Struct:
27
- s += `export class ${line.name} {\n${line.def}\n}`;
28
- if (line.original_name && line.original_name !== line.name) {
29
- s += `\nexport type ${line.original_name} = ${line.name}`;
30
- }
31
- break;
32
- default:
33
- s += line.def;
34
- }
35
- return correctStringIdent(s, ident);
36
- }
37
- export async function processTypeDef(intermediateTypeFile, constEnum, header) {
38
- const exports = [];
39
- const defs = await readIntermediateTypeFile(intermediateTypeFile);
40
- const groupedDefs = preprocessTypeDef(defs);
41
- header = header ? header + '\n' : '';
42
- let dts = '';
43
- sortBy(Array.from(groupedDefs), ([namespace]) => namespace).forEach(([namespace, defs]) => {
44
- if (namespace === TOP_LEVEL_NAMESPACE) {
45
- for (const def of defs) {
46
- dts += prettyPrint(def, constEnum, 0) + '\n\n';
47
- switch (def.kind) {
48
- case TypeDefKind.Const:
49
- case TypeDefKind.Enum:
50
- case TypeDefKind.Fn:
51
- case TypeDefKind.Struct: {
52
- exports.push(def.name);
53
- if (def.original_name && def.original_name !== def.name) {
54
- exports.push(def.original_name);
55
- }
56
- break;
57
- }
58
- default:
59
- break;
60
- }
61
- }
62
- }
63
- else {
64
- exports.push(namespace);
65
- dts += `export namespace ${namespace} {\n`;
66
- for (const def of defs) {
67
- dts += prettyPrint(def, constEnum, 2) + '\n';
68
- }
69
- dts += '}\n\n';
70
- }
71
- });
72
- if (dts.indexOf('ExternalObject<') > -1) {
73
- header += `
74
- export class ExternalObject<T> {
75
- readonly '': {
76
- readonly '': unique symbol
77
- [K: symbol]: T
78
- }
79
- }
80
- `;
81
- }
82
- return {
83
- dts: header + dts,
84
- exports,
85
- };
86
- }
87
- async function readIntermediateTypeFile(file) {
88
- const content = await readFileAsync(file, 'utf8');
89
- const defs = content
90
- .split('\n')
91
- .filter(Boolean)
92
- .map((line) => {
93
- line = line.trim();
94
- if (!line.startsWith('{')) {
95
- // crateName:{ "def": "", ... }
96
- const start = line.indexOf(':') + 1;
97
- line = line.slice(start);
98
- }
99
- return JSON.parse(line);
100
- });
101
- // move all `struct` def to the very top
102
- // and order the rest alphabetically.
103
- return defs.sort((a, b) => {
104
- if (a.kind === TypeDefKind.Struct) {
105
- if (b.kind === TypeDefKind.Struct) {
106
- return a.name.localeCompare(b.name);
107
- }
108
- return -1;
109
- }
110
- else if (b.kind === TypeDefKind.Struct) {
111
- return 1;
112
- }
113
- else {
114
- return a.name.localeCompare(b.name);
115
- }
116
- });
117
- }
118
- function preprocessTypeDef(defs) {
119
- const namespaceGrouped = new Map();
120
- const classDefs = new Map();
121
- for (const def of defs) {
122
- const namespace = def.js_mod ?? TOP_LEVEL_NAMESPACE;
123
- if (!namespaceGrouped.has(namespace)) {
124
- namespaceGrouped.set(namespace, []);
125
- }
126
- const group = namespaceGrouped.get(namespace);
127
- if (def.kind === TypeDefKind.Struct) {
128
- group.push(def);
129
- classDefs.set(def.name, def);
130
- }
131
- else if (def.kind === TypeDefKind.Impl) {
132
- // merge `impl` into class definition
133
- const classDef = classDefs.get(def.name);
134
- if (classDef) {
135
- if (classDef.def) {
136
- classDef.def += '\n';
137
- }
138
- classDef.def += def.def;
139
- }
140
- }
141
- else {
142
- group.push(def);
143
- }
144
- }
145
- return namespaceGrouped;
146
- }
147
- export function correctStringIdent(src, ident) {
148
- let bracketDepth = 0;
149
- const result = src
150
- .split('\n')
151
- .map((line) => {
152
- line = line.trim();
153
- if (line === '') {
154
- return '';
155
- }
156
- const isInMultilineComment = line.startsWith('*');
157
- const isClosingBracket = line.endsWith('}');
158
- const isOpeningBracket = line.endsWith('{');
159
- let rightIndent = ident;
160
- if (isOpeningBracket && !isInMultilineComment) {
161
- bracketDepth += 1;
162
- rightIndent += (bracketDepth - 1) * 2;
163
- }
164
- else {
165
- if (isClosingBracket && bracketDepth > 0 && !isInMultilineComment) {
166
- bracketDepth -= 1;
167
- }
168
- rightIndent += bracketDepth * 2;
169
- }
170
- if (isInMultilineComment) {
171
- rightIndent += 1;
172
- }
173
- const s = `${' '.repeat(rightIndent)}${line}`;
174
- return s;
175
- })
176
- .join('\n');
177
- return result;
178
- }
179
- //# sourceMappingURL=typegen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../../src/utils/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG;;CAEtC,CAAA;AAED,IAAK,WAOJ;AAPD,WAAK,WAAW;IACd,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,wBAAS,CAAA;IACT,gCAAiB,CAAA;IACjB,4BAAa,CAAA;AACf,CAAC,EAPI,WAAW,KAAX,WAAW,QAOf;AAWD,SAAS,WAAW,CAClB,IAAiB,EACjB,SAAkB,EAClB,KAAa;IAEb,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;IACzB,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,WAAW,CAAC,SAAS;YACxB,CAAC,IAAI,oBAAoB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YACtD,MAAK;QAEP,KAAK,WAAW,CAAC,IAAI;YACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAA;YAClD,CAAC,IAAI,UAAU,QAAQ,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YACxD,MAAK;QAEP,KAAK,WAAW,CAAC,MAAM;YACrB,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,CAAA;YAClD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE;gBAC1D,CAAC,IAAI,iBAAiB,IAAI,CAAC,aAAa,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;aAC1D;YACD,MAAK;QAEP;YACE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAA;KAChB;IAED,OAAO,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,oBAA4B,EAC5B,SAAkB,EAClB,MAAe;IAEf,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,oBAAoB,CAAC,CAAA;IACjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAE3C,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACpC,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CACjE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,IAAI,SAAS,KAAK,mBAAmB,EAAE;YACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,MAAM,CAAA;gBAC9C,QAAQ,GAAG,CAAC,IAAI,EAAE;oBAChB,KAAK,WAAW,CAAC,KAAK,CAAC;oBACvB,KAAK,WAAW,CAAC,IAAI,CAAC;oBACtB,KAAK,WAAW,CAAC,EAAE,CAAC;oBACpB,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC;wBACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;wBACtB,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,IAAI,EAAE;4BACvD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;yBAChC;wBACD,MAAK;qBACN;oBACD;wBACE,MAAK;iBACR;aACF;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvB,GAAG,IAAI,oBAAoB,SAAS,MAAM,CAAA;YAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;aAC7C;YACD,GAAG,IAAI,OAAO,CAAA;SACf;IACH,CAAC,CACF,CAAA;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;QACvC,MAAM,IAAI;;;;;;;CAOb,CAAA;KACE;IAED,OAAO;QACL,GAAG,EAAE,MAAM,GAAG,GAAG;QACjB,OAAO;KACR,CAAA;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,IAAY;IAClD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,OAAO;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,+BAA+B;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACzB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAA;IACxC,CAAC,CAAC,CAAA;IAEJ,wCAAwC;IACxC,qCAAqC;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE;YACjC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE;gBACjC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;aACpC;YACD,OAAO,CAAC,CAAC,CAAA;SACV;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE;YACxC,OAAO,CAAC,CAAA;SACT;aAAM;YACL,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SACpC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAA;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAA;IAEhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,mBAAmB,CAAA;QACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACpC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;SACpC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAA;QAE9C,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC7B;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE;YACxC,qCAAqC;YACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxC,IAAI,QAAQ,EAAE;gBACZ,IAAI,QAAQ,CAAC,GAAG,EAAE;oBAChB,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAA;iBACrB;gBAED,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA;aACxB;SACF;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAChB;KACF;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC3D,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,MAAM,MAAM,GAAG,GAAG;SACf,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,IAAI,KAAK,EAAE,EAAE;YACf,OAAO,EAAE,CAAA;SACV;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3C,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;YAC7C,YAAY,IAAI,CAAC,CAAA;YACjB,WAAW,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;SACtC;aAAM;YACL,IAAI,gBAAgB,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACjE,YAAY,IAAI,CAAC,CAAA;aAClB;YACD,WAAW,IAAI,YAAY,GAAG,CAAC,CAAA;SAChC;QAED,IAAI,oBAAoB,EAAE;YACxB,WAAW,IAAI,CAAC,CAAA;SACjB;QAED,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAA;QAE7C,OAAO,CAAC,CAAA;IACV,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,60 +0,0 @@
1
- export var NapiVersion;
2
- (function (NapiVersion) {
3
- NapiVersion[NapiVersion["Napi1"] = 1] = "Napi1";
4
- NapiVersion[NapiVersion["Napi2"] = 2] = "Napi2";
5
- NapiVersion[NapiVersion["Napi3"] = 3] = "Napi3";
6
- NapiVersion[NapiVersion["Napi4"] = 4] = "Napi4";
7
- NapiVersion[NapiVersion["Napi5"] = 5] = "Napi5";
8
- NapiVersion[NapiVersion["Napi6"] = 6] = "Napi6";
9
- NapiVersion[NapiVersion["Napi7"] = 7] = "Napi7";
10
- NapiVersion[NapiVersion["Napi8"] = 8] = "Napi8";
11
- })(NapiVersion || (NapiVersion = {}));
12
- /// because node support new napi version in some minor version updates, so we might meet such situation:
13
- /// `node v10.20.0` supports `napi5` and `napi6`, but `node v12.0.0` only support `napi4`,
14
- /// by which, we can not tell directly napi version supportness from node version directly.
15
- const NAPI_VERSION_MATRIX = new Map([
16
- [NapiVersion.Napi1, '8.6.0'],
17
- [NapiVersion.Napi2, '8.10.0 | 9.3.0'],
18
- [NapiVersion.Napi3, '6.14.2 | 8.11.2 | 9.11.0'],
19
- [NapiVersion.Napi4, '10.16.0 | 11.8.0'],
20
- [NapiVersion.Napi5, '10.17.0 | 12.11.0'],
21
- [NapiVersion.Napi6, '10.20.0 | 12.17.0 | 14.0.0'],
22
- [NapiVersion.Napi7, '10.23.0 | 12.19.0 | 14.12.0'],
23
- [NapiVersion.Napi8, '12.22.0 | 14.17.0 | 15.12.0'],
24
- ]);
25
- function parseNodeVersion(v) {
26
- const matches = v.match(/v?([0-9]+)\.([0-9]+)\.([0-9]+)/i);
27
- if (!matches) {
28
- throw new Error('Unknown node version number: ' + v);
29
- }
30
- const [, major, minor, patch] = matches;
31
- return {
32
- major: parseInt(major),
33
- minor: parseInt(minor),
34
- patch: parseInt(patch),
35
- };
36
- }
37
- function requiredNodeVersions(napiVersion) {
38
- const requirement = NAPI_VERSION_MATRIX.get(napiVersion);
39
- if (!requirement) {
40
- return [parseNodeVersion('10.0.0')];
41
- }
42
- return requirement.split('|').map(parseNodeVersion);
43
- }
44
- function toEngineRequirement(versions) {
45
- const requirements = [];
46
- versions.forEach((v, i) => {
47
- let req = '';
48
- if (i !== 0) {
49
- const lastVersion = versions[i - 1];
50
- req += `< ${lastVersion.major + 1}`;
51
- }
52
- req += `${i === 0 ? '' : ' || '}>= ${v.major}.${v.minor}.${v.patch}`;
53
- requirements.push(req);
54
- });
55
- return requirements.join(' ');
56
- }
57
- export function napiEngineRequirement(napiVersion) {
58
- return toEngineRequirement(requiredNodeVersions(napiVersion));
59
- }
60
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,+CAAS,CAAA;IACT,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;AACP,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AAED,yGAAyG;AACzG,0FAA0F;AAC1F,2FAA2F;AAC3F,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAsB;IACvD,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;IAC5B,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACrC,CAAC,WAAW,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC/C,CAAC,WAAW,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACvC,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACxC,CAAC,WAAW,CAAC,KAAK,EAAE,4BAA4B,CAAC;IACjD,CAAC,WAAW,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAClD,CAAC,WAAW,CAAC,KAAK,EAAE,6BAA6B,CAAC;CACnD,CAAC,CAAA;AAQF,SAAS,gBAAgB,CAAC,CAAS;IACjC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAE1D,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,CAAC,CAAA;KACrD;IAED,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAA;IAEvC,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;KACvB,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAwB;IACpD,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAExD,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;KACpC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAuB;IAClD,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACnC,GAAG,IAAI,KAAK,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAA;SACpC;QAED,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;QACpE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAwB;IAC5D,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAA;AAC/D,CAAC"}
@@ -1,62 +0,0 @@
1
- export const createWasiBinding = (
2
- wasmFileName: string,
3
- wasiRegisterFunctions: string[],
4
- ) => `/* eslint-disable */
5
- /* prettier-ignore */
6
-
7
- /* auto-generated by NAPI-RS */
8
-
9
- const __nodeFs= require('node:fs')
10
- const __nodePath = require('node:path')
11
- const { WASI: __nodeWASI } = require('node:wasi')
12
- const { Worker } = require('node:worker_threads')
13
-
14
- const { instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync } = require('@emnapi/core')
15
- const { getDefaultContext: __emnapiGetDefaultContext } = require('@emnapi/runtime')
16
-
17
- const __wasi = new __nodeWASI({
18
- version: 'preview1',
19
- env: process.env,
20
- preopens: {
21
- '/': __dirname,
22
- }
23
- })
24
-
25
- const __emnapiContext = __emnapiGetDefaultContext()
26
-
27
- const __sharedMemory = new WebAssembly.Memory({
28
- initial: 1024,
29
- maximum: 10240,
30
- shared: true,
31
- })
32
-
33
- const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule } = __emnapiInstantiateNapiModuleSync(__nodeFs.readFileSync(__nodePath.join(__dirname, '${wasmFileName}.wasm')), {
34
- context: __emnapiContext,
35
- asyncWorkPoolSize: 4,
36
- wasi: __wasi,
37
- onCreateWorker() {
38
- return new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
39
- env: process.env,
40
- execArgv: ['--experimental-wasi-unstable-preview1'],
41
- })
42
- },
43
- overwriteImports(importObject) {
44
- importObject.env = {
45
- ...importObject.env,
46
- ...importObject.napi,
47
- ...importObject.emnapi,
48
- memory: __sharedMemory,
49
- }
50
- return importObject
51
- },
52
- beforeInit({ instance }) {
53
- __napi_rs_initialize_modules(instance)
54
- }
55
- })
56
-
57
- function __napi_rs_initialize_modules(__napiInstance) {
58
- ${wasiRegisterFunctions
59
- .map((name) => ` __napiInstance.exports['${name}']()`)
60
- .join('\n')}
61
- }
62
- `
@@ -1,199 +0,0 @@
1
- export const gitIgnore = `# Created by https://www.toptal.com/developers/gitignore/api/node
2
- # Edit at https://www.toptal.com/developers/gitignore?templates=node
3
-
4
- ### Node ###
5
- # Logs
6
- logs
7
- *.log
8
- npm-debug.log*
9
- yarn-debug.log*
10
- yarn-error.log*
11
- lerna-debug.log*
12
-
13
- # Diagnostic reports (https://nodejs.org/api/report.html)
14
- report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15
-
16
- # Runtime data
17
- pids
18
- *.pid
19
- *.seed
20
- *.pid.lock
21
-
22
- # Directory for instrumented libs generated by jscoverage/JSCover
23
- lib-cov
24
-
25
- # Coverage directory used by tools like istanbul
26
- coverage
27
- *.lcov
28
-
29
- # nyc test coverage
30
- .nyc_output
31
-
32
- # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33
- .grunt
34
-
35
- # Bower dependency directory (https://bower.io/)
36
- bower_components
37
-
38
- # node-waf configuration
39
- .lock-wscript
40
-
41
- # Compiled binary addons (https://nodejs.org/api/addons.html)
42
- build/Release
43
-
44
- # Dependency directories
45
- node_modules/
46
- jspm_packages/
47
-
48
- # TypeScript v1 declaration files
49
- typings/
50
-
51
- # TypeScript cache
52
- *.tsbuildinfo
53
-
54
- # Optional npm cache directory
55
- .npm
56
-
57
- # Optional eslint cache
58
- .eslintcache
59
-
60
- # Microbundle cache
61
- .rpt2_cache/
62
- .rts2_cache_cjs/
63
- .rts2_cache_es/
64
- .rts2_cache_umd/
65
-
66
- # Optional REPL history
67
- .node_repl_history
68
-
69
- # Output of 'npm pack'
70
- *.tgz
71
-
72
- # Yarn Integrity file
73
- .yarn-integrity
74
-
75
- # dotenv environment variables file
76
- .env
77
- .env.test
78
-
79
- # parcel-bundler cache (https://parceljs.org/)
80
- .cache
81
-
82
- # Next.js build output
83
- .next
84
-
85
- # Nuxt.js build / generate output
86
- .nuxt
87
- dist
88
-
89
- # Gatsby files
90
- .cache/
91
- # Comment in the public line in if your project uses Gatsby and not Next.js
92
- # https://nextjs.org/blog/next-9-1#public-directory-support
93
- # public
94
-
95
- # vuepress build output
96
- .vuepress/dist
97
-
98
- # Serverless directories
99
- .serverless/
100
-
101
- # FuseBox cache
102
- .fusebox/
103
-
104
- # DynamoDB Local files
105
- .dynamodb/
106
-
107
- # TernJS port file
108
- .tern-port
109
-
110
- # Stores VSCode versions used for testing VSCode extensions
111
- .vscode-test
112
-
113
- # End of https://www.toptal.com/developers/gitignore/api/node
114
-
115
- # Created by https://www.toptal.com/developers/gitignore/api/macos
116
- # Edit at https://www.toptal.com/developers/gitignore?templates=macos
117
-
118
- ### macOS ###
119
- # General
120
- .DS_Store
121
- .AppleDouble
122
- .LSOverride
123
-
124
- # Icon must end with two \r
125
- Icon
126
-
127
-
128
- # Thumbnails
129
- ._*
130
-
131
- # Files that might appear in the root of a volume
132
- .DocumentRevisions-V100
133
- .fseventsd
134
- .Spotlight-V100
135
- .TemporaryItems
136
- .Trashes
137
- .VolumeIcon.icns
138
- .com.apple.timemachine.donotpresent
139
-
140
- # Directories potentially created on remote AFP share
141
- .AppleDB
142
- .AppleDesktop
143
- Network Trash Folder
144
- Temporary Items
145
- .apdisk
146
-
147
- ### macOS Patch ###
148
- # iCloud generated files
149
- *.icloud
150
-
151
- # End of https://www.toptal.com/developers/gitignore/api/macos
152
-
153
- # Created by https://www.toptal.com/developers/gitignore/api/windows
154
- # Edit at https://www.toptal.com/developers/gitignore?templates=windows
155
-
156
- ### Windows ###
157
- # Windows thumbnail cache files
158
- Thumbs.db
159
- Thumbs.db:encryptable
160
- ehthumbs.db
161
- ehthumbs_vista.db
162
-
163
- # Dump file
164
- *.stackdump
165
-
166
- # Folder config file
167
- [Dd]esktop.ini
168
-
169
- # Recycle Bin used on file shares
170
- $RECYCLE.BIN/
171
-
172
- # Windows Installer files
173
- *.cab
174
- *.msi
175
- *.msix
176
- *.msm
177
- *.msp
178
-
179
- # Windows shortcuts
180
- *.lnk
181
-
182
- # End of https://www.toptal.com/developers/gitignore/api/windows
183
-
184
- #Added by cargo
185
-
186
- /target
187
- Cargo.lock
188
-
189
- .pnp.*
190
- .yarn/*
191
- !.yarn/patches
192
- !.yarn/plugins
193
- !.yarn/releases
194
- !.yarn/sdks
195
- !.yarn/versions
196
-
197
- *.node
198
- *.wasm
199
- `
@@ -1,14 +0,0 @@
1
- export const npmIgnore = `target
2
- Cargo.lock
3
- .cargo
4
- .github
5
- npm
6
- .eslintrc
7
- .prettierignore
8
- rustfmt.toml
9
- yarn.lock
10
- *.node
11
- .yarn
12
- __test__
13
- renovate.json
14
- `
@@ -1,4 +0,0 @@
1
- export const createBuildRs = () => `fn main() {
2
- napi_build::setup();
3
- }
4
- `
@@ -1,35 +0,0 @@
1
- export const createCargoToml = ({
2
- name,
3
- license,
4
- features,
5
- deriveFeatures,
6
- }: {
7
- name: string
8
- license: string
9
- features: string[]
10
- deriveFeatures: string[]
11
- }) => `[package]
12
- name = "${name.replace('@', '').replace('/', '_').toLowerCase()}"
13
- version = "1.0.0"
14
- edition = "2021"
15
- license = "${license}"
16
-
17
- [lib]
18
- crate-type = ["cdylib"]
19
-
20
- [dependencies.napi]
21
- version = "2"
22
- default-features = false
23
- # see https://nodejs.org/api/n-api.html#node-api-version-matrix
24
- features = ${JSON.stringify(features)}
25
-
26
- [dependencies.napi-derive]
27
- version = "2"
28
- features = ${JSON.stringify(deriveFeatures)}
29
-
30
- [build-dependencies]
31
- napi-build = "2"
32
-
33
- [profile.release]
34
- lto = true
35
- `