isaacscript 3.4.22 → 3.5.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/file-templates/dynamic/.github/workflows/ci.yml +11 -4
- package/file-templates/dynamic/gitignore +2 -4
- package/file-templates/dynamic/package.json +1 -0
- package/file-templates/static/check-orphaned-words.sh +30 -1
- package/file-templates/static/lint.sh +13 -13
- package/file-templates/static/nuke.sh +1 -1
- package/package.json +3 -4
- package/schemas/isaacscript-schema.json +0 -4
- package/src/checkForWindowsTerminalBugs.js +10 -10
- package/src/checkForWindowsTerminalBugs.js.map +1 -1
- package/src/classes/Config.js +21 -11
- package/src/classes/Config.js.map +1 -1
- package/src/commands/check/check.js +179 -0
- package/src/commands/check/check.js.map +1 -0
- package/src/commands/copy/copy.js +16 -15
- package/src/commands/copy/copy.js.map +1 -1
- package/src/commands/init/checkIfProjectPathExists.js +5 -5
- package/src/commands/init/checkIfProjectPathExists.js.map +1 -1
- package/src/commands/init/checkModSubdirectory.js +3 -3
- package/src/commands/init/checkModSubdirectory.js.map +1 -1
- package/src/commands/init/checkModTargetDirectory.js +7 -7
- package/src/commands/init/checkModTargetDirectory.js.map +1 -1
- package/src/commands/init/createProject.js +178 -0
- package/src/commands/init/createProject.js.map +1 -0
- package/src/commands/init/getAuthorName.js +28 -0
- package/src/commands/init/getAuthorName.js.map +1 -0
- package/src/commands/init/getModsDir.js +8 -8
- package/src/commands/init/getModsDir.js.map +1 -1
- package/src/commands/init/getProjectPath.js +12 -12
- package/src/commands/init/getProjectPath.js.map +1 -1
- package/src/commands/init/init.js +33 -30
- package/src/commands/init/init.js.map +1 -1
- package/src/commands/init/installVSCodeExtensions.js +7 -7
- package/src/commands/init/installVSCodeExtensions.js.map +1 -1
- package/src/commands/init/promptSaveSlot.js +2 -2
- package/src/commands/init/promptSaveSlot.js.map +1 -1
- package/src/commands/init/promptVSCode.js +7 -7
- package/src/commands/init/promptVSCode.js.map +1 -1
- package/src/commands/monitor/copyWatcherMod.js +7 -7
- package/src/commands/monitor/copyWatcherMod.js.map +1 -1
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +2 -2
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -1
- package/src/commands/monitor/monitor.js +56 -55
- package/src/commands/monitor/monitor.js.map +1 -1
- package/src/commands/monitor/notifyGame.js +9 -9
- package/src/commands/monitor/notifyGame.js.map +1 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js +6 -7
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
- package/src/commands/monitor/spawnSaveDatWriter.js +8 -8
- package/src/commands/monitor/spawnSaveDatWriter.js.map +1 -1
- package/src/commands/monitor/touchWatcherSaveDatFiles.js +6 -6
- package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
- package/src/commands/publish/publish.js +80 -117
- package/src/commands/publish/publish.js.map +1 -1
- package/src/common.js +4 -4
- package/src/common.js.map +1 -1
- package/src/configFile.js +15 -15
- package/src/configFile.js.map +1 -1
- package/src/constants.js +33 -33
- package/src/constants.js.map +1 -1
- package/src/customStage.js +25 -25
- package/src/customStage.js.map +1 -1
- package/src/dev.js +4 -4
- package/src/dev.js.map +1 -1
- package/src/enums/DoorSlotFlag.js +9 -9
- package/src/enums/DoorSlotFlag.js.map +1 -1
- package/src/exec.js +28 -11
- package/src/exec.js.map +1 -1
- package/src/file.js +17 -17
- package/src/file.js.map +1 -1
- package/src/{commands/init/git.js → git.js} +38 -35
- package/src/git.js.map +1 -0
- package/src/index.js +2 -2
- package/src/index.js.map +1 -1
- package/src/json.js +1 -1
- package/src/json.js.map +1 -1
- package/src/main.js +63 -60
- package/src/main.js.map +1 -1
- package/src/objects/doorSlotToDoorSlotFlag.js +11 -11
- package/src/objects/doorSlotToDoorSlotFlag.js.map +1 -1
- package/src/objects/roomShapeDoorToSlotCoordinates.js +78 -78
- package/src/objects/roomShapeDoorToSlotCoordinates.js.map +1 -1
- package/src/packageManager.js +46 -32
- package/src/packageManager.js.map +1 -1
- package/src/parseArgs.js +25 -15
- package/src/parseArgs.js.map +1 -1
- package/src/plugins/addCrashDebugStatements.js +1 -1
- package/src/plugins/addCrashDebugStatements.js.map +1 -1
- package/src/plugins/addIsaacScriptCommentHeader.js +3 -3
- package/src/plugins/addIsaacScriptCommentHeader.js.map +1 -1
- package/src/plugins/addIsaacScriptCommentHeaderCommon.js +7 -6
- package/src/plugins/addIsaacScriptCommentHeaderCommon.js.map +1 -1
- package/src/tsconfig.js +11 -13
- package/src/tsconfig.js.map +1 -1
- package/src/utils.js +2 -2
- package/src/utils.js.map +1 -1
- package/src/validateInIsaacScriptProject.js +9 -9
- package/src/validateInIsaacScriptProject.js.map +1 -1
- package/src/validateNodeVersion.js +4 -4
- package/src/validateNodeVersion.js.map +1 -1
- package/src/validateOS.js +8 -4
- package/src/validateOS.js.map +1 -1
- package/src/version.js +20 -0
- package/src/version.js.map +1 -0
- package/file-templates/static-alt/check-file-updates.sh +0 -69
- package/src/commands/init/createMod.js +0 -170
- package/src/commands/init/createMod.js.map +0 -1
- package/src/commands/init/git.js.map +0 -1
- package/src/plugins/addIsaacScriptCommentHeaderDefinitions.js +0 -49
- package/src/plugins/addIsaacScriptCommentHeaderDefinitions.js.map +0 -1
- package/src/plugins/constants.js +0 -22
- package/src/plugins/constants.js.map +0 -1
|
@@ -4,12 +4,12 @@ exports.checkModTargetDirectory = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const file = tslib_1.__importStar(require("../../file"));
|
|
10
|
-
const
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_js_1 = require("../../constants.js");
|
|
9
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
10
|
+
const prompt_js_1 = require("../../prompt.js");
|
|
11
11
|
async function checkModTargetDirectory(modsDirectory, projectName, yes, verbose) {
|
|
12
|
-
const modTargetPath =
|
|
12
|
+
const modTargetPath = node_path_1.default.join(modsDirectory, projectName);
|
|
13
13
|
if (!file.exists(modTargetPath, verbose)) {
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
@@ -20,8 +20,8 @@ async function checkModTargetDirectory(modsDirectory, projectName, yes, verbose)
|
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
console.log(`A ${fileType} already exists at at the mod path of: ${chalk_1.default.green(modTargetPath)}`);
|
|
23
|
-
console.log(`${
|
|
24
|
-
const shouldDelete = await (0,
|
|
23
|
+
console.log(`${constants_js_1.PROJECT_NAME} will need to sync your project folder with this directory.`);
|
|
24
|
+
const shouldDelete = await (0, prompt_js_1.getInputYesNo)("Do you want me to delete it?");
|
|
25
25
|
if (!shouldDelete) {
|
|
26
26
|
(0, isaacscript_common_ts_1.error)("Ok then. Goodbye.");
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,kEAA6B;AAC7B,qDAAkD;AAClD,4DAAsC;AACtC,+CAAgD;AAEzC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,WAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;QACxC,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3E,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,2BAAY,6DAA6D,CAC7E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAa,EAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE;QACjB,IAAA,6BAAK,EAAC,mBAAmB,CAAC,CAAC;KAC5B;IAED,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAlCD,0DAkCC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProject = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const Config_js_1 = require("../../classes/Config.js");
|
|
9
|
+
const configFile_js_1 = require("../../configFile.js");
|
|
10
|
+
const constants_js_1 = require("../../constants.js");
|
|
11
|
+
const exec_js_1 = require("../../exec.js");
|
|
12
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
13
|
+
const git_js_1 = require("../../git.js");
|
|
14
|
+
const packageManager_js_1 = require("../../packageManager.js");
|
|
15
|
+
function createProject(projectName, authorName, projectPath, createNewDir, modsDirectory, saveSlot, gitRemoteURL, skipInstall, packageManager, dev, verbose) {
|
|
16
|
+
if (createNewDir) {
|
|
17
|
+
file.makeDir(projectPath, verbose);
|
|
18
|
+
}
|
|
19
|
+
const config = new Config_js_1.Config(modsDirectory, saveSlot, dev);
|
|
20
|
+
(0, configFile_js_1.createConfigFile)(projectPath, config, verbose);
|
|
21
|
+
copyStaticFiles(projectPath, verbose);
|
|
22
|
+
copyDynamicFiles(projectName, authorName, projectPath, packageManager, dev, verbose);
|
|
23
|
+
updateNodeModules(projectPath, packageManager, verbose);
|
|
24
|
+
installNodeModules(projectPath, skipInstall, packageManager, verbose);
|
|
25
|
+
formatFiles(projectPath, packageManager, verbose);
|
|
26
|
+
// Only make the initial commit once all of the files have been copied and formatted.
|
|
27
|
+
(0, git_js_1.initGitRepository)(projectPath, gitRemoteURL, verbose);
|
|
28
|
+
console.log(`Successfully created mod: ${chalk_1.default.green(projectName)}`);
|
|
29
|
+
}
|
|
30
|
+
exports.createProject = createProject;
|
|
31
|
+
/** Copy static files, like ".eslintrc.cjs", "tsconfig.json", etc. */
|
|
32
|
+
function copyStaticFiles(projectPath, verbose) {
|
|
33
|
+
const staticFileList = file.getDirList(constants_js_1.TEMPLATES_STATIC_DIR, verbose);
|
|
34
|
+
for (const fileName of staticFileList) {
|
|
35
|
+
const templateFilePath = node_path_1.default.join(constants_js_1.TEMPLATES_STATIC_DIR, fileName);
|
|
36
|
+
const destinationFilePath = node_path_1.default.join(projectPath, fileName);
|
|
37
|
+
if (!file.exists(destinationFilePath, verbose)) {
|
|
38
|
+
file.copy(templateFilePath, destinationFilePath, verbose);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Rename ".eslintrc.template.js" to ".eslintrc.cjs". (If it is kept as ".eslintrc.cjs", then
|
|
42
|
+
// local linting will fail.)
|
|
43
|
+
const ESLintConfigPath = node_path_1.default.join(projectPath, ".eslintrc.template.cjs");
|
|
44
|
+
const correctESLintConfigPath = node_path_1.default.join(projectPath, ".eslintrc.cjs");
|
|
45
|
+
file.rename(ESLintConfigPath, correctESLintConfigPath, verbose);
|
|
46
|
+
// Rename "gitattributes" to ".gitattributes". (If it is kept as ".gitattributes", then it won't
|
|
47
|
+
// be committed to git.)
|
|
48
|
+
const gitAttributesPath = node_path_1.default.join(projectPath, "gitattributes");
|
|
49
|
+
const correctGitAttributesPath = node_path_1.default.join(projectPath, ".gitattributes");
|
|
50
|
+
file.rename(gitAttributesPath, correctGitAttributesPath, verbose);
|
|
51
|
+
// Rename "cspell.template.json" to "cspell.json". (If it is kept as "cspell.json", then local
|
|
52
|
+
// spell checking will fail.)
|
|
53
|
+
const cSpellConfigPath = node_path_1.default.join(projectPath, "cspell.template.json");
|
|
54
|
+
const correctCSpellConfigPath = node_path_1.default.join(projectPath, "cspell.json");
|
|
55
|
+
file.rename(cSpellConfigPath, correctCSpellConfigPath, verbose);
|
|
56
|
+
}
|
|
57
|
+
/** Copy files that need to have text replaced inside of them. */
|
|
58
|
+
function copyDynamicFiles(projectName, authorName, projectPath, packageManager, dev, verbose) {
|
|
59
|
+
const workflowsPath = node_path_1.default.join(projectPath, ".github", "workflows");
|
|
60
|
+
file.makeDir(workflowsPath, verbose);
|
|
61
|
+
// `.github/workflows/ci.yml`
|
|
62
|
+
{
|
|
63
|
+
const fileName = constants_js_1.CI_YML;
|
|
64
|
+
const templatePath = constants_js_1.CI_YML_TEMPLATE_PATH;
|
|
65
|
+
const template = file.read(templatePath, verbose);
|
|
66
|
+
const lockFileName = (0, packageManager_js_1.getPackageManagerLockFileName)(packageManager);
|
|
67
|
+
const installCommand = (0, packageManager_js_1.getPackageManagerInstallCICommand)(packageManager);
|
|
68
|
+
const ciYML = template
|
|
69
|
+
.replaceAll("PACKAGE-MANAGER-NAME", packageManager)
|
|
70
|
+
.replaceAll("PACKAGE-MANAGER-LOCK-FILE-NAME", lockFileName)
|
|
71
|
+
.replaceAll("PACKAGE-MANAGER-INSTALL", installCommand)
|
|
72
|
+
.replaceAll("PROJECT-NAME", projectName);
|
|
73
|
+
const destinationPath = node_path_1.default.join(workflowsPath, fileName);
|
|
74
|
+
file.write(destinationPath, ciYML, verbose);
|
|
75
|
+
}
|
|
76
|
+
// `.gitignore`
|
|
77
|
+
{
|
|
78
|
+
const fileName = constants_js_1.GITIGNORE;
|
|
79
|
+
const templatePath = constants_js_1.GITIGNORE_TEMPLATE_PATH;
|
|
80
|
+
const template = file.read(templatePath, verbose);
|
|
81
|
+
// Prepend a header with the project name.
|
|
82
|
+
let separatorLine = "# ";
|
|
83
|
+
(0, isaacscript_common_ts_1.repeat)(projectName.length, () => {
|
|
84
|
+
separatorLine += "-";
|
|
85
|
+
});
|
|
86
|
+
separatorLine += "\n";
|
|
87
|
+
const gitignoreHeader = `${separatorLine}# ${projectName}\n${separatorLine}\n`;
|
|
88
|
+
const gitignore = gitignoreHeader + template;
|
|
89
|
+
const destinationPath = node_path_1.default.join(projectPath, `.${fileName}`); // We need to prepend a period
|
|
90
|
+
file.write(destinationPath, gitignore, verbose);
|
|
91
|
+
}
|
|
92
|
+
// `package.json`
|
|
93
|
+
{
|
|
94
|
+
// Modify and copy the file.
|
|
95
|
+
const fileName = constants_js_1.PACKAGE_JSON;
|
|
96
|
+
const templatePath = constants_js_1.PACKAGE_JSON_TEMPLATE_PATH;
|
|
97
|
+
const template = file.read(templatePath, verbose);
|
|
98
|
+
let packageJSON = template.replaceAll("MOD-NAME-TO-REPLACE", projectName);
|
|
99
|
+
if (authorName === undefined) {
|
|
100
|
+
// Remove the "author" line.
|
|
101
|
+
packageJSON = packageJSON.replace(/^\s"author":.*$*/gm, "");
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
packageJSON = packageJSON.replaceAll("AUTHOR-NAME", authorName);
|
|
105
|
+
}
|
|
106
|
+
const destinationPath = node_path_1.default.join(projectPath, fileName);
|
|
107
|
+
file.write(destinationPath, packageJSON, verbose);
|
|
108
|
+
}
|
|
109
|
+
// `README.md`
|
|
110
|
+
{
|
|
111
|
+
const fileName = constants_js_1.README_MD;
|
|
112
|
+
const templatePath = constants_js_1.README_MD_TEMPLATES_PATH;
|
|
113
|
+
const template = file.read(templatePath, verbose);
|
|
114
|
+
const readmeMD = template.replaceAll("MOD-NAME-TO-REPLACE", projectName);
|
|
115
|
+
const destinationPath = node_path_1.default.join(projectPath, fileName);
|
|
116
|
+
file.write(destinationPath, readmeMD, verbose);
|
|
117
|
+
}
|
|
118
|
+
const modPath = node_path_1.default.join(projectPath, "mod");
|
|
119
|
+
file.makeDir(modPath, verbose);
|
|
120
|
+
// `mod/metadata.xml`
|
|
121
|
+
{
|
|
122
|
+
const fileName = constants_js_1.METADATA_XML;
|
|
123
|
+
const templatePath = constants_js_1.METADATA_XML_TEMPLATE_PATH;
|
|
124
|
+
const template = file.read(templatePath, verbose);
|
|
125
|
+
const metadataXML = template.replaceAll("MOD-NAME-TO-REPLACE", projectName);
|
|
126
|
+
const destinationPath = node_path_1.default.join(modPath, fileName);
|
|
127
|
+
file.write(destinationPath, metadataXML, verbose);
|
|
128
|
+
}
|
|
129
|
+
const srcPath = node_path_1.default.join(projectPath, "src");
|
|
130
|
+
file.makeDir(srcPath, verbose);
|
|
131
|
+
// `src/main.ts`
|
|
132
|
+
{
|
|
133
|
+
// Convert snake_case and kebab-case to camelCase. (Kebab-case in particular will make the
|
|
134
|
+
// example TypeScript file fail to compile.)
|
|
135
|
+
const fileName = constants_js_1.MAIN_TS;
|
|
136
|
+
const templatePath = constants_js_1.MAIN_TS_TEMPLATE_PATH;
|
|
137
|
+
const template = file.read(templatePath, verbose);
|
|
138
|
+
const mainTS = template.replaceAll("MOD-NAME-TO-REPLACE", projectName);
|
|
139
|
+
const destinationPath = node_path_1.default.join(srcPath, fileName);
|
|
140
|
+
file.write(destinationPath, mainTS, verbose);
|
|
141
|
+
}
|
|
142
|
+
// If we are initializing an IsaacScript project intended to be used for development, we can
|
|
143
|
+
// include a better starter file.
|
|
144
|
+
if (dev) {
|
|
145
|
+
const fileName = constants_js_1.MAIN_TS;
|
|
146
|
+
const templatePath = constants_js_1.MAIN_DEV_TS_TEMPLATE_PATH;
|
|
147
|
+
const template = file.read(templatePath, verbose);
|
|
148
|
+
const mainTS = template; // No replacements are necessary for this file.
|
|
149
|
+
const destinationPath = node_path_1.default.join(srcPath, fileName);
|
|
150
|
+
file.write(destinationPath, mainTS, verbose);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/** The "package.json" file has to be copied first before this step. */
|
|
154
|
+
function updateNodeModules(projectPath, packageManager, verbose) {
|
|
155
|
+
console.log('Finding out the latest versions of the packages with "npm-check-updates"...');
|
|
156
|
+
const packageManagerNPXCommand = (0, packageManager_js_1.getPackageManagerNPXCommand)(packageManager);
|
|
157
|
+
(0, exec_js_1.execShell)(packageManagerNPXCommand, [
|
|
158
|
+
"npm-check-updates",
|
|
159
|
+
"--upgrade",
|
|
160
|
+
"--packageFile",
|
|
161
|
+
"package.json",
|
|
162
|
+
"--filterVersion",
|
|
163
|
+
"^*",
|
|
164
|
+
], verbose, false, projectPath);
|
|
165
|
+
}
|
|
166
|
+
function installNodeModules(projectPath, skipInstall, packageManager, verbose) {
|
|
167
|
+
if (skipInstall) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const command = (0, packageManager_js_1.getPackageManagerInstallCommand)(packageManager);
|
|
171
|
+
console.log(`Installing node modules with "${command}"... (This can take a long time.)`);
|
|
172
|
+
(0, exec_js_1.execShellString)(command, verbose, false, projectPath);
|
|
173
|
+
}
|
|
174
|
+
function formatFiles(projectPath, packageManager, verbose) {
|
|
175
|
+
const packageManagerNPXCommand = (0, packageManager_js_1.getPackageManagerNPXCommand)(packageManager);
|
|
176
|
+
(0, exec_js_1.execShell)(packageManagerNPXCommand, ["prettier", "--write", projectPath], verbose, false, projectPath);
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=createProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/createProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAuthorName = void 0;
|
|
4
|
+
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
5
|
+
const git_js_1 = require("../../git.js");
|
|
6
|
+
const prompt_js_1 = require("../../prompt.js");
|
|
7
|
+
async function getAuthorName(args, verbose) {
|
|
8
|
+
const gitHubUsername = (0, git_js_1.getGitHubUsername)(verbose);
|
|
9
|
+
if (gitHubUsername !== undefined) {
|
|
10
|
+
return gitHubUsername;
|
|
11
|
+
}
|
|
12
|
+
const ts = args.ts === true;
|
|
13
|
+
if (!ts) {
|
|
14
|
+
// In IsaacScript mods, putting the author in the "package.json" file is not necessary.
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
return getNewAuthorName();
|
|
18
|
+
}
|
|
19
|
+
exports.getAuthorName = getAuthorName;
|
|
20
|
+
async function getNewAuthorName() {
|
|
21
|
+
console.log("The author name was not found from the GitHub CLI configuration file.");
|
|
22
|
+
const authorName = await (0, prompt_js_1.getInputString)("Enter the author of the project:");
|
|
23
|
+
if (authorName.length === 0) {
|
|
24
|
+
(0, isaacscript_common_ts_1.error)("You must enter an author name.");
|
|
25
|
+
}
|
|
26
|
+
return authorName;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=getAuthorName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAuthorName.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getAuthorName.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAC9C,yCAAiD;AAEjD,+CAAiD;AAE1C,KAAK,UAAU,aAAa,CACjC,IAAU,EACV,OAAgB;IAEhB,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,CAAC;IAClD,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,EAAE;QACP,uFAAuF;QACvF,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAhBD,sCAgBC;AAED,KAAK,UAAU,gBAAgB;IAC7B,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAc,EAAC,kCAAkC,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,IAAA,6BAAK,EAAC,gCAAgC,CAAC,CAAC;KACzC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -4,14 +4,14 @@ exports.getModsDir = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const file = tslib_1.__importStar(require("../../file"));
|
|
10
|
-
const
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_js_1 = require("../../constants.js");
|
|
9
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
10
|
+
const prompt_js_1 = require("../../prompt.js");
|
|
11
11
|
const MODS = "mods";
|
|
12
|
-
const DEFAULT_MODS_PATH_WINDOWS =
|
|
12
|
+
const DEFAULT_MODS_PATH_WINDOWS = node_path_1.default.join("C:", "Program Files (x86)", "Steam", "steamapps", "common", "The Binding of Isaac Rebirth", MODS);
|
|
13
13
|
/** This is a subdirectory of `$HOME`. */
|
|
14
|
-
const DEFAULT_MODS_PATH_LINUX =
|
|
14
|
+
const DEFAULT_MODS_PATH_LINUX = node_path_1.default.join(constants_js_1.HOME_DIR, ".local", "share", "Steam", "steamapps", "common", "The Binding of Isaac Rebirth", MODS);
|
|
15
15
|
async function getModsDir(args, verbose) {
|
|
16
16
|
if (args.modsDirectory !== undefined) {
|
|
17
17
|
// They specified the "--mods-directory" command-line flag, so there is no need to prompt the
|
|
@@ -24,7 +24,7 @@ async function getModsDir(args, verbose) {
|
|
|
24
24
|
return defaultModsPath;
|
|
25
25
|
}
|
|
26
26
|
console.error(`Failed to find your mods directory at: ${chalk_1.default.green(defaultModsPath)}`);
|
|
27
|
-
const modsDir = await (0,
|
|
27
|
+
const modsDir = await (0, prompt_js_1.getInputString)(`Enter the full path to the "${MODS}" directory on your system, which should be next to your "isaac-ng.exe" program:`);
|
|
28
28
|
if (modsDir === "") {
|
|
29
29
|
(0, isaacscript_common_ts_1.error)("Error: You did not provide a response; exiting.");
|
|
30
30
|
}
|
|
@@ -34,7 +34,7 @@ async function getModsDir(args, verbose) {
|
|
|
34
34
|
if (!file.isDir(modsDir, verbose)) {
|
|
35
35
|
(0, isaacscript_common_ts_1.error)(`Error: The path of "${chalk_1.default.green(modsDir)}" is not a directory. Exiting.`);
|
|
36
36
|
}
|
|
37
|
-
if (
|
|
37
|
+
if (node_path_1.default.basename(modsDir) !== MODS) {
|
|
38
38
|
(0, isaacscript_common_ts_1.error)(`Error: You entered a path of "${chalk_1.default.green(modsDir)}", but you need to input a directory with a name of "${MODS}" at the end. Exiting.`);
|
|
39
39
|
}
|
|
40
40
|
return modsDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModsDir.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getModsDir.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"getModsDir.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getModsDir.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,kEAA6B;AAC7B,qDAA8C;AAC9C,4DAAsC;AAEtC,+CAAiD;AAEjD,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,yBAAyB,GAAG,mBAAI,CAAC,IAAI,CACzC,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEF,yCAAyC;AACzC,MAAM,uBAAuB,GAAG,mBAAI,CAAC,IAAI,CACvC,uBAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEK,KAAK,UAAU,UAAU,CAC9B,IAAU,EACV,OAAgB;IAEhB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;QACpC,6FAA6F;QAC7F,eAAe;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7D,IACE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,EACpC;QACA,OAAO,eAAe,CAAC;KACxB;IAED,OAAO,CAAC,KAAK,CACX,0CAA0C,eAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CACzE,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAc,EAClC,+BAA+B,IAAI,kFAAkF,CACtH,CAAC;IAEF,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,IAAA,6BAAK,EAAC,iDAAiD,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAClC,IAAA,6BAAK,EACH,4BAA4B,eAAK,CAAC,KAAK,CACrC,OAAO,CACR,4BAA4B,CAC9B,CAAC;KACH;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACjC,IAAA,6BAAK,EACH,uBAAuB,eAAK,CAAC,KAAK,CAChC,OAAO,CACR,gCAAgC,CAClC,CAAC;KACH;IAED,IAAI,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACnC,IAAA,6BAAK,EACH,iCAAiC,eAAK,CAAC,KAAK,CAC1C,OAAO,CACR,wDAAwD,IAAI,wBAAwB,CACtF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAvDD,gCAuDC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,QAAQ,QAAQ,EAAE;QAChB,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,yBAAyB,CAAC;SAClC;QAED,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,uBAAuB,CAAC;SAChC;QAED,OAAO,CAAC,CAAC;YACP,IAAA,6BAAK,EACH,gEAAgE,eAAK,CAAC,KAAK,CACzE,QAAQ,CACT,EAAE,CACJ,CAAC;SACH;KACF;AACH,CAAC"}
|
|
@@ -4,9 +4,9 @@ exports.getProjectPath = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_js_1 = require("../../constants.js");
|
|
9
|
+
const prompt_js_1 = require("../../prompt.js");
|
|
10
10
|
// From: https://gist.github.com/doctaphred/d01d05291546186941e1b7ddc02034d3
|
|
11
11
|
const ILLEGAL_CHARACTERS_FOR_WINDOWS_FILENAMES = [
|
|
12
12
|
"<",
|
|
@@ -26,20 +26,20 @@ async function getProjectPath(args, useCurrentDir, yes, forceName) {
|
|
|
26
26
|
if (useCurrentDir) {
|
|
27
27
|
// The "--use-current-dir" command-line flag was specified, so there is no need to prompt the
|
|
28
28
|
// user.
|
|
29
|
-
projectName =
|
|
30
|
-
projectPath =
|
|
29
|
+
projectName = constants_js_1.CURRENT_DIRECTORY_NAME;
|
|
30
|
+
projectPath = constants_js_1.CWD;
|
|
31
31
|
createNewDir = false;
|
|
32
32
|
}
|
|
33
33
|
else if (projectName !== undefined) {
|
|
34
34
|
// The project name was specified on the command-line.
|
|
35
|
-
projectPath =
|
|
35
|
+
projectPath = node_path_1.default.join(constants_js_1.CWD, projectName);
|
|
36
36
|
createNewDir = true;
|
|
37
37
|
}
|
|
38
38
|
else if (yes) {
|
|
39
39
|
// The "--yes" command-line flag was specified and the project name was not specified on the
|
|
40
40
|
// command-line, so default to using the current directory.
|
|
41
|
-
projectName =
|
|
42
|
-
projectPath =
|
|
41
|
+
projectName = constants_js_1.CURRENT_DIRECTORY_NAME;
|
|
42
|
+
projectPath = constants_js_1.CWD;
|
|
43
43
|
createNewDir = false;
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
@@ -57,12 +57,12 @@ function getProjectNameFromCommandLineArgument(args) {
|
|
|
57
57
|
}
|
|
58
58
|
async function getNewProjectName() {
|
|
59
59
|
console.log("You did not specify a project name as a command-line argument.");
|
|
60
|
-
const shouldUseCurrentDir = await (0,
|
|
60
|
+
const shouldUseCurrentDir = await (0, prompt_js_1.getInputYesNo)(`Would you like to create a new project using the current directory "${chalk_1.default.green(constants_js_1.CURRENT_DIRECTORY_NAME)}" as the root?`);
|
|
61
61
|
if (shouldUseCurrentDir) {
|
|
62
|
-
return [
|
|
62
|
+
return [constants_js_1.CURRENT_DIRECTORY_NAME, constants_js_1.CWD, false];
|
|
63
63
|
}
|
|
64
|
-
const projectName = await (0,
|
|
65
|
-
const projectPath =
|
|
64
|
+
const projectName = await (0, prompt_js_1.getInputString)("Enter the name of the project:");
|
|
65
|
+
const projectPath = node_path_1.default.join(constants_js_1.CWD, projectName);
|
|
66
66
|
return [projectName, projectPath, true];
|
|
67
67
|
}
|
|
68
68
|
function validateProjectName(projectName, forceName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getProjectPath.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getProjectPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,22 @@ exports.init = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const command_exists_1 = tslib_1.__importDefault(require("command-exists"));
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_js_1 = require("../../constants.js");
|
|
9
|
+
const git_js_1 = require("../../git.js");
|
|
10
|
+
const packageManager_js_1 = require("../../packageManager.js");
|
|
11
|
+
const checkIfProjectPathExists_js_1 = require("./checkIfProjectPathExists.js");
|
|
12
|
+
const checkModSubdirectory_js_1 = require("./checkModSubdirectory.js");
|
|
13
|
+
const checkModTargetDirectory_js_1 = require("./checkModTargetDirectory.js");
|
|
14
|
+
const createProject_js_1 = require("./createProject.js");
|
|
15
|
+
const getAuthorName_js_1 = require("./getAuthorName.js");
|
|
16
|
+
const getModsDir_js_1 = require("./getModsDir.js");
|
|
17
|
+
const getProjectPath_js_1 = require("./getProjectPath.js");
|
|
18
|
+
const installVSCodeExtensions_js_1 = require("./installVSCodeExtensions.js");
|
|
19
|
+
const promptSaveSlot_js_1 = require("./promptSaveSlot.js");
|
|
20
|
+
const promptVSCode_js_1 = require("./promptVSCode.js");
|
|
20
21
|
async function init(args) {
|
|
21
|
-
const packageManager = (0,
|
|
22
|
+
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForNewProject)(args);
|
|
22
23
|
const noGit = args.noGit === true;
|
|
23
24
|
const skipInstall = args.skipInstall === true;
|
|
24
25
|
const useCurrentDir = args.useCurrentDir === true;
|
|
@@ -28,18 +29,19 @@ async function init(args) {
|
|
|
28
29
|
const forceName = args.forceName === true;
|
|
29
30
|
const dev = args.dev === true;
|
|
30
31
|
// Prompt the end-user for some information (and validate it as we go).
|
|
31
|
-
const [projectPath, createNewDir] = await (0,
|
|
32
|
-
await (0,
|
|
33
|
-
const
|
|
34
|
-
(0,
|
|
35
|
-
const
|
|
36
|
-
await (0,
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
const [projectPath, createNewDir] = await (0, getProjectPath_js_1.getProjectPath)(args, useCurrentDir, yes, forceName);
|
|
33
|
+
await (0, checkIfProjectPathExists_js_1.checkIfProjectPathExists)(projectPath, yes, verbose);
|
|
34
|
+
const projectName = node_path_1.default.basename(projectPath);
|
|
35
|
+
const authorName = await (0, getAuthorName_js_1.getAuthorName)(args, verbose);
|
|
36
|
+
const gitRemoteURL = await (0, git_js_1.promptGitHubRepoOrGitRemoteURL)(projectName, noGit, yes, dev, verbose);
|
|
37
|
+
const modsDirectory = await (0, getModsDir_js_1.getModsDir)(args, verbose);
|
|
38
|
+
(0, checkModSubdirectory_js_1.checkModSubdirectory)(projectPath, modsDirectory);
|
|
39
|
+
await (0, checkModTargetDirectory_js_1.checkModTargetDirectory)(modsDirectory, projectName, yes, verbose);
|
|
40
|
+
const saveSlot = await (0, promptSaveSlot_js_1.promptSaveSlot)(args, yes);
|
|
39
41
|
// Now that we have asked the user all of the questions we need, we can create the project.
|
|
40
|
-
(0,
|
|
42
|
+
(0, createProject_js_1.createProject)(projectName, authorName, projectPath, createNewDir, modsDirectory, saveSlot, gitRemoteURL, skipInstall, packageManager, dev, verbose);
|
|
41
43
|
await openVSCode(projectPath, vscode, yes, verbose);
|
|
42
|
-
printFinishMessage(projectPath, projectName);
|
|
44
|
+
printFinishMessage(projectPath, projectName, packageManager);
|
|
43
45
|
}
|
|
44
46
|
exports.init = init;
|
|
45
47
|
async function openVSCode(projectPath, vscode, yes, verbose) {
|
|
@@ -48,8 +50,8 @@ async function openVSCode(projectPath, vscode, yes, verbose) {
|
|
|
48
50
|
console.log('VSCode does not seem to be installed. (The "code" command is not in the path.) Skipping VSCode-related things.');
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
|
-
(0,
|
|
52
|
-
await (0,
|
|
53
|
+
(0, installVSCodeExtensions_js_1.installVSCodeExtensions)(projectPath, VSCodeCommand, verbose);
|
|
54
|
+
await (0, promptVSCode_js_1.promptVSCode)(projectPath, VSCodeCommand, vscode, yes, verbose);
|
|
53
55
|
}
|
|
54
56
|
function getVSCodeCommand() {
|
|
55
57
|
for (const VSCodeCommand of ["code", "codium", "code-oss", "code-insiders"]) {
|
|
@@ -59,12 +61,13 @@ function getVSCodeCommand() {
|
|
|
59
61
|
}
|
|
60
62
|
return undefined;
|
|
61
63
|
}
|
|
62
|
-
function printFinishMessage(projectPath, projectName) {
|
|
64
|
+
function printFinishMessage(projectPath, projectName, packageManager) {
|
|
63
65
|
let commandsToType = "";
|
|
64
|
-
if (projectPath !==
|
|
66
|
+
if (projectPath !== constants_js_1.CWD) {
|
|
65
67
|
commandsToType += `"${chalk_1.default.green(`cd ${projectName}`)}" and `;
|
|
66
68
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
const packageManagerNPXCommand = (0, packageManager_js_1.getPackageManagerNPXCommand)(packageManager);
|
|
70
|
+
commandsToType += `"${chalk_1.default.green(`${packageManagerNPXCommand} isaacscript`)}"`;
|
|
71
|
+
console.log(`Now, start ${constants_js_1.PROJECT_NAME} by typing ${commandsToType}.`);
|
|
69
72
|
}
|
|
70
73
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/init.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,4EAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.installVSCodeExtensions = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const file = tslib_1.__importStar(require("../../file"));
|
|
9
|
-
const
|
|
6
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
7
|
+
const exec_js_1 = require("../../exec.js");
|
|
8
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
9
|
+
const json_js_1 = require("../../json.js");
|
|
10
10
|
function installVSCodeExtensions(projectPath, VSCodeCommand, verbose) {
|
|
11
11
|
// Installing extensions from inside WSL on Windows will result in the VSCode process never
|
|
12
12
|
// exiting for some reason. Thus, skip this step on Linux. (Linux users will probably be smart
|
|
@@ -16,16 +16,16 @@ function installVSCodeExtensions(projectPath, VSCodeCommand, verbose) {
|
|
|
16
16
|
}
|
|
17
17
|
const extensions = getExtensionsFromJSON(projectPath, verbose);
|
|
18
18
|
for (const extensionName of extensions) {
|
|
19
|
-
(0,
|
|
19
|
+
(0, exec_js_1.execShell)(VSCodeCommand, ["--install-extension", extensionName], verbose);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.installVSCodeExtensions = installVSCodeExtensions;
|
|
23
23
|
function getExtensionsFromJSON(projectPath, verbose) {
|
|
24
|
-
const extensionsJSONPath =
|
|
24
|
+
const extensionsJSONPath = node_path_1.default.join(projectPath, ".vscode", "extensions.json");
|
|
25
25
|
if (!file.exists(extensionsJSONPath, verbose)) {
|
|
26
26
|
return [];
|
|
27
27
|
}
|
|
28
|
-
const extensionsJSON = (0,
|
|
28
|
+
const extensionsJSON = (0, json_js_1.getJSONC)(extensionsJSONPath, verbose);
|
|
29
29
|
const { recommendations } = extensionsJSON;
|
|
30
30
|
if (!Array.isArray(recommendations)) {
|
|
31
31
|
(0, isaacscript_common_ts_1.error)('The "recommendations" field in the "extensions.json" file is not an array.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installVSCodeExtensions.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/installVSCodeExtensions.ts"],"names":[],"mappings":";;;;AAAA,iEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"installVSCodeExtensions.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/installVSCodeExtensions.ts"],"names":[],"mappings":";;;;AAAA,iEAA8C;AAC9C,kEAA6B;AAC7B,2CAA0C;AAC1C,4DAAsC;AACtC,2CAAyC;AAEzC,SAAgB,uBAAuB,CACrC,WAAmB,EACnB,aAAqB,EACrB,OAAgB;IAEhB,2FAA2F;IAC3F,8FAA8F;IAC9F,kDAAkD;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO;KACR;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE;QACtC,IAAA,mBAAS,EAAC,aAAa,EAAE,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;KAC3E;AACH,CAAC;AAhBD,0DAgBC;AAED,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,OAAgB;IAEhB,MAAM,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAClC,WAAW,EACX,SAAS,EACT,iBAAiB,CAClB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC7C,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAE7D,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACnC,IAAA,6BAAK,EACH,4EAA4E,CAC7E,CAAC;KACH;IAED,OAAO,eAA2B,CAAC;AACrC,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.promptSaveSlot = void 0;
|
|
4
4
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
5
|
-
const
|
|
5
|
+
const prompt_js_1 = require("../../prompt.js");
|
|
6
6
|
async function promptSaveSlot(args, yes) {
|
|
7
7
|
if (args.saveSlot !== undefined) {
|
|
8
8
|
// They specified the "--save-slot" command-line flag, so there is no need to prompt the user
|
|
@@ -12,7 +12,7 @@ async function promptSaveSlot(args, yes) {
|
|
|
12
12
|
if (yes) {
|
|
13
13
|
return 1;
|
|
14
14
|
}
|
|
15
|
-
const saveSlot = await (0,
|
|
15
|
+
const saveSlot = await (0, prompt_js_1.getInputInt)("In-game, will you test your mod on save slot 1, 2, or 3?");
|
|
16
16
|
if (saveSlot !== 1 && saveSlot !== 2 && saveSlot !== 3) {
|
|
17
17
|
(0, isaacscript_common_ts_1.error)("Error: You must choose a number between 1 and 3.");
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptSaveSlot.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/promptSaveSlot.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAE9C
|
|
1
|
+
{"version":3,"file":"promptSaveSlot.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/promptSaveSlot.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAE9C,+CAA8C;AAEvC,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,GAAY;IAEZ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QAC/B,6FAA6F;QAC7F,UAAU;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,CAAC;KACV;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAW,EAChC,0DAA0D,CAC3D,CAAC;IAEF,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;QACtD,IAAA,6BAAK,EAAC,kDAAkD,CAAC,CAAC;KAC3D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAvBD,wCAuBC"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.promptVSCode = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
5
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
|
+
const constants_js_1 = require("../../constants.js");
|
|
7
|
+
const exec_js_1 = require("../../exec.js");
|
|
8
|
+
const prompt_js_1 = require("../../prompt.js");
|
|
9
9
|
async function promptVSCode(projectPath, VSCodeCommand, vscode, yes, verbose) {
|
|
10
10
|
if (vscode) {
|
|
11
11
|
// They supplied the "--vscode" command-line flag, so there is no need to prompt the user.
|
|
@@ -21,14 +21,14 @@ async function promptVSCode(projectPath, VSCodeCommand, vscode, yes, verbose) {
|
|
|
21
21
|
if (process.platform === "linux") {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
const shouldOpenVSCode = await (0,
|
|
24
|
+
const shouldOpenVSCode = await (0, prompt_js_1.getInputYesNo)("Do you want to open your new project in VSCode now?");
|
|
25
25
|
if (shouldOpenVSCode) {
|
|
26
26
|
openVSCode(projectPath, VSCodeCommand, verbose);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
exports.promptVSCode = promptVSCode;
|
|
30
30
|
function openVSCode(projectPath, VSCodeCommand, verbose) {
|
|
31
|
-
const MAIN_TS_PATH =
|
|
32
|
-
(0,
|
|
31
|
+
const MAIN_TS_PATH = node_path_1.default.join(projectPath, "src", constants_js_1.MAIN_TS);
|
|
32
|
+
(0, exec_js_1.execShell)(VSCodeCommand, [projectPath, MAIN_TS_PATH], verbose);
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=promptVSCode.js.map
|