@8medusa/cli 2.7.0

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/cli.js ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+
3
+ try {
4
+ require("ts-node").register({})
5
+ require("tsconfig-paths").register({})
6
+ } catch (e) {
7
+ const isProduction = process.env.NODE_ENV === "production"
8
+ if (!isProduction) {
9
+ console.warn(
10
+ "ts-node cannot be loaded and used, if you are running in production don't forget to set your NODE_ENV to production"
11
+ )
12
+ console.warn(e)
13
+ }
14
+ }
15
+ require("dotenv").config()
16
+ require("./dist/index.js")
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Main function that clones or copies the starter.
3
+ */
4
+ export declare const newStarter: (args: any) => Promise<void>;
5
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAifA;;GAEG;AACH,eAAO,MAAM,UAAU,8BA0JtB,CAAA"}
@@ -0,0 +1,528 @@
1
+ "use strict";
2
+ /*
3
+ * Adapted from https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-cli/src/init-starter.ts
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.newStarter = void 0;
10
+ const child_process_1 = require("child_process");
11
+ const execa_1 = __importDefault(require("execa"));
12
+ const fs_exists_cached_1 = require("fs-exists-cached");
13
+ const fs_extra_1 = __importDefault(require("fs-extra"));
14
+ const hosted_git_info_1 = __importDefault(require("hosted-git-info"));
15
+ const is_valid_path_1 = __importDefault(require("is-valid-path"));
16
+ const path_1 = __importDefault(require("path"));
17
+ const path_2 = __importDefault(require("path"));
18
+ const prompts_1 = __importDefault(require("prompts"));
19
+ const pg_1 = require("pg");
20
+ const url_1 = __importDefault(require("url"));
21
+ const telemetry_1 = require("@8medusa/telemetry");
22
+ // @ts-ignore
23
+ const inquirer_1 = __importDefault(require("inquirer"));
24
+ const pg_god_1 = require("pg-god");
25
+ const utils_1 = require("@8medusa/utils");
26
+ const reporter_1 = __importDefault(require("../reporter"));
27
+ const panic_handler_1 = require("../reporter/panic-handler");
28
+ const clear_project_1 = require("../util/clear-project");
29
+ const package_manager_1 = require("../util/package-manager");
30
+ const removeUndefined = (obj) => {
31
+ return Object.fromEntries(Object.entries(obj)
32
+ .filter(([_, v]) => v != null)
33
+ .map(([k, v]) => [k, v === Object(v) ? removeUndefined(v) : v]));
34
+ };
35
+ const spawnWithArgs = (file, args, options) => (0, execa_1.default)(file, args, { stdio: `inherit`, preferLocal: false, ...options });
36
+ const spawn = (cmd, options) => {
37
+ const [file, ...args] = cmd.split(/\s+/);
38
+ return spawnWithArgs(file, args, options);
39
+ };
40
+ // Checks the existence of yarn package
41
+ // We use yarnpkg instead of yarn to avoid conflict with Hadoop yarn
42
+ // Refer to https://github.com/yarnpkg/yarn/issues/673
43
+ const checkForYarn = () => {
44
+ try {
45
+ (0, child_process_1.execSync)(`yarnpkg --version`, { stdio: `ignore` });
46
+ return true;
47
+ }
48
+ catch (e) {
49
+ return false;
50
+ }
51
+ };
52
+ const isAlreadyGitRepository = async () => {
53
+ try {
54
+ return await spawn(`git rev-parse --is-inside-work-tree`, {
55
+ stdio: `pipe`,
56
+ }).then((output) => output.stdout === `true`);
57
+ }
58
+ catch (err) {
59
+ return false;
60
+ }
61
+ };
62
+ // Initialize newly cloned directory as a git repo
63
+ const gitInit = async (rootPath) => {
64
+ reporter_1.default.info(`Initialising git in ${rootPath}`);
65
+ return await spawn(`git init`, { cwd: rootPath });
66
+ };
67
+ // Create a .gitignore file if it is missing in the new directory
68
+ const maybeCreateGitIgnore = async (rootPath) => {
69
+ if ((0, fs_exists_cached_1.sync)(path_1.default.join(rootPath, `.gitignore`))) {
70
+ return;
71
+ }
72
+ const gignore = reporter_1.default.activity(`Creating minimal .gitignore in ${rootPath}`);
73
+ await fs_extra_1.default.writeFile(path_1.default.join(rootPath, `.gitignore`), `.cache\nnode_modules\npublic\n`);
74
+ reporter_1.default.success(gignore, `Created .gitignore in ${rootPath}`);
75
+ };
76
+ // Create an initial git commit in the new directory
77
+ const createInitialGitCommit = async (rootPath, starterUrl) => {
78
+ reporter_1.default.info(`Create initial git commit in ${rootPath}`);
79
+ await spawn(`git add -A`, { cwd: rootPath });
80
+ // use execSync instead of spawn to handle git clients using
81
+ // pgp signatures (with password)
82
+ try {
83
+ (0, child_process_1.execSync)(`git commit -m "Initial commit from medusa: (${starterUrl})"`, {
84
+ cwd: rootPath,
85
+ });
86
+ }
87
+ catch {
88
+ // Remove git support if initial commit fails
89
+ reporter_1.default.warn(`Initial git commit failed - removing git support\n`);
90
+ fs_extra_1.default.removeSync(path_1.default.join(rootPath, `.git`));
91
+ }
92
+ };
93
+ // Executes `npm install` or `yarn install` in rootPath.
94
+ const install = async (rootPath) => {
95
+ const prevDir = process.cwd();
96
+ reporter_1.default.info(`Installing packages...`);
97
+ console.log(); // Add some space
98
+ process.chdir(rootPath);
99
+ const npmConfigUserAgent = process.env.npm_config_user_agent;
100
+ try {
101
+ if (!(0, package_manager_1.getPackageManager)()) {
102
+ if (npmConfigUserAgent?.includes(`yarn`)) {
103
+ (0, package_manager_1.setPackageManager)(`yarn`);
104
+ }
105
+ else {
106
+ (0, package_manager_1.setPackageManager)(`npm`);
107
+ }
108
+ }
109
+ if ((0, package_manager_1.getPackageManager)() === `yarn` && checkForYarn()) {
110
+ await fs_extra_1.default.remove(`package-lock.json`);
111
+ await spawn(`yarnpkg`, {});
112
+ }
113
+ else {
114
+ await fs_extra_1.default.remove(`yarn.lock`);
115
+ await spawn(`npm install`, {});
116
+ }
117
+ }
118
+ finally {
119
+ process.chdir(prevDir);
120
+ }
121
+ };
122
+ const ignored = (path) => !/^\.(git|hg)$/.test(path_1.default.basename(path));
123
+ // Copy starter from file system.
124
+ const copy = async (starterPath, rootPath) => {
125
+ // Chmod with 755.
126
+ // 493 = parseInt('755', 8)
127
+ await fs_extra_1.default.ensureDir(rootPath, { mode: 493 });
128
+ if (!(0, fs_exists_cached_1.sync)(starterPath)) {
129
+ throw new Error(`starter ${starterPath} doesn't exist`);
130
+ }
131
+ if (starterPath === `.`) {
132
+ throw new Error(`You can't create a starter from the existing directory. If you want to
133
+ create a new project in the current directory, the trailing dot isn't
134
+ necessary. If you want to create a project from a local starter, run
135
+ something like "medusa new my-medusa-store ../local-medusa-starter"`);
136
+ }
137
+ reporter_1.default.info(`Creating new site from local starter: ${starterPath}`);
138
+ const copyActivity = reporter_1.default.activity(`Copying local starter to ${rootPath} ...`);
139
+ await fs_extra_1.default.copy(starterPath, rootPath, { filter: ignored });
140
+ reporter_1.default.success(copyActivity, `Created starter directory layout`);
141
+ console.log(); // Add some space
142
+ await install(rootPath);
143
+ return true;
144
+ };
145
+ // Clones starter from URI.
146
+ const clone = async (hostInfo, rootPath, v2 = false, inputBranch) => {
147
+ let url;
148
+ // Let people use private repos accessed over SSH.
149
+ if (hostInfo.getDefaultRepresentation() === `sshurl`) {
150
+ url = hostInfo.ssh({ noCommittish: true });
151
+ // Otherwise default to normal git syntax.
152
+ }
153
+ else {
154
+ url = hostInfo.https({ noCommittish: true, noGitPlus: true });
155
+ }
156
+ let branch = inputBranch || hostInfo.committish
157
+ ? [`-b`, inputBranch || hostInfo.committish]
158
+ : [];
159
+ if (v2) {
160
+ branch = [`-b`, inputBranch || "master"];
161
+ }
162
+ const createAct = reporter_1.default.activity(`Creating new project from git: ${url}`);
163
+ const args = [
164
+ `clone`,
165
+ ...branch,
166
+ url,
167
+ rootPath,
168
+ `--recursive`,
169
+ `--depth=1`,
170
+ ].filter((arg) => Boolean(arg));
171
+ await (0, execa_1.default)(`git`, args, {})
172
+ .then(() => {
173
+ reporter_1.default.success(createAct, `Created starter directory layout`);
174
+ })
175
+ .catch((err) => {
176
+ reporter_1.default.failure(createAct, `Failed to clone repository`);
177
+ throw err;
178
+ });
179
+ await fs_extra_1.default.remove(path_1.default.join(rootPath, `.git`));
180
+ await install(rootPath);
181
+ const isGit = await isAlreadyGitRepository();
182
+ if (!isGit)
183
+ await gitInit(rootPath);
184
+ await maybeCreateGitIgnore(rootPath);
185
+ if (!isGit)
186
+ await createInitialGitCommit(rootPath, url);
187
+ };
188
+ const getPaths = async (starterPath, rootPath, v2 = false) => {
189
+ let selectedOtherStarter = false;
190
+ // if no args are passed, prompt user for path and starter
191
+ if (!starterPath && !rootPath) {
192
+ const response = await prompts_1.default.prompt([
193
+ {
194
+ type: `text`,
195
+ name: `path`,
196
+ message: `What is your project called?`,
197
+ initial: `my-medusa-store`,
198
+ },
199
+ !v2 && {
200
+ type: `select`,
201
+ name: `starter`,
202
+ message: `What starter would you like to use?`,
203
+ choices: [
204
+ { title: `medusa-starter-default`, value: `medusa-starter-default` },
205
+ { title: `(Use a different starter)`, value: `different` },
206
+ ],
207
+ initial: 0,
208
+ },
209
+ ]);
210
+ // exit gracefully if responses aren't provided
211
+ if ((!v2 && !response.starter) || !response.path.trim()) {
212
+ throw new Error(`Please mention both starter package and project name along with path(if its not in the root)`);
213
+ }
214
+ selectedOtherStarter = response.starter === `different`;
215
+ starterPath = `medusajs/${v2 ? "medusa-starter-default" : response.starter}`;
216
+ rootPath = response.path;
217
+ }
218
+ // set defaults if no root or starter has been set yet
219
+ rootPath = rootPath || process.cwd();
220
+ starterPath = starterPath || `medusajs/medusa-starter-default`;
221
+ return { starterPath, rootPath, selectedOtherStarter };
222
+ };
223
+ const successMessage = (path) => {
224
+ reporter_1.default.info(`Your new Medusa project is ready for you! To start developing run:
225
+
226
+ cd ${path}
227
+ medusa develop
228
+ `);
229
+ };
230
+ const defaultDBCreds = {
231
+ user: process.env.USER || "postgres",
232
+ database: "postgres",
233
+ password: "",
234
+ port: 5432,
235
+ host: "localhost",
236
+ };
237
+ const verifyPgCreds = async (creds) => {
238
+ const pool = new pg_1.Pool(creds);
239
+ return new Promise((resolve, reject) => {
240
+ pool.query("SELECT NOW()", (err, res) => {
241
+ pool.end();
242
+ if (err) {
243
+ reject(err);
244
+ }
245
+ else {
246
+ resolve(res);
247
+ }
248
+ });
249
+ });
250
+ };
251
+ const interactiveDbCreds = async (dbName, dbCreds = {}) => {
252
+ const credentials = Object.assign({}, defaultDBCreds, dbCreds);
253
+ const collecting = true;
254
+ while (collecting) {
255
+ const result = await inquirer_1.default
256
+ .prompt([
257
+ {
258
+ type: "list",
259
+ name: "continueWithDefault",
260
+ message: `
261
+
262
+ Will attempt to setup Postgres database "${dbName}" with credentials:
263
+ user: ${credentials.user}
264
+ password: ***
265
+ port: ${credentials.port}
266
+ host: ${credentials.host}
267
+ Do you wish to continue with these credentials?
268
+
269
+ `,
270
+ choices: [`Continue`, `Change credentials`, `Skip database setup`],
271
+ },
272
+ {
273
+ type: "input",
274
+ when: ({ continueWithDefault }) => continueWithDefault === `Change credentials`,
275
+ name: "user",
276
+ default: credentials.user,
277
+ message: `DB user`,
278
+ },
279
+ {
280
+ type: "password",
281
+ when: ({ continueWithDefault }) => continueWithDefault === `Change credentials`,
282
+ name: "password",
283
+ default: credentials.password,
284
+ message: `DB password`,
285
+ },
286
+ {
287
+ type: "number",
288
+ when: ({ continueWithDefault }) => continueWithDefault === `Change credentials`,
289
+ name: "port",
290
+ default: credentials.port,
291
+ message: `DB port`,
292
+ },
293
+ {
294
+ type: "input",
295
+ when: ({ continueWithDefault }) => continueWithDefault === `Change credentials`,
296
+ name: "host",
297
+ default: credentials.host,
298
+ message: `DB host`,
299
+ },
300
+ ])
301
+ .then(async (answers) => {
302
+ const collectedCreds = Object.assign({}, credentials, {
303
+ user: answers.user,
304
+ password: answers.password,
305
+ host: answers.host,
306
+ port: answers.port,
307
+ });
308
+ switch (answers.continueWithDefault) {
309
+ case "Continue": {
310
+ const done = await verifyPgCreds(credentials).catch((_) => false);
311
+ if (done) {
312
+ return credentials;
313
+ }
314
+ return false;
315
+ }
316
+ case "Change credentials": {
317
+ const done = await verifyPgCreds(collectedCreds).catch((_) => false);
318
+ if (done) {
319
+ return collectedCreds;
320
+ }
321
+ return false;
322
+ }
323
+ default:
324
+ return null;
325
+ }
326
+ });
327
+ if (result !== false) {
328
+ return result;
329
+ }
330
+ console.log("\n\nCould not verify DB credentials - please try again\n\n");
331
+ }
332
+ return;
333
+ };
334
+ const setupDB = async (dbName, dbCreds = {}) => {
335
+ const credentials = Object.assign({}, defaultDBCreds, dbCreds);
336
+ const dbActivity = reporter_1.default.activity(`Setting up database "${dbName}"...`);
337
+ await (0, pg_god_1.createDatabase)({
338
+ databaseName: dbName,
339
+ errorIfExist: true,
340
+ }, credentials)
341
+ .then(() => {
342
+ reporter_1.default.success(dbActivity, `Created database "${dbName}"`);
343
+ })
344
+ .catch((err) => {
345
+ if (err.name === "PDG_ERR::DuplicateDatabase") {
346
+ reporter_1.default.success(dbActivity, `Database ${dbName} already exists; skipping setup`);
347
+ }
348
+ else {
349
+ reporter_1.default.failure(dbActivity, `Skipping database setup.`);
350
+ reporter_1.default.warn(`Failed to setup database; install PostgresQL or make sure to manage your database connection manually`);
351
+ console.error(err);
352
+ }
353
+ });
354
+ };
355
+ const setupEnvVars = async (rootPath, dbName, dbCreds = {}) => {
356
+ const templatePath = path_1.default.join(rootPath, ".env.template");
357
+ const destination = path_1.default.join(rootPath, ".env");
358
+ if ((0, fs_exists_cached_1.sync)(templatePath)) {
359
+ fs_extra_1.default.renameSync(templatePath, destination);
360
+ }
361
+ const credentials = Object.assign({}, defaultDBCreds, dbCreds);
362
+ let dbUrl = "";
363
+ if (credentials.user !== defaultDBCreds.user ||
364
+ credentials.password !== defaultDBCreds.password) {
365
+ dbUrl = `postgres://${credentials.user}:${credentials.password}@${credentials.host}:${credentials.port}/${dbName}`;
366
+ }
367
+ else {
368
+ dbUrl = `postgres://${credentials.host}:${credentials.port}/${dbName}`;
369
+ }
370
+ fs_extra_1.default.appendFileSync(destination, `DATABASE_URL=${dbUrl}\n`);
371
+ };
372
+ const runMigrations = async (rootPath) => {
373
+ const migrationActivity = reporter_1.default.activity("Applying database migrations...");
374
+ const cliPath = path_1.default.join(`node_modules`, `@8medusa`, `medusa-cli`, `cli.js`);
375
+ return await (0, execa_1.default)(cliPath, [`migrations`, `run`], {
376
+ cwd: rootPath,
377
+ })
378
+ .then(() => {
379
+ reporter_1.default.success(migrationActivity, "Database migrations completed.");
380
+ })
381
+ .catch((err) => {
382
+ reporter_1.default.failure(migrationActivity, "Failed to migrate database you must complete migration manually before starting your server.");
383
+ console.error(err);
384
+ });
385
+ };
386
+ const attemptSeed = async (rootPath) => {
387
+ const seedActivity = reporter_1.default.activity("Seeding database");
388
+ const pkgPath = path_1.default.resolve(rootPath, "package.json");
389
+ if ((0, fs_exists_cached_1.sync)(pkgPath)) {
390
+ const pkg = require(pkgPath);
391
+ if (pkg.scripts && pkg.scripts.seed) {
392
+ const proc = (0, execa_1.default)((0, package_manager_1.getPackageManager)(), [`run`, `seed`], {
393
+ cwd: rootPath,
394
+ });
395
+ // Useful for development
396
+ // proc.stdout.pipe(process.stdout)
397
+ await proc
398
+ .then(() => {
399
+ reporter_1.default.success(seedActivity, "Seed completed");
400
+ })
401
+ .catch((err) => {
402
+ reporter_1.default.failure(seedActivity, "Failed to complete seed; skipping");
403
+ console.error(err);
404
+ });
405
+ }
406
+ else {
407
+ reporter_1.default.failure(seedActivity, "Starter doesn't provide a seed command; skipping.");
408
+ }
409
+ }
410
+ else {
411
+ reporter_1.default.failure(seedActivity, "Could not find package.json");
412
+ }
413
+ };
414
+ /**
415
+ * Main function that clones or copies the starter.
416
+ */
417
+ const newStarter = async (args) => {
418
+ const nodeVersion = (0, utils_1.getNodeVersion)();
419
+ if (nodeVersion < utils_1.MIN_SUPPORTED_NODE_VERSION) {
420
+ reporter_1.default.error(`Medusa requires at least v20 of Node.js. You're using v${nodeVersion}. Please install at least v20 and try again: https://nodejs.org/en/download`);
421
+ process.exit(1);
422
+ }
423
+ (0, telemetry_1.track)("CLI_NEW");
424
+ const { starter, root, skipDb, skipMigrations, skipEnv, seed, useDefaults, dbUser, dbDatabase, dbPass, dbPort, dbHost, v2, branch, } = args;
425
+ const dbCredentials = removeUndefined({
426
+ user: dbUser,
427
+ database: dbDatabase,
428
+ password: dbPass,
429
+ port: dbPort,
430
+ host: dbHost,
431
+ });
432
+ const { starterPath, rootPath, selectedOtherStarter } = await getPaths(starter, root, v2);
433
+ const urlObject = url_1.default.parse(rootPath);
434
+ if (selectedOtherStarter) {
435
+ reporter_1.default.info(`Find the url of the Medusa starter you wish to create and run:
436
+
437
+ medusa new ${rootPath} [url-to-starter]
438
+
439
+ `);
440
+ return;
441
+ }
442
+ if (urlObject.protocol && urlObject.host) {
443
+ const isStarterAUrl = starter && !url_1.default.parse(starter).hostname && !url_1.default.parse(starter).protocol;
444
+ if (/medusa-starter/gi.test(rootPath) && isStarterAUrl) {
445
+ reporter_1.default.panic({
446
+ id: panic_handler_1.PanicId.InvalidProjectName,
447
+ context: {
448
+ starter,
449
+ rootPath,
450
+ },
451
+ });
452
+ return;
453
+ }
454
+ reporter_1.default.panic({
455
+ id: panic_handler_1.PanicId.InvalidProjectName,
456
+ context: {
457
+ rootPath,
458
+ },
459
+ });
460
+ return;
461
+ }
462
+ if (!(0, is_valid_path_1.default)(rootPath)) {
463
+ reporter_1.default.panic({
464
+ id: panic_handler_1.PanicId.InvalidPath,
465
+ context: {
466
+ path: path_1.default.resolve(rootPath),
467
+ },
468
+ });
469
+ return;
470
+ }
471
+ if ((0, fs_exists_cached_1.sync)(path_1.default.join(rootPath, `package.json`))) {
472
+ reporter_1.default.panic({
473
+ id: panic_handler_1.PanicId.AlreadyNodeProject,
474
+ context: {
475
+ rootPath,
476
+ },
477
+ });
478
+ return;
479
+ }
480
+ const hostedInfo = hosted_git_info_1.default.fromUrl(starterPath);
481
+ if (hostedInfo) {
482
+ await clone(hostedInfo, rootPath, v2, branch);
483
+ }
484
+ else {
485
+ await copy(starterPath, rootPath);
486
+ }
487
+ (0, telemetry_1.track)("CLI_NEW_LAYOUT_COMPLETED");
488
+ let creds = dbCredentials;
489
+ const dbName = `medusa-db-${Math.random().toString(36).substring(2, 7)}`; // generate random 5 character string
490
+ if (!useDefaults && !skipDb && !skipEnv) {
491
+ creds = await interactiveDbCreds(dbName, dbCredentials);
492
+ }
493
+ if (creds === null) {
494
+ reporter_1.default.info("Skipping automatic database setup. Please note that you need to create a database and run migrations before you can run your Medusa backend");
495
+ }
496
+ else {
497
+ if (!skipDb) {
498
+ (0, telemetry_1.track)("CLI_NEW_SETUP_DB");
499
+ await setupDB(dbName, creds);
500
+ }
501
+ if (!skipEnv) {
502
+ (0, telemetry_1.track)("CLI_NEW_SETUP_ENV");
503
+ await setupEnvVars(rootPath, dbName, creds);
504
+ }
505
+ if (!skipMigrations) {
506
+ (0, telemetry_1.track)("CLI_NEW_RUN_MIGRATIONS");
507
+ await runMigrations(rootPath);
508
+ }
509
+ if (seed) {
510
+ (0, telemetry_1.track)("CLI_NEW_SEED_DB");
511
+ await attemptSeed(rootPath);
512
+ }
513
+ }
514
+ if (!selectedOtherStarter) {
515
+ reporter_1.default.info("Final project preparations...");
516
+ // remove demo files
517
+ (0, clear_project_1.clearProject)(rootPath);
518
+ // remove .git directory
519
+ fs_extra_1.default.rmSync(path_2.default.join(rootPath, ".git"), {
520
+ recursive: true,
521
+ force: true,
522
+ });
523
+ }
524
+ successMessage(rootPath);
525
+ (0, telemetry_1.track)("CLI_NEW_SUCCEEDED");
526
+ };
527
+ exports.newStarter = newStarter;
528
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: (argv: any) => any;
2
+ export default _default;
3
+ //# sourceMappingURL=create-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-cli.d.ts","sourceRoot":"","sources":["../src/create-cli.ts"],"names":[],"mappings":";AAmiBA,wBA0EC"}