create-video 3.0.0-lambda.99 → 3.0.0-pnpm.8

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.
@@ -7,15 +7,15 @@ const execa_1 = __importDefault(require("execa"));
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const xns_1 = __importDefault(require("xns"));
9
9
  const dotfiles_1 = require("./dotfiles");
10
- xns_1.default(async () => {
11
- await execa_1.default('rm', ['-rf', dotfiles_1.templateFolderName]);
12
- await execa_1.default('git', [
10
+ (0, xns_1.default)(async () => {
11
+ await (0, execa_1.default)('rm', ['-rf', dotfiles_1.templateFolderName]);
12
+ await (0, execa_1.default)('git', [
13
13
  'clone',
14
14
  'https://github.com/remotion-dev/template',
15
15
  dotfiles_1.templateFolderName,
16
16
  ]);
17
- await execa_1.default('rm', ['-r', path_1.default.join(dotfiles_1.templateFolderName, '.git')]);
18
- await dotfiles_1.turnIntoUnderscore(dotfiles_1.templateFolderName);
17
+ await (0, execa_1.default)('rm', ['-r', path_1.default.join(dotfiles_1.templateFolderName, '.git')]);
18
+ await (0, dotfiles_1.turnIntoUnderscore)(dotfiles_1.templateFolderName);
19
19
  return 'Done.';
20
20
  });
21
21
  //# sourceMappingURL=copy-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-template.js","sourceRoot":"","sources":["../src/copy-template.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,8CAAsB;AACtB,yCAAkE;AAElE,aAAG,CAAC,KAAK,IAAI,EAAE;IACd,MAAM,eAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,6BAAkB,CAAC,CAAC,CAAC;IAC/C,MAAM,eAAK,CAAC,KAAK,EAAE;QAClB,OAAO;QACP,0CAA0C;QAC1C,6BAAkB;KAClB,CAAC,CAAC;IACH,MAAM,eAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,6BAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,6BAAkB,CAAC,6BAAkB,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"copy-template.js","sourceRoot":"","sources":["../src/copy-template.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,8CAAsB;AACtB,yCAAkE;AAElE,IAAA,aAAG,EAAC,KAAK,IAAI,EAAE;IACd,MAAM,IAAA,eAAK,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,6BAAkB,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE;QAClB,OAAO;QACP,0CAA0C;QAC1C,6BAAkB;KAClB,CAAC,CAAC;IACH,MAAM,IAAA,eAAK,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,6BAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,IAAA,6BAAkB,EAAC,6BAAkB,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC,CAAC"}
package/dist/dotfiles.js CHANGED
@@ -9,7 +9,7 @@ const path_1 = __importDefault(require("path"));
9
9
  const files = ['gitignore', 'eslintrc', 'prettierrc', 'dockerignore'];
10
10
  const turnIntoUnderscore = async (dir) => {
11
11
  for (const file of files) {
12
- await execa_1.default(process.platform === 'win32' ? 'move' : 'mv', [
12
+ await (0, execa_1.default)(process.platform === 'win32' ? 'move' : 'mv', [
13
13
  path_1.default.join(dir, `.${file}`),
14
14
  path_1.default.join(dir, `_${file}`),
15
15
  ]);
@@ -18,7 +18,7 @@ const turnIntoUnderscore = async (dir) => {
18
18
  exports.turnIntoUnderscore = turnIntoUnderscore;
19
19
  const turnIntoDot = async (dir) => {
20
20
  for (const file of files) {
21
- await execa_1.default(process.platform === 'win32' ? 'move' : 'mv', [
21
+ await (0, execa_1.default)(process.platform === 'win32' ? 'move' : 'mv', [
22
22
  path_1.default.join(dir, `_${file}`),
23
23
  path_1.default.join(dir, `.${file}`),
24
24
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"dotfiles.js","sourceRoot":"","sources":["../src/dotfiles.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AAExB,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,MAAM,eAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACzD,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1B,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;SAC1B,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B;AAEK,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,MAAM,eAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACzD,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1B,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;SAC1B,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEW,QAAA,kBAAkB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"dotfiles.js","sourceRoot":"","sources":["../src/dotfiles.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AAExB,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,MAAM,IAAA,eAAK,EAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACzD,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1B,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;SAC1B,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B;AAEK,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,MAAM,IAAA,eAAK,EAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACzD,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1B,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;SAC1B,CAAC,CAAC;KACH;AACF,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEW,QAAA,kBAAkB,GAAG,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAmMA,eAAO,MAAM,IAAI,qBAkFhB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAiNA,eAAO,MAAM,IAAI,qBAwGhB,CAAC"}
package/dist/init.js CHANGED
@@ -30,6 +30,8 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
30
30
  const path_1 = __importDefault(require("path"));
31
31
  const strip_ansi_1 = __importDefault(require("strip-ansi"));
32
32
  const log_1 = require("./log");
33
+ const open_in_editor_flow_1 = require("./open-in-editor-flow");
34
+ const pkg_managers_1 = require("./pkg-managers");
33
35
  const prompts_1 = __importStar(require("./prompts"));
34
36
  const FEATURED_TEMPLATES = [
35
37
  {
@@ -62,6 +64,11 @@ const FEATURED_TEMPLATES = [
62
64
  name: 'FelippeChemello/Remotion-TTS-Example',
63
65
  description: 'Turns text into speech and makes a video',
64
66
  },
67
+ {
68
+ shortName: 'Audiogram',
69
+ name: 'marcusstenbeck/remotion-template-audiogram',
70
+ description: 'Text and waveform visualization for podcasts',
71
+ },
65
72
  ];
66
73
  function padEnd(str, width) {
67
74
  // Pulled from commander for overriding
@@ -83,23 +90,19 @@ function assertValidName(folderName) {
83
90
  throw new Error(`Cannot create an app named ${chalk_1.default.red(`"${folderName}"`)}. ${validation}`);
84
91
  }
85
92
  }
86
- async function assertFolderEmptyAsync(projectRoot, folderName) {
93
+ function assertFolderEmptyAsync(projectRoot) {
87
94
  const conflicts = fs_extra_1.default
88
95
  .readdirSync(projectRoot)
89
96
  .filter((file) => !/\.iml$/.test(file));
90
- if (conflicts.length) {
91
- const message = 'Try using a new directory name, or moving these files.';
97
+ if (conflicts.length > 0) {
92
98
  log_1.Log.newLine();
93
- log_1.Log.error(message);
99
+ log_1.Log.error(`Something already exists at "${projectRoot}"`);
100
+ log_1.Log.error('Try using a new directory name, or moving these files.');
94
101
  log_1.Log.newLine();
95
- process.exit(1);
102
+ return { exists: true };
96
103
  }
104
+ return { exists: false };
97
105
  }
98
- const shouldUseYarn = () => {
99
- var _a, _b;
100
- return Boolean(((_a = process.env.npm_execpath) === null || _a === void 0 ? void 0 : _a.includes('yarn.js')) ||
101
- ((_b = process.env.npm_config_user_agent) === null || _b === void 0 ? void 0 : _b.includes('yarn')));
102
- };
103
106
  const isGitExecutableAvailable = async () => {
104
107
  try {
105
108
  await (0, execa_1.default)('git', ['--version']);
@@ -118,20 +121,24 @@ const initGitRepoAsync = async (root, flags = { silent: false, commit: true }) =
118
121
  await (0, execa_1.default)('git', ['rev-parse', '--is-inside-work-tree'], {
119
122
  cwd: root,
120
123
  });
121
- !flags.silent &&
124
+ if (!flags.silent) {
122
125
  log_1.Log.info('New project is already inside of a git repo, skipping git init.');
126
+ }
123
127
  }
124
128
  catch (e) {
125
129
  if (e.errno === 'ENOENT') {
126
- !flags.silent &&
130
+ if (!flags.silent) {
127
131
  log_1.Log.warn('Unable to initialize git repo. `git` not in PATH.');
132
+ }
128
133
  return false;
129
134
  }
130
135
  }
131
136
  // not in git tree, so let's init
132
137
  try {
133
138
  await (0, execa_1.default)('git', ['init'], { cwd: root });
134
- !flags.silent && log_1.Log.info('Initialized a git repository.');
139
+ if (!flags.silent) {
140
+ log_1.Log.info('Initialized a git repository.');
141
+ }
135
142
  if (flags.commit) {
136
143
  await (0, execa_1.default)('git', ['add', '--all'], { cwd: root, stdio: 'ignore' });
137
144
  await (0, execa_1.default)('git', ['commit', '-m', 'Create a new Remotion video'], {
@@ -181,72 +188,90 @@ const resolveProjectRootAsync = async () => {
181
188
  const folderName = path_1.default.basename(projectRoot);
182
189
  assertValidName(folderName);
183
190
  await fs_extra_1.default.ensureDir(projectRoot);
184
- await assertFolderEmptyAsync(projectRoot, folderName);
191
+ if (assertFolderEmptyAsync(projectRoot).exists) {
192
+ return resolveProjectRootAsync();
193
+ }
185
194
  return [projectRoot, folderName];
186
195
  };
187
196
  const init = async () => {
188
- var _a, _b, _c, _d;
197
+ var _a, _b, _c, _d, _e, _f;
189
198
  const [projectRoot, folderName] = await resolveProjectRootAsync();
190
199
  await isGitExecutableAvailable();
191
200
  const descriptionColumn = Math.max(...FEATURED_TEMPLATES.map((t) => typeof t === 'object' ? t.shortName.length : 0)) + 2;
192
- const template = await (0, prompts_1.selectAsync)({
201
+ const selectedTemplate = await (0, prompts_1.selectAsync)({
193
202
  message: 'Choose a template:',
194
203
  optionsPerPage: 20,
195
204
  choices: FEATURED_TEMPLATES.map((template) => {
196
205
  if (typeof template === 'string') {
197
206
  return prompts_1.default.separator(template);
198
207
  }
199
- else {
200
- return {
201
- value: template.name,
202
- title: chalk_1.default.bold(padEnd(template.shortName, descriptionColumn)) +
203
- template.description.trim(),
204
- };
205
- }
208
+ return {
209
+ value: template.name,
210
+ title: chalk_1.default.bold(padEnd(template.shortName, descriptionColumn)) +
211
+ template.description.trim(),
212
+ };
206
213
  }),
207
214
  }, {});
208
215
  try {
209
- const emitter = (0, degit_1.default)(`https://github.com/${template}`);
216
+ const emitter = (0, degit_1.default)(`https://github.com/${selectedTemplate}`);
210
217
  await emitter.clone(projectRoot);
211
- log_1.Log.info(`Cloned template into ${projectRoot}`);
212
218
  }
213
219
  catch (e) {
220
+ log_1.Log.error(e);
214
221
  log_1.Log.error('Error with template cloning. Aborting');
215
222
  process.exit(1);
216
223
  }
217
- log_1.Log.info(`Created project at ${chalk_1.default.blue(folderName)}. Installing dependencies...`);
218
- if (shouldUseYarn()) {
224
+ log_1.Log.info(`Created project at ${chalk_1.default.blueBright(folderName)}. Installing dependencies...`);
225
+ const pkgManager = (0, pkg_managers_1.selectPackageManager)();
226
+ if (pkgManager === 'yarn') {
219
227
  log_1.Log.info('> yarn');
220
228
  const promise = (0, execa_1.default)('yarn', [], {
221
229
  cwd: projectRoot,
230
+ stdio: 'inherit',
231
+ env: { ...process.env, ADBLOCK: '1', DISABLE_OPENCOLLECTIVE: '1' },
222
232
  });
223
233
  (_a = promise.stderr) === null || _a === void 0 ? void 0 : _a.pipe(process.stderr);
224
234
  (_b = promise.stdout) === null || _b === void 0 ? void 0 : _b.pipe(process.stdout);
225
235
  await promise;
226
236
  }
227
- else {
228
- log_1.Log.info('> npm install');
229
- const promise = (0, execa_1.default)('npm', ['install'], {
237
+ else if (pkgManager === 'pnpm') {
238
+ log_1.Log.info('> pnpm i');
239
+ const promise = (0, execa_1.default)('pnpm', ['i'], {
230
240
  cwd: projectRoot,
241
+ stdio: 'inherit',
242
+ env: { ...process.env, ADBLOCK: '1', DISABLE_OPENCOLLECTIVE: '1' },
231
243
  });
232
244
  (_c = promise.stderr) === null || _c === void 0 ? void 0 : _c.pipe(process.stderr);
233
245
  (_d = promise.stdout) === null || _d === void 0 ? void 0 : _d.pipe(process.stdout);
234
246
  await promise;
235
247
  }
248
+ else {
249
+ log_1.Log.info('> npm install');
250
+ const promise = (0, execa_1.default)('npm', ['install', '--no-fund'], {
251
+ stdio: 'inherit',
252
+ cwd: projectRoot,
253
+ env: { ...process.env, ADBLOCK: '1', DISABLE_OPENCOLLECTIVE: '1' },
254
+ });
255
+ (_e = promise.stderr) === null || _e === void 0 ? void 0 : _e.pipe(process.stderr);
256
+ (_f = promise.stdout) === null || _f === void 0 ? void 0 : _f.pipe(process.stdout);
257
+ await promise;
258
+ }
236
259
  await initGitRepoAsync(projectRoot, {
237
- silent: false,
260
+ silent: true,
238
261
  commit: true,
239
262
  });
240
- log_1.Log.info(`Welcome to ${chalk_1.default.blue('Remotion')}!`);
241
- log_1.Log.info(`✨ Your video has been created at ${chalk_1.default.blue(folderName)}.\n`);
263
+ log_1.Log.info();
264
+ log_1.Log.info(`Welcome to ${chalk_1.default.blueBright('Remotion')}!`);
265
+ log_1.Log.info(`✨ Your video has been created at ${chalk_1.default.blueBright(folderName)}.`);
266
+ await (0, open_in_editor_flow_1.openInEditorFlow)(projectRoot);
242
267
  log_1.Log.info('Get started by running');
243
- log_1.Log.info(chalk_1.default.blue(`cd ${folderName}`));
244
- log_1.Log.info(chalk_1.default.blue(shouldUseYarn() ? 'yarn start' : 'npm start'));
268
+ log_1.Log.info(chalk_1.default.blueBright(`cd ${folderName}`));
269
+ log_1.Log.info(chalk_1.default.blueBright((0, pkg_managers_1.getStartCommand)(pkgManager)));
245
270
  log_1.Log.info('');
246
- log_1.Log.info('To render an MP4 video, run');
247
- log_1.Log.info(chalk_1.default.blue(shouldUseYarn() ? 'yarn build' : 'npm run build'));
271
+ log_1.Log.info('To render a video, run');
272
+ log_1.Log.info(chalk_1.default.blueBright((0, pkg_managers_1.getRenderCommand)(pkgManager)));
248
273
  log_1.Log.info('');
249
- log_1.Log.info('Read the documentation at', chalk_1.default.underline('https://remotion.dev'));
274
+ log_1.Log.info('Docs to get you started:', chalk_1.default.underline('https://www.remotion.dev/docs/the-fundamentals'));
250
275
  log_1.Log.info('Enjoy Remotion!');
251
276
  };
252
277
  exports.init = init;
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,kDAA0B;AAC1B,kDAA0B;AAC1B,wDAA0B;AAC1B,gDAAwB;AACxB,4DAAmC;AACnC,+BAA0B;AAC1B,qDAA+C;AAQ/C,MAAM,kBAAkB,GAAgB;IACvC;QACC,SAAS,EAAE,aAAa;QACxB,IAAI,EAAE,kCAAkC;QACxC,WAAW,EAAE,4CAA4C;KACzD;IACD;QACC,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,gCAAgC;KAC7C;IACD;QACC,SAAS,EAAE,0BAA0B;QACrC,IAAI,EAAE,6CAA6C;QACnD,WAAW,EAAE,0CAA0C;KACvD;IACD;QACC,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,+CAA+C;KAC5D;IACD;QACC,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,gDAAgD;KAC7D;IACD;QACC,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EAAE,0CAA0C;KACvD;CACD,CAAC;AAEF,SAAS,MAAM,CAAC,GAAW,EAAE,KAAa;IACzC,uCAAuC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAA,oBAAS,EAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE;QAC5C,OAAO,oCAAoC,CAAC;KAC5C;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpC,OAAO,uFAAuF,CAAC;KAC/F;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QACnC,MAAM,IAAI,KAAK,CACd,8BAA8B,eAAK,CAAC,GAAG,CACtC,IAAI,UAAU,GAAG,CACjB,KAAK,UAAU,EAAE,CAClB,CAAC;KACF;AACF,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,WAAmB,EACnB,UAAmB;IAEnB,MAAM,SAAS,GAAG,kBAAE;SAClB,WAAW,CAAC,WAAW,CAAC;SACxB,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,SAAS,CAAC,MAAM,EAAE;QACrB,MAAM,OAAO,GAAG,wDAAwD,CAAC;QACzE,SAAG,CAAC,OAAO,EAAE,CAAC;QACd,SAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,SAAG,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;AACF,CAAC;AAED,MAAM,aAAa,GAAG,GAAY,EAAE;;IACnC,OAAO,OAAO,CACb,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,YAAY,0CAAE,QAAQ,CAAC,SAAS,CAAC;SAC5C,MAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,CACpD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC3C,IAAI;QACH,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACX,IAAK,CAAqB,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC9C,SAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;SACb;KACD;AACF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC7B,IAAY,EACZ,QAA4C,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,EACxE,EAAE;IACH,mCAAmC;IACnC,IAAI;QACH,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;YAC1D,GAAG,EAAE,IAAI;SACT,CAAC,CAAC;QACH,CAAC,KAAK,CAAC,MAAM;YACZ,SAAG,CAAC,IAAI,CACP,iEAAiE,CACjE,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACX,IAAK,CAAqB,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC9C,CAAC,KAAK,CAAC,MAAM;gBACZ,SAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;SACb;KACD;IAED,iCAAiC;IACjC,IAAI;QACH,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1C,CAAC,KAAK,CAAC,MAAM,IAAI,SAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE3D,IAAI,KAAK,CAAC,MAAM,EAAE;YACjB,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;YACnE,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,6BAA6B,CAAC,EAAE;gBACnE,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,QAAQ;aACf,CAAC,CAAC;YACH,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;gBAC5C,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,QAAQ;aACf,CAAC,CAAC;SACH;QACD,OAAO,IAAI,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACX,SAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7B,oEAAoE;QACpE,OAAO,KAAK,CAAC;KACb;AACF,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE;IAC1C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,iBAAO,EAAC;YAC9B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,UAAU,GAAG,YAAY,CAAC,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;oBACnC,OAAO,wBAAwB,GAAG,UAAU,CAAC;iBAC7C;gBACD,OAAO,IAAI,CAAC;YACb,CAAC;SACD,CAAC,CAAC;QAEH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC/B,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;SAC5B;KACD;IAAC,OAAO,KAAK,EAAE;QACf,8CAA8C;QAC9C,IAAK,KAAwB,CAAC,IAAI,KAAK,SAAS,EAAE;YACjD,MAAM,KAAK,CAAC;SACZ;KACD;IAED,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE9C,eAAe,CAAC,UAAU,CAAC,CAAC;IAE5B,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEhC,MAAM,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEtD,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC,CAAC;AAEK,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;;IAC9B,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAClE,MAAM,wBAAwB,EAAE,CAAC;IAEjC,MAAM,iBAAiB,GACtB,IAAI,CAAC,GAAG,CACP,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC9C,CACD,GAAG,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EACjC;QACC,OAAO,EAAE,oBAAoB;QAC7B,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBACjC,OAAO,iBAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aACnC;iBAAM;gBACN,OAAO;oBACN,KAAK,EAAE,QAAQ,CAAC,IAAI;oBACpB,KAAK,EACJ,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;wBACzD,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;iBAC5B,CAAC;aACF;QACF,CAAC,CAAC;KACF,EACD,EAAE,CACF,CAAC;IAEF,IAAI;QACH,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjC,SAAG,CAAC,IAAI,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;KAChD;IAAC,OAAO,CAAC,EAAE;QACX,SAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;IAED,SAAG,CAAC,IAAI,CACP,sBAAsB,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAC1E,CAAC;IACF,IAAI,aAAa,EAAE,EAAE;QACpB,SAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,MAAM,EAAE,EAAE,EAAE;YACjC,GAAG,EAAE,WAAW;SAChB,CAAC,CAAC;QACH,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,CAAC;KACd;SAAM;QACN,SAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YACzC,GAAG,EAAE,WAAW;SAChB,CAAC,CAAC;QACH,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,CAAC;KACd;IAED,MAAM,gBAAgB,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,SAAG,CAAC,IAAI,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAClD,SAAG,CAAC,IAAI,CAAC,oCAAoC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAE1E,SAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACnC,SAAG,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;IACzC,SAAG,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,SAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,SAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACxC,SAAG,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACvE,SAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,SAAG,CAAC,IAAI,CACP,2BAA2B,EAC3B,eAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,CACvC,CAAC;IACF,SAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,CAAC,CAAC;AAlFW,QAAA,IAAI,QAkFf"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;;;;AAE/B,kDAA0B;AAEb,QAAA,GAAG,GAAG;IAClB,KAAK,EAAE,eAAK;IACZ,OAAO,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QACjD,OAAO,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QAClD,OAAO,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACb,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;;;;AAE/B,kDAA0B;AAEb,QAAA,GAAG,GAAG;IAClB,KAAK,EAAL,eAAK;IACL,OAAO,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QACjD,OAAO,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE;QAClD,OAAO,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACb,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const openInEditorFlow: (projectRoot: string) => Promise<void>;
2
+ //# sourceMappingURL=open-in-editor-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-in-editor-flow.d.ts","sourceRoot":"","sources":["../src/open-in-editor-flow.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB,gBAAuB,MAAM,kBAwCzD,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.openInEditorFlow = void 0;
7
+ const posix_1 = __importDefault(require("path/posix"));
8
+ const log_1 = require("./log");
9
+ const open_in_editor_1 = require("./open-in-editor");
10
+ const yesno_1 = require("./yesno");
11
+ const openInEditorFlow = async (projectRoot) => {
12
+ const editors = await (0, open_in_editor_1.guessEditor)();
13
+ const [guiEditor] = editors.filter((e) => !(0, open_in_editor_1.isTerminalEditor)(e));
14
+ if (!guiEditor) {
15
+ return;
16
+ }
17
+ const displayName = (0, open_in_editor_1.getDisplayNameForEditor)(guiEditor);
18
+ const should = await (0, yesno_1.yesOrNo)({
19
+ defaultValue: true,
20
+ question: `💻 Do you want to open the project in ${displayName}? (Y/n):`,
21
+ });
22
+ if (should) {
23
+ await (0, open_in_editor_1.launchEditor)({
24
+ colNumber: 1,
25
+ editor: guiEditor,
26
+ fileName: projectRoot,
27
+ vsCodeNewWindow: true,
28
+ lineNumber: 1,
29
+ });
30
+ if ((0, open_in_editor_1.isVsCodeDerivative)(guiEditor)) {
31
+ await new Promise((resolve) => {
32
+ setTimeout(resolve, 1000);
33
+ });
34
+ await (0, open_in_editor_1.launchEditor)({
35
+ colNumber: 1,
36
+ editor: guiEditor,
37
+ fileName: posix_1.default.join(projectRoot, 'README.md'),
38
+ vsCodeNewWindow: false,
39
+ lineNumber: 1,
40
+ });
41
+ }
42
+ log_1.Log.info(`Opened in ${displayName}.`);
43
+ }
44
+ log_1.Log.info();
45
+ };
46
+ exports.openInEditorFlow = openInEditorFlow;
47
+ //# sourceMappingURL=open-in-editor-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-in-editor-flow.js","sourceRoot":"","sources":["../src/open-in-editor-flow.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA8B;AAC9B,+BAA0B;AAC1B,qDAM0B;AAC1B,mCAAgC;AAEzB,MAAM,gBAAgB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAW,GAAE,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,iCAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC,SAAS,EAAE;QACf,OAAO;KACP;IAED,MAAM,WAAW,GAAG,IAAA,wCAAuB,EAAC,SAAS,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC;QAC5B,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,yCAAyC,WAAW,UAAU;KACxE,CAAC,CAAC;IAEH,IAAI,MAAM,EAAE;QACX,MAAM,IAAA,6BAAY,EAAC;YAClB,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,WAAW;YACrB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,CAAC;SACb,CAAC,CAAC;QACH,IAAI,IAAA,mCAAkB,EAAC,SAAS,CAAC,EAAE;YAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,MAAM,IAAA,6BAAY,EAAC;gBAClB,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,eAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC7C,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,CAAC;aACb,CAAC,CAAC;SACH;QAED,SAAG,CAAC,IAAI,CAAC,aAAa,WAAW,GAAG,CAAC,CAAC;KACtC;IAED,SAAG,CAAC,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B"}
@@ -0,0 +1,15 @@
1
+ export declare const isVsCodeDerivative: (editor: Editor) => boolean;
2
+ export declare function isTerminalEditor(editor: Editor): boolean;
3
+ declare const editorNames: readonly ["atom", "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta", "brackets", "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl", "code", "code-insiders", "vscodium", "/Applications/AppCode.app/Contents/MacOS/appcode", "/Applications/CLion.app/Contents/MacOS/clion", "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea", "/Applications/PhpStorm.app/Contents/MacOS/phpstorm", "/Applications/PyCharm.app/Contents/MacOS/pycharm", "/Applications/PyCharm CE.app/Contents/MacOS/pycharm", "/Applications/RubyMine.app/Contents/MacOS/rubymine", "/Applications/WebStorm.app/Contents/MacOS/webstorm", "/Applications/GoLand.app/Contents/MacOS/goland", "/Applications/Rider.app/Contents/MacOS/rider", "mvim", "emacs", "gvim", "idea", "phpstorm", "pycharm", "rubymine", "sublime_text", "vim", "webstorm", "goland", "rider", "Brackets.exe", "Code.exe", "Code - Insiders.exe", "VSCodium.exe", "atom.exe", "sublime_text.exe", "notepad++.exe", "clion.exe", "clion64.exe", "idea.exe", "idea64.exe", "phpstorm.exe", "phpstorm64.exe", "pycharm.exe", "pycharm64.exe", "rubymine.exe", "rubymine64.exe", "webstorm.exe", "webstorm64.exe", "goland.exe", "goland64.exe", "rider.exe", "rider64.exe", "nano"];
4
+ export declare const getDisplayNameForEditor: (editor: Editor | undefined) => string | null;
5
+ declare type Editor = typeof editorNames[number];
6
+ export declare function guessEditor(): Promise<Editor[]>;
7
+ export declare function launchEditor({ colNumber, editor, fileName, lineNumber, vsCodeNewWindow, }: {
8
+ fileName: string;
9
+ lineNumber: number;
10
+ colNumber: number;
11
+ editor: Editor;
12
+ vsCodeNewWindow: boolean;
13
+ }): Promise<boolean>;
14
+ export {};
15
+ //# sourceMappingURL=open-in-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-in-editor.d.ts","sourceRoot":"","sources":["../src/open-in-editor.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,kBAAkB,WAAY,MAAM,YAShD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,WAS9C;AAED,QAAA,MAAM,WAAW,8zCAwDP,CAAC;AA+DX,eAAO,MAAM,uBAAuB,WAC3B,MAAM,GAAG,SAAS,KACxB,MAAM,GAAG,IAMX,CAAC;AAEF,aAAK,MAAM,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AA+JzC,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAsErD;AAID,wBAAsB,YAAY,CAAC,EAClC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,eAAe,GACf,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CACzB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmGnB"}
@@ -0,0 +1,452 @@
1
+ "use strict";
2
+ // Duplicated in bundler/src/error-overlay/react-overlay/utils/open-in-editor.ts
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ }) : (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ o[k2] = m[k];
9
+ }));
10
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
11
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
12
+ }) : function(o, v) {
13
+ o["default"] = v;
14
+ });
15
+ var __importStar = (this && this.__importStar) || function (mod) {
16
+ if (mod && mod.__esModule) return mod;
17
+ var result = {};
18
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
19
+ __setModuleDefault(result, mod);
20
+ return result;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.launchEditor = exports.guessEditor = exports.getDisplayNameForEditor = exports.isTerminalEditor = exports.isVsCodeDerivative = void 0;
27
+ /*
28
+ Source code adapted from https://github.com/facebook/create-react-app/tree/main/packages/react-error-overlay and refactored in Typescript. This file is MIT-licensed.
29
+ */
30
+ /**
31
+ * Copyright (c) 2015-present, Facebook, Inc.
32
+ *
33
+ * This source code is licensed under the MIT license found in the
34
+ * LICENSE file in the root directory of this source tree.
35
+ */
36
+ const util_1 = __importDefault(require("util"));
37
+ const fs_1 = __importDefault(require("fs"));
38
+ const path_1 = __importDefault(require("path"));
39
+ const child_process_1 = __importStar(require("child_process"));
40
+ const os_1 = __importDefault(require("os"));
41
+ const execProm = util_1.default.promisify(child_process_1.exec);
42
+ const isVsCodeDerivative = (editor) => {
43
+ return (editor === 'code' ||
44
+ editor === 'code-insiders' ||
45
+ editor === 'Code.exe' ||
46
+ editor === 'vscodium' ||
47
+ editor === 'VSCodium.exe' ||
48
+ editor === 'Code - Insiders.exe');
49
+ };
50
+ exports.isVsCodeDerivative = isVsCodeDerivative;
51
+ function isTerminalEditor(editor) {
52
+ switch (editor) {
53
+ case 'vim':
54
+ case 'emacs':
55
+ case 'nano':
56
+ return true;
57
+ default:
58
+ return false;
59
+ }
60
+ }
61
+ exports.isTerminalEditor = isTerminalEditor;
62
+ const editorNames = [
63
+ 'atom',
64
+ '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta',
65
+ 'brackets',
66
+ '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl',
67
+ '/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl',
68
+ '/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl',
69
+ 'code',
70
+ 'code-insiders',
71
+ 'vscodium',
72
+ '/Applications/AppCode.app/Contents/MacOS/appcode',
73
+ '/Applications/CLion.app/Contents/MacOS/clion',
74
+ '/Applications/IntelliJ IDEA.app/Contents/MacOS/idea',
75
+ '/Applications/PhpStorm.app/Contents/MacOS/phpstorm',
76
+ '/Applications/PyCharm.app/Contents/MacOS/pycharm',
77
+ '/Applications/PyCharm CE.app/Contents/MacOS/pycharm',
78
+ '/Applications/RubyMine.app/Contents/MacOS/rubymine',
79
+ '/Applications/WebStorm.app/Contents/MacOS/webstorm',
80
+ '/Applications/GoLand.app/Contents/MacOS/goland',
81
+ '/Applications/Rider.app/Contents/MacOS/rider',
82
+ 'mvim',
83
+ 'emacs',
84
+ 'gvim',
85
+ 'idea',
86
+ 'phpstorm',
87
+ 'pycharm',
88
+ 'rubymine',
89
+ 'sublime_text',
90
+ 'vim',
91
+ 'webstorm',
92
+ 'goland',
93
+ 'rider',
94
+ 'Brackets.exe',
95
+ 'Code.exe',
96
+ 'Code - Insiders.exe',
97
+ 'VSCodium.exe',
98
+ 'atom.exe',
99
+ 'sublime_text.exe',
100
+ 'notepad++.exe',
101
+ 'clion.exe',
102
+ 'clion64.exe',
103
+ 'idea.exe',
104
+ 'idea64.exe',
105
+ 'phpstorm.exe',
106
+ 'phpstorm64.exe',
107
+ 'pycharm.exe',
108
+ 'pycharm64.exe',
109
+ 'rubymine.exe',
110
+ 'rubymine64.exe',
111
+ 'webstorm.exe',
112
+ 'webstorm64.exe',
113
+ 'goland.exe',
114
+ 'goland64.exe',
115
+ 'rider.exe',
116
+ 'rider64.exe',
117
+ 'nano',
118
+ ];
119
+ const displayNameForEditor = {
120
+ '/Applications/AppCode.app/Contents/MacOS/appcode': 'AppCode',
121
+ '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta': 'Atom Beta',
122
+ '/Applications/CLion.app/Contents/MacOS/clion': 'CLion',
123
+ '/Applications/GoLand.app/Contents/MacOS/goland': 'GoLand',
124
+ '/Applications/IntelliJ IDEA.app/Contents/MacOS/idea': 'IDEA',
125
+ '/Applications/PhpStorm.app/Contents/MacOS/phpstorm': 'PHPStorm',
126
+ '/Applications/PyCharm CE.app/Contents/MacOS/pycharm': 'PyCharm',
127
+ '/Applications/PyCharm.app/Contents/MacOS/pycharm': 'PyCharm',
128
+ '/Applications/Rider.app/Contents/MacOS/rider': 'Rider',
129
+ '/Applications/RubyMine.app/Contents/MacOS/rubymine': 'RubyMine',
130
+ '/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl': 'Sublime Text 2',
131
+ '/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl': 'Sublime Text Dev',
132
+ '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl': 'Sublime Text',
133
+ '/Applications/WebStorm.app/Contents/MacOS/webstorm': 'WebStorm',
134
+ 'Brackets.exe': 'Brackets',
135
+ 'Code - Insiders.exe': 'VS Code Insiders',
136
+ 'Code.exe': 'VS Code',
137
+ 'VSCodium.exe': 'VS Codium',
138
+ 'atom.exe': 'Atom',
139
+ 'clion.exe': 'CLion',
140
+ 'clion64.exe': 'CLion',
141
+ 'code-insiders': 'VS Code Insiders',
142
+ 'goland.exe': 'GoLand',
143
+ 'goland64.exe': 'GoLand',
144
+ 'idea.exe': 'IDEA',
145
+ 'idea64.exe': 'IDEA',
146
+ 'notepad++.exe': 'Notepad++',
147
+ 'phpstorm.exe': 'PHPStorm',
148
+ 'phpstorm64.exe': 'PHPStorm',
149
+ 'pycharm.exe': 'PyCharm',
150
+ 'pycharm64.exe': 'PyCharm',
151
+ 'rider.exe': 'Rider',
152
+ 'rider64.exe': 'Rider',
153
+ 'rubymine.exe': 'RubyMine',
154
+ 'rubymine64.exe': 'RubyMine',
155
+ 'sublime_text.exe': 'Sublime Text',
156
+ 'webstorm.exe': 'WebStorm',
157
+ 'webstorm64.exe': 'WebStorm',
158
+ atom: 'Atom',
159
+ brackets: 'Brackets',
160
+ code: 'VS Code',
161
+ emacs: 'emacs',
162
+ goland: 'GoLand',
163
+ gvim: 'GVim',
164
+ idea: 'IDEA',
165
+ mvim: 'mvim',
166
+ phpstorm: 'PHPStorm',
167
+ pycharm: 'PyCharm',
168
+ rider: 'Rider',
169
+ rubymine: 'RubyMine',
170
+ sublime_text: 'Sublime Text',
171
+ vim: 'vim',
172
+ vscodium: 'VS Codium',
173
+ webstorm: 'WebStorm',
174
+ nano: 'nano',
175
+ };
176
+ const getDisplayNameForEditor = (editor) => {
177
+ var _a;
178
+ if (!editor) {
179
+ return null;
180
+ }
181
+ return (_a = displayNameForEditor[editor]) !== null && _a !== void 0 ? _a : editor;
182
+ };
183
+ exports.getDisplayNameForEditor = getDisplayNameForEditor;
184
+ // Map from full process name to binary that starts the process
185
+ // We can't just re-use full process name, because it will spawn a new instance
186
+ // of the app every time
187
+ const COMMON_EDITORS_OSX = {
188
+ '/Applications/Atom.app/Contents/MacOS/Atom': 'atom',
189
+ '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta': '/Applications/Atom Beta.app/Contents/MacOS/Atom Beta',
190
+ '/Applications/Brackets.app/Contents/MacOS/Brackets': 'brackets',
191
+ '/Applications/Sublime Text.app/Contents/MacOS/Sublime Text': '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl',
192
+ '/Applications/Sublime Text Dev.app/Contents/MacOS/Sublime Text': '/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl',
193
+ '/Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2': '/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl',
194
+ '/Applications/Visual Studio Code.app/Contents/MacOS/Electron': 'code',
195
+ '/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron': 'code-insiders',
196
+ '/Applications/VSCodium.app/Contents/MacOS/Electron': 'vscodium',
197
+ '/Applications/AppCode.app/Contents/MacOS/appcode': '/Applications/AppCode.app/Contents/MacOS/appcode',
198
+ '/Applications/CLion.app/Contents/MacOS/clion': '/Applications/CLion.app/Contents/MacOS/clion',
199
+ '/Applications/IntelliJ IDEA.app/Contents/MacOS/idea': '/Applications/IntelliJ IDEA.app/Contents/MacOS/idea',
200
+ '/Applications/PhpStorm.app/Contents/MacOS/phpstorm': '/Applications/PhpStorm.app/Contents/MacOS/phpstorm',
201
+ '/Applications/PyCharm.app/Contents/MacOS/pycharm': '/Applications/PyCharm.app/Contents/MacOS/pycharm',
202
+ '/Applications/PyCharm CE.app/Contents/MacOS/pycharm': '/Applications/PyCharm CE.app/Contents/MacOS/pycharm',
203
+ '/Applications/RubyMine.app/Contents/MacOS/rubymine': '/Applications/RubyMine.app/Contents/MacOS/rubymine',
204
+ '/Applications/WebStorm.app/Contents/MacOS/webstorm': '/Applications/WebStorm.app/Contents/MacOS/webstorm',
205
+ '/Applications/MacVim.app/Contents/MacOS/MacVim': 'mvim',
206
+ '/Applications/GoLand.app/Contents/MacOS/goland': '/Applications/GoLand.app/Contents/MacOS/goland',
207
+ '/Applications/Rider.app/Contents/MacOS/rider': '/Applications/Rider.app/Contents/MacOS/rider',
208
+ };
209
+ const COMMON_EDITORS_LINUX = {
210
+ atom: 'atom',
211
+ Brackets: 'brackets',
212
+ code: 'code',
213
+ 'code-insiders': 'code-insiders',
214
+ vscodium: 'vscodium',
215
+ emacs: 'emacs',
216
+ gvim: 'gvim',
217
+ 'idea.sh': 'idea',
218
+ 'phpstorm.sh': 'phpstorm',
219
+ 'pycharm.sh': 'pycharm',
220
+ 'rubymine.sh': 'rubymine',
221
+ sublime_text: 'sublime_text',
222
+ vim: 'vim',
223
+ 'webstorm.sh': 'webstorm',
224
+ 'goland.sh': 'goland',
225
+ 'rider.sh': 'rider',
226
+ };
227
+ const COMMON_EDITORS_WIN = [
228
+ 'Brackets.exe',
229
+ 'Code.exe',
230
+ 'Code - Insiders.exe',
231
+ 'VSCodium.exe',
232
+ 'atom.exe',
233
+ 'sublime_text.exe',
234
+ 'notepad++.exe',
235
+ 'clion.exe',
236
+ 'clion64.exe',
237
+ 'idea.exe',
238
+ 'idea64.exe',
239
+ 'phpstorm.exe',
240
+ 'phpstorm64.exe',
241
+ 'pycharm.exe',
242
+ 'pycharm64.exe',
243
+ 'rubymine.exe',
244
+ 'rubymine64.exe',
245
+ 'webstorm.exe',
246
+ 'webstorm64.exe',
247
+ 'goland.exe',
248
+ 'goland64.exe',
249
+ 'rider.exe',
250
+ 'rider64.exe',
251
+ ];
252
+ // Transpiled version of: /^([A-Za-z]:[/\\])?[\p{L}0-9/.\-_\\]+$/u
253
+ // Non-transpiled version requires support for Unicode property regex. Allows
254
+ // alphanumeric characters, periods, dashes, slashes, and underscores.
255
+ const WINDOWS_FILE_NAME_WHITELIST = /^([A-Za-z]:[/\\])?(?:[\x2D-9A-Z\\_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])+$/;
256
+ function getArgumentsForLineNumber(editor, fileName, lineNumber, colNumber) {
257
+ const editorBasename = path_1.default.basename(editor).replace(/\.(exe|cmd|bat)$/i, '');
258
+ switch (editorBasename) {
259
+ case 'atom':
260
+ case 'Atom':
261
+ case 'Atom Beta':
262
+ case 'subl':
263
+ case 'sublime':
264
+ case 'sublime_text':
265
+ return [fileName + ':' + lineNumber + ':' + colNumber];
266
+ case 'wstorm':
267
+ case 'charm':
268
+ return [fileName + ':' + lineNumber];
269
+ case 'notepad++':
270
+ return ['-n' + lineNumber, '-c' + colNumber, fileName];
271
+ case 'vim':
272
+ case 'mvim':
273
+ case 'joe':
274
+ case 'gvim':
275
+ return ['+' + lineNumber, fileName];
276
+ case 'emacs':
277
+ case 'emacsclient':
278
+ return ['+' + lineNumber + ':' + colNumber, fileName];
279
+ case 'rmate':
280
+ case 'mate':
281
+ case 'mine':
282
+ return ['--line', lineNumber, fileName];
283
+ case 'code':
284
+ case 'Code':
285
+ case 'code-insiders':
286
+ case 'Code - Insiders':
287
+ case 'vscodium':
288
+ case 'VSCodium':
289
+ return ['-g', fileName + ':' + lineNumber + ':' + colNumber];
290
+ case 'appcode':
291
+ case 'clion':
292
+ case 'clion64':
293
+ case 'idea':
294
+ case 'idea64':
295
+ case 'phpstorm':
296
+ case 'phpstorm64':
297
+ case 'pycharm':
298
+ case 'pycharm64':
299
+ case 'rubymine':
300
+ case 'rubymine64':
301
+ case 'webstorm':
302
+ case 'webstorm64':
303
+ case 'goland':
304
+ case 'goland64':
305
+ case 'rider':
306
+ case 'rider64':
307
+ return ['--line', lineNumber, fileName];
308
+ default:
309
+ // For all others, drop the lineNumber until we have
310
+ // a mapping above, since providing the lineNumber incorrectly
311
+ // can result in errors or confusing behavior.
312
+ return [fileName];
313
+ }
314
+ }
315
+ async function guessEditor() {
316
+ // We can find out which editor is currently running by:
317
+ // `ps x` on macOS and Linux
318
+ // `Get-Process` on Windows
319
+ const availableEditors = [];
320
+ try {
321
+ if (process.platform === 'darwin') {
322
+ const output = (await execProm('ps x')).stdout.toString();
323
+ const processNames = Object.keys(COMMON_EDITORS_OSX);
324
+ for (let i = 0; i < processNames.length; i++) {
325
+ const processName = processNames[i];
326
+ if (output.indexOf(processName) !== -1) {
327
+ availableEditors.push(COMMON_EDITORS_OSX[processName]);
328
+ }
329
+ }
330
+ return availableEditors;
331
+ }
332
+ if (process.platform === 'win32') {
333
+ // Some processes need elevated rights to get its executable path.
334
+ // Just filter them out upfront. This also saves 10-20ms on the command.
335
+ const output = (await execProm('wmic process where "executablepath is not null" get executablepath')).stdout.toString();
336
+ const runningProcesses = output.split('\r\n');
337
+ for (let i = 0; i < runningProcesses.length; i++) {
338
+ const processPath = runningProcesses[i].trim();
339
+ const processName = path_1.default.basename(processPath);
340
+ if (COMMON_EDITORS_WIN.indexOf(processName) !== -1) {
341
+ availableEditors.push(processPath);
342
+ }
343
+ }
344
+ return availableEditors;
345
+ }
346
+ if (process.platform === 'linux') {
347
+ // --no-heading No header line
348
+ // x List all processes owned by you
349
+ // -o comm Need only names column
350
+ const output = (await execProm('ps x --no-heading -o comm --sort=comm')).stdout.toString();
351
+ const processNames = Object.keys(COMMON_EDITORS_LINUX);
352
+ for (let i = 0; i < processNames.length; i++) {
353
+ const processName = processNames[i];
354
+ if (output.indexOf(processName) !== -1) {
355
+ availableEditors.push(COMMON_EDITORS_LINUX[processName]);
356
+ }
357
+ }
358
+ return availableEditors;
359
+ }
360
+ }
361
+ catch (error) {
362
+ // Ignore...
363
+ }
364
+ // Last resort, use old skool env vars
365
+ if (process.env.VISUAL) {
366
+ return [process.env.VISUAL];
367
+ }
368
+ if (process.env.EDITOR) {
369
+ return [process.env.EDITOR];
370
+ }
371
+ return [];
372
+ }
373
+ exports.guessEditor = guessEditor;
374
+ let _childProcess = null;
375
+ async function launchEditor({ colNumber, editor, fileName, lineNumber, vsCodeNewWindow, }) {
376
+ if (!fs_1.default.existsSync(fileName)) {
377
+ return false;
378
+ }
379
+ // Sanitize lineNumber to prevent malicious use on win32
380
+ // via: https://github.com/nodejs/node/blob/c3bb4b1aa5e907d489619fb43d233c3336bfc03d/lib/child_process.js#L333
381
+ // and it should be a positive integer
382
+ if (!(Number.isInteger(lineNumber) && lineNumber > 0)) {
383
+ return false;
384
+ }
385
+ // colNumber is optional, but should be a positive integer too
386
+ // default is 1
387
+ if (!(Number.isInteger(colNumber) && colNumber > 0)) {
388
+ colNumber = 1;
389
+ }
390
+ if (editor.toLowerCase() === 'none') {
391
+ return false;
392
+ }
393
+ if (process.platform === 'linux' &&
394
+ fileName.startsWith('/mnt/') &&
395
+ /Microsoft/i.test(os_1.default.release())) {
396
+ // Assume WSL / "Bash on Ubuntu on Windows" is being used, and
397
+ // that the file exists on the Windows file system.
398
+ // `os.release()` is "4.4.0-43-Microsoft" in the current release
399
+ // build of WSL, see: https://github.com/Microsoft/BashOnWindows/issues/423#issuecomment-221627364
400
+ // When a Windows editor is specified, interop functionality can
401
+ // handle the path translation, but only if a relative path is used.
402
+ fileName = path_1.default.relative('', fileName);
403
+ }
404
+ // cmd.exe on Windows is vulnerable to RCE attacks given a file name of the
405
+ // form "C:\Users\myusername\Downloads\& curl 172.21.93.52". Use a whitelist
406
+ // to validate user-provided file names. This doesn't cover the entire range
407
+ // of valid file names but should cover almost all of them in practice.
408
+ if (process.platform === 'win32' &&
409
+ !WINDOWS_FILE_NAME_WHITELIST.test(fileName.trim())) {
410
+ console.log();
411
+ console.log('Could not open ' + path_1.default.basename(fileName) + ' in the editor.');
412
+ console.log();
413
+ console.log('When running on Windows, file names are checked against a whitelist ' +
414
+ 'to protect against remote code execution attacks. File names may ' +
415
+ 'consist only of alphanumeric characters (all languages), periods, ' +
416
+ 'dashes, slashes, and underscores.');
417
+ console.log();
418
+ return false;
419
+ }
420
+ const shouldOpenVsCodeNewWindow = (0, exports.isVsCodeDerivative)(editor) && vsCodeNewWindow;
421
+ const args = shouldOpenVsCodeNewWindow
422
+ ? ['--new-window', fileName]
423
+ : lineNumber
424
+ ? getArgumentsForLineNumber(editor, fileName, String(lineNumber), colNumber)
425
+ : [fileName];
426
+ if (_childProcess && isTerminalEditor(editor)) {
427
+ // There's an existing editor process already and it's attached
428
+ // to the terminal, so go kill it. Otherwise two separate editor
429
+ // instances attach to the stdin/stdout which gets confusing.
430
+ _childProcess.kill('SIGKILL');
431
+ }
432
+ if (process.platform === 'win32') {
433
+ // On Windows, launch the editor in a shell because spawn can only
434
+ // launch .exe files.
435
+ _childProcess = child_process_1.default.spawn('cmd.exe', ['/C', editor].concat(args), { stdio: 'inherit' });
436
+ }
437
+ else {
438
+ _childProcess = child_process_1.default.spawn(editor, args, { stdio: 'inherit' });
439
+ }
440
+ _childProcess.on('exit', (errorCode) => {
441
+ _childProcess = null;
442
+ if (errorCode) {
443
+ console.log(`Process exited with code ${errorCode}`);
444
+ }
445
+ });
446
+ _childProcess.on('error', (error) => {
447
+ console.log('Error opening file in editor', fileName, error.message);
448
+ });
449
+ return true;
450
+ }
451
+ exports.launchEditor = launchEditor;
452
+ //# sourceMappingURL=open-in-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-in-editor.js","sourceRoot":"","sources":["../src/open-in-editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare type PackageManager = 'npm' | 'yarn' | 'pnpm';
2
+ export declare const selectPackageManager: () => PackageManager;
3
+ export declare const getStartCommand: (manager: PackageManager) => "npm start" | "yarn start" | "pnpm start" | undefined;
4
+ export declare const getRenderCommand: (manager: PackageManager) => "npm run build" | "yarn build" | "pnpm build" | undefined;
5
+ export {};
6
+ //# sourceMappingURL=pkg-managers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkg-managers.d.ts","sourceRoot":"","sources":["../src/pkg-managers.ts"],"names":[],"mappings":"AAAA,aAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAa9C,eAAO,MAAM,oBAAoB,QAAO,cAUvC,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,cAAc,0DAYtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,cAAc,8DAYvD,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRenderCommand = exports.getStartCommand = exports.selectPackageManager = void 0;
4
+ const shouldUseYarn = () => {
5
+ var _a, _b;
6
+ return Boolean(((_a = process.env.npm_execpath) === null || _a === void 0 ? void 0 : _a.includes('yarn.js')) ||
7
+ ((_b = process.env.npm_config_user_agent) === null || _b === void 0 ? void 0 : _b.includes('yarn')));
8
+ };
9
+ const shouldUsePnpm = () => {
10
+ var _a;
11
+ return Boolean((_a = process.env.npm_config_user_agent) === null || _a === void 0 ? void 0 : _a.includes('pnpm'));
12
+ };
13
+ const selectPackageManager = () => {
14
+ if (shouldUseYarn()) {
15
+ return 'yarn';
16
+ }
17
+ if (shouldUsePnpm()) {
18
+ return 'pnpm';
19
+ }
20
+ return 'npm';
21
+ };
22
+ exports.selectPackageManager = selectPackageManager;
23
+ const getStartCommand = (manager) => {
24
+ if (manager === 'npm') {
25
+ return `npm start`;
26
+ }
27
+ if (manager === 'yarn') {
28
+ return `yarn start`;
29
+ }
30
+ if (manager === 'pnpm') {
31
+ return `pnpm start`;
32
+ }
33
+ };
34
+ exports.getStartCommand = getStartCommand;
35
+ const getRenderCommand = (manager) => {
36
+ if (manager === 'npm') {
37
+ return `npm run build`;
38
+ }
39
+ if (manager === 'yarn') {
40
+ return `yarn build`;
41
+ }
42
+ if (manager === 'pnpm') {
43
+ return `pnpm build`;
44
+ }
45
+ };
46
+ exports.getRenderCommand = getRenderCommand;
47
+ //# sourceMappingURL=pkg-managers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkg-managers.js","sourceRoot":"","sources":["../src/pkg-managers.ts"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,GAAY,EAAE;;IACnC,OAAO,OAAO,CACb,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,YAAY,0CAAE,QAAQ,CAAC,SAAS,CAAC;SAC5C,MAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,CACpD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAAY,EAAE;;IACnC,OAAO,OAAO,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,GAAmB,EAAE;IACxD,IAAI,aAAa,EAAE,EAAE;QACpB,OAAO,MAAM,CAAC;KACd;IAED,IAAI,aAAa,EAAE,EAAE;QACpB,OAAO,MAAM,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,eAAe,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC1D,IAAI,OAAO,KAAK,KAAK,EAAE;QACtB,OAAO,WAAW,CAAC;KACnB;IAED,IAAI,OAAO,KAAK,MAAM,EAAE;QACvB,OAAO,YAAY,CAAC;KACpB;IAED,IAAI,OAAO,KAAK,MAAM,EAAE;QACvB,OAAO,YAAY,CAAC;KACpB;AACF,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC3D,IAAI,OAAO,KAAK,KAAK,EAAE;QACtB,OAAO,eAAe,CAAC;KACvB;IAED,IAAI,OAAO,KAAK,MAAM,EAAE;QACvB,OAAO,YAAY,CAAC;KACpB;IAED,IAAI,OAAO,KAAK,MAAM,EAAE;QACvB,OAAO,YAAY,CAAC;KACpB;AACF,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAEvD,oBAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,oBAAY,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AACxE,aAAK,aAAa,GAAG;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC;AAE7D,iBAAwB,MAAM,CAC7B,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAChC,EAAC,kBAAkB,EAAE,GAAG,OAAO,EAAC,GAAE,aAAkB,oCASpD;kBAXuB,MAAM;;;;;;;eAAN,MAAM;AAmB9B,wBAAsB,WAAW,CAChC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAsFlB"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAEvD,oBAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,oBAAY,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AACxE,aAAK,aAAa,GAAG;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC;AAE7D,iBAAwB,MAAM,CAC7B,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAChC,EAAC,kBAAkB,EAAE,GAAG,OAAO,EAAC,GAAE,aAAkB,oCASpD;kBAXuB,MAAM;;;;;;;eAAN,MAAM;AAmB9B,wBAAsB,WAAW,CAChC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CA4FlB"}
package/dist/prompts.js CHANGED
@@ -24,7 +24,7 @@ async function selectAsync(questions, options) {
24
24
  const { value } = await prompt({
25
25
  limit: 11,
26
26
  ...questions,
27
- // @ts-ignore: onRender not in the types
27
+ // @ts-expect-error: onRender not in the types
28
28
  onRender() {
29
29
  if (this.firstRender) {
30
30
  // Ensure the initial state isn't on a disabled item.
@@ -39,6 +39,7 @@ async function selectAsync(questions, options) {
39
39
  // Support up arrow and `k` key -- no looping
40
40
  this.up = () => {
41
41
  let next = this.cursor;
42
+ // eslint-disable-next-line no-constant-condition
42
43
  while (true) {
43
44
  if (next <= 0)
44
45
  break;
@@ -57,6 +58,7 @@ async function selectAsync(questions, options) {
57
58
  // Support down arrow and `j` key -- no looping
58
59
  this.down = () => {
59
60
  let next = this.cursor;
61
+ // eslint-disable-next-line no-constant-condition
60
62
  while (true) {
61
63
  if (next >= this.choices.length - 1)
62
64
  break;
@@ -82,14 +84,14 @@ async function selectAsync(questions, options) {
82
84
  if (!this.choices[next].disabled)
83
85
  break;
84
86
  }
85
- if (!this.choices[next].disabled) {
86
- this.moveCursor(next);
87
- this.render();
88
- }
89
- else {
87
+ if (this.choices[next].disabled) {
90
88
  // unexpected
91
89
  this.bell();
92
90
  }
91
+ else {
92
+ this.moveCursor(next);
93
+ this.render();
94
+ }
93
95
  };
94
96
  }
95
97
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAuD;AAQvD,SAAwB,MAAM,CAC7B,SAAgC,EAChC,EAAC,kBAAkB,EAAE,GAAG,OAAO,KAAmB,EAAE;IAEpD,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,IAAA,iBAAO,EAAC,SAAS,EAAE;QACzB,QAAQ;YACP,MAAM,IAAI,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,GAAG,OAAO;KACV,CAAC,CAAC;AACJ,CAAC;AAXD,yBAWC;AAED,MAAM,CAAC,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;IACtC,KAAK;IACL,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,SAAS;CAChB,CAAC,CAAC;AAEI,KAAK,UAAU,WAAW,CAChC,SAA2B,EAC3B,OAAuB;IAEvB,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,MAAM,CAC3B;QACC,KAAK,EAAE,EAAE;QACT,GAAG,SAAS;QACZ,wCAAwC;QACxC,QAAQ;YAaP,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrB,qDAAqD;gBACrD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;oBAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM;iBACjD;gBACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,2DAA2D;gBAC3D,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;gBAErD,6CAA6C;gBAC7C,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE;oBACd,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvB,OAAO,IAAI,EAAE;wBACZ,IAAI,IAAI,IAAI,CAAC;4BAAE,MAAM;wBACrB,IAAI,EAAE,CAAC;wBACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ;4BAAE,MAAM;qBACxC;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;wBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;qBACd;yBAAM;wBACN,IAAI,CAAC,IAAI,EAAE,CAAC;qBACZ;gBACF,CAAC,CAAC;gBAEF,+CAA+C;gBAC/C,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE;oBAChB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvB,OAAO,IAAI,EAAE;wBACZ,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BAAE,MAAM;wBAC3C,IAAI,EAAE,CAAC;wBACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ;4BAAE,MAAM;qBACxC;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;wBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;qBACd;yBAAM;wBACN,IAAI,CAAC,IAAI,EAAE,CAAC;qBACZ;gBACF,CAAC,CAAC;gBAEF,yBAAyB;gBACzB,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE;oBAChB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvB,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;wBAC/B,CAAC,EAAE,CAAC;wBACJ,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;wBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ;4BAAE,MAAM;qBACxC;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;wBACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;qBACd;yBAAM;wBACN,aAAa;wBACb,IAAI,CAAC,IAAI,EAAE,CAAC;qBACZ;gBACF,CAAC,CAAC;aACF;QACF,CAAC;QACD,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;KACd,EACD,OAAO,CACP,CAAC;IACF,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;AACtB,CAAC;AAzFD,kCAyFC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":""}
package/dist/script.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ console.log(process.env.npm_execpath);
3
+ console.log(process.env.npm_config_user_agent);
4
+ //# sourceMappingURL=script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":";AAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const yesOrNo: ({ question, defaultValue, }: {
2
+ question: string;
3
+ defaultValue: boolean;
4
+ }) => Promise<boolean>;
5
+ //# sourceMappingURL=yesno.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yesno.d.ts","sourceRoot":"","sources":["../src/yesno.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,OAAO;cAIT,MAAM;kBACF,OAAO;sBA+BrB,CAAC"}
package/dist/yesno.js ADDED
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.yesOrNo = void 0;
7
+ const readline_1 = __importDefault(require("readline"));
8
+ const options = {
9
+ yes: ['yes', 'y'],
10
+ no: ['no', 'n'],
11
+ };
12
+ function defaultInvalidHandler({ yesValues, noValues, }) {
13
+ process.stdout.write('\nInvalid Response.\n');
14
+ process.stdout.write('Answer either yes : (' + yesValues.join(', ') + ') \n');
15
+ process.stdout.write('Or no: (' + noValues.join(', ') + ') \n\n');
16
+ }
17
+ const yesOrNo = async ({ question, defaultValue, }) => {
18
+ const invalid = defaultInvalidHandler;
19
+ const yesValues = options.yes.map((v) => v.toLowerCase());
20
+ const noValues = options.no.map((v) => v.toLowerCase());
21
+ const rl = readline_1.default.createInterface({
22
+ input: process.stdin,
23
+ output: process.stdout,
24
+ });
25
+ return new Promise((resolve) => {
26
+ rl.question(question + ' ', async (answer) => {
27
+ rl.close();
28
+ const cleaned = answer.trim().toLowerCase();
29
+ if (cleaned === '' && defaultValue !== null)
30
+ return resolve(defaultValue);
31
+ if (yesValues.indexOf(cleaned) >= 0)
32
+ return resolve(true);
33
+ if (noValues.indexOf(cleaned) >= 0)
34
+ return resolve(false);
35
+ invalid({ question, yesValues, noValues });
36
+ const result = await (0, exports.yesOrNo)({
37
+ question,
38
+ defaultValue,
39
+ });
40
+ resolve(result);
41
+ });
42
+ });
43
+ };
44
+ exports.yesOrNo = yesOrNo;
45
+ //# sourceMappingURL=yesno.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yesno.js","sourceRoot":"","sources":["../src/yesno.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAEb,wDAAgC;AAEhC,MAAM,OAAO,GAAG;IACf,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;IACjB,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;CACf,CAAC;AAEF,SAAS,qBAAqB,CAAC,EAC9B,SAAS,EACT,QAAQ,GAKR;IACA,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;AACnE,CAAC;AAEM,MAAM,OAAO,GAAG,KAAK,EAAE,EAC7B,QAAQ,EACR,YAAY,GAIZ,EAAE,EAAE;IACJ,MAAM,OAAO,GAAG,qBAAqB,CAAC;IAEtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAExD,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACvC,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,OAAO,KAAK,EAAE,IAAI,YAAY,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;YAE1E,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1D,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;YAE1D,OAAO,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC;gBAC5B,QAAQ;gBACR,YAAY;aACZ,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,OAAO,WAoClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-video",
3
- "version": "3.0.0-lambda.99+bd5d55651",
3
+ "version": "3.0.0-pnpm.8+5cc910c87",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -12,7 +12,8 @@
12
12
  ],
13
13
  "scripts": {
14
14
  "build": "tsc -d",
15
- "watch": "tsc -w"
15
+ "watch": "tsc -w",
16
+ "test": "eslint src --ext ts,tsx"
16
17
  },
17
18
  "author": "",
18
19
  "license": "SEE LICENSE IN LICENSE.md",
@@ -31,8 +32,9 @@
31
32
  "@types/node": "^16.7.5",
32
33
  "@types/prompts": "^2.0.12",
33
34
  "eslint": "^7.15.0",
35
+ "prettier-plugin-organize-imports": "^1.1.1",
34
36
  "ts-node": "^9.1.1",
35
37
  "typescript": "^4.4.2"
36
38
  },
37
- "gitHead": "bd5d5565195eadbe3ffadc3e43c732f1fc3049a4"
39
+ "gitHead": "5cc910c87ac178dff0e31c86516c896c7303d620"
38
40
  }