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

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 (163) hide show
  1. package/cli.mjs +1 -1
  2. package/dist/api/__tests__/new.spec.d.ts +1 -0
  3. package/dist/api/__tests__/new.spec.js +283 -0
  4. package/dist/api/__tests__/new.spec.js.map +1 -0
  5. package/dist/api/artifacts.js +28 -7
  6. package/dist/api/artifacts.js.map +1 -1
  7. package/dist/api/build.d.ts +1 -1
  8. package/dist/api/build.js +324 -115
  9. package/dist/api/build.js.map +1 -1
  10. package/dist/api/create-npm-dirs.js +46 -9
  11. package/dist/api/create-npm-dirs.js.map +1 -1
  12. package/dist/api/new.js +312 -107
  13. package/dist/api/new.js.map +1 -1
  14. package/dist/api/pre-publish.js +9 -7
  15. package/dist/api/pre-publish.js.map +1 -1
  16. package/dist/api/rename.js +74 -12
  17. package/dist/api/rename.js.map +1 -1
  18. package/dist/api/templates/cargo.toml.js +1 -0
  19. package/dist/api/templates/cargo.toml.js.map +1 -1
  20. package/dist/api/templates/ci-template.d.ts +3 -1
  21. package/dist/api/templates/ci-template.js +140 -125
  22. package/dist/api/templates/ci-template.js.map +1 -1
  23. package/dist/api/templates/ci.yml.d.ts +3 -1
  24. package/dist/api/templates/ci.yml.js +21 -5
  25. package/dist/api/templates/ci.yml.js.map +1 -1
  26. package/dist/api/templates/js-binding.d.ts +1 -0
  27. package/dist/api/templates/js-binding.js +142 -222
  28. package/dist/api/templates/js-binding.js.map +1 -1
  29. package/dist/api/templates/load-wasi-template.d.ts +2 -0
  30. package/dist/api/templates/load-wasi-template.js +168 -0
  31. package/dist/api/templates/load-wasi-template.js.map +1 -0
  32. package/dist/api/templates/package.json.d.ts +9 -2
  33. package/dist/api/templates/package.json.js +26 -4
  34. package/dist/api/templates/package.json.js.map +1 -1
  35. package/dist/api/templates/wasi-worker-template.d.ts +2 -0
  36. package/dist/api/templates/wasi-worker-template.js +122 -0
  37. package/dist/api/templates/wasi-worker-template.js.map +1 -0
  38. package/dist/api/universalize.js +5 -5
  39. package/dist/api/universalize.js.map +1 -1
  40. package/dist/api/version.js +2 -2
  41. package/dist/api/version.js.map +1 -1
  42. package/dist/commands/artifacts.js +2 -2
  43. package/dist/commands/artifacts.js.map +1 -1
  44. package/dist/commands/build.js +1 -1
  45. package/dist/commands/build.js.map +1 -1
  46. package/dist/commands/new.js +34 -34
  47. package/dist/commands/new.js.map +1 -1
  48. package/dist/def/artifacts.d.ts +21 -1
  49. package/dist/def/artifacts.js +10 -2
  50. package/dist/def/artifacts.js.map +1 -1
  51. package/dist/def/build.d.ts +149 -4
  52. package/dist/def/build.js +26 -4
  53. package/dist/def/build.js.map +1 -1
  54. package/dist/def/create-npm-dirs.d.ts +10 -0
  55. package/dist/def/create-npm-dirs.js +4 -0
  56. package/dist/def/create-npm-dirs.js.map +1 -1
  57. package/dist/def/new.d.ts +25 -7
  58. package/dist/def/new.js +11 -1
  59. package/dist/def/new.js.map +1 -1
  60. package/dist/def/pre-publish.d.ts +12 -2
  61. package/dist/def/pre-publish.js +7 -3
  62. package/dist/def/pre-publish.js.map +1 -1
  63. package/dist/def/rename.d.ts +16 -6
  64. package/dist/def/rename.js +5 -1
  65. package/dist/def/rename.js.map +1 -1
  66. package/dist/def/universalize.d.ts +10 -0
  67. package/dist/def/universalize.js +4 -0
  68. package/dist/def/universalize.js.map +1 -1
  69. package/dist/def/version.d.ts +10 -0
  70. package/dist/def/version.js +4 -0
  71. package/dist/def/version.js.map +1 -1
  72. package/dist/index.cjs +8743 -14849
  73. package/dist/utils/__tests__/config.spec.d.ts +1 -0
  74. package/dist/utils/__tests__/config.spec.js +63 -0
  75. package/dist/utils/__tests__/config.spec.js.map +1 -0
  76. package/dist/utils/cargo.js +2 -2
  77. package/dist/utils/cargo.js.map +1 -1
  78. package/dist/utils/config.d.ts +48 -4
  79. package/dist/utils/config.js +36 -4
  80. package/dist/utils/config.js.map +1 -1
  81. package/dist/utils/index.d.ts +1 -1
  82. package/dist/utils/index.js +1 -1
  83. package/dist/utils/index.js.map +1 -1
  84. package/dist/utils/log.js +1 -1
  85. package/dist/utils/log.js.map +1 -1
  86. package/dist/utils/metadata.d.ts +13 -1
  87. package/dist/utils/metadata.js +31 -11
  88. package/dist/utils/metadata.js.map +1 -1
  89. package/dist/utils/misc.d.ts +3 -3
  90. package/dist/utils/misc.js +13 -11
  91. package/dist/utils/misc.js.map +1 -1
  92. package/dist/utils/read-config.d.ts +7 -0
  93. package/dist/utils/read-config.js +8 -0
  94. package/dist/utils/read-config.js.map +1 -0
  95. package/dist/utils/target.d.ts +7 -5
  96. package/dist/utils/target.js +17 -3
  97. package/dist/utils/target.js.map +1 -1
  98. package/dist/utils/typegen.d.ts +1 -1
  99. package/dist/utils/typegen.js +63 -32
  100. package/dist/utils/typegen.js.map +1 -1
  101. package/dist/utils/version.d.ts +2 -1
  102. package/dist/utils/version.js +10 -8
  103. package/dist/utils/version.js.map +1 -1
  104. package/package.json +34 -32
  105. package/src/api/__tests__/new.spec.ts +429 -0
  106. package/src/api/artifacts.ts +81 -9
  107. package/src/api/build.ts +498 -149
  108. package/src/api/create-npm-dirs.ts +57 -9
  109. package/src/api/new.ts +389 -122
  110. package/src/api/pre-publish.ts +13 -7
  111. package/src/api/rename.ts +103 -17
  112. package/src/api/templates/cargo.toml.ts +1 -0
  113. package/src/api/templates/ci-template.ts +150 -125
  114. package/src/api/templates/ci.yml.ts +27 -6
  115. package/src/api/templates/js-binding.ts +148 -220
  116. package/src/api/templates/load-wasi-template.ts +182 -0
  117. package/src/api/templates/package.json.ts +47 -5
  118. package/src/api/templates/wasi-worker-template.ts +122 -0
  119. package/src/api/universalize.ts +13 -8
  120. package/src/api/version.ts +5 -2
  121. package/src/commands/artifacts.ts +2 -2
  122. package/src/commands/build.ts +1 -1
  123. package/src/commands/new.ts +46 -45
  124. package/src/def/artifacts.ts +22 -3
  125. package/src/def/build.ts +55 -8
  126. package/src/def/create-npm-dirs.ts +9 -0
  127. package/src/def/new.ts +28 -3
  128. package/src/def/pre-publish.ts +12 -3
  129. package/src/def/rename.ts +11 -2
  130. package/src/def/universalize.ts +9 -0
  131. package/src/def/version.ts +9 -0
  132. package/src/utils/__tests__/__fixtures__/napi_type_def +130 -130
  133. package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
  134. package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
  135. package/src/utils/__tests__/__snapshots__/target.spec.ts.md +28 -0
  136. package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
  137. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +316 -332
  138. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
  139. package/src/utils/__tests__/__snapshots__/version.spec.ts.md +8 -7
  140. package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
  141. package/src/utils/__tests__/config.spec.ts +81 -0
  142. package/src/utils/cargo.ts +2 -2
  143. package/src/utils/config.ts +110 -9
  144. package/src/utils/index.ts +1 -1
  145. package/src/utils/log.ts +1 -1
  146. package/src/utils/metadata.ts +52 -14
  147. package/src/utils/misc.ts +21 -12
  148. package/src/utils/read-config.ts +20 -0
  149. package/src/utils/target.ts +22 -4
  150. package/src/utils/typegen.ts +87 -52
  151. package/src/utils/version.ts +10 -8
  152. package/dist/api/load-wasi-template.d.ts +0 -1
  153. package/dist/api/load-wasi-template.js +0 -64
  154. package/dist/api/load-wasi-template.js.map +0 -1
  155. package/dist/api/wasi-worker-template.d.ts +0 -1
  156. package/dist/api/wasi-worker-template.js +0 -53
  157. package/dist/api/wasi-worker-template.js.map +0 -1
  158. package/dist/utils/ci.d.ts +0 -11
  159. package/dist/utils/ci.js +0 -96
  160. package/dist/utils/ci.js.map +0 -1
  161. package/src/api/load-wasi-template.ts +0 -66
  162. package/src/api/wasi-worker-template.ts +0 -52
  163. package/src/utils/ci.ts +0 -111
package/dist/api/new.js CHANGED
@@ -1,11 +1,230 @@
1
- import path from 'path';
1
+ import { exec, execSync } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
3
+ import { homedir } from 'node:os';
4
+ import path from 'node:path';
5
+ import { promises as fs } from 'node:fs';
6
+ import { load as yamlLoad, dump as yamlDump } from 'js-yaml';
2
7
  import { applyDefaultNewOptions, } from '../def/new.js';
3
- import { AVAILABLE_TARGETS, CLI_VERSION, debugFactory, DEFAULT_TARGETS, mkdirAsync, writeFileAsync, } from '../utils/index.js';
8
+ import { AVAILABLE_TARGETS, debugFactory, DEFAULT_TARGETS, mkdirAsync, readdirAsync, statAsync, } from '../utils/index.js';
4
9
  import { napiEngineRequirement } from '../utils/version.js';
5
- import { createBuildRs, createCargoToml, createGithubActionsCIYml, createLibRs, createPackageJson, gitIgnore, npmIgnore, } from './templates/index.js';
10
+ import { renameProject } from './rename.js';
11
+ // Template imports removed as we're now using external templates
6
12
  const debug = debugFactory('new');
13
+ const TEMPLATE_REPOS = {
14
+ yarn: 'https://github.com/napi-rs/package-template',
15
+ pnpm: 'https://github.com/napi-rs/package-template-pnpm',
16
+ };
17
+ async function checkGitCommand() {
18
+ try {
19
+ await new Promise((resolve) => {
20
+ const cp = exec('git --version');
21
+ cp.on('error', () => {
22
+ resolve(false);
23
+ });
24
+ cp.on('exit', (code) => {
25
+ if (code === 0) {
26
+ resolve(true);
27
+ }
28
+ else {
29
+ resolve(false);
30
+ }
31
+ });
32
+ });
33
+ return true;
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
39
+ async function ensureCacheDir(packageManager) {
40
+ const cacheDir = path.join(homedir(), '.napi-rs', 'template', packageManager);
41
+ await mkdirAsync(cacheDir, { recursive: true });
42
+ return cacheDir;
43
+ }
44
+ async function downloadTemplate(packageManager, cacheDir) {
45
+ const repoUrl = TEMPLATE_REPOS[packageManager];
46
+ const templatePath = path.join(cacheDir, 'repo');
47
+ if (existsSync(templatePath)) {
48
+ debug(`Template cache found at ${templatePath}, updating...`);
49
+ try {
50
+ // Fetch latest changes and reset to remote
51
+ await new Promise((resolve, reject) => {
52
+ const cp = exec('git fetch origin', { cwd: templatePath });
53
+ cp.on('error', reject);
54
+ cp.on('exit', (code) => {
55
+ if (code === 0) {
56
+ resolve();
57
+ }
58
+ else {
59
+ reject(new Error(`Failed to fetch latest changes, git process exited with code ${code}`));
60
+ }
61
+ });
62
+ });
63
+ execSync('git reset --hard origin/main', {
64
+ cwd: templatePath,
65
+ stdio: 'ignore',
66
+ });
67
+ debug('Template updated successfully');
68
+ }
69
+ catch (error) {
70
+ debug(`Failed to update template: ${error}`);
71
+ throw new Error(`Failed to update template from ${repoUrl}: ${error}`);
72
+ }
73
+ }
74
+ else {
75
+ debug(`Cloning template from ${repoUrl}...`);
76
+ try {
77
+ execSync(`git clone ${repoUrl} repo`, { cwd: cacheDir, stdio: 'inherit' });
78
+ debug('Template cloned successfully');
79
+ }
80
+ catch (error) {
81
+ throw new Error(`Failed to clone template from ${repoUrl}: ${error}`);
82
+ }
83
+ }
84
+ }
85
+ async function copyDirectory(src, dest, includeWasiBindings) {
86
+ await mkdirAsync(dest, { recursive: true });
87
+ const entries = await fs.readdir(src, { withFileTypes: true });
88
+ for (const entry of entries) {
89
+ const srcPath = path.join(src, entry.name);
90
+ const destPath = path.join(dest, entry.name);
91
+ // Skip .git directory
92
+ if (entry.name === '.git') {
93
+ continue;
94
+ }
95
+ if (entry.isDirectory()) {
96
+ await copyDirectory(srcPath, destPath, includeWasiBindings);
97
+ }
98
+ else {
99
+ if (!includeWasiBindings &&
100
+ (entry.name.endsWith('.wasi-browser.js') ||
101
+ entry.name.endsWith('.wasi.cjs') ||
102
+ entry.name.endsWith('wasi-worker.browser.mjs ') ||
103
+ entry.name.endsWith('wasi-worker.mjs') ||
104
+ entry.name.endsWith('browser.js'))) {
105
+ continue;
106
+ }
107
+ await fs.copyFile(srcPath, destPath);
108
+ }
109
+ }
110
+ }
111
+ async function filterTargetsInPackageJson(filePath, enabledTargets) {
112
+ const content = await fs.readFile(filePath, 'utf-8');
113
+ const packageJson = JSON.parse(content);
114
+ // Filter napi.targets
115
+ if (packageJson.napi?.targets) {
116
+ packageJson.napi.targets = packageJson.napi.targets.filter((target) => enabledTargets.includes(target));
117
+ }
118
+ await fs.writeFile(filePath, JSON.stringify(packageJson, null, 2) + '\n');
119
+ }
120
+ async function filterTargetsInGithubActions(filePath, enabledTargets) {
121
+ const content = await fs.readFile(filePath, 'utf-8');
122
+ const yaml = yamlLoad(content);
123
+ const macOSAndWindowsTargets = new Set([
124
+ 'x86_64-pc-windows-msvc',
125
+ 'aarch64-pc-windows-msvc',
126
+ 'x86_64-apple-darwin',
127
+ ]);
128
+ const linuxTargets = new Set([
129
+ 'x86_64-unknown-linux-gnu',
130
+ 'x86_64-unknown-linux-musl',
131
+ 'aarch64-unknown-linux-gnu',
132
+ 'aarch64-unknown-linux-musl',
133
+ 'armv7-unknown-linux-gnueabihf',
134
+ 'armv7-unknown-linux-musleabihf',
135
+ 'riscv64gc-unknown-linux-gnu',
136
+ 'powerpc64le-unknown-linux-gnu',
137
+ 's390x-unknown-linux-gnu',
138
+ 'aarch64-linux-android',
139
+ 'armv7-linux-androideabi',
140
+ ]);
141
+ // Check if any Linux targets are enabled
142
+ const hasLinuxTargets = enabledTargets.some((target) => linuxTargets.has(target));
143
+ // Filter the matrix configurations in the build job
144
+ if (yaml?.jobs?.build?.strategy?.matrix?.settings) {
145
+ yaml.jobs.build.strategy.matrix.settings =
146
+ yaml.jobs.build.strategy.matrix.settings.filter((setting) => {
147
+ if (setting.target) {
148
+ return enabledTargets.includes(setting.target);
149
+ }
150
+ return true;
151
+ });
152
+ }
153
+ const jobsToRemove = [];
154
+ if (enabledTargets.every((target) => !macOSAndWindowsTargets.has(target))) {
155
+ jobsToRemove.push('test-macOS-windows-binding');
156
+ }
157
+ else {
158
+ // Filter the matrix configurations in the test-macOS-windows-binding job
159
+ if (yaml?.jobs?.['test-macOS-windows-binding']?.strategy?.matrix?.settings) {
160
+ yaml.jobs['test-macOS-windows-binding'].strategy.matrix.settings =
161
+ yaml.jobs['test-macOS-windows-binding'].strategy.matrix.settings.filter((setting) => {
162
+ if (setting.target) {
163
+ return enabledTargets.includes(setting.target);
164
+ }
165
+ return true;
166
+ });
167
+ }
168
+ }
169
+ // If no Linux targets are enabled, remove Linux-specific jobs
170
+ if (!hasLinuxTargets) {
171
+ // Remove test-linux-binding job
172
+ if (yaml?.jobs?.['test-linux-binding']) {
173
+ jobsToRemove.push('test-linux-binding');
174
+ }
175
+ }
176
+ else {
177
+ // Filter the matrix configurations in the test-linux-x64-gnu-binding job
178
+ if (yaml?.jobs?.['test-linux-binding']?.strategy?.matrix?.target) {
179
+ yaml.jobs['test-linux-binding'].strategy.matrix.target = yaml.jobs['test-linux-binding'].strategy.matrix.target.filter((target) => {
180
+ if (target) {
181
+ return enabledTargets.includes(target);
182
+ }
183
+ return true;
184
+ });
185
+ }
186
+ }
187
+ if (!enabledTargets.includes('wasm32-wasip1-threads')) {
188
+ jobsToRemove.push('test-wasi');
189
+ }
190
+ if (!enabledTargets.includes('x86_64-unknown-freebsd')) {
191
+ jobsToRemove.push('build-freebsd');
192
+ }
193
+ // Filter other test jobs based on target
194
+ for (const [jobName, jobConfig] of Object.entries(yaml.jobs || {})) {
195
+ if (jobName.startsWith('test-') &&
196
+ jobName !== 'test-macOS-windows-binding' &&
197
+ jobName !== 'test-linux-x64-gnu-binding') {
198
+ // Extract target from job name or config
199
+ const job = jobConfig;
200
+ if (job.strategy?.matrix?.settings?.[0]?.target) {
201
+ const target = job.strategy.matrix.settings[0].target;
202
+ if (!enabledTargets.includes(target)) {
203
+ jobsToRemove.push(jobName);
204
+ }
205
+ }
206
+ }
207
+ }
208
+ // Remove jobs for disabled targets
209
+ for (const jobName of jobsToRemove) {
210
+ delete yaml.jobs[jobName];
211
+ }
212
+ if (Array.isArray(yaml.jobs?.publish?.needs)) {
213
+ yaml.jobs.publish.needs = yaml.jobs.publish.needs.filter((need) => !jobsToRemove.includes(need));
214
+ }
215
+ // Write back the filtered YAML
216
+ const updatedYaml = yamlDump(yaml, {
217
+ lineWidth: -1,
218
+ noRefs: true,
219
+ sortKeys: false,
220
+ });
221
+ await fs.writeFile(filePath, updatedYaml);
222
+ }
7
223
  function processOptions(options) {
8
224
  debug('Processing options...');
225
+ if (!options.path) {
226
+ throw new Error('Please provide the path as the argument');
227
+ }
9
228
  options.path = path.resolve(process.cwd(), options.path);
10
229
  debug(`Resolved target path to: ${options.path}`);
11
230
  if (!options.name) {
@@ -25,6 +244,16 @@ function processOptions(options) {
25
244
  throw new Error('At least one target must be enabled');
26
245
  }
27
246
  }
247
+ if (options.targets.some((target) => target === 'wasm32-wasi-preview1-threads')) {
248
+ const out = execSync(`rustup target list`, {
249
+ encoding: 'utf8',
250
+ });
251
+ if (out.includes('wasm32-wasip1-threads')) {
252
+ options.targets = options.targets.map((target) => target === 'wasm32-wasi-preview1-threads'
253
+ ? 'wasm32-wasip1-threads'
254
+ : target);
255
+ }
256
+ }
28
257
  return applyDefaultNewOptions(options);
29
258
  }
30
259
  export async function newProject(userOptions) {
@@ -33,119 +262,95 @@ export async function newProject(userOptions) {
33
262
  const options = processOptions(userOptions);
34
263
  debug('Targets to be enabled:');
35
264
  debug(options.targets);
36
- const outputs = generateFiles(options);
37
- try {
38
- debug(`Try to create target directory: ${options.path}`);
39
- if (!options.dryRun) {
40
- await mkdirAsync(options.path, { recursive: true });
41
- }
42
- }
43
- catch (e) {
44
- throw new Error(`Failed to create target directory: ${options.path}`, {
45
- cause: e,
46
- });
265
+ // Check if git is available
266
+ if (!(await checkGitCommand())) {
267
+ throw new Error('Git is not installed or not available in PATH. Please install Git to continue.');
47
268
  }
48
- await dumpOutputs(outputs, options.dryRun);
49
- debug(`Project created at: ${options.path}`);
50
- }
51
- function generateFiles(options) {
52
- return [
53
- generateCargoToml,
54
- generateLibRs,
55
- generateBuildRs,
56
- generatePackageJson,
57
- generateGithubWorkflow,
58
- generateIgnoreFiles,
59
- ].flatMap((generator) => {
60
- const output = generator(options);
61
- if (!output) {
62
- return [];
63
- }
64
- if (Array.isArray(output)) {
65
- return output.map((o) => ({
66
- ...o,
67
- target: path.join(options.path, o.target),
68
- }));
269
+ const packageManager = options.packageManager;
270
+ // Ensure target directory exists and is empty
271
+ await ensurePath(options.path, options.dryRun);
272
+ if (!options.dryRun) {
273
+ try {
274
+ // Download or update template
275
+ const cacheDir = await ensureCacheDir(packageManager);
276
+ await downloadTemplate(packageManager, cacheDir);
277
+ // Copy template files to target directory
278
+ const templatePath = path.join(cacheDir, 'repo');
279
+ await copyDirectory(templatePath, options.path, options.targets.includes('wasm32-wasip1-threads'));
280
+ // Rename project using the rename API
281
+ await renameProject({
282
+ cwd: options.path,
283
+ name: options.name,
284
+ binaryName: getBinaryName(options.name),
285
+ });
286
+ // Filter targets in package.json
287
+ const packageJsonPath = path.join(options.path, 'package.json');
288
+ if (existsSync(packageJsonPath)) {
289
+ await filterTargetsInPackageJson(packageJsonPath, options.targets);
290
+ }
291
+ // Filter targets in GitHub Actions CI
292
+ const ciPath = path.join(options.path, '.github', 'workflows', 'CI.yml');
293
+ if (existsSync(ciPath) && options.enableGithubActions) {
294
+ await filterTargetsInGithubActions(ciPath, options.targets);
295
+ }
296
+ else if (!options.enableGithubActions &&
297
+ existsSync(path.join(options.path, '.github'))) {
298
+ // Remove .github directory if GitHub Actions is not enabled
299
+ await fs.rm(path.join(options.path, '.github'), {
300
+ recursive: true,
301
+ force: true,
302
+ });
303
+ }
304
+ // Update package.json with additional configurations
305
+ const pkgJsonContent = await fs.readFile(packageJsonPath, 'utf-8');
306
+ const pkgJson = JSON.parse(pkgJsonContent);
307
+ // Update engine requirement
308
+ if (!pkgJson.engines) {
309
+ pkgJson.engines = {};
310
+ }
311
+ pkgJson.engines.node = napiEngineRequirement(options.minNodeApiVersion);
312
+ // Update license if different from template
313
+ if (options.license && pkgJson.license !== options.license) {
314
+ pkgJson.license = options.license;
315
+ }
316
+ // Update test framework if needed
317
+ if (options.testFramework !== 'ava') {
318
+ // This would require more complex logic to update test scripts and dependencies
319
+ debug(`Test framework ${options.testFramework} requested but not yet implemented`);
320
+ }
321
+ await fs.writeFile(packageJsonPath, JSON.stringify(pkgJson, null, 2) + '\n');
69
322
  }
70
- else {
71
- return [{ ...output, target: path.join(options.path, output.target) }];
323
+ catch (error) {
324
+ throw new Error(`Failed to create project: ${error}`);
72
325
  }
73
- });
74
- }
75
- function generateCargoToml(options) {
76
- return {
77
- target: './Cargo.toml',
78
- content: createCargoToml({
79
- name: options.name,
80
- license: options.license,
81
- features: [`napi${options.minNodeApiVersion}`],
82
- deriveFeatures: options.enableTypeDef ? ['type-def'] : [],
83
- }),
84
- };
85
- }
86
- function generateLibRs(_options) {
87
- return {
88
- target: './src/lib.rs',
89
- content: createLibRs(),
90
- };
91
- }
92
- function generateBuildRs(_options) {
93
- return {
94
- target: './build.rs',
95
- content: createBuildRs(),
96
- };
97
- }
98
- function generatePackageJson(options) {
99
- return {
100
- target: './package.json',
101
- content: createPackageJson({
102
- name: options.name,
103
- binaryName: getBinaryName(options.name),
104
- targets: options.targets,
105
- license: options.license,
106
- engineRequirement: napiEngineRequirement(options.minNodeApiVersion),
107
- cliVersion: CLI_VERSION,
108
- }),
109
- };
110
- }
111
- function generateGithubWorkflow(options) {
112
- if (!options.enableGithubActions) {
113
- return null;
114
- }
115
- return {
116
- target: './.github/workflows/ci.yml',
117
- content: createGithubActionsCIYml(options.targets),
118
- };
119
- }
120
- function generateIgnoreFiles(_options) {
121
- return [
122
- {
123
- target: './.gitignore',
124
- content: gitIgnore,
125
- },
126
- {
127
- target: './.npmignore',
128
- content: npmIgnore,
129
- },
130
- ];
326
+ }
327
+ debug(`Project created at: ${options.path}`);
131
328
  }
132
- async function dumpOutputs(outputs, dryRun) {
133
- for (const output of outputs) {
134
- if (!output) {
135
- continue;
329
+ async function ensurePath(path, dryRun = false) {
330
+ const stat = await statAsync(path, {}).catch(() => undefined);
331
+ // file descriptor exists
332
+ if (stat) {
333
+ if (stat.isFile()) {
334
+ throw new Error(`Path ${path} for creating new napi-rs project already exists and it's not a directory.`);
136
335
  }
137
- debug(`Writing project file: ${output.target}`);
138
- // only output content to logger instead of writing to file system
139
- if (dryRun) {
140
- debug(output.content);
141
- continue;
336
+ else if (stat.isDirectory()) {
337
+ const files = await readdirAsync(path);
338
+ if (files.length) {
339
+ throw new Error(`Path ${path} for creating new napi-rs project already exists and it's not empty.`);
340
+ }
142
341
  }
342
+ }
343
+ if (!dryRun) {
143
344
  try {
144
- await mkdirAsync(path.dirname(output.target), { recursive: true });
145
- await writeFileAsync(output.target, output.content, 'utf-8');
345
+ debug(`Try to create target directory: ${path}`);
346
+ if (!dryRun) {
347
+ await mkdirAsync(path, { recursive: true });
348
+ }
146
349
  }
147
350
  catch (e) {
148
- throw new Error(`Failed to write file: ${output.target}`, { cause: e });
351
+ throw new Error(`Failed to create target directory: ${path}`, {
352
+ cause: e,
353
+ });
149
354
  }
150
355
  }
151
356
  }
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/api/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/api/new.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { execSync } from 'child_process';
2
- import { existsSync, statSync } from 'fs';
3
- import { join, relative, resolve } from 'path';
1
+ import { execSync } from 'node:child_process';
2
+ import { existsSync, statSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
4
  import { Octokit } from '@octokit/rest';
5
5
  import { applyDefaultPrePublishOptions, } from '../def/pre-publish.js';
6
6
  import { readFileAsync, readNapiConfig, debugFactory, updatePackageJson, } from '../utils/index.js';
@@ -10,8 +10,8 @@ export async function prePublish(userOptions) {
10
10
  debug('Receive pre-publish options:');
11
11
  debug(' %O', userOptions);
12
12
  const options = applyDefaultPrePublishOptions(userOptions);
13
- const packageJsonPath = relative(options.cwd, options.packageJsonPath);
14
- const { packageJson, targets, packageName, binaryName, npmClient } = await readNapiConfig(packageJsonPath);
13
+ const packageJsonPath = resolve(options.cwd, options.packageJsonPath);
14
+ const { packageJson, targets, packageName, binaryName, npmClient } = await readNapiConfig(packageJsonPath, options.configPath ? resolve(options.cwd, options.configPath) : undefined);
15
15
  async function createGhRelease(packageName, version) {
16
16
  if (!options.ghRelease) {
17
17
  return {
@@ -100,7 +100,8 @@ export async function prePublish(userOptions) {
100
100
  : await createGhRelease(packageName, packageJson.version);
101
101
  for (const target of targets) {
102
102
  const pkgDir = resolve(options.cwd, options.npmDir, `${target.platformArchABI}`);
103
- const filename = `${binaryName}.${target.platformArchABI}.node`;
103
+ const ext = target.platform === 'wasi' || target.platform === 'wasm' ? 'wasm' : 'node';
104
+ const filename = `${binaryName}.${target.platformArchABI}.${ext}`;
104
105
  const dstPath = join(pkgDir, filename);
105
106
  if (!options.dryRun) {
106
107
  if (!existsSync(dstPath)) {
@@ -132,7 +133,8 @@ export async function prePublish(userOptions) {
132
133
  'content-length': dstFileStats.size,
133
134
  'content-type': 'application/octet-stream',
134
135
  },
135
- data: await readFileAsync(dstPath, { encoding: 'utf-8' }),
136
+ // @ts-expect-error octokit types are wrong
137
+ data: await readFileAsync(dstPath),
136
138
  });
137
139
  debug.info(`GitHub release created`);
138
140
  debug.info(`Download URL: %s`, assetInfo.data.browser_download_url);
@@ -1 +1 @@
1
- {"version":3,"file":"pre-publish.js","sourceRoot":"","sources":["../../src/api/pre-publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-publish.js","sourceRoot":"","sources":["../../src/api/pre-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EACL,6BAA6B,GAE9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;AAQzC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAA8B;IAC7D,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACrC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAE1B,MAAM,OAAO,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAA;IAE1D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAErE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAChE,MAAM,cAAc,CAClB,eAAe,EACf,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAA;IAEH,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,OAAe;QACjE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;aAClD,CAAA;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAE3E,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;aAClD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;oBAChC,KAAK;oBACL,IAAI;oBACJ,QAAQ,EAAE,OAAO,CAAC,GAAG;oBACrB,IAAI,EAAE,OAAO,CAAC,aAAa;oBAC3B,UAAU,EACR,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,CACH,WAAW,IAAI,CAAC,SAAS,CACvB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EACtC,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC1C,CAAC;IAED,SAAS,WAAW,CAAC,WAAmB,EAAE,OAAe;QACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YACpD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC,IAAI,EAAE,CAAA;QAET,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAA;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;aAClD,CAAA;QACH,CAAC;QACD,KAAK,CAAC,sBAAsB,iBAAiB,EAAE,CAAC,CAAA;QAChD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAA;QACF,IAAI,OAAgC,CAAA;QACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,UAAU;iBACjC,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;iBAC7C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAChC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEhB,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAC9B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAC1C,CAAA;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,SAAS,CACjB,gCAAgC,WAAW,2BAA2B,UAAU,EAAE,CACnF,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG;gBACR,GAAG,EAAE,IAAI,OAAO,EAAE;gBAClB,OAAO;gBACP,IAAI,EAAE,WAAW;aAClB,CAAA;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1B,MAAM,iBAAiB,CAAC,eAAe,EAAE;YACvC,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAA;gBAEtE,OAAO,IAAI,CAAA;YACb,CAAC,EACD,EAA4B,CAC7B;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW;QAC3D,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;QAC/C,CAAC,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CACpB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,MAAM,EACd,GAAG,MAAM,CAAC,eAAe,EAAE,CAC5B,CAAA;QACD,MAAM,GAAG,GACP,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAC5E,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE,CAAA;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;gBACvC,SAAQ;YACV,CAAC;YAED,QAAQ,CAAC,GAAG,SAAS,UAAU,EAAE;gBAC/B,GAAG,EAAE,MAAM;gBACX,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAA;YAEF,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;gBACpD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW;wBACnC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC7B,CAAC,CAAC,CACE,MAAM,OAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;4BACnC,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,KAAK;4BACZ,GAAG,EAAE,OAAO,CAAC,GAAG;yBACjB,CAAC,CACH,CAAC,IAAI,CAAC,EAAE,CAAA;oBACb,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;oBACtC,MAAM,SAAS,GAAG,MAAM,OAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;wBACxD,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;wBAC5B,OAAO,EAAE;4BACP,gBAAgB,EAAE,YAAY,CAAC,IAAI;4BACnC,cAAc,EAAE,0BAA0B;yBAC3C;wBACD,2CAA2C;wBAC3C,IAAI,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC;qBACnC,CAAC,CAAA;oBACF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;oBACpC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;gBACrE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,KAAK,CACT,UAAU,IAAI,CAAC,SAAS,CACtB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,EACpD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAA;oBACD,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAG,CAAA;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE/B,OAAO;QACL,IAAI;QACJ,OAAO;QACP,GAAG;KACJ,CAAA;AACH,CAAC"}