isaacscript 1.2.28 → 1.2.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +2 -2
- package/dist/src/checkForWindowsTerminalBugs.js +7 -7
- package/dist/src/checkForWindowsTerminalBugs.js.map +1 -1
- package/dist/src/commands/copy/copy.js +1 -1
- package/dist/src/commands/copy/copy.js.map +1 -1
- package/dist/src/commands/init/checkIfProjectPathExists.js +14 -8
- package/dist/src/commands/init/checkIfProjectPathExists.js.map +1 -1
- package/dist/src/commands/init/checkModSubdirectory.js +2 -2
- package/dist/src/commands/init/checkModSubdirectory.js.map +1 -1
- package/dist/src/commands/init/checkModTargetDirectory.js +13 -7
- package/dist/src/commands/init/checkModTargetDirectory.js.map +1 -1
- package/dist/src/commands/init/createMod.js +27 -24
- package/dist/src/commands/init/createMod.js.map +1 -1
- package/dist/src/commands/init/getModsDir.js +5 -4
- package/dist/src/commands/init/getModsDir.js.map +1 -1
- package/dist/src/commands/init/getProjectPath.js +16 -12
- package/dist/src/commands/init/getProjectPath.js.map +1 -1
- package/dist/src/commands/init/git.js +22 -13
- package/dist/src/commands/init/git.js.map +1 -1
- package/dist/src/commands/init/init.js +10 -7
- package/dist/src/commands/init/init.js.map +1 -1
- package/dist/src/commands/init/installVSCodeExtensions.js +4 -4
- package/dist/src/commands/init/installVSCodeExtensions.js.map +1 -1
- package/dist/src/commands/init/promptSaveSlot.js +4 -1
- package/dist/src/commands/init/promptSaveSlot.js.map +1 -1
- package/dist/src/commands/monitor/copyWatcherMod.js +3 -3
- package/dist/src/commands/monitor/copyWatcherMod.js.map +1 -1
- package/dist/src/commands/monitor/getTSConfigInclude.js +2 -2
- package/dist/src/commands/monitor/getTSConfigInclude.js.map +1 -1
- package/dist/src/commands/monitor/monitor.js +2 -2
- package/dist/src/commands/monitor/monitor.js.map +1 -1
- package/dist/src/commands/monitor/saveDatWriter/saveDatWriter.js +13 -12
- package/dist/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
- package/dist/src/commands/monitor/touchWatcherSaveDatFiles.js +2 -2
- package/dist/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
- package/dist/src/commands/publish/publish.js +16 -16
- package/dist/src/commands/publish/publish.js.map +1 -1
- package/dist/src/configFile.js +7 -6
- package/dist/src/configFile.js.map +1 -1
- package/dist/src/exec.js +2 -2
- package/dist/src/exec.js.map +1 -1
- package/dist/src/file.js +37 -7
- package/dist/src/file.js.map +1 -1
- package/dist/src/main.js +5 -4
- package/dist/src/main.js.map +1 -1
- package/dist/src/parseArgs.js +5 -0
- package/dist/src/parseArgs.js.map +1 -1
- package/dist/src/utils.js +7 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validateInIsaacScriptProject.js +3 -2
- package/dist/src/validateInIsaacScriptProject.js.map +1 -1
- package/package.json +2 -2
- package/src/checkForWindowsTerminalBugs.ts +9 -7
- package/src/commands/copy/copy.ts +1 -1
- package/src/commands/init/checkIfProjectPathExists.ts +19 -12
- package/src/commands/init/checkModSubdirectory.ts +2 -2
- package/src/commands/init/checkModTargetDirectory.ts +18 -12
- package/src/commands/init/createMod.ts +47 -37
- package/src/commands/init/getModsDir.ts +7 -3
- package/src/commands/init/getProjectPath.ts +19 -12
- package/src/commands/init/git.ts +34 -18
- package/src/commands/init/init.ts +14 -6
- package/src/commands/init/installVSCodeExtensions.ts +4 -4
- package/src/commands/init/promptSaveSlot.ts +5 -0
- package/src/commands/monitor/copyWatcherMod.ts +3 -3
- package/src/commands/monitor/getTSConfigInclude.ts +2 -2
- package/src/commands/monitor/monitor.ts +2 -2
- package/src/commands/monitor/saveDatWriter/saveDatWriter.ts +14 -12
- package/src/commands/monitor/touchWatcherSaveDatFiles.ts +2 -2
- package/src/commands/publish/publish.ts +16 -16
- package/src/configFile.ts +7 -6
- package/src/exec.ts +2 -4
- package/src/file.ts +51 -7
- package/src/main.ts +5 -4
- package/src/parseArgs.ts +6 -0
- package/src/utils.ts +8 -0
- package/src/validateInIsaacScriptProject.ts +5 -2
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.31",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript",
|
|
5
5
|
"homepage": "https://isaacscript.github.io/",
|
|
6
6
|
"bugs": {
|
|
@@ -45,6 +45,6 @@
|
|
|
45
45
|
"@types/source-map-support": "^0.5.4",
|
|
46
46
|
"@types/update-notifier": "^5.1.0",
|
|
47
47
|
"@types/yargs": "^17.0.10",
|
|
48
|
-
"isaacscript-lint": "^1.0.
|
|
48
|
+
"isaacscript-lint": "^1.0.99"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -38,17 +38,17 @@ const BASH_PROFILE_PATH = path_1.default.join(constants_1.HOME_DIR, ".bash_profi
|
|
|
38
38
|
// By default, Git Bash for Windows uses MINGW64
|
|
39
39
|
// This will not work correctly with the prompt library
|
|
40
40
|
// Try to detect this and warn the end-user
|
|
41
|
-
async function checkForWindowsTerminalBugs() {
|
|
41
|
+
async function checkForWindowsTerminalBugs(verbose) {
|
|
42
42
|
if (process.platform !== "win32") {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
45
|
if (process.env.SHELL !== "C:\\Program Files\\Git\\usr\\bin\\bash.exe") {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
await checkForWindowsBugColor();
|
|
48
|
+
await checkForWindowsBugColor(verbose);
|
|
49
49
|
}
|
|
50
50
|
exports.checkForWindowsTerminalBugs = checkForWindowsTerminalBugs;
|
|
51
|
-
async function checkForWindowsBugColor() {
|
|
51
|
+
async function checkForWindowsBugColor(verbose) {
|
|
52
52
|
if (process.env.FORCE_COLOR === "true") {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
@@ -58,13 +58,13 @@ async function checkForWindowsBugColor() {
|
|
|
58
58
|
if (!shouldFixColors) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
applyFixesToBashProfile();
|
|
61
|
+
applyFixesToBashProfile(verbose);
|
|
62
62
|
}
|
|
63
|
-
function applyFixesToBashProfile() {
|
|
63
|
+
function applyFixesToBashProfile(verbose) {
|
|
64
64
|
// Check to see if the Bash profile has data
|
|
65
65
|
let bashProfileContents;
|
|
66
|
-
if (file.exists(BASH_PROFILE_PATH)) {
|
|
67
|
-
bashProfileContents = file.read(BASH_PROFILE_PATH);
|
|
66
|
+
if (file.exists(BASH_PROFILE_PATH, verbose)) {
|
|
67
|
+
bashProfileContents = file.read(BASH_PROFILE_PATH, verbose);
|
|
68
68
|
}
|
|
69
69
|
else {
|
|
70
70
|
bashProfileContents = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkForWindowsTerminalBugs.js","sourceRoot":"","sources":["../../src/checkForWindowsTerminalBugs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,2CAAqD;AACrD,6CAA+B;AAC/B,qCAAyC;AACzC,mCAAgC;AAEhC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,oBAAQ,EAAE,eAAe,CAAC,CAAC;AAE/D,gDAAgD;AAChD,uDAAuD;AACvD,2CAA2C;AACpC,KAAK,UAAU,2BAA2B
|
|
1
|
+
{"version":3,"file":"checkForWindowsTerminalBugs.js","sourceRoot":"","sources":["../../src/checkForWindowsTerminalBugs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,2CAAqD;AACrD,6CAA+B;AAC/B,qCAAyC;AACzC,mCAAgC;AAEhC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,oBAAQ,EAAE,eAAe,CAAC,CAAC;AAE/D,gDAAgD;AAChD,uDAAuD;AACvD,2CAA2C;AACpC,KAAK,UAAU,2BAA2B,CAC/C,OAAgB;IAEhB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO;KACR;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,4CAA4C,EAAE;QACtE,OAAO;KACR;IAED,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAZD,kEAYC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAgB;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE;QACtC,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,kFAAkF,eAAK,CAAC,KAAK,CAC3F,aAAa,CACd,yBAAyB,CAC3B,CACF,CAAC;IACF,OAAO,CAAC,KAAK,CACX,yEAAyE,CAC1E,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,IAAA,sBAAa,EACzC,qCAAqC,CACtC,CAAC;IACF,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO;KACR;IAED,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,4CAA4C;IAC5C,IAAI,mBAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC3C,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;KAC7D;SAAM;QACL,mBAAmB,GAAG,EAAE,CAAC;KAC1B;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IAEjE,IAAI;QACF,YAAE,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;KAClD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,aAAK,EAAC,6BAA6B,iBAAiB,IAAI,EAAE,GAAG,CAAC,CAAC;KAChE;IAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EACxB,0CAA0C,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,sEAAsE,CACvE,CACF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAAC,mBAA2B;IAC3D,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IACE,mBAAmB,KAAK,EAAE;QAC1B,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAC5D;QACA,sEAAsE;QACtE,+CAA+C;QAC/C,OAAO,IAAI,IAAI,CAAC;KACjB;IAED,IAAI,mBAAmB,KAAK,EAAE,EAAE;QAC9B,+FAA+F;QAC/F,4BAA4B;QAC5B,OAAO,IAAI,IAAI,CAAC;KACjB;IAED,OAAO,IAAI,6BAA6B,wBAAY,IAAI,CAAC;IACzD,OAAO,IAAI,2BAA2B,CAAC;IAEvC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -49,7 +49,7 @@ function compile(verbose) {
|
|
|
49
49
|
console.log("Mod compiled successfully.");
|
|
50
50
|
}
|
|
51
51
|
function copyMod(modSourcePath, modTargetPath, verbose) {
|
|
52
|
-
if (file.exists(modTargetPath)) {
|
|
52
|
+
if (file.exists(modTargetPath, verbose)) {
|
|
53
53
|
file.deleteFileOrDirectory(modTargetPath, verbose);
|
|
54
54
|
}
|
|
55
55
|
file.copy(modSourcePath, modTargetPath, verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/commands/copy/copy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAkD;AAClD,qCAAuC;AACvC,iDAAmC;AAEnC,uCAAwD;AAExD,SAAgB,IAAI,CAAC,IAA6B,EAAE,MAAc;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,MAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,cAAc,CAAC,2BAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAPD,oBAOC;AAED,SAAgB,cAAc,CAC5B,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAPD,wCAOC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC/B,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CACd,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/commands/copy/copy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAkD;AAClD,qCAAuC;AACvC,iDAAmC;AAEnC,uCAAwD;AAExD,SAAgB,IAAI,CAAC,IAA6B,EAAE,MAAc;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,MAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,cAAc,CAAC,2BAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAPD,oBAOC;AAED,SAAgB,cAAc,CAC5B,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAPD,wCAOC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC/B,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CACd,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;QACvC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACpD;IACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -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
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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, verbose)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const fileType = file.isDir(projectPath, verbose) ? "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;
|
|
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,EAAE,OAAO,CAAC,EAAE;QAC7D,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,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
|
-
|
|
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;
|
|
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
|
-
if (!file.exists(modTargetPath)) {
|
|
38
|
+
if (!file.exists(modTargetPath, verbose)) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
const fileType = file.isDir(modTargetPath, verbose) ? "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;
|
|
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,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,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
|
-
|
|
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"]) {
|
|
@@ -71,11 +61,11 @@ function makeSubdirectories(projectPath, verbose) {
|
|
|
71
61
|
}
|
|
72
62
|
/** Copy static files, like ".eslintrc.js", "tsconfig.json", etc. */
|
|
73
63
|
function copyStaticFiles(projectPath, verbose) {
|
|
74
|
-
const staticFileList = file.getDirList(constants_1.TEMPLATES_STATIC_DIR);
|
|
64
|
+
const staticFileList = file.getDirList(constants_1.TEMPLATES_STATIC_DIR, verbose);
|
|
75
65
|
staticFileList.forEach((fileName) => {
|
|
76
66
|
const templateFilePath = path_1.default.join(constants_1.TEMPLATES_STATIC_DIR, fileName);
|
|
77
67
|
const destinationFilePath = path_1.default.join(projectPath, fileName);
|
|
78
|
-
if (!file.exists(destinationFilePath)) {
|
|
68
|
+
if (!file.exists(destinationFilePath, verbose)) {
|
|
79
69
|
file.copy(templateFilePath, destinationFilePath, verbose);
|
|
80
70
|
}
|
|
81
71
|
});
|
|
@@ -86,7 +76,7 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
|
|
|
86
76
|
{
|
|
87
77
|
const fileName = constants_1.GITIGNORE;
|
|
88
78
|
const templatePath = constants_1.GITIGNORE_TEMPLATE_PATH;
|
|
89
|
-
const template = file.read(templatePath);
|
|
79
|
+
const template = file.read(templatePath, verbose);
|
|
90
80
|
// Prepend a header with the project name
|
|
91
81
|
let separatorLine = "# ";
|
|
92
82
|
for (let i = 0; i < projectName.length; i++) {
|
|
@@ -103,7 +93,7 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
|
|
|
103
93
|
// Modify and copy the file
|
|
104
94
|
const fileName = constants_1.PACKAGE_JSON;
|
|
105
95
|
const templatePath = constants_1.PACKAGE_JSON_TEMPLATE_PATH;
|
|
106
|
-
const template = file.read(templatePath);
|
|
96
|
+
const template = file.read(templatePath, verbose);
|
|
107
97
|
const packageJSON = template.replace(/MOD_NAME_TO_REPLACE/g, projectName);
|
|
108
98
|
const destinationPath = path_1.default.join(projectPath, fileName);
|
|
109
99
|
file.write(destinationPath, packageJSON, verbose);
|
|
@@ -112,7 +102,7 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
|
|
|
112
102
|
{
|
|
113
103
|
const fileName = constants_1.README_MD;
|
|
114
104
|
const templatePath = constants_1.README_MD_TEMPLATES_PATH;
|
|
115
|
-
const template = file.read(templatePath);
|
|
105
|
+
const template = file.read(templatePath, verbose);
|
|
116
106
|
const readmeMD = template.replace(/MOD_NAME_TO_REPLACE/g, projectName);
|
|
117
107
|
const destinationPath = path_1.default.join(projectPath, fileName);
|
|
118
108
|
file.write(destinationPath, readmeMD, verbose);
|
|
@@ -121,18 +111,17 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
|
|
|
121
111
|
{
|
|
122
112
|
const fileName = constants_1.METADATA_XML;
|
|
123
113
|
const templatePath = constants_1.METADATA_XML_TEMPLATE_PATH;
|
|
124
|
-
const template = file.read(templatePath);
|
|
114
|
+
const template = file.read(templatePath, verbose);
|
|
125
115
|
const metadataXML = template.replace(/MOD_NAME_TO_REPLACE/g, projectName);
|
|
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
|
{
|
|
133
122
|
const fileName = constants_1.METADATA_VDF;
|
|
134
123
|
const templatePath = constants_1.METADATA_VDF_TEMPLATE_PATH;
|
|
135
|
-
const template = file.read(templatePath);
|
|
124
|
+
const template = file.read(templatePath, verbose);
|
|
136
125
|
const metadataVDF = template.replace(/MOD_TARGET_DIR/g, targetModDirectory);
|
|
137
126
|
const modPath = path_1.default.join(projectPath, "mod");
|
|
138
127
|
const destinationPath = path_1.default.join(modPath, fileName);
|
|
@@ -145,11 +134,25 @@ function copyDynamicFiles(projectName, projectPath, targetModDirectory, verbose)
|
|
|
145
134
|
const srcPath = path_1.default.join(projectPath, "src");
|
|
146
135
|
const fileName = constants_1.MAIN_TS;
|
|
147
136
|
const templatePath = constants_1.MAIN_TS_TEMPLATE_PATH;
|
|
148
|
-
const template = file.read(templatePath);
|
|
137
|
+
const template = file.read(templatePath, 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,6DAA+C;AAC/C,+CAcyB;AACzB,qCAAuC;AACvC,iDAAmC;AACnC,+BAA0C;AAE1C,SAAgB,SAAS,CACvB,WAAmB,EACnB,WAAmB,EACnB,YAAqB,EACrB,aAAqB,EACrB,QAAgB,EAChB,YAAgC,EAChC,cAAuB,EACvB,OAAgB;IAEhB,IAAI,YAAY,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACpC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAChE,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAExE,
|
|
1
|
+
{"version":3,"file":"createMod.js","sourceRoot":"","sources":["../../../../src/commands/init/createMod.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,14 +37,15 @@ const MODS = "mods";
|
|
|
37
37
|
const DEFAULT_MODS_PATH_WINDOWS = path_1.default.join("C:", "Program Files (x86)", "Steam", "steamapps", "common", "The Binding of Isaac Rebirth", MODS);
|
|
38
38
|
// This is a subdirectory of $HOME
|
|
39
39
|
const DEFAULT_MODS_PATH_LINUX = path_1.default.join(constants_1.HOME_DIR, ".local", "share", "Steam", "steamapps", "common", "The Binding of Isaac Rebirth", MODS);
|
|
40
|
-
async function getModsDir(argv) {
|
|
40
|
+
async function getModsDir(argv, verbose) {
|
|
41
41
|
if (argv.modsDirectory !== undefined) {
|
|
42
42
|
// They specified the "--mods-directory" command-line flag,
|
|
43
43
|
// so there is no need to prompt the user for it
|
|
44
44
|
return argv.modsDirectory;
|
|
45
45
|
}
|
|
46
46
|
const defaultModsPath = getDefaultModsPath(process.platform);
|
|
47
|
-
if (file.exists(defaultModsPath) &&
|
|
47
|
+
if (file.exists(defaultModsPath, verbose) &&
|
|
48
|
+
file.isDir(defaultModsPath, verbose)) {
|
|
48
49
|
return defaultModsPath;
|
|
49
50
|
}
|
|
50
51
|
console.error(`Failed to find your mods directory at: ${chalk_1.default.green(defaultModsPath)}`);
|
|
@@ -52,10 +53,10 @@ async function getModsDir(argv) {
|
|
|
52
53
|
if (modsDir === "") {
|
|
53
54
|
(0, utils_1.error)("Error: You did not provide a response; exiting.");
|
|
54
55
|
}
|
|
55
|
-
if (!file.exists(modsDir)) {
|
|
56
|
+
if (!file.exists(modsDir, verbose)) {
|
|
56
57
|
(0, utils_1.error)(`Error: The directory of "${chalk_1.default.green(modsDir)}" does not exist. Exiting.`);
|
|
57
58
|
}
|
|
58
|
-
if (!file.isDir(modsDir)) {
|
|
59
|
+
if (!file.isDir(modsDir, verbose)) {
|
|
59
60
|
(0, utils_1.error)(`Error: The path of "${chalk_1.default.green(modsDir)}" is not a directory. Exiting.`);
|
|
60
61
|
}
|
|
61
62
|
if (path_1.default.basename(modsDir) !== MODS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModsDir.js","sourceRoot":"","sources":["../../../../src/commands/init/getModsDir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAA2C;AAC3C,iDAAmC;AACnC,yCAA8C;AAC9C,uCAAoC;AAEpC,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,yBAAyB,GAAG,cAAI,CAAC,IAAI,CACzC,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEF,kCAAkC;AAClC,MAAM,uBAAuB,GAAG,cAAI,CAAC,IAAI,CACvC,oBAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEK,KAAK,UAAU,UAAU,CAC9B,IAA6B;
|
|
1
|
+
{"version":3,"file":"getModsDir.js","sourceRoot":"","sources":["../../../../src/commands/init/getModsDir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAA2C;AAC3C,iDAAmC;AACnC,yCAA8C;AAC9C,uCAAoC;AAEpC,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,yBAAyB,GAAG,cAAI,CAAC,IAAI,CACzC,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEF,kCAAkC;AAClC,MAAM,uBAAuB,GAAG,cAAI,CAAC,IAAI,CACvC,oBAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEK,KAAK,UAAU,UAAU,CAC9B,IAA6B,EAC7B,OAAgB;IAEhB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;QACpC,2DAA2D;QAC3D,gDAAgD;QAChD,OAAO,IAAI,CAAC,aAAuB,CAAC;KACrC;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,uBAAc,EAClC,+BAA+B,IAAI,kFAAkF,CACtH,CAAC;IAEF,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,IAAA,aAAK,EAAC,iDAAiD,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAClC,IAAA,aAAK,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,aAAK,EACH,uBAAuB,eAAK,CAAC,KAAK,CAChC,OAAO,CACR,gCAAgC,CAClC,CAAC;KACH;IAED,IAAI,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACnC,IAAA,aAAK,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,aAAK,EACH,gEAAgE,eAAK,CAAC,KAAK,CACzE,QAAQ,CACT,EAAE,CACJ,CAAC;YACF,OAAO,EAAE,CAAC;SACX;KACF;AACH,CAAC"}
|
|
@@ -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 (
|
|
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,13 +37,18 @@ 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();
|
|
43
50
|
}
|
|
44
|
-
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
51
|
+
validateProjectName(projectName);
|
|
47
52
|
console.log(`Using a project name of: ${chalk_1.default.green(projectName)}`);
|
|
48
53
|
return [projectPath, createNewDir];
|
|
49
54
|
}
|
|
@@ -65,21 +70,20 @@ async function getNewProjectName() {
|
|
|
65
70
|
}
|
|
66
71
|
function validateProjectName(projectName) {
|
|
67
72
|
if (projectName === "") {
|
|
68
|
-
|
|
69
|
-
return false;
|
|
73
|
+
(0, utils_1.error)("Error: You cannot have a blank project name.");
|
|
70
74
|
}
|
|
71
75
|
if (process.platform === "win32") {
|
|
72
76
|
for (const character of ILLEGAL_CHARACTERS_FOR_WINDOWS_FILENAMES) {
|
|
73
77
|
if (projectName.includes(character)) {
|
|
74
|
-
|
|
75
|
-
return false;
|
|
78
|
+
(0, utils_1.error)(`Error: The "${character}" character is not allowed in a Windows file name.`);
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
82
|
if ((0, utils_1.hasWhiteSpace)(projectName)) {
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
(0, utils_1.error)('Error: The project name has whitespace in it, which is not allowed. Use kebab-case for your project name. (e.g. "green-candle")');
|
|
84
|
+
}
|
|
85
|
+
if (!(0, utils_1.isKebabCase)(projectName)) {
|
|
86
|
+
(0, utils_1.error)("Error: The project name is not in kebab-case. (Kebab-case is the style of using all lowercase letters, with words separated by hyphens.) Project names must use kebab-case to match GitHub repository standards.");
|
|
82
87
|
}
|
|
83
|
-
return true;
|
|
84
88
|
}
|
|
85
89
|
//# sourceMappingURL=getProjectPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../src/commands/init/getProjectPath.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAA8D;AAC9D,yCAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../src/commands/init/getProjectPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,14 +38,14 @@ 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.');
|
|
45
45
|
return undefined;
|
|
46
46
|
}
|
|
47
47
|
validateNewGitVersion(verbose);
|
|
48
|
-
const gitHubUsername = getGitHubUsername();
|
|
48
|
+
const gitHubUsername = getGitHubUsername(verbose);
|
|
49
49
|
if (gitHubUsername !== undefined) {
|
|
50
50
|
const [exitStatus] = (0, exec_1.execShell)("gh", ["repo", "view", projectName], verbose, true);
|
|
51
51
|
const gitHubRepoExists = exitStatus === 0;
|
|
@@ -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
|
|
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: ${chalk_1.default.green(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",
|
|
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
|
|
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.
|
|
@@ -98,7 +107,7 @@ function validateNewGitVersion(verbose) {
|
|
|
98
107
|
console.error(`Please upgrade your version of Git before using ${constants_1.PROJECT_NAME}.`);
|
|
99
108
|
process.exit(1);
|
|
100
109
|
}
|
|
101
|
-
function getGitHubUsername() {
|
|
110
|
+
function getGitHubUsername(verbose) {
|
|
102
111
|
// If the GitHub CLI is installed, we can derive the user's GitHub username
|
|
103
112
|
if (!command_exists_1.default.sync("gh") ||
|
|
104
113
|
process.env.APPDATA === undefined ||
|
|
@@ -106,17 +115,17 @@ function getGitHubUsername() {
|
|
|
106
115
|
return undefined;
|
|
107
116
|
}
|
|
108
117
|
const githubCLIHostsPath = path_1.default.join(process.env.APPDATA, "GitHub CLI", "hosts.yml");
|
|
109
|
-
if (!file.exists(githubCLIHostsPath)) {
|
|
118
|
+
if (!file.exists(githubCLIHostsPath, verbose)) {
|
|
110
119
|
return undefined;
|
|
111
120
|
}
|
|
112
|
-
const configYAMLRaw = file.read(githubCLIHostsPath);
|
|
121
|
+
const configYAMLRaw = file.read(githubCLIHostsPath, verbose);
|
|
113
122
|
const configYAML = yaml_1.default.parse(configYAMLRaw);
|
|
114
123
|
const githubCom = configYAML["github.com"];
|
|
115
124
|
if (githubCom === undefined) {
|
|
116
125
|
return undefined;
|
|
117
126
|
}
|
|
118
127
|
const { user } = githubCom;
|
|
119
|
-
if (user === "") {
|
|
128
|
+
if (user === undefined || user === "") {
|
|
120
129
|
return undefined;
|
|
121
130
|
}
|
|
122
131
|
return user;
|
|
@@ -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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,oEAA2C;AAC3C,gDAAwB;AACxB,gDAAwB;AACxB,+CAA+C;AAC/C,qCAAuC;AACvC,iDAAmC;AACnC,yCAA6D;AAE7D,uCAAiD;AAEjD,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE/B,KAAK,UAAU,8BAA8B,CAClD,WAAmB,EACnB,OAAgB;IAEhB,sEAAsE;IACtE,IAAI,CAAC,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CACT,yGAAyG,CAC1G,CAAC;QACF,OAAO,SAAS,CAAC;KAClB;IAED,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,cAAc,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/commands/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,oEAA2C;AAC3C,gDAAwB;AACxB,gDAAwB;AACxB,+CAA+C;AAC/C,qCAAuC;AACvC,iDAAmC;AACnC,yCAA6D;AAE7D,uCAAiD;AAEjD,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE/B,KAAK,UAAU,8BAA8B,CAClD,WAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,sEAAsE;IACtE,IAAI,CAAC,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CACT,yGAAyG,CAC1G,CAAC;QACF,OAAO,SAAS,CAAC;KAClB;IAED,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,gBAAS,EAC5B,IAAI,EACJ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAC7B,OAAO,EACP,IAAI,CACL,CAAC;QACF,MAAM,gBAAgB,GAAG,UAAU,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,sBAAsB,cAAc,IAAI,WAAW,EAAE,CAAC;QAElE,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,GAAG,CACT,8CAA8C,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACjE,CAAC;YACF,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAEtE,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CACT,8BAA8B,eAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAC9D,CAAC;gBACF,OAAO,gBAAgB,CAAC;aACzB;YAED,MAAM,mBAAmB,GAAG,MAAM,IAAA,sBAAa,EAC7C,2CAA2C,eAAK,CAAC,KAAK,CACpD,gBAAgB,CACjB,EAAE,CACJ,CAAC;YACF,IAAI,mBAAmB,EAAE;gBACvB,OAAO,gBAAgB,CAAC;aACzB;YAED,oFAAoF;YACpF,qEAAqE;YACrE,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,GAAG,EAAE;YACP,IAAA,gBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,uCAAuC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;SACrD;QAED,MAAM,mBAAmB,GAAG,MAAM,IAAA,sBAAa,EAC7C,wDAAwD,eAAK,CAAC,KAAK,CACjE,GAAG,CACJ,EAAE,CACJ,CAAC;QACF,IAAI,mBAAmB,EAAE;YACvB,IAAA,gBAAS,EAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;SACrD;QAED,4FAA4F;QAC5F,qCAAqC;QACrC,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAChB,MAAM,IAAA,uBAAc,EAAC;;EAEvB,eAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC;;EAEpD,eAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC;;CAEzD,CAAC,CAAC;IAED,OAAO,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AACxD,CAAC;AArFD,wEAqFC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,cAAc,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACpC,IAAA,aAAK,EACH,gEAAgE,MAAM,EAAE,CACzE,CAAC;KACH;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,IAAA,mBAAW,EAAC,gBAAgB,CAAC,CAAC;IAEnE,IACE,YAAY,IAAI,0BAA0B;QAC1C,YAAY,IAAI,0BAA0B,EAC1C;QACA,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CAAC,wBAAwB,eAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,KAAK,CACX,GAAG,wBAAY,8BAA8B,eAAK,CAAC,GAAG,CACpD,GAAG,0BAA0B,IAAI,0BAA0B,IAAI,CAChE,cAAc,CAChB,CAAC;IACF,OAAO,CAAC,KAAK,CACX,mDAAmD,wBAAY,GAAG,CACnE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,2EAA2E;IAC3E,IACE,CAAC,wBAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS;QACjC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,EAC1B;QACA,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAClC,OAAO,CAAC,GAAG,CAAC,OAAO,EACnB,YAAY,EACZ,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC7C,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,cAAI,CAAC,KAAK,CAAC,aAAa,CAAuB,CAAC;IAEnE,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE;QACrC,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,cAAsB;IAClE,OAAO,kBAAkB,cAAc,IAAI,WAAW,MAAM,CAAC;AAC/D,CAAC;AAED,SAAgB,iBAAiB,CAC/B,WAAmB,EACnB,YAAgC,EAChC,OAAgB;IAEhB,IAAI,CAAC,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9B,OAAO;KACR;IAED,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACxD,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAExE,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE;QACxC,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChE,IAAA,gBAAS,EACP,KAAK,EACL,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,wBAAY,WAAW,CAAC,EACnD,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;KACH;IAED,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,IAAA,gBAAS,EACP,KAAK,EACL,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,EACzC,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;KACH;AACH,CAAC;AAhCD,8CAgCC;AAED,SAAS,2BAA2B,CAAC,OAAgB;IACnD,MAAM,CAAC,cAAc,CAAC,GAAG,IAAA,gBAAS,EAChC,KAAK,EACL,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,EACnC,OAAO,EACP,IAAI,CACL,CAAC;IAEF,MAAM,CAAC,eAAe,CAAC,GAAG,IAAA,gBAAS,EACjC,KAAK,EACL,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,EACpC,OAAO,EACP,IAAI,CACL,CAAC;IAEF,OAAO,cAAc,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,MAAM,KAAK,EAAE,CAAC;AACvB,CAAC;AAJD,gCAIC;AAED,SAAgB,kBAAkB,CAAC,OAAe,EAAE,OAAgB;IAClE,iDAAiD;IACjD,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO;KACR;IAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;IACpC,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpC,OAAO,CAAC,GAAG,CACT,iEAAiE,aAAa,EAAE,CACjF,CAAC;AACJ,CAAC;AAjBD,gDAiBC"}
|