@napi-rs/cli 3.0.0-alpha.89 → 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.
package/dist/api/new.js CHANGED
@@ -1,10 +1,225 @@
1
- import { execSync } from 'node:child_process';
1
+ import { exec, execSync } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
3
+ import { homedir } from 'node:os';
2
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';
3
7
  import { applyDefaultNewOptions, } from '../def/new.js';
4
- import { AVAILABLE_TARGETS, CLI_VERSION, debugFactory, DEFAULT_TARGETS, mkdirAsync, readdirAsync, statAsync, writeFileAsync, } from '../utils/index.js';
8
+ import { AVAILABLE_TARGETS, debugFactory, DEFAULT_TARGETS, mkdirAsync, readdirAsync, statAsync, } from '../utils/index.js';
5
9
  import { napiEngineRequirement } from '../utils/version.js';
6
- 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
7
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
+ }
8
223
  function processOptions(options) {
9
224
  debug('Processing options...');
10
225
  if (!options.path) {
@@ -34,7 +249,7 @@ function processOptions(options) {
34
249
  encoding: 'utf8',
35
250
  });
36
251
  if (out.includes('wasm32-wasip1-threads')) {
37
- options.targets.map((target) => target === 'wasm32-wasi-preview1-threads'
252
+ options.targets = options.targets.map((target) => target === 'wasm32-wasi-preview1-threads'
38
253
  ? 'wasm32-wasip1-threads'
39
254
  : target);
40
255
  }
@@ -47,9 +262,68 @@ export async function newProject(userOptions) {
47
262
  const options = processOptions(userOptions);
48
263
  debug('Targets to be enabled:');
49
264
  debug(options.targets);
50
- const outputs = await generateFiles(options);
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.');
268
+ }
269
+ const packageManager = options.packageManager;
270
+ // Ensure target directory exists and is empty
51
271
  await ensurePath(options.path, options.dryRun);
52
- await dumpOutputs(outputs, 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');
322
+ }
323
+ catch (error) {
324
+ throw new Error(`Failed to create project: ${error}`);
325
+ }
326
+ }
53
327
  debug(`Project created at: ${options.path}`);
54
328
  }
55
329
  async function ensurePath(path, dryRun = false) {
@@ -80,112 +354,6 @@ async function ensurePath(path, dryRun = false) {
80
354
  }
81
355
  }
82
356
  }
83
- async function generateFiles(options) {
84
- const packageJson = await generatePackageJson(options);
85
- return [
86
- generateCargoToml,
87
- generateLibRs,
88
- generateBuildRs,
89
- generateGithubWorkflow,
90
- generateIgnoreFiles,
91
- ]
92
- .flatMap((generator) => {
93
- const output = generator(options);
94
- if (!output) {
95
- return [];
96
- }
97
- if (Array.isArray(output)) {
98
- return output.map((o) => ({
99
- ...o,
100
- target: path.join(options.path, o.target),
101
- }));
102
- }
103
- else {
104
- return [{ ...output, target: path.join(options.path, output.target) }];
105
- }
106
- })
107
- .concat([
108
- { ...packageJson, target: path.join(options.path, packageJson.target) },
109
- ]);
110
- }
111
- function generateCargoToml(options) {
112
- return {
113
- target: './Cargo.toml',
114
- content: createCargoToml({
115
- name: options.name,
116
- license: options.license,
117
- features: [`napi${options.minNodeApiVersion}`],
118
- deriveFeatures: options.enableTypeDef ? ['type-def'] : [],
119
- }),
120
- };
121
- }
122
- function generateLibRs(_options) {
123
- return {
124
- target: './src/lib.rs',
125
- content: createLibRs(),
126
- };
127
- }
128
- function generateBuildRs(_options) {
129
- return {
130
- target: './build.rs',
131
- content: createBuildRs(),
132
- };
133
- }
134
- async function generatePackageJson(options) {
135
- return {
136
- target: './package.json',
137
- content: await createPackageJson({
138
- name: options.name,
139
- binaryName: getBinaryName(options.name),
140
- targets: options.targets,
141
- license: options.license,
142
- engineRequirement: napiEngineRequirement(options.minNodeApiVersion),
143
- cliVersion: CLI_VERSION,
144
- testFramework: options.testFramework,
145
- }),
146
- };
147
- }
148
- function generateGithubWorkflow(options) {
149
- if (!options.enableGithubActions) {
150
- return null;
151
- }
152
- return {
153
- target: './.github/workflows/ci.yml',
154
- content: createGithubActionsCIYml(options.targets, options.packageManager, options.targets.find((t) => t.includes('wasm32-wasi')) ?? 'wasm32-wasi-preview1-threads'),
155
- };
156
- }
157
- function generateIgnoreFiles(_options) {
158
- return [
159
- {
160
- target: './.gitignore',
161
- content: gitIgnore,
162
- },
163
- {
164
- target: './.npmignore',
165
- content: npmIgnore,
166
- },
167
- ];
168
- }
169
- async function dumpOutputs(outputs, dryRun) {
170
- for (const output of outputs) {
171
- if (!output) {
172
- continue;
173
- }
174
- debug(`Writing project file: ${output.target}`);
175
- // only output content to logger instead of writing to file system
176
- if (dryRun) {
177
- debug(output.content);
178
- continue;
179
- }
180
- try {
181
- await mkdirAsync(path.dirname(output.target), { recursive: true });
182
- await writeFileAsync(output.target, output.content, 'utf-8');
183
- }
184
- catch (e) {
185
- throw new Error(`Failed to write file: ${output.target}`, { cause: e });
186
- }
187
- }
188
- }
189
357
  function getBinaryName(name) {
190
358
  return name.split('/').pop();
191
359
  }
@@ -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,10 +1,16 @@
1
- import { resolve } from 'node:path';
1
+ import { existsSync } from 'node:fs';
2
+ import { rename } from 'node:fs/promises';
3
+ import { resolve, join } from 'node:path';
4
+ import { parse as parseToml, stringify as stringifyToml } from '@std/toml';
5
+ import { load as yamlParse, dump as yamlStringify } from 'js-yaml';
2
6
  import { isNil, merge, omitBy, pick } from 'lodash-es';
7
+ import { findUp } from 'find-up';
3
8
  import { applyDefaultRenameOptions } from '../def/rename.js';
4
- import { readFileAsync, writeFileAsync } from '../utils/index.js';
5
- import { createNpmDirs } from './create-npm-dirs.js';
9
+ import { readConfig, readFileAsync, writeFileAsync } from '../utils/index.js';
6
10
  export async function renameProject(userOptions) {
7
11
  const options = applyDefaultRenameOptions(userOptions);
12
+ const napiConfig = await readConfig(options);
13
+ const oldName = napiConfig.binaryName;
8
14
  const packageJsonPath = resolve(options.cwd, options.packageJsonPath);
9
15
  const cargoTomlPath = resolve(options.cwd, options.manifestPath);
10
16
  const packageJsonContent = await readFileAsync(packageJsonPath, 'utf8');
@@ -24,14 +30,62 @@ export async function renameProject(userOptions) {
24
30
  await writeFileAsync(configPath, JSON.stringify(configData, null, 2));
25
31
  }
26
32
  await writeFileAsync(packageJsonPath, JSON.stringify(packageJsonData, null, 2));
27
- let tomlContent = await readFileAsync(cargoTomlPath, 'utf8');
28
- tomlContent = tomlContent.replace(/name\s?=\s?"([\w+])"/, `name = "${options.binaryName}"`);
29
- await writeFileAsync(cargoTomlPath, tomlContent);
30
- await createNpmDirs({
31
- cwd: options.cwd,
32
- packageJsonPath: options.packageJsonPath,
33
- npmDir: options.npmDir,
34
- dryRun: false,
35
- });
33
+ const tomlContent = await readFileAsync(cargoTomlPath, 'utf8');
34
+ const cargoToml = parseToml(tomlContent);
35
+ // Update the package name
36
+ if (cargoToml.package && options.binaryName) {
37
+ // Sanitize the binary name for Rust package naming conventions
38
+ const sanitizedName = options.binaryName
39
+ .replace('@', '')
40
+ .replace('/', '_')
41
+ .replace(/-/g, '_')
42
+ .toLowerCase();
43
+ cargoToml.package.name = sanitizedName;
44
+ }
45
+ // Stringify the updated TOML
46
+ const updatedTomlContent = stringifyToml(cargoToml);
47
+ await writeFileAsync(cargoTomlPath, updatedTomlContent);
48
+ if (oldName !== options.binaryName) {
49
+ const githubActionsPath = await findUp('.github', {
50
+ cwd: options.cwd,
51
+ type: 'directory',
52
+ });
53
+ if (githubActionsPath) {
54
+ const githubActionsCIYmlPath = join(githubActionsPath, 'workflows', 'CI.yml');
55
+ if (existsSync(githubActionsCIYmlPath)) {
56
+ const githubActionsContent = await readFileAsync(githubActionsCIYmlPath, 'utf8');
57
+ const githubActionsData = yamlParse(githubActionsContent);
58
+ if (githubActionsData.env?.APP_NAME) {
59
+ githubActionsData.env.APP_NAME = options.binaryName;
60
+ await writeFileAsync(githubActionsCIYmlPath, yamlStringify(githubActionsData, {
61
+ lineWidth: -1,
62
+ noRefs: true,
63
+ sortKeys: false,
64
+ }));
65
+ }
66
+ }
67
+ }
68
+ const oldWasiBrowserBindingPath = join(options.cwd, `${oldName}.wasi-browser.js`);
69
+ if (existsSync(oldWasiBrowserBindingPath)) {
70
+ await rename(oldWasiBrowserBindingPath, join(options.cwd, `${options.binaryName}.wasi-browser.js`));
71
+ }
72
+ const oldWasiBindingPath = join(options.cwd, `${oldName}.wasi.cjs`);
73
+ if (existsSync(oldWasiBindingPath)) {
74
+ await rename(oldWasiBindingPath, join(options.cwd, `${options.binaryName}.wasi.cjs`));
75
+ }
76
+ const gitAttributesPath = join(options.cwd, '.gitattributes');
77
+ if (existsSync(gitAttributesPath)) {
78
+ const gitAttributesContent = await readFileAsync(gitAttributesPath, 'utf8');
79
+ const gitAttributesData = gitAttributesContent
80
+ .split('\n')
81
+ .map((line) => {
82
+ return line
83
+ .replace(`${oldName}.wasi-browser.js`, `${options.binaryName}.wasi-browser.js`)
84
+ .replace(`${oldName}.wasi.cjs`, `${options.binaryName}.wasi.cjs`);
85
+ })
86
+ .join('\n');
87
+ await writeFileAsync(gitAttributesPath, gitAttributesData);
88
+ }
89
+ }
36
90
  }
37
91
  //# sourceMappingURL=rename.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/api/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEtD,OAAO,EAAE,yBAAyB,EAAiB,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAA0B;IAC5D,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAA;IAEtD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAEhE,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEtD,KAAK,CACH,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAC1E;QACE,IAAI,EAAE,MAAM,CACV;YACE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,EACD,KAAK,CACN;KACF,CACF,CAAA;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAC3D,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC5C,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QAC1C,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAC5C,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,cAAc,CAClB,eAAe,EACf,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CACzC,CAAA;IAED,IAAI,WAAW,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC5D,WAAW,GAAG,WAAW,CAAC,OAAO,CAC/B,sBAAsB,EACtB,WAAW,OAAO,CAAC,UAAU,GAAG,CACjC,CAAA;IACD,MAAM,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAEhD,MAAM,aAAa,CAAC;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/api/rename.ts"],"names":[],"mappings":"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"}