isaacscript 1.2.28 → 1.2.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/commands/init/checkIfProjectPathExists.js +14 -8
  3. package/dist/src/commands/init/checkIfProjectPathExists.js.map +1 -1
  4. package/dist/src/commands/init/checkModSubdirectory.js +2 -2
  5. package/dist/src/commands/init/checkModSubdirectory.js.map +1 -1
  6. package/dist/src/commands/init/checkModTargetDirectory.js +12 -6
  7. package/dist/src/commands/init/checkModTargetDirectory.js.map +1 -1
  8. package/dist/src/commands/init/createMod.js +19 -16
  9. package/dist/src/commands/init/createMod.js.map +1 -1
  10. package/dist/src/commands/init/getProjectPath.js +9 -2
  11. package/dist/src/commands/init/getProjectPath.js.map +1 -1
  12. package/dist/src/commands/init/git.js +17 -8
  13. package/dist/src/commands/init/git.js.map +1 -1
  14. package/dist/src/commands/init/init.js +9 -6
  15. package/dist/src/commands/init/init.js.map +1 -1
  16. package/dist/src/commands/init/promptSaveSlot.js +4 -1
  17. package/dist/src/commands/init/promptSaveSlot.js.map +1 -1
  18. package/dist/src/configFile.js +2 -1
  19. package/dist/src/configFile.js.map +1 -1
  20. package/dist/src/parseArgs.js +5 -0
  21. package/dist/src/parseArgs.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/commands/init/checkIfProjectPathExists.ts +19 -12
  24. package/src/commands/init/checkModSubdirectory.ts +2 -2
  25. package/src/commands/init/checkModTargetDirectory.ts +17 -11
  26. package/src/commands/init/createMod.ts +39 -29
  27. package/src/commands/init/getProjectPath.ts +9 -1
  28. package/src/commands/init/git.ts +29 -13
  29. package/src/commands/init/init.ts +13 -5
  30. package/src/commands/init/promptSaveSlot.ts +5 -0
  31. package/src/configFile.ts +2 -1
  32. package/src/parseArgs.ts +6 -0
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript",
3
- "version": "1.2.28",
3
+ "version": "1.2.29",
4
4
  "description": "A command line tool for managing Isaac mods written in TypeScript",
5
5
  "homepage": "https://isaacscript.github.io/",
6
6
  "bugs": {
@@ -32,16 +32,22 @@ const constants_1 = require("../../constants");
32
32
  const file = __importStar(require("../../file"));
33
33
  const prompt_1 = require("../../prompt");
34
34
  const utils_1 = require("../../utils");
35
- async function checkIfProjectPathExists(projectPath, verbose) {
36
- if (projectPath !== constants_1.CWD && file.exists(projectPath)) {
37
- const fileType = file.isDir(projectPath) ? "directory" : "file";
38
- console.log(`A ${fileType} already exists with a name of "${chalk_1.default.green(projectPath)}".`);
39
- const shouldDelete = await (0, prompt_1.getInputYesNo)("Do you want me to delete it?");
40
- if (!shouldDelete) {
41
- (0, utils_1.error)("Ok then. Good-bye.");
42
- }
35
+ async function checkIfProjectPathExists(projectPath, yes, verbose) {
36
+ if (projectPath === constants_1.CWD || !file.exists(projectPath)) {
37
+ return;
38
+ }
39
+ const fileType = file.isDir(projectPath) ? "directory" : "file";
40
+ if (yes) {
43
41
  file.deleteFileOrDirectory(projectPath, verbose);
42
+ console.log(`Deleted ${fileType}: ${chalk_1.default.green(projectPath)}`);
43
+ return;
44
+ }
45
+ console.log(`A ${fileType} already exists with a name of: ${chalk_1.default.green(projectPath)}`);
46
+ const shouldDelete = await (0, prompt_1.getInputYesNo)("Do you want me to delete it?");
47
+ if (!shouldDelete) {
48
+ (0, utils_1.error)("Ok then. Goodbye.");
44
49
  }
50
+ file.deleteFileOrDirectory(projectPath, verbose);
45
51
  }
46
52
  exports.checkIfProjectPathExists = checkIfProjectPathExists;
47
53
  //# sourceMappingURL=checkIfProjectPathExists.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../../src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAsC;AACtC,iDAAmC;AACnC,yCAA6C;AAC7C,uCAAoC;AAE7B,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,OAAgB;IAEhB,IAAI,WAAW,KAAK,eAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,mCAAmC,eAAK,CAAC,KAAK,CACzD,WAAW,CACZ,IAAI,CACN,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAa,EAAC,8BAA8B,CAAC,CAAC;QAEzE,IAAI,CAAC,YAAY,EAAE;YACjB,IAAA,aAAK,EAAC,oBAAoB,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAClD;AACH,CAAC;AApBD,4DAoBC"}
1
+ {"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../../src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAsC;AACtC,iDAAmC;AACnC,yCAA6C;AAC7C,uCAAoC;AAE7B,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,IAAI,WAAW,KAAK,eAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACpD,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhE,IAAI,GAAG,EAAE;QACP,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,mCAAmC,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAC3E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAa,EAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE;QACjB,IAAA,aAAK,EAAC,mBAAmB,CAAC,CAAC;KAC5B;IAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AA3BD,4DA2BC"}
@@ -30,11 +30,11 @@ exports.checkModSubdirectory = void 0;
30
30
  const chalk_1 = __importDefault(require("chalk"));
31
31
  const constants_1 = require("../../constants");
32
32
  const file = __importStar(require("../../file"));
33
+ const utils_1 = require("../../utils");
33
34
  function checkModSubdirectory(projectPath, modsDirectory) {
34
35
  if (file.isSubDirOf(constants_1.CWD, modsDirectory)) {
35
36
  console.error(`Error: The project directory of "${chalk_1.default.green(projectPath)}" is a subdirectory of "${chalk_1.default.green(modsDirectory)}".`);
36
- console.error('You are supposed to have your project folder somewhere else on the system than the Isaac mods directory. (This is because we don\'t want to upload the ".git" folder or the TypeScript files to the Steam Workshop.) Exiting.');
37
- process.exit(1);
37
+ (0, utils_1.error)('You are supposed to have your project folder somewhere else on the system than the Isaac mods directory. (This is because we don\'t want to upload the ".git" folder or the TypeScript files to the Steam Workshop.) Exiting.');
38
38
  }
39
39
  }
40
40
  exports.checkModSubdirectory = checkModSubdirectory;
@@ -1 +1 @@
1
- {"version":3,"file":"checkModSubdirectory.js","sourceRoot":"","sources":["../../../../src/commands/init/checkModSubdirectory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAsC;AACtC,iDAAmC;AAEnC,SAAgB,oBAAoB,CAClC,WAAmB,EACnB,aAAqB;IAErB,IAAI,IAAI,CAAC,UAAU,CAAC,eAAG,EAAE,aAAa,CAAC,EAAE;QACvC,OAAO,CAAC,KAAK,CACX,oCAAoC,eAAK,CAAC,KAAK,CAC7C,WAAW,CACZ,2BAA2B,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAC3D,CAAC;QACF,OAAO,CAAC,KAAK,CACX,+NAA+N,CAChO,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC;AAfD,oDAeC"}
1
+ {"version":3,"file":"checkModSubdirectory.js","sourceRoot":"","sources":["../../../../src/commands/init/checkModSubdirectory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAsC;AACtC,iDAAmC;AACnC,uCAAoC;AAEpC,SAAgB,oBAAoB,CAClC,WAAmB,EACnB,aAAqB;IAErB,IAAI,IAAI,CAAC,UAAU,CAAC,eAAG,EAAE,aAAa,CAAC,EAAE;QACvC,OAAO,CAAC,KAAK,CACX,oCAAoC,eAAK,CAAC,KAAK,CAC7C,WAAW,CACZ,2BAA2B,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAC3D,CAAC;QACF,IAAA,aAAK,EACH,+NAA+N,CAChO,CAAC;KACH;AACH,CAAC;AAdD,oDAcC"}
@@ -33,16 +33,22 @@ const constants_1 = require("../../constants");
33
33
  const file = __importStar(require("../../file"));
34
34
  const prompt_1 = require("../../prompt");
35
35
  const utils_1 = require("../../utils");
36
- async function checkModTargetDirectory(modsDirectory, projectName, verbose) {
36
+ async function checkModTargetDirectory(modsDirectory, projectName, yes, verbose) {
37
37
  const modTargetPath = path_1.default.join(modsDirectory, projectName);
38
38
  if (!file.exists(modTargetPath)) {
39
39
  return;
40
40
  }
41
- console.error(`Error: The target mod path of "${chalk_1.default.green(modTargetPath)}" already exists.`);
42
- console.error(`When you run ${constants_1.PROJECT_NAME}, it will want to create a directory here so that it can sync it with your project folder.`);
43
- const shouldDeleteDirectory = await (0, prompt_1.getInputYesNo)("Should I delete the existing directory for you? (Make sure that it does not contain anything important first.)");
44
- if (!shouldDeleteDirectory) {
45
- (0, utils_1.error)("Ok then. You delete it yourself. Good bye.");
41
+ const fileType = file.isDir(modTargetPath) ? "directory" : "file";
42
+ if (yes) {
43
+ file.deleteFileOrDirectory(modTargetPath, verbose);
44
+ console.log(`Deleted ${fileType}: ${chalk_1.default.green(modTargetPath)}`);
45
+ return;
46
+ }
47
+ console.log(`A ${fileType} already exists at at the mod path of: ${chalk_1.default.green(modTargetPath)}`);
48
+ console.log(`${constants_1.PROJECT_NAME} will need to sync your project folder with this directory.`);
49
+ const shouldDelete = await (0, prompt_1.getInputYesNo)("Do you want me to delete it?");
50
+ if (!shouldDelete) {
51
+ (0, utils_1.error)("Ok then. Goodbye.");
46
52
  }
47
53
  file.deleteFileOrDirectory(modTargetPath, verbose);
48
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../../src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAA+C;AAC/C,iDAAmC;AACnC,yCAA6C;AAC7C,uCAAoC;AAE7B,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,WAAmB,EACnB,OAAgB;IAEhB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/B,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,kCAAkC,eAAK,CAAC,KAAK,CAC3C,aAAa,CACd,mBAAmB,CACrB,CAAC;IACF,OAAO,CAAC,KAAK,CACX,gBAAgB,wBAAY,4FAA4F,CACzH,CAAC;IAEF,MAAM,qBAAqB,GAAG,MAAM,IAAA,sBAAa,EAC/C,gHAAgH,CACjH,CAAC;IAEF,IAAI,CAAC,qBAAqB,EAAE;QAC1B,IAAA,aAAK,EAAC,4CAA4C,CAAC,CAAC;KACrD;IAED,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AA5BD,0DA4BC"}
1
+ {"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../../src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAA+C;AAC/C,iDAAmC;AACnC,yCAA6C;AAC7C,uCAAoC;AAE7B,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,WAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/B,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAElE,IAAI,GAAG,EAAE;QACP,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,0CAA0C,eAAK,CAAC,KAAK,CAChE,aAAa,CACd,EAAE,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CACT,GAAG,wBAAY,6DAA6D,CAC7E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,sBAAa,EAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE;QACjB,IAAA,aAAK,EAAC,mBAAmB,CAAC,CAAC;KAC5B;IAED,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAlCD,0DAkCC"}
@@ -41,27 +41,17 @@ function createMod(projectName, projectPath, createNewDir, modsDirectory, saveSl
41
41
  const config = configFile.createObject(modsDirectory, saveSlot);
42
42
  configFile.createFile(projectPath, config, verbose);
43
43
  const targetModDirectory = path_1.default.join(config.modsDirectory, projectName);
44
- updateNodeModules(projectPath, verbose);
45
- installNodeModules(projectPath, skipNPMInstall, verbose);
46
44
  makeSubdirectories(projectPath, verbose);
47
45
  copyStaticFiles(projectPath, verbose);
48
46
  copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose);
49
- // Only make the initial commit once all of the files have been copied
47
+ updateNodeModules(projectPath, verbose);
48
+ installNodeModules(projectPath, skipNPMInstall, verbose);
49
+ formatFiles(projectPath, verbose);
50
+ // Only make the initial commit once all of the files have been copied and formatted
50
51
  (0, git_1.initGitRepository)(projectPath, gitRemoteURL, verbose);
51
52
  console.log(`Successfully created mod: ${chalk_1.default.green(projectName)}`);
52
53
  }
53
54
  exports.createMod = createMod;
54
- function updateNodeModules(projectPath, verbose) {
55
- console.log("Finding out the latest versions of the NPM packages...");
56
- (0, exec_1.execShell)("npx", ["npm-check-updates", "--upgrade", "--packageFile", "package.json"], verbose, false, projectPath);
57
- }
58
- function installNodeModules(projectPath, skipNPMInstall, verbose) {
59
- if (skipNPMInstall) {
60
- return;
61
- }
62
- console.log("Installing node modules... (This can take a long time.)");
63
- (0, exec_1.execShell)("npm", ["install"], verbose, false, projectPath);
64
- }
65
55
  function makeSubdirectories(projectPath, verbose) {
66
56
  // The "src" directory is created during copying of static files
67
57
  for (const subdirectory of ["mod"]) {
@@ -126,7 +116,6 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
126
116
  const modPath = path_1.default.join(projectPath, "mod");
127
117
  const destinationPath = path_1.default.join(modPath, fileName);
128
118
  file.write(destinationPath, metadataXML, verbose);
129
- (0, exec_1.execShell)("npx", ["prettier", "--write", destinationPath]);
130
119
  }
131
120
  // "mod/metadata.vdf"
132
121
  {
@@ -149,7 +138,21 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
149
138
  const mainTS = template.replace(/MOD_NAME_TO_REPLACE/g, projectName);
150
139
  const destinationPath = path_1.default.join(srcPath, fileName);
151
140
  file.write(destinationPath, mainTS, verbose);
152
- (0, exec_1.execShell)("npx", ["prettier", "--write", destinationPath]);
153
141
  }
154
142
  }
143
+ /** The "package.json" file has to be copied first before this step. */
144
+ function updateNodeModules(projectPath, verbose) {
145
+ console.log("Finding out the latest versions of the NPM packages...");
146
+ (0, exec_1.execShell)("npx", ["npm-check-updates", "--upgrade", "--packageFile", "package.json"], verbose, false, projectPath);
147
+ }
148
+ function installNodeModules(projectPath, skipNPMInstall, verbose) {
149
+ if (skipNPMInstall) {
150
+ return;
151
+ }
152
+ console.log("Installing node modules... (This can take a long time.)");
153
+ (0, exec_1.execShell)("npm", ["install"], verbose, false, projectPath);
154
+ }
155
+ function formatFiles(projectPath, verbose) {
156
+ (0, exec_1.execShell)("npx", ["prettier", "--write", projectPath], verbose, false, projectPath);
157
+ }
155
158
  //# sourceMappingURL=createMod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMod.js","sourceRoot":"","sources":["../../../../src/commands/init/createMod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMod.js","sourceRoot":"","sources":["../../../../src/commands/init/createMod.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,11 @@ const ILLEGAL_CHARACTERS_FOR_WINDOWS_FILENAMES = [
21
21
  "?",
22
22
  "*",
23
23
  ];
24
- async function getProjectPath(argv) {
24
+ async function getProjectPath(argv, useCurrentDir, yes) {
25
25
  let projectName = getProjectNameFromCommandLineArgument(argv);
26
26
  let projectPath;
27
27
  let createNewDir;
28
- if (argv.useCurrentDir !== undefined) {
28
+ if (useCurrentDir) {
29
29
  // The "--use-current-dir" command-line flag was specified,
30
30
  // so there is no need to prompt the user
31
31
  projectName = constants_1.CURRENT_DIRECTORY_NAME;
@@ -37,6 +37,13 @@ async function getProjectPath(argv) {
37
37
  projectPath = path_1.default.join(constants_1.CWD, projectName);
38
38
  createNewDir = true;
39
39
  }
40
+ else if (yes) {
41
+ // The "--yes" command-line flag was specified and the project name was not specified on the
42
+ // command-line, so default to using the current directory
43
+ projectName = constants_1.CURRENT_DIRECTORY_NAME;
44
+ projectPath = constants_1.CWD;
45
+ createNewDir = false;
46
+ }
40
47
  else {
41
48
  // The project name was not specified on the command-line, so prompt the user for it
42
49
  [projectName, projectPath, createNewDir] = await getNewProjectName();
@@ -1 +1 @@
1
- {"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../src/commands/init/getProjectPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../src/commands/init/getProjectPath.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ const prompt_1 = require("../../prompt");
38
38
  const utils_1 = require("../../utils");
39
39
  const REQUIRED_GIT_MAJOR_VERSION = 2;
40
40
  const REQUIRED_GIT_MINOR_VERSION = 30;
41
- async function promptGitHubRepoOrGitRemoteURL(projectName, verbose) {
41
+ async function promptGitHubRepoOrGitRemoteURL(projectName, yes, verbose) {
42
42
  // We do not need to prompt the user if they do not have Git installed
43
43
  if (!command_exists_1.default.sync("git")) {
44
44
  console.log('Git does not seem to be installed. (The "git" command is not in the path.) Skipping Git-related things.');
@@ -53,22 +53,31 @@ async function promptGitHubRepoOrGitRemoteURL(projectName, verbose) {
53
53
  if (gitHubRepoExists) {
54
54
  console.log(`Detected an existing GitHub repository at: ${chalk_1.default.green(url)}`);
55
55
  const guessedRemoteURL = getGitRemoteURL(projectName, gitHubUsername);
56
+ if (yes) {
57
+ console.log(`Using a Git remote URL of: ${chalk_1.default.green(guessedRemoteURL)}`);
58
+ return guessedRemoteURL;
59
+ }
56
60
  const shouldUseGuessedURL = await (0, prompt_1.getInputYesNo)(`Do you want to use a Git remote URL of: ${chalk_1.default.green(guessedRemoteURL)}`);
57
61
  if (shouldUseGuessedURL) {
58
62
  return guessedRemoteURL;
59
63
  }
60
64
  // Assume that since they do not want to connect this project to the existing GitHub
61
- // repository, they do not want to initialize Git either
65
+ // repository, they do not want to initialize a remote Git URL at all
62
66
  return undefined;
63
67
  }
68
+ if (yes) {
69
+ (0, exec_1.execShell)("gh", ["repo", "create", projectName, "--public"]);
70
+ console.log(`Created a new GitHub repository at: ${url}`);
71
+ return getGitRemoteURL(projectName, gitHubUsername);
72
+ }
64
73
  const createNewGitHubRepo = await (0, prompt_1.getInputYesNo)(`Would you like to create a new GitHub repository at: ${chalk_1.default.green(url)}`);
65
74
  if (createNewGitHubRepo) {
66
- (0, exec_1.execShell)("gh", ["repo", "create", "poop", "--public"]);
75
+ (0, exec_1.execShell)("gh", ["repo", "create", projectName, "--public"]);
67
76
  console.log("Successfully created a new GitHub repository.");
68
77
  return getGitRemoteURL(projectName, gitHubUsername);
69
78
  }
70
79
  // Assume that since they do not want to create a new GitHub repository, they do not want to
71
- // initialize Git either
80
+ // initialize a remote Git URL at all
72
81
  return undefined;
73
82
  }
74
83
  const gitRemoteURL = await (0, prompt_1.getInputString)(`Paste in the remote Git URL for your project.
@@ -125,18 +134,18 @@ function getGitRemoteURL(projectName, gitHubUsername) {
125
134
  return `git@github.com:${gitHubUsername}/${projectName}.git`;
126
135
  }
127
136
  function initGitRepository(projectPath, gitRemoteURL, verbose) {
128
- // We already checked to see if the "git" command is installed earlier on in the initialization
129
- // process
130
- if (gitRemoteURL === undefined) {
137
+ if (!command_exists_1.default.sync("git")) {
131
138
  return;
132
139
  }
133
140
  (0, exec_1.execShell)("git", ["init"], verbose, false, projectPath);
134
141
  (0, exec_1.execShell)("git", ["branch", "-M", "main"], verbose, false, projectPath);
135
- (0, exec_1.execShell)("git", ["remote", "add", "origin", gitRemoteURL], verbose, false, projectPath);
136
142
  if (isGitNameAndEmailConfigured(verbose)) {
137
143
  (0, exec_1.execShell)("git", ["add", "--all"], verbose, false, projectPath);
138
144
  (0, exec_1.execShell)("git", ["commit", "--message", `${constants_1.PROJECT_NAME} template`], verbose, false, projectPath);
139
145
  }
146
+ if (gitRemoteURL !== undefined) {
147
+ (0, exec_1.execShell)("git", ["remote", "add", "origin", gitRemoteURL], verbose, false, projectPath);
148
+ }
140
149
  }
141
150
  exports.initGitRepository = initGitRepository;
142
151
  function isGitNameAndEmailConfigured(verbose) {
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/commands/init/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/commands/init/git.ts"],"names":[],"mappings":"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"}
@@ -19,18 +19,21 @@ const installVSCodeExtensions_1 = require("./installVSCodeExtensions");
19
19
  const promptSaveSlot_1 = require("./promptSaveSlot");
20
20
  const promptVSCode_1 = require("./promptVSCode");
21
21
  async function init(argv) {
22
- const vscode = argv.vscode === true;
23
22
  const skipNPMInstall = argv.skipNpmInstall === true;
23
+ const useCurrentDir = argv.useCurrentDir === true;
24
24
  const verbose = argv.verbose === true;
25
+ const vscode = argv.vscode === true;
26
+ const yes = argv.yes === true;
25
27
  // Prompt the end-user for some information (and validate it as we go)
26
- const [projectPath, createNewDir] = await (0, getProjectPath_1.getProjectPath)(argv);
27
- await (0, checkIfProjectPathExists_1.checkIfProjectPathExists)(projectPath, verbose);
28
+ const [projectPath, createNewDir] = await (0, getProjectPath_1.getProjectPath)(argv, useCurrentDir, yes);
29
+ await (0, checkIfProjectPathExists_1.checkIfProjectPathExists)(projectPath, yes, verbose);
28
30
  const modsDirectory = await (0, getModsDir_1.getModsDir)(argv);
29
31
  (0, checkModSubdirectory_1.checkModSubdirectory)(projectPath, modsDirectory);
30
32
  const projectName = path_1.default.basename(projectPath);
31
- await (0, checkModTargetDirectory_1.checkModTargetDirectory)(modsDirectory, projectName, verbose);
32
- const saveSlot = await (0, promptSaveSlot_1.promptSaveSlot)(argv);
33
- const gitRemoteURL = await (0, git_1.promptGitHubRepoOrGitRemoteURL)(projectName, verbose);
33
+ await (0, checkModTargetDirectory_1.checkModTargetDirectory)(modsDirectory, projectName, yes, verbose);
34
+ const saveSlot = await (0, promptSaveSlot_1.promptSaveSlot)(argv, yes);
35
+ const gitRemoteURL = await (0, git_1.promptGitHubRepoOrGitRemoteURL)(projectName, yes, verbose);
36
+ // Now that we have asked the user all of the questions we need, we can create the project
34
37
  (0, createMod_1.createMod)(projectName, projectPath, createNewDir, modsDirectory, saveSlot, gitRemoteURL, skipNPMInstall, verbose);
35
38
  await openVSCode(projectPath, vscode, verbose);
36
39
  printFinishMessage(projectPath, projectName);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/init/init.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oEAA2C;AAC3C,gDAAwB;AACxB,+CAAoD;AACpD,yEAAsE;AACtE,iEAA8D;AAC9D,uEAAoE;AACpE,2CAAwC;AACxC,6CAA0C;AAC1C,qDAAkD;AAClD,+BAAuD;AACvD,uEAAoE;AACpE,qDAAkD;AAClD,iDAA8C;AAEvC,KAAK,UAAU,IAAI,CAAC,IAA6B;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,sEAAsE;IACtE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,IAAA,mDAAwB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC7C,IAAA,2CAAoB,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,IAAA,iDAAuB,EAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,IAAA,oCAA8B,EACvD,WAAW,EACX,OAAO,CACR,CAAC;IAEF,IAAA,qBAAS,EACP,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,OAAO,CACR,CAAC;IAEF,MAAM,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AA/BD,oBA+BC;AAED,KAAK,UAAU,UAAU,CACvB,WAAmB,EACnB,MAAe,EACf,OAAgB;IAEhB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,GAAG,CACT,gHAAgH,CACjH,CAAC;QACF,OAAO;KACR;IAED,IAAA,iDAAuB,EAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,IAAA,2BAAY,EAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,gBAAgB;IACvB,KAAK,MAAM,aAAa,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE;QAC3E,IAAI,wBAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACrC,OAAO,aAAa,CAAC;SACtB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,WAAmB;IAClE,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,WAAW,KAAK,eAAG,EAAE;QACvB,cAAc,IAAI,IAAI,eAAK,CAAC,KAAK,CAAC,MAAM,WAAW,EAAE,CAAC,QAAQ,CAAC;KAChE;IACD,cAAc,IAAI,IAAI,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,cAAc,wBAAY,cAAc,cAAc,GAAG,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/init/init.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.promptSaveSlot = void 0;
4
4
  const prompt_1 = require("../../prompt");
5
5
  const utils_1 = require("../../utils");
6
- async function promptSaveSlot(argv) {
6
+ async function promptSaveSlot(argv, yes) {
7
7
  if (argv.saveSlot !== undefined) {
8
8
  // They specified the "--save-slot" command-line flag,
9
9
  // so there is no need to prompt the user for it
10
10
  return argv.saveSlot;
11
11
  }
12
+ if (yes) {
13
+ return 1;
14
+ }
12
15
  const saveSlot = await (0, prompt_1.getInputInt)("In-game, will you test your mod on save slot 1, 2, or 3?");
13
16
  if (saveSlot !== 1 && saveSlot !== 2 && saveSlot !== 3) {
14
17
  (0, utils_1.error)("Error: You must choose a number between 1 and 3.");
@@ -1 +1 @@
1
- {"version":3,"file":"promptSaveSlot.js","sourceRoot":"","sources":["../../../../src/commands/init/promptSaveSlot.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAC3C,uCAAoC;AAE7B,KAAK,UAAU,cAAc,CAClC,IAA6B;IAE7B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QAC/B,sDAAsD;QACtD,gDAAgD;QAChD,OAAO,IAAI,CAAC,QAAkB,CAAC;KAChC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,0DAA0D,CAC3D,CAAC;IAEF,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;QACtD,IAAA,aAAK,EAAC,kDAAkD,CAAC,CAAC;KAC3D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlBD,wCAkBC"}
1
+ {"version":3,"file":"promptSaveSlot.js","sourceRoot":"","sources":["../../../../src/commands/init/promptSaveSlot.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAC3C,uCAAoC;AAE7B,KAAK,UAAU,cAAc,CAClC,IAA6B,EAC7B,GAAY;IAEZ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QAC/B,sDAAsD;QACtD,gDAAgD;QAChD,OAAO,IAAI,CAAC,QAAkB,CAAC;KAChC;IAED,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,CAAC;KACV;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,0DAA0D,CAC3D,CAAC;IAEF,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;QACtD,IAAA,aAAK,EAAC,kDAAkD,CAAC,CAAC;KAC3D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAvBD,wCAuBC"}
@@ -37,13 +37,14 @@ const file = __importStar(require("./file"));
37
37
  const utils_1 = require("./utils");
38
38
  async function get(argv) {
39
39
  const verbose = argv.verbose === true;
40
+ const yes = argv.yes === true;
40
41
  const existingConfig = readExistingConfig();
41
42
  if (existingConfig !== undefined) {
42
43
  return existingConfig;
43
44
  }
44
45
  // No config file exists, so prompt the user for some information and create one
45
46
  const modsDirectory = await (0, getModsDir_1.getModsDir)(argv);
46
- const saveSlot = await (0, promptSaveSlot_1.promptSaveSlot)(argv);
47
+ const saveSlot = await (0, promptSaveSlot_1.promptSaveSlot)(argv, yes);
47
48
  const config = createObject(modsDirectory, saveSlot);
48
49
  createFile(constants_1.CWD, config, verbose);
49
50
  return config;
@@ -1 +1 @@
1
- {"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../src/configFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,oDAAsC;AACtC,gDAAwB;AACxB,2DAAwD;AACxD,mEAAgE;AAChE,2CAAsE;AACtE,6CAA+B;AAE/B,mCAAgC;AAEzB,KAAK,UAAU,GAAG,CAAC,IAA6B;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,cAAc,CAAC;KACvB;IAED,gFAAgF;IAChF,MAAM,aAAa,GAAG,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrD,UAAU,CAAC,eAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kBAeC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4BAAgB,CAAC,EAAE;QAClC,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;IAC9C,IAAI,MAAc,CAAC;IACnB,IAAI;QACF,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAW,CAAC;KAC3C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,aAAK,EAAC,wBAAwB,eAAK,CAAC,KAAK,CAAC,4BAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;KAC5E;IAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE;QACtC,YAAY,CACV,eAAe,EACf,6EAA6E,CAC9E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;QACjC,YAAY,CACV,UAAU,EACV,mEAAmE,CACpE,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,WAAmB;IACtD,IAAA,aAAK,EACH,QAAQ,4BAAgB,wBAAwB,KAAK,YAAY,WAAW,iBAAiB,CAC9F,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,aAAqB,EAAE,QAAgB;IAClE,OAAO;QACL,aAAa;QACb,QAAQ;KACT,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,SAAgB,UAAU,CACxB,WAAmB,EACnB,MAAc,EACd,OAAgB;IAEhB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAAgB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AARD,gCAQC"}
1
+ {"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../src/configFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,oDAAsC;AACtC,gDAAwB;AACxB,2DAAwD;AACxD,mEAAgE;AAChE,2CAAsE;AACtE,6CAA+B;AAE/B,mCAAgC;AAEzB,KAAK,UAAU,GAAG,CAAC,IAA6B;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC;IAE9B,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,cAAc,CAAC;KACvB;IAED,gFAAgF;IAChF,MAAM,aAAa,GAAG,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrD,UAAU,CAAC,eAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,kBAgBC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4BAAgB,CAAC,EAAE;QAClC,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;IAC9C,IAAI,MAAc,CAAC;IACnB,IAAI;QACF,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAW,CAAC;KAC3C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,aAAK,EAAC,wBAAwB,eAAK,CAAC,KAAK,CAAC,4BAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;KAC5E;IAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE;QACtC,YAAY,CACV,eAAe,EACf,6EAA6E,CAC9E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;QACjC,YAAY,CACV,UAAU,EACV,mEAAmE,CACpE,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,WAAmB;IACtD,IAAA,aAAK,EACH,QAAQ,4BAAgB,wBAAwB,KAAK,YAAY,WAAW,iBAAiB,CAC9F,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,aAAqB,EAAE,QAAgB;IAClE,OAAO;QACL,aAAa;QACb,QAAQ;KACT,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,SAAgB,UAAU,CACxB,WAAmB,EACnB,MAAc,EACd,OAAgB;IAEhB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAAgB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AARD,gCAQC"}
@@ -29,6 +29,11 @@ function parseArgs() {
29
29
  description: "Enable verbose output",
30
30
  }))
31
31
  .command("init [name]", `Initialize a new ${constants_1.PROJECT_NAME} mod.`, (builder) => builder
32
+ .option("yes", {
33
+ alias: "y",
34
+ type: "boolean",
35
+ description: 'Answer yes to every dialog option, similar to how "npm init --yes" works.',
36
+ })
32
37
  .option("use-current-dir", {
33
38
  alias: "u",
34
39
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../src/parseArgs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../src/parseArgs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript",
3
- "version": "1.2.28",
3
+ "version": "1.2.29",
4
4
  "description": "A command line tool for managing Isaac mods written in TypeScript",
5
5
  "homepage": "https://isaacscript.github.io/",
6
6
  "bugs": {
@@ -6,22 +6,29 @@ import { error } from "../../utils";
6
6
 
7
7
  export async function checkIfProjectPathExists(
8
8
  projectPath: string,
9
+ yes: boolean,
9
10
  verbose: boolean,
10
11
  ): Promise<void> {
11
- if (projectPath !== CWD && file.exists(projectPath)) {
12
- const fileType = file.isDir(projectPath) ? "directory" : "file";
13
- console.log(
14
- `A ${fileType} already exists with a name of "${chalk.green(
15
- projectPath,
16
- )}".`,
17
- );
18
-
19
- const shouldDelete = await getInputYesNo("Do you want me to delete it?");
12
+ if (projectPath === CWD || !file.exists(projectPath)) {
13
+ return;
14
+ }
20
15
 
21
- if (!shouldDelete) {
22
- error("Ok then. Good-bye.");
23
- }
16
+ const fileType = file.isDir(projectPath) ? "directory" : "file";
24
17
 
18
+ if (yes) {
25
19
  file.deleteFileOrDirectory(projectPath, verbose);
20
+ console.log(`Deleted ${fileType}: ${chalk.green(projectPath)}`);
21
+ return;
22
+ }
23
+
24
+ console.log(
25
+ `A ${fileType} already exists with a name of: ${chalk.green(projectPath)}`,
26
+ );
27
+ const shouldDelete = await getInputYesNo("Do you want me to delete it?");
28
+
29
+ if (!shouldDelete) {
30
+ error("Ok then. Goodbye.");
26
31
  }
32
+
33
+ file.deleteFileOrDirectory(projectPath, verbose);
27
34
  }
@@ -1,6 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { CWD } from "../../constants";
3
3
  import * as file from "../../file";
4
+ import { error } from "../../utils";
4
5
 
5
6
  export function checkModSubdirectory(
6
7
  projectPath: string,
@@ -12,9 +13,8 @@ export function checkModSubdirectory(
12
13
  projectPath,
13
14
  )}" is a subdirectory of "${chalk.green(modsDirectory)}".`,
14
15
  );
15
- console.error(
16
+ error(
16
17
  'You are supposed to have your project folder somewhere else on the system than the Isaac mods directory. (This is because we don\'t want to upload the ".git" folder or the TypeScript files to the Steam Workshop.) Exiting.',
17
18
  );
18
- process.exit(1);
19
19
  }
20
20
  }
@@ -8,6 +8,7 @@ import { error } from "../../utils";
8
8
  export async function checkModTargetDirectory(
9
9
  modsDirectory: string,
10
10
  projectName: string,
11
+ yes: boolean,
11
12
  verbose: boolean,
12
13
  ): Promise<void> {
13
14
  const modTargetPath = path.join(modsDirectory, projectName);
@@ -15,21 +16,26 @@ export async function checkModTargetDirectory(
15
16
  return;
16
17
  }
17
18
 
18
- console.error(
19
- `Error: The target mod path of "${chalk.green(
19
+ const fileType = file.isDir(modTargetPath) ? "directory" : "file";
20
+
21
+ if (yes) {
22
+ file.deleteFileOrDirectory(modTargetPath, verbose);
23
+ console.log(`Deleted ${fileType}: ${chalk.green(modTargetPath)}`);
24
+ return;
25
+ }
26
+
27
+ console.log(
28
+ `A ${fileType} already exists at at the mod path of: ${chalk.green(
20
29
  modTargetPath,
21
- )}" already exists.`,
22
- );
23
- console.error(
24
- `When you run ${PROJECT_NAME}, it will want to create a directory here so that it can sync it with your project folder.`,
30
+ )}`,
25
31
  );
26
-
27
- const shouldDeleteDirectory = await getInputYesNo(
28
- "Should I delete the existing directory for you? (Make sure that it does not contain anything important first.)",
32
+ console.log(
33
+ `${PROJECT_NAME} will need to sync your project folder with this directory.`,
29
34
  );
35
+ const shouldDelete = await getInputYesNo("Do you want me to delete it?");
30
36
 
31
- if (!shouldDeleteDirectory) {
32
- error("Ok then. You delete it yourself. Good bye.");
37
+ if (!shouldDelete) {
38
+ error("Ok then. Goodbye.");
33
39
  }
34
40
 
35
41
  file.deleteFileOrDirectory(modTargetPath, verbose);
@@ -38,42 +38,19 @@ export function createMod(
38
38
  configFile.createFile(projectPath, config, verbose);
39
39
  const targetModDirectory = path.join(config.modsDirectory, projectName);
40
40
 
41
- updateNodeModules(projectPath, verbose);
42
- installNodeModules(projectPath, skipNPMInstall, verbose);
43
41
  makeSubdirectories(projectPath, verbose);
44
42
  copyStaticFiles(projectPath, verbose);
45
43
  copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose);
44
+ updateNodeModules(projectPath, verbose);
45
+ installNodeModules(projectPath, skipNPMInstall, verbose);
46
+ formatFiles(projectPath, verbose);
46
47
 
47
- // Only make the initial commit once all of the files have been copied
48
+ // Only make the initial commit once all of the files have been copied and formatted
48
49
  initGitRepository(projectPath, gitRemoteURL, verbose);
49
50
 
50
51
  console.log(`Successfully created mod: ${chalk.green(projectName)}`);
51
52
  }
52
53
 
53
- function updateNodeModules(projectPath: string, verbose: boolean) {
54
- console.log("Finding out the latest versions of the NPM packages...");
55
- execShell(
56
- "npx",
57
- ["npm-check-updates", "--upgrade", "--packageFile", "package.json"],
58
- verbose,
59
- false,
60
- projectPath,
61
- );
62
- }
63
-
64
- function installNodeModules(
65
- projectPath: string,
66
- skipNPMInstall: boolean,
67
- verbose: boolean,
68
- ) {
69
- if (skipNPMInstall) {
70
- return;
71
- }
72
-
73
- console.log("Installing node modules... (This can take a long time.)");
74
- execShell("npm", ["install"], verbose, false, projectPath);
75
- }
76
-
77
54
  function makeSubdirectories(projectPath: string, verbose: boolean) {
78
55
  // The "src" directory is created during copying of static files
79
56
  for (const subdirectory of ["mod"]) {
@@ -150,7 +127,6 @@ function copyDynamicFiles(
150
127
  const modPath = path.join(projectPath, "mod");
151
128
  const destinationPath = path.join(modPath, fileName);
152
129
  file.write(destinationPath, metadataXML, verbose);
153
- execShell("npx", ["prettier", "--write", destinationPath]);
154
130
  }
155
131
 
156
132
  // "mod/metadata.vdf"
@@ -175,6 +151,40 @@ function copyDynamicFiles(
175
151
  const mainTS = template.replace(/MOD_NAME_TO_REPLACE/g, projectName);
176
152
  const destinationPath = path.join(srcPath, fileName);
177
153
  file.write(destinationPath, mainTS, verbose);
178
- execShell("npx", ["prettier", "--write", destinationPath]);
179
154
  }
180
155
  }
156
+
157
+ /** The "package.json" file has to be copied first before this step. */
158
+ function updateNodeModules(projectPath: string, verbose: boolean) {
159
+ console.log("Finding out the latest versions of the NPM packages...");
160
+ execShell(
161
+ "npx",
162
+ ["npm-check-updates", "--upgrade", "--packageFile", "package.json"],
163
+ verbose,
164
+ false,
165
+ projectPath,
166
+ );
167
+ }
168
+
169
+ function installNodeModules(
170
+ projectPath: string,
171
+ skipNPMInstall: boolean,
172
+ verbose: boolean,
173
+ ) {
174
+ if (skipNPMInstall) {
175
+ return;
176
+ }
177
+
178
+ console.log("Installing node modules... (This can take a long time.)");
179
+ execShell("npm", ["install"], verbose, false, projectPath);
180
+ }
181
+
182
+ function formatFiles(projectPath: string, verbose: boolean) {
183
+ execShell(
184
+ "npx",
185
+ ["prettier", "--write", projectPath],
186
+ verbose,
187
+ false,
188
+ projectPath,
189
+ );
190
+ }
@@ -19,11 +19,13 @@ const ILLEGAL_CHARACTERS_FOR_WINDOWS_FILENAMES = [
19
19
 
20
20
  export async function getProjectPath(
21
21
  argv: Record<string, unknown>,
22
+ useCurrentDir: boolean,
23
+ yes: boolean,
22
24
  ): Promise<[string, boolean]> {
23
25
  let projectName = getProjectNameFromCommandLineArgument(argv);
24
26
  let projectPath: string;
25
27
  let createNewDir: boolean;
26
- if (argv.useCurrentDir !== undefined) {
28
+ if (useCurrentDir) {
27
29
  // The "--use-current-dir" command-line flag was specified,
28
30
  // so there is no need to prompt the user
29
31
  projectName = CURRENT_DIRECTORY_NAME;
@@ -33,6 +35,12 @@ export async function getProjectPath(
33
35
  // The project name was specified on the command-line
34
36
  projectPath = path.join(CWD, projectName);
35
37
  createNewDir = true;
38
+ } else if (yes) {
39
+ // The "--yes" command-line flag was specified and the project name was not specified on the
40
+ // command-line, so default to using the current directory
41
+ projectName = CURRENT_DIRECTORY_NAME;
42
+ projectPath = CWD;
43
+ createNewDir = false;
36
44
  } else {
37
45
  // The project name was not specified on the command-line, so prompt the user for it
38
46
  [projectName, projectPath, createNewDir] = await getNewProjectName();
@@ -14,6 +14,7 @@ const REQUIRED_GIT_MINOR_VERSION = 30;
14
14
 
15
15
  export async function promptGitHubRepoOrGitRemoteURL(
16
16
  projectName: string,
17
+ yes: boolean,
17
18
  verbose: boolean,
18
19
  ): Promise<string | undefined> {
19
20
  // We do not need to prompt the user if they do not have Git installed
@@ -42,6 +43,14 @@ export async function promptGitHubRepoOrGitRemoteURL(
42
43
  `Detected an existing GitHub repository at: ${chalk.green(url)}`,
43
44
  );
44
45
  const guessedRemoteURL = getGitRemoteURL(projectName, gitHubUsername);
46
+
47
+ if (yes) {
48
+ console.log(
49
+ `Using a Git remote URL of: ${chalk.green(guessedRemoteURL)}`,
50
+ );
51
+ return guessedRemoteURL;
52
+ }
53
+
45
54
  const shouldUseGuessedURL = await getInputYesNo(
46
55
  `Do you want to use a Git remote URL of: ${chalk.green(
47
56
  guessedRemoteURL,
@@ -52,23 +61,29 @@ export async function promptGitHubRepoOrGitRemoteURL(
52
61
  }
53
62
 
54
63
  // Assume that since they do not want to connect this project to the existing GitHub
55
- // repository, they do not want to initialize Git either
64
+ // repository, they do not want to initialize a remote Git URL at all
56
65
  return undefined;
57
66
  }
58
67
 
68
+ if (yes) {
69
+ execShell("gh", ["repo", "create", projectName, "--public"]);
70
+ console.log(`Created a new GitHub repository at: ${url}`);
71
+ return getGitRemoteURL(projectName, gitHubUsername);
72
+ }
73
+
59
74
  const createNewGitHubRepo = await getInputYesNo(
60
75
  `Would you like to create a new GitHub repository at: ${chalk.green(
61
76
  url,
62
77
  )}`,
63
78
  );
64
79
  if (createNewGitHubRepo) {
65
- execShell("gh", ["repo", "create", "poop", "--public"]);
80
+ execShell("gh", ["repo", "create", projectName, "--public"]);
66
81
  console.log("Successfully created a new GitHub repository.");
67
82
  return getGitRemoteURL(projectName, gitHubUsername);
68
83
  }
69
84
 
70
85
  // Assume that since they do not want to create a new GitHub repository, they do not want to
71
- // initialize Git either
86
+ // initialize a remote Git URL at all
72
87
  return undefined;
73
88
  }
74
89
 
@@ -160,21 +175,12 @@ export function initGitRepository(
160
175
  gitRemoteURL: string | undefined,
161
176
  verbose: boolean,
162
177
  ): void {
163
- // We already checked to see if the "git" command is installed earlier on in the initialization
164
- // process
165
- if (gitRemoteURL === undefined) {
178
+ if (!commandExists.sync("git")) {
166
179
  return;
167
180
  }
168
181
 
169
182
  execShell("git", ["init"], verbose, false, projectPath);
170
183
  execShell("git", ["branch", "-M", "main"], verbose, false, projectPath);
171
- execShell(
172
- "git",
173
- ["remote", "add", "origin", gitRemoteURL],
174
- verbose,
175
- false,
176
- projectPath,
177
- );
178
184
 
179
185
  if (isGitNameAndEmailConfigured(verbose)) {
180
186
  execShell("git", ["add", "--all"], verbose, false, projectPath);
@@ -186,6 +192,16 @@ export function initGitRepository(
186
192
  projectPath,
187
193
  );
188
194
  }
195
+
196
+ if (gitRemoteURL !== undefined) {
197
+ execShell(
198
+ "git",
199
+ ["remote", "add", "origin", gitRemoteURL],
200
+ verbose,
201
+ false,
202
+ projectPath,
203
+ );
204
+ }
189
205
  }
190
206
 
191
207
  function isGitNameAndEmailConfigured(verbose: boolean) {
@@ -14,23 +14,31 @@ import { promptSaveSlot } from "./promptSaveSlot";
14
14
  import { promptVSCode } from "./promptVSCode";
15
15
 
16
16
  export async function init(argv: Record<string, unknown>): Promise<void> {
17
- const vscode = argv.vscode === true;
18
17
  const skipNPMInstall = argv.skipNpmInstall === true;
18
+ const useCurrentDir = argv.useCurrentDir === true;
19
19
  const verbose = argv.verbose === true;
20
+ const vscode = argv.vscode === true;
21
+ const yes = argv.yes === true;
20
22
 
21
23
  // Prompt the end-user for some information (and validate it as we go)
22
- const [projectPath, createNewDir] = await getProjectPath(argv);
23
- await checkIfProjectPathExists(projectPath, verbose);
24
+ const [projectPath, createNewDir] = await getProjectPath(
25
+ argv,
26
+ useCurrentDir,
27
+ yes,
28
+ );
29
+ await checkIfProjectPathExists(projectPath, yes, verbose);
24
30
  const modsDirectory = await getModsDir(argv);
25
31
  checkModSubdirectory(projectPath, modsDirectory);
26
32
  const projectName = path.basename(projectPath);
27
- await checkModTargetDirectory(modsDirectory, projectName, verbose);
28
- const saveSlot = await promptSaveSlot(argv);
33
+ await checkModTargetDirectory(modsDirectory, projectName, yes, verbose);
34
+ const saveSlot = await promptSaveSlot(argv, yes);
29
35
  const gitRemoteURL = await promptGitHubRepoOrGitRemoteURL(
30
36
  projectName,
37
+ yes,
31
38
  verbose,
32
39
  );
33
40
 
41
+ // Now that we have asked the user all of the questions we need, we can create the project
34
42
  createMod(
35
43
  projectName,
36
44
  projectPath,
@@ -3,6 +3,7 @@ import { error } from "../../utils";
3
3
 
4
4
  export async function promptSaveSlot(
5
5
  argv: Record<string, unknown>,
6
+ yes: boolean,
6
7
  ): Promise<number> {
7
8
  if (argv.saveSlot !== undefined) {
8
9
  // They specified the "--save-slot" command-line flag,
@@ -10,6 +11,10 @@ export async function promptSaveSlot(
10
11
  return argv.saveSlot as number;
11
12
  }
12
13
 
14
+ if (yes) {
15
+ return 1;
16
+ }
17
+
13
18
  const saveSlot = await getInputInt(
14
19
  "In-game, will you test your mod on save slot 1, 2, or 3?",
15
20
  );
package/src/configFile.ts CHANGED
@@ -10,6 +10,7 @@ import { error } from "./utils";
10
10
 
11
11
  export async function get(argv: Record<string, unknown>): Promise<Config> {
12
12
  const verbose = argv.verbose === true;
13
+ const yes = argv.yes === true;
13
14
 
14
15
  const existingConfig = readExistingConfig();
15
16
  if (existingConfig !== undefined) {
@@ -18,7 +19,7 @@ export async function get(argv: Record<string, unknown>): Promise<Config> {
18
19
 
19
20
  // No config file exists, so prompt the user for some information and create one
20
21
  const modsDirectory = await getModsDir(argv);
21
- const saveSlot = await promptSaveSlot(argv);
22
+ const saveSlot = await promptSaveSlot(argv, yes);
22
23
  const config = createObject(modsDirectory, saveSlot);
23
24
  createFile(CWD, config, verbose);
24
25
 
package/src/parseArgs.ts CHANGED
@@ -32,6 +32,12 @@ export function parseArgs(): Record<string, unknown> {
32
32
  `Initialize a new ${PROJECT_NAME} mod.`,
33
33
  (builder) =>
34
34
  builder
35
+ .option("yes", {
36
+ alias: "y",
37
+ type: "boolean",
38
+ description:
39
+ 'Answer yes to every dialog option, similar to how "npm init --yes" works.',
40
+ })
35
41
  .option("use-current-dir", {
36
42
  alias: "u",
37
43
  type: "boolean",