@napi-rs/cli 3.0.0-alpha.90 → 3.0.0-alpha.91

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 (110) hide show
  1. package/dist/cli.js +3867 -15
  2. package/dist/index.cjs +9173 -8790
  3. package/dist/index.js +3618 -32
  4. package/package.json +10 -8
  5. package/dist/api/__tests__/new.spec.js +0 -283
  6. package/dist/api/__tests__/new.spec.js.map +0 -1
  7. package/dist/api/artifacts.js +0 -74
  8. package/dist/api/artifacts.js.map +0 -1
  9. package/dist/api/build.js +0 -707
  10. package/dist/api/build.js.map +0 -1
  11. package/dist/api/create-npm-dirs.js +0 -101
  12. package/dist/api/create-npm-dirs.js.map +0 -1
  13. package/dist/api/new.js +0 -360
  14. package/dist/api/new.js.map +0 -1
  15. package/dist/api/pre-publish.js +0 -160
  16. package/dist/api/pre-publish.js.map +0 -1
  17. package/dist/api/rename.js +0 -91
  18. package/dist/api/rename.js.map +0 -1
  19. package/dist/api/templates/.gitignore.js +0 -200
  20. package/dist/api/templates/.gitignore.js.map +0 -1
  21. package/dist/api/templates/.npmignore.js +0 -15
  22. package/dist/api/templates/.npmignore.js.map +0 -1
  23. package/dist/api/templates/build.rs.js +0 -5
  24. package/dist/api/templates/build.rs.js.map +0 -1
  25. package/dist/api/templates/cargo.toml.js +0 -27
  26. package/dist/api/templates/cargo.toml.js.map +0 -1
  27. package/dist/api/templates/ci-template.js +0 -593
  28. package/dist/api/templates/ci-template.js.map +0 -1
  29. package/dist/api/templates/ci.yml.js +0 -115
  30. package/dist/api/templates/ci.yml.js.map +0 -1
  31. package/dist/api/templates/index.js +0 -9
  32. package/dist/api/templates/index.js.map +0 -1
  33. package/dist/api/templates/js-binding.js +0 -213
  34. package/dist/api/templates/js-binding.js.map +0 -1
  35. package/dist/api/templates/lib.rs.js +0 -8
  36. package/dist/api/templates/lib.rs.js.map +0 -1
  37. package/dist/api/templates/load-wasi-template.js +0 -168
  38. package/dist/api/templates/load-wasi-template.js.map +0 -1
  39. package/dist/api/templates/package.json.js +0 -54
  40. package/dist/api/templates/package.json.js.map +0 -1
  41. package/dist/api/templates/wasi-worker-template.js +0 -122
  42. package/dist/api/templates/wasi-worker-template.js.map +0 -1
  43. package/dist/api/universalize.js +0 -39
  44. package/dist/api/universalize.js.map +0 -1
  45. package/dist/api/version.js +0 -17
  46. package/dist/api/version.js.map +0 -1
  47. package/dist/cli.js.map +0 -1
  48. package/dist/commands/artifacts.js +0 -20
  49. package/dist/commands/artifacts.js.map +0 -1
  50. package/dist/commands/build.js +0 -35
  51. package/dist/commands/build.js.map +0 -1
  52. package/dist/commands/create-npm-dirs.js +0 -8
  53. package/dist/commands/create-npm-dirs.js.map +0 -1
  54. package/dist/commands/help.js +0 -13
  55. package/dist/commands/help.js.map +0 -1
  56. package/dist/commands/new.js +0 -110
  57. package/dist/commands/new.js.map +0 -1
  58. package/dist/commands/pre-publish.js +0 -9
  59. package/dist/commands/pre-publish.js.map +0 -1
  60. package/dist/commands/rename.js +0 -8
  61. package/dist/commands/rename.js.map +0 -1
  62. package/dist/commands/universalize.js +0 -8
  63. package/dist/commands/universalize.js.map +0 -1
  64. package/dist/commands/version.js +0 -8
  65. package/dist/commands/version.js.map +0 -1
  66. package/dist/def/artifacts.js +0 -47
  67. package/dist/def/artifacts.js.map +0 -1
  68. package/dist/def/build.js +0 -140
  69. package/dist/def/build.js.map +0 -1
  70. package/dist/def/create-npm-dirs.js +0 -43
  71. package/dist/def/create-npm-dirs.js.map +0 -1
  72. package/dist/def/new.js +0 -77
  73. package/dist/def/new.js.map +0 -1
  74. package/dist/def/pre-publish.js +0 -61
  75. package/dist/def/pre-publish.js.map +0 -1
  76. package/dist/def/rename.js +0 -63
  77. package/dist/def/rename.js.map +0 -1
  78. package/dist/def/universalize.js +0 -38
  79. package/dist/def/universalize.js.map +0 -1
  80. package/dist/def/version.js +0 -38
  81. package/dist/def/version.js.map +0 -1
  82. package/dist/index.js.map +0 -1
  83. package/dist/utils/__tests__/config.spec.js +0 -63
  84. package/dist/utils/__tests__/config.spec.js.map +0 -1
  85. package/dist/utils/__tests__/target.spec.js +0 -11
  86. package/dist/utils/__tests__/target.spec.js.map +0 -1
  87. package/dist/utils/__tests__/typegen.spec.js +0 -42
  88. package/dist/utils/__tests__/typegen.spec.js.map +0 -1
  89. package/dist/utils/__tests__/version.spec.js +0 -6
  90. package/dist/utils/__tests__/version.spec.js.map +0 -1
  91. package/dist/utils/cargo.js +0 -34
  92. package/dist/utils/cargo.js.map +0 -1
  93. package/dist/utils/config.js +0 -75
  94. package/dist/utils/config.js.map +0 -1
  95. package/dist/utils/index.js +0 -10
  96. package/dist/utils/index.js.map +0 -1
  97. package/dist/utils/log.js +0 -15
  98. package/dist/utils/log.js.map +0 -1
  99. package/dist/utils/metadata.js +0 -40
  100. package/dist/utils/metadata.js.map +0 -1
  101. package/dist/utils/misc.js +0 -43
  102. package/dist/utils/misc.js.map +0 -1
  103. package/dist/utils/read-config.js +0 -8
  104. package/dist/utils/read-config.js.map +0 -1
  105. package/dist/utils/target.js +0 -135
  106. package/dist/utils/target.js.map +0 -1
  107. package/dist/utils/typegen.js +0 -210
  108. package/dist/utils/typegen.js.map +0 -1
  109. package/dist/utils/version.js +0 -62
  110. package/dist/utils/version.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ci.yml.js","sourceRoot":"","sources":["../../../src/api/templates/ci.yml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,aAAa,EAEb,kBAAkB,EAClB,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAuB,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5D,MAAM,aAAa,GAAG,eAAe,CAAA;AACrC,MAAM,kBAAkB,GAAG,4BAA4B,CAAA;AACvD,MAAM,kBAAkB,GAAG,4BAA4B,CAAA;AACvD,MAAM,mBAAmB,GAAG,6BAA6B,CAAA;AACzD,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AAC/D,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACjE,MAAM,wBAAwB,GAAG,kCAAkC,CAAA;AACnE,MAAM,SAAS,GAAG,kBAAkB,CAAA;AACpC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAiB,EACjB,cAAuC,EACvC,cAA8B,EAC9B,EAAE;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAA;YACD,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,CAAA;IACZ,CAAC,CAAC,CACH,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAQ,CAAA;IAEtE,MAAM,aAAa,GAAG,EAAE,CAAA;IACxB,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAC5D,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACtE,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACtE,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;IACxE,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAC9D,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAC/D,MAAM,UAAU,GACd,UAAU,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC9C,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACvC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACjC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;QAC9C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACrD,CAAC,EAAE,MAAM,EAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAC3D,CAAA;IACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7D,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;IAChD,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,OAAO,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;QACvC,IAAI,gBAAgB,EAAE,CAAC;YACrB,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;YACrC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACnC,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAC5D,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACnE,CAAC,EAAE,IAAI,EAAoC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CACxE,CAAA;QAEH,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpD,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,aAAa,CAAA;IAE/C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,EAAE;YACxB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC1B,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC,CAAA"}
@@ -1,9 +0,0 @@
1
- export * from './.gitignore.js';
2
- export * from './.npmignore.js';
3
- export * from './build.rs.js';
4
- export * from './cargo.toml.js';
5
- export * from './ci.yml.js';
6
- export * from './lib.rs.js';
7
- export * from './package.json.js';
8
- export * from './js-binding.js';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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,213 +0,0 @@
1
- export function createCjsBinding(localName, pkgName, idents) {
2
- return `${bindingHeader}
3
- const { createRequire } = require('node:module')
4
- require = createRequire(__filename)
5
-
6
- ${createCommonBinding(localName, pkgName)}
7
- module.exports = nativeBinding
8
- ${idents
9
- .map((ident) => `module.exports.${ident} = nativeBinding.${ident}`)
10
- .join('\n')}
11
- `;
12
- }
13
- export function createEsmBinding(localName, pkgName, idents) {
14
- return `${bindingHeader}
15
- import { createRequire } from 'node:module'
16
- const require = createRequire(import.meta.url)
17
- const __dirname = new URL('.', import.meta.url).pathname
18
-
19
- ${createCommonBinding(localName, pkgName)}
20
- const { ${idents.join(', ')} } = nativeBinding
21
- ${idents.map((ident) => `export { ${ident} }`).join('\n')}
22
- `;
23
- }
24
- const bindingHeader = `// prettier-ignore
25
- /* eslint-disable */
26
- // @ts-nocheck
27
- /* auto-generated by NAPI-RS */
28
- `;
29
- function createCommonBinding(localName, pkgName) {
30
- function requireTuple(tuple) {
31
- return `try {
32
- return require('./${localName}.${tuple}.node')
33
- } catch (e) {
34
- loadErrors.push(e)
35
- }
36
- try {
37
- return require('${pkgName}-${tuple}')
38
- } catch (e) {
39
- loadErrors.push(e)
40
- }
41
- `;
42
- }
43
- return `const { readFileSync } = require('node:fs')
44
- let nativeBinding = null
45
- const loadErrors = []
46
-
47
- const isMusl = () => {
48
- let musl = false
49
- if (process.platform === 'linux') {
50
- musl = isMuslFromFilesystem()
51
- if (musl === null) {
52
- musl = isMuslFromReport()
53
- }
54
- if (musl === null) {
55
- musl = isMuslFromChildProcess()
56
- }
57
- }
58
- return musl
59
- }
60
-
61
- const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
62
-
63
- const isMuslFromFilesystem = () => {
64
- try {
65
- return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
66
- } catch {
67
- return null
68
- }
69
- }
70
-
71
- const isMuslFromReport = () => {
72
- let report = null
73
- if (typeof process.report?.getReport === 'function') {
74
- process.report.excludeNetwork = true
75
- report = process.report.getReport()
76
- }
77
- if (!report) {
78
- return null
79
- }
80
- if (report.header && report.header.glibcVersionRuntime) {
81
- return false
82
- }
83
- if (Array.isArray(report.sharedObjects)) {
84
- if (report.sharedObjects.some(isFileMusl)) {
85
- return true
86
- }
87
- }
88
- return false
89
- }
90
-
91
- const isMuslFromChildProcess = () => {
92
- try {
93
- return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
94
- } catch (e) {
95
- // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
96
- return false
97
- }
98
- }
99
-
100
- function requireNative() {
101
- if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
102
- try {
103
- nativeBinding = require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
104
- } catch (err) {
105
- loadErrors.push(err)
106
- }
107
- } else if (process.platform === 'android') {
108
- if (process.arch === 'arm64') {
109
- ${requireTuple('android-arm64')}
110
- } else if (process.arch === 'arm') {
111
- ${requireTuple('android-arm-eabi')}
112
- } else {
113
- loadErrors.push(new Error(\`Unsupported architecture on Android \${process.arch}\`))
114
- }
115
- } else if (process.platform === 'win32') {
116
- if (process.arch === 'x64') {
117
- ${requireTuple('win32-x64-msvc')}
118
- } else if (process.arch === 'ia32') {
119
- ${requireTuple('win32-ia32-msvc')}
120
- } else if (process.arch === 'arm64') {
121
- ${requireTuple('win32-arm64-msvc')}
122
- } else {
123
- loadErrors.push(new Error(\`Unsupported architecture on Windows: \${process.arch}\`))
124
- }
125
- } else if (process.platform === 'darwin') {
126
- ${requireTuple('darwin-universal')}
127
- if (process.arch === 'x64') {
128
- ${requireTuple('darwin-x64')}
129
- } else if (process.arch === 'arm64') {
130
- ${requireTuple('darwin-arm64')}
131
- } else {
132
- loadErrors.push(new Error(\`Unsupported architecture on macOS: \${process.arch}\`))
133
- }
134
- } else if (process.platform === 'freebsd') {
135
- if (process.arch === 'x64') {
136
- ${requireTuple('freebsd-x64')}
137
- } else if (process.arch === 'arm64') {
138
- ${requireTuple('freebsd-arm64')}
139
- } else {
140
- loadErrors.push(new Error(\`Unsupported architecture on FreeBSD: \${process.arch}\`))
141
- }
142
- } else if (process.platform === 'linux') {
143
- if (process.arch === 'x64') {
144
- if (isMusl()) {
145
- ${requireTuple('linux-x64-musl')}
146
- } else {
147
- ${requireTuple('linux-x64-gnu')}
148
- }
149
- } else if (process.arch === 'arm64') {
150
- if (isMusl()) {
151
- ${requireTuple('linux-arm64-musl')}
152
- } else {
153
- ${requireTuple('linux-arm64-gnu')}
154
- }
155
- } else if (process.arch === 'arm') {
156
- if (isMusl()) {
157
- ${requireTuple('linux-arm-musleabihf')}
158
- } else {
159
- ${requireTuple('linux-arm-gnueabihf')}
160
- }
161
- } else if (process.arch === 'riscv64') {
162
- if (isMusl()) {
163
- ${requireTuple('linux-riscv64-musl')}
164
- } else {
165
- ${requireTuple('linux-riscv64-gnu')}
166
- }
167
- } else if (process.arch === 'ppc64') {
168
- ${requireTuple('linux-ppc64-gnu')}
169
- } else if (process.arch === 's390x') {
170
- ${requireTuple('linux-s390x-gnu')}
171
- } else {
172
- loadErrors.push(new Error(\`Unsupported architecture on Linux: \${process.arch}\`))
173
- }
174
- } else {
175
- loadErrors.push(new Error(\`Unsupported OS: \${process.platform}, architecture: \${process.arch}\`))
176
- }
177
- }
178
-
179
- nativeBinding = requireNative()
180
-
181
- if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
182
- try {
183
- nativeBinding = require('./${localName}.wasi.cjs')
184
- } catch (err) {
185
- if (process.env.NAPI_RS_FORCE_WASI) {
186
- loadErrors.push(err)
187
- }
188
- }
189
- if (!nativeBinding) {
190
- try {
191
- nativeBinding = require('${pkgName}-wasm32-wasi')
192
- } catch (err) {
193
- if (process.env.NAPI_RS_FORCE_WASI) {
194
- loadErrors.push(err)
195
- }
196
- }
197
- }
198
- }
199
-
200
- if (!nativeBinding) {
201
- if (loadErrors.length > 0) {
202
- throw new Error(
203
- \`Cannot find native binding. \` +
204
- \`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). \` +
205
- 'Please try \`npm i\` again after removing both package-lock.json and node_modules directory.',
206
- { cause: loadErrors }
207
- )
208
- }
209
- throw new Error(\`Failed to load native binding\`)
210
- }
211
- `;
212
- }
213
- //# sourceMappingURL=js-binding.js.map
@@ -1 +0,0 @@
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,GAAG,aAAa;;;;EAIvB,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;;EAEvC,MAAM;SACL,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,KAAK,oBAAoB,KAAK,EAAE,CAAC;SAClE,IAAI,CAAC,IAAI,CAAC;CACZ,CAAA;AACD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,OAAe,EACf,MAAgB;IAEhB,OAAO,GAAG,aAAa;;;;;EAKvB,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;UAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;EACzB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACxD,CAAA;AACD,CAAC;AAED,MAAM,aAAa,GAAG;;;;CAIrB,CAAA;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,OAAe;IAC7D,SAAS,YAAY,CAAC,KAAa;QACjC,OAAO;4BACiB,SAAS,IAAI,KAAK;;;;;0BAKpB,OAAO,IAAI,KAAK;;;;CAIzC,CAAA;IACC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkED,YAAY,CAAC,eAAe,CAAC;;QAE7B,YAAY,CAAC,kBAAkB,CAAC;;;;;;QAMhC,YAAY,CAAC,gBAAgB,CAAC;;QAE9B,YAAY,CAAC,iBAAiB,CAAC;;QAE/B,YAAY,CAAC,kBAAkB,CAAC;;;;;MAKlC,YAAY,CAAC,kBAAkB,CAAC;;QAE9B,YAAY,CAAC,YAAY,CAAC;;QAE1B,YAAY,CAAC,cAAc,CAAC;;;;;;QAM5B,YAAY,CAAC,aAAa,CAAC;;QAE3B,YAAY,CAAC,eAAe,CAAC;;;;;;;UAO3B,YAAY,CAAC,gBAAgB,CAAC;;UAE9B,YAAY,CAAC,eAAe,CAAC;;;;UAI7B,YAAY,CAAC,kBAAkB,CAAC;;UAEhC,YAAY,CAAC,iBAAiB,CAAC;;;;UAI/B,YAAY,CAAC,sBAAsB,CAAC;;UAEpC,YAAY,CAAC,qBAAqB,CAAC;;;;UAInC,YAAY,CAAC,oBAAoB,CAAC;;UAElC,YAAY,CAAC,mBAAmB,CAAC;;;QAGnC,YAAY,CAAC,iBAAiB,CAAC;;QAE/B,YAAY,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;iCAaN,SAAS;;;;;;;;iCAQT,OAAO;;;;;;;;;;;;;;;;;;;;CAoBvC,CAAA;AACD,CAAC"}
@@ -1,8 +0,0 @@
1
- export const createLibRs = () => `use napi_derive::napi;
2
-
3
- #[napi]
4
- pub fn sum(a: i32, b: i32) -> i32 {
5
- a + b
6
- }
7
- `;
8
- //# sourceMappingURL=lib.rs.js.map
@@ -1 +0,0 @@
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;;;;;;CAMhC,CAAA"}
@@ -1,168 +0,0 @@
1
- export const createWasiBrowserBinding = (wasiFilename, initialMemory = 4000, maximumMemory = 65536, fs = false, asyncInit = false) => {
2
- const fsImport = fs ? `import { memfs } from '@napi-rs/wasm-runtime/fs'` : '';
3
- const wasiCreation = fs
4
- ? `
5
- export const { fs: __fs, vol: __volume } = memfs()
6
-
7
- const __wasi = new __WASI({
8
- version: 'preview1',
9
- fs: __fs,
10
- preopens: {
11
- '/': '/',
12
- },
13
- })`
14
- : `
15
- const __wasi = new __WASI({
16
- version: 'preview1',
17
- })`;
18
- const workerFsHandler = fs
19
- ? ` worker.addEventListener('message', __wasmCreateOnMessageForFsProxy(__fs))\n`
20
- : '';
21
- const emnapiInstantiateImport = asyncInit
22
- ? `instantiateNapiModule as __emnapiInstantiateNapiModule`
23
- : `instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync`;
24
- const emnapiInstantiateCall = asyncInit
25
- ? `await __emnapiInstantiateNapiModule`
26
- : `__emnapiInstantiateNapiModuleSync`;
27
- return `import {
28
- createOnMessage as __wasmCreateOnMessageForFsProxy,
29
- getDefaultContext as __emnapiGetDefaultContext,
30
- ${emnapiInstantiateImport},
31
- WASI as __WASI,
32
- } from '@napi-rs/wasm-runtime'
33
- ${fsImport}
34
- ${wasiCreation}
35
-
36
- const __wasmUrl = new URL('./${wasiFilename}.wasm', import.meta.url).href
37
- const __emnapiContext = __emnapiGetDefaultContext()
38
-
39
- const __sharedMemory = new WebAssembly.Memory({
40
- initial: ${initialMemory},
41
- maximum: ${maximumMemory},
42
- shared: true,
43
- })
44
-
45
- const __wasmFile = await fetch(__wasmUrl).then((res) => res.arrayBuffer())
46
-
47
- const {
48
- instance: __napiInstance,
49
- module: __wasiModule,
50
- napiModule: __napiModule,
51
- } = ${emnapiInstantiateCall}(__wasmFile, {
52
- context: __emnapiContext,
53
- asyncWorkPoolSize: 4,
54
- wasi: __wasi,
55
- onCreateWorker() {
56
- const worker = new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
57
- type: 'module',
58
- })
59
- ${workerFsHandler}
60
- return worker
61
- },
62
- overwriteImports(importObject) {
63
- importObject.env = {
64
- ...importObject.env,
65
- ...importObject.napi,
66
- ...importObject.emnapi,
67
- memory: __sharedMemory,
68
- }
69
- return importObject
70
- },
71
- beforeInit({ instance }) {
72
- for (const name of Object.keys(instance.exports)) {
73
- if (name.startsWith('__napi_register__')) {
74
- instance.exports[name]()
75
- }
76
- }
77
- },
78
- })
79
- `;
80
- };
81
- export const createWasiBinding = (wasmFileName, packageName, initialMemory = 4000, maximumMemory = 65536) => `/* eslint-disable */
82
- /* prettier-ignore */
83
-
84
- /* auto-generated by NAPI-RS */
85
-
86
- const __nodeFs = require('node:fs')
87
- const __nodePath = require('node:path')
88
- const { WASI: __nodeWASI } = require('node:wasi')
89
- const { Worker } = require('node:worker_threads')
90
-
91
- const {
92
- createOnMessage: __wasmCreateOnMessageForFsProxy,
93
- getDefaultContext: __emnapiGetDefaultContext,
94
- instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync,
95
- } = require('@napi-rs/wasm-runtime')
96
-
97
- const __rootDir = __nodePath.parse(process.cwd()).root
98
-
99
- const __wasi = new __nodeWASI({
100
- version: 'preview1',
101
- env: process.env,
102
- preopens: {
103
- [__rootDir]: __rootDir,
104
- }
105
- })
106
-
107
- const __emnapiContext = __emnapiGetDefaultContext()
108
-
109
- const __sharedMemory = new WebAssembly.Memory({
110
- initial: ${initialMemory},
111
- maximum: ${maximumMemory},
112
- shared: true,
113
- })
114
-
115
- let __wasmFilePath = __nodePath.join(__dirname, '${wasmFileName}.wasm')
116
- const __wasmDebugFilePath = __nodePath.join(__dirname, '${wasmFileName}.debug.wasm')
117
-
118
- if (__nodeFs.existsSync(__wasmDebugFilePath)) {
119
- __wasmFilePath = __wasmDebugFilePath
120
- } else if (!__nodeFs.existsSync(__wasmFilePath)) {
121
- try {
122
- __wasmFilePath = __nodePath.resolve('${packageName}-wasm32-wasi')
123
- } catch {
124
- throw new Error('Cannot find ${wasmFileName}.wasm file, and ${packageName}-wasm32-wasi package is not installed.')
125
- }
126
- }
127
-
128
- const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule } = __emnapiInstantiateNapiModuleSync(__nodeFs.readFileSync(__wasmFilePath), {
129
- context: __emnapiContext,
130
- asyncWorkPoolSize: (function() {
131
- const threadsSizeFromEnv = Number(process.env.NAPI_RS_ASYNC_WORK_POOL_SIZE ?? process.env.UV_THREADPOOL_SIZE)
132
- // NaN > 0 is false
133
- if (threadsSizeFromEnv > 0) {
134
- return threadsSizeFromEnv
135
- } else {
136
- return 4
137
- }
138
- })(),
139
- reuseWorker: true,
140
- wasi: __wasi,
141
- onCreateWorker() {
142
- const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
143
- env: process.env,
144
- })
145
- worker.onmessage = ({ data }) => {
146
- __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
147
- }
148
- return worker
149
- },
150
- overwriteImports(importObject) {
151
- importObject.env = {
152
- ...importObject.env,
153
- ...importObject.napi,
154
- ...importObject.emnapi,
155
- memory: __sharedMemory,
156
- }
157
- return importObject
158
- },
159
- beforeInit({ instance }) {
160
- for (const name of Object.keys(instance.exports)) {
161
- if (name.startsWith('__napi_register__')) {
162
- instance.exports[name]()
163
- }
164
- }
165
- },
166
- })
167
- `;
168
- //# sourceMappingURL=load-wasi-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-wasi-template.js","sourceRoot":"","sources":["../../../src/api/templates/load-wasi-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,YAAoB,EACpB,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,KAAK,EACrB,EAAE,GAAG,KAAK,EACV,SAAS,GAAG,KAAK,EACjB,EAAE;IACF,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,MAAM,YAAY,GAAG,EAAE;QACrB,CAAC,CAAC;;;;;;;;;GASH;QACC,CAAC,CAAC;;;GAGH,CAAA;IAED,MAAM,eAAe,GAAG,EAAE;QACxB,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,uBAAuB,GAAG,SAAS;QACvC,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,gEAAgE,CAAA;IACpE,MAAM,qBAAqB,GAAG,SAAS;QACrC,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,mCAAmC,CAAA;IAEvC,OAAO;;;IAGL,uBAAuB;;;EAGzB,QAAQ;EACR,YAAY;;+BAEiB,YAAY;;;;aAI9B,aAAa;aACb,aAAa;;;;;;;;;;MAUpB,qBAAqB;;;;;;;;EAQzB,eAAe;;;;;;;;;;;;;;;;;;;;CAoBhB,CAAA;AACD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,YAAoB,EACpB,WAAmB,EACnB,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,KAAK,EACrB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BQ,aAAa;aACb,aAAa;;;;mDAIyB,YAAY;0DACL,YAAY;;;;;;2CAM3B,WAAW;;mCAEnB,YAAY,mBAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C5E,CAAA"}
@@ -1,54 +0,0 @@
1
- import { UNIVERSAL_TARGETS } from '../../utils/target.js';
2
- export const createPackageJson = async ({ name, binaryName, targets, license, engineRequirement, cliVersion, testFramework, }) => {
3
- const hasWasmTarget = targets.some((t) => t.includes('wasm'));
4
- const universalTargets = targets.filter((t) => t in UNIVERSAL_TARGETS);
5
- const unifiedtargets = universalTargets.length
6
- ? targets.filter((target) => !universalTargets.some((t) => {
7
- // @ts-expect-error
8
- return UNIVERSAL_TARGETS[t].includes(target);
9
- }))
10
- : targets;
11
- const content = {
12
- name,
13
- version: '0.0.0',
14
- license,
15
- engines: {
16
- node: engineRequirement,
17
- },
18
- type: 'commonjs',
19
- main: 'index.js',
20
- types: 'index.d.ts',
21
- browser: 'browser.js',
22
- module: undefined,
23
- exports: undefined,
24
- napi: {
25
- binaryName,
26
- targets: unifiedtargets,
27
- },
28
- scripts: {
29
- test: testFramework,
30
- build: 'napi build --release --platform --strip',
31
- 'build:debug': 'napi build',
32
- prepublishOnly: 'napi prepublish -t npm',
33
- artifacts: 'napi artifacts',
34
- version: 'napi version',
35
- },
36
- devDependencies: {
37
- '@napi-rs/cli': `^${cliVersion}`,
38
- },
39
- };
40
- if (testFramework === 'ava') {
41
- const avaMeta = await fetch(`https://registry.npmjs.org/ava`).then((res) => res.json());
42
- content.devDependencies['ava'] = `^${avaMeta['dist-tags'].latest}`;
43
- content.ava = {
44
- timeout: '1m',
45
- };
46
- }
47
- if (hasWasmTarget) {
48
- const wasmRuntime = await fetch(`https://registry.npmjs.org/@napi-rs/wasm-runtime`).then((res) => res.json());
49
- const latest = wasmRuntime['dist-tags'].latest;
50
- content.devDependencies['@napi-rs/wasm-runtime'] = `^${latest}`;
51
- }
52
- return JSON.stringify(content, null, 2);
53
- };
54
- //# sourceMappingURL=package.json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../src/api/templates/package.json.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAMzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,UAAU,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,aAAa,GASd,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,iBAAiB,CACQ,CAAA;IACvC,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM;QAC5C,CAAC,CAAC,OAAO,CAAC,MAAM,CACZ,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,mBAAmB;YACnB,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CACL;QACH,CAAC,CAAC,OAAO,CAAA;IACX,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,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE;YACJ,UAAU;YACV,OAAO,EAAE,cAAc;SACxB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,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,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAChE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA0B,CAC5C,CAAA;QACD,OAAO,CAAC,eAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAA;QACnE,OAAO,CAAC,GAAG,GAAG;YACZ,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,KAAK,CAC7B,kDAAkD,CACnD,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA0B,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA;QAC9C,OAAO,CAAC,eAAgB,CAAC,uBAAuB,CAAC,GAAG,IAAI,MAAM,EAAE,CAAA;IAClE,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA"}
@@ -1,122 +0,0 @@
1
- export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
2
- import { createRequire } from "node:module";
3
- import { parse } from "node:path";
4
- import { WASI } from "node:wasi";
5
- import { parentPort, Worker } from "node:worker_threads";
6
-
7
- const require = createRequire(import.meta.url);
8
-
9
- const { instantiateNapiModuleSync, MessageHandler, getDefaultContext } = require("@napi-rs/wasm-runtime");
10
-
11
- if (parentPort) {
12
- parentPort.on("message", (data) => {
13
- globalThis.onmessage({ data });
14
- });
15
- }
16
-
17
- Object.assign(globalThis, {
18
- self: globalThis,
19
- require,
20
- Worker,
21
- importScripts: function (f) {
22
- ;(0, eval)(fs.readFileSync(f, "utf8") + "//# sourceURL=" + f);
23
- },
24
- postMessage: function (msg) {
25
- if (parentPort) {
26
- parentPort.postMessage(msg);
27
- }
28
- },
29
- });
30
-
31
- const emnapiContext = getDefaultContext();
32
-
33
- const __rootDir = parse(process.cwd()).root;
34
-
35
- const handler = new MessageHandler({
36
- onLoad({ wasmModule, wasmMemory }) {
37
- const wasi = new WASI({
38
- version: 'preview1',
39
- env: process.env,
40
- preopens: {
41
- [__rootDir]: __rootDir,
42
- },
43
- });
44
-
45
- return instantiateNapiModuleSync(wasmModule, {
46
- childThread: true,
47
- wasi,
48
- context: emnapiContext,
49
- overwriteImports(importObject) {
50
- importObject.env = {
51
- ...importObject.env,
52
- ...importObject.napi,
53
- ...importObject.emnapi,
54
- memory: wasmMemory
55
- };
56
- },
57
- });
58
- },
59
- });
60
-
61
- globalThis.onmessage = function (e) {
62
- handler.handle(e);
63
- };
64
- `;
65
- export const createWasiBrowserWorkerBinding = (fs) => {
66
- const fsImport = fs
67
- ? `import { instantiateNapiModuleSync, MessageHandler, WASI, createFsProxy } from '@napi-rs/wasm-runtime'
68
- import { memfsExported as __memfsExported } from '@napi-rs/wasm-runtime/fs'
69
-
70
- const fs = createFsProxy(__memfsExported)`
71
- : `import { instantiateNapiModuleSync, MessageHandler, WASI } from '@napi-rs/wasm-runtime'`;
72
- const wasiCreation = fs
73
- ? `const wasi = new WASI({
74
- fs,
75
- preopens: {
76
- '/': '/',
77
- },
78
- print: function () {
79
- // eslint-disable-next-line no-console
80
- console.log.apply(console, arguments)
81
- },
82
- printErr: function() {
83
- // eslint-disable-next-line no-console
84
- console.error.apply(console, arguments)
85
- },
86
- })`
87
- : `const wasi = new WASI({
88
- print: function () {
89
- // eslint-disable-next-line no-console
90
- console.log.apply(console, arguments)
91
- },
92
- printErr: function() {
93
- // eslint-disable-next-line no-console
94
- console.error.apply(console, arguments)
95
- },
96
- })`;
97
- return `${fsImport}
98
-
99
- const handler = new MessageHandler({
100
- onLoad({ wasmModule, wasmMemory }) {
101
- ${wasiCreation}
102
- return instantiateNapiModuleSync(wasmModule, {
103
- childThread: true,
104
- wasi,
105
- overwriteImports(importObject) {
106
- importObject.env = {
107
- ...importObject.env,
108
- ...importObject.napi,
109
- ...importObject.emnapi,
110
- memory: wasmMemory,
111
- }
112
- },
113
- })
114
- },
115
- })
116
-
117
- globalThis.onmessage = function (e) {
118
- handler.handle(e)
119
- }
120
- `;
121
- };
122
- //# sourceMappingURL=wasi-worker-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasi-worker-template.js","sourceRoot":"","sources":["../../../src/api/templates/wasi-worker-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DnC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAAW,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC;;;0CAGoC;QACtC,CAAC,CAAC,yFAAyF,CAAA;IAC7F,MAAM,YAAY,GAAG,EAAE;QACrB,CAAC,CAAC;;;;;;;;;;;;;OAaC;QACH,CAAC,CAAC;;;;;;;;;OASC,CAAA;IACL,OAAO,GAAG,QAAQ;;;;MAId,YAAY;;;;;;;;;;;;;;;;;;;CAmBjB,CAAA;AACD,CAAC,CAAA"}
@@ -1,39 +0,0 @@
1
- import { spawnSync } from 'node:child_process';
2
- import { join, resolve } from 'node:path';
3
- import { applyDefaultUniversalizeOptions, } from '../def/universalize.js';
4
- import { readNapiConfig } from '../utils/config.js';
5
- import { debugFactory } from '../utils/log.js';
6
- import { fileExists } from '../utils/misc.js';
7
- import { UniArchsByPlatform } from '../utils/target.js';
8
- const debug = debugFactory('universalize');
9
- const universalizers = {
10
- darwin: (inputs, output) => {
11
- spawnSync('lipo', ['-create', '-output', output, ...inputs], {
12
- stdio: 'inherit',
13
- });
14
- },
15
- };
16
- export async function universalizeBinaries(userOptions) {
17
- const options = applyDefaultUniversalizeOptions(userOptions);
18
- const packageJsonPath = join(options.cwd, options.packageJsonPath);
19
- const config = await readNapiConfig(packageJsonPath, options.configPath ? resolve(options.cwd, options.configPath) : undefined);
20
- const target = config.targets.find((t) => t.platform === process.platform && t.arch === 'universal');
21
- if (!target) {
22
- throw new Error(`'universal' arch for platform '${process.platform}' not found in config!`);
23
- }
24
- const srcFiles = UniArchsByPlatform[process.platform]?.map((arch) => resolve(options.cwd, options.outputDir, `${config.binaryName}.${process.platform}-${arch}.node`));
25
- if (!srcFiles || !universalizers[process.platform]) {
26
- throw new Error(`'universal' arch for platform '${process.platform}' not supported.`);
27
- }
28
- debug(`Looking up source binaries to combine: `);
29
- debug(' %O', srcFiles);
30
- const srcFileLookup = await Promise.all(srcFiles.map((f) => fileExists(f)));
31
- const notFoundFiles = srcFiles.filter((_, i) => !srcFileLookup[i]);
32
- if (notFoundFiles.length) {
33
- throw new Error(`Some binary files were not found: ${JSON.stringify(notFoundFiles)}`);
34
- }
35
- const output = resolve(options.cwd, options.outputDir, `${config.binaryName}.${process.platform}-universal.node`);
36
- universalizers[process.platform]?.(srcFiles, output);
37
- debug(`Produced universal binary: ${output}`);
38
- }
39
- //# sourceMappingURL=universalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"universalize.js","sourceRoot":"","sources":["../../src/api/universalize.ts"],"names":[],"mappings":"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"}