isaacscript 3.16.0 → 3.16.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/dist/checkForWindowsTerminalBugs.js +57 -0
- package/{src → dist}/classes/Config.js +1 -6
- package/dist/classes/ValidatedConfig.js +1 -0
- package/{src → dist}/commands/check/check.js +60 -68
- package/dist/commands/check/check.test.js +86 -0
- package/dist/commands/copy/copy.js +29 -0
- package/dist/commands/init/checkIfProjectPathExists.js +21 -0
- package/dist/commands/init/checkModSubdirectory.js +9 -0
- package/dist/commands/init/checkModTargetDirectory.js +24 -0
- package/dist/commands/init/createProject.js +199 -0
- package/dist/commands/init/getAuthorName.js +22 -0
- package/dist/commands/init/getModsDir.js +48 -0
- package/dist/commands/init/getProjectPath.js +84 -0
- package/dist/commands/init/init.js +73 -0
- package/dist/commands/init/installVSCodeExtensions.js +27 -0
- package/dist/commands/init/promptSaveSlot.js +17 -0
- package/{src → dist}/commands/init/promptVSCode.js +5 -10
- package/dist/commands/monitor/copyWatcherMod.js +31 -0
- package/dist/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +44 -0
- package/dist/commands/monitor/monitor.js +154 -0
- package/{src → dist}/commands/monitor/notifyGame.js +14 -22
- package/{src → dist}/commands/monitor/saveDatWriter/saveDatWriter.js +24 -27
- package/dist/commands/monitor/saveDatWriter/types.js +1 -0
- package/dist/commands/monitor/spawnModDirectorySyncer.js +31 -0
- package/dist/commands/monitor/spawnSaveDatWriter.js +29 -0
- package/dist/commands/monitor/spawnTSTLWatcher.js +74 -0
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js +15 -0
- package/dist/commands/publish/isaacscriptMod.js +90 -0
- package/dist/commands/publish/prePublish.js +105 -0
- package/dist/commands/publish/publish.js +39 -0
- package/dist/commands/publish/validate.js +46 -0
- package/dist/common.js +65 -0
- package/dist/configFile.js +54 -0
- package/dist/constants.js +61 -0
- package/dist/customStage.js +298 -0
- package/dist/dev.js +10 -0
- package/{src/enums → dist/enums/copied}/DoorSlot.js +5 -6
- package/dist/enums/copied/DoorSlotFlag.js +35 -0
- package/{src/enums → dist/enums/copied}/RoomShape.js +5 -6
- package/{src → dist}/exec.js +19 -28
- package/dist/git.js +133 -0
- package/dist/interfaces/GitHubCLIHostsYAML.js +1 -0
- package/dist/interfaces/IsaacScriptTSConfig.js +1 -0
- package/dist/interfaces/ShadersXML.js +1 -0
- package/dist/interfaces/copied/CustomStageTSConfig.js +4 -0
- package/dist/interfaces/copied/JSONRoomsFile.js +4 -0
- package/dist/main.js +132 -0
- package/dist/objects/copied/doorSlotToDoorSlotFlag.js +16 -0
- package/dist/objects/copied/roomShapeToDoorSlotCoordinates.js +112 -0
- package/dist/packageManager.js +68 -0
- package/{src → dist}/parseArgs.js +36 -15
- package/dist/prompt.js +79 -0
- package/dist/tsconfig.js +98 -0
- package/dist/types/Command.js +4 -0
- package/dist/utils.js +8 -0
- package/dist/validateInIsaacScriptProject.js +29 -0
- package/dist/validateNodeVersion.js +20 -0
- package/file-templates/dynamic/.github/workflows/setup/action.yml +21 -0
- package/file-templates/dynamic/README.mod.md +4 -3
- package/file-templates/dynamic/_gitignore +0 -2
- package/file-templates/dynamic/package.mod.json +8 -0
- package/file-templates/dynamic/package.ts.json +5 -1
- package/file-templates/{dynamic → static}/.github/workflows/ci.yml +10 -38
- package/file-templates/static/scripts/tsconfig.json +28 -0
- package/file-templates/static-mod/.vscode/settings.json +1 -1
- package/file-templates/static-mod/{_cspell.json → _cspell.jsonc} +2 -2
- package/file-templates/static-mod/_eslintrc.cjs +1 -1
- package/file-templates/static-mod/prettier.config.mjs +6 -1
- package/file-templates/static-mod/scripts/lint.ts +36 -0
- package/file-templates/static-mod/tsconfig.json +5 -5
- package/file-templates/static-ts/.vscode/settings.json +1 -1
- package/file-templates/static-ts/{_cspell.json → _cspell.jsonc} +5 -5
- package/file-templates/static-ts/_eslintrc.cjs +1 -1
- package/file-templates/static-ts/knip.jsonc +6 -0
- package/file-templates/static-ts/prettier.config.mjs +6 -1
- package/file-templates/static-ts/scripts/lint.ts +30 -0
- package/file-templates/static-ts/tsconfig.json +3 -3
- package/package.json +27 -9
- package/plugins/addCrashDebugStatements.cjs +56 -0
- package/plugins/addCrashDebugStatements.ts +39 -0
- package/{src/plugins/addIsaacScriptCommentHeader.js → plugins/addIsaacScriptCommentHeader.cjs} +1 -1
- package/plugins/addIsaacScriptCommentHeader.ts +42 -0
- package/{src/plugins/addIsaacScriptCommentHeaderCommon.js → plugins/addIsaacScriptCommentHeaderCommon.cjs} +6 -4
- package/plugins/addIsaacScriptCommentHeaderCommon.ts +59 -0
- package/{src/plugins/noExtendedEnums.js → plugins/noExtendedEnums.cjs} +25 -4
- package/plugins/noExtendedEnums.ts +83 -0
- package/plugins/tsconfig.json +28 -0
- package/schemas/tsconfig-isaacscript-section-schema.json +1 -0
- package/file-templates/static/nuke.sh +0 -53
- package/file-templates/static/update.sh +0 -26
- package/file-templates/static-mod/build.sh +0 -22
- package/file-templates/static-mod/lint.sh +0 -43
- package/file-templates/static-mod/publish.sh +0 -10
- package/file-templates/static-mod/run.sh +0 -10
- package/file-templates/static-ts/build.sh +0 -53
- package/file-templates/static-ts/lint.sh +0 -35
- package/file-templates/static-ts/publish.sh +0 -10
- package/file-templates/static-ts/run.sh +0 -42
- package/src/checkForWindowsTerminalBugs.js +0 -71
- package/src/checkForWindowsTerminalBugs.js.map +0 -1
- package/src/classes/Config.js.map +0 -1
- package/src/classes/ValidatedConfig.js +0 -3
- package/src/classes/ValidatedConfig.js.map +0 -1
- package/src/commands/check/check.js.map +0 -1
- package/src/commands/check/check.test.js +0 -87
- package/src/commands/check/check.test.js.map +0 -1
- package/src/commands/copy/copy.js +0 -38
- package/src/commands/copy/copy.js.map +0 -1
- package/src/commands/init/checkIfProjectPathExists.js +0 -28
- package/src/commands/init/checkIfProjectPathExists.js.map +0 -1
- package/src/commands/init/checkModSubdirectory.js +0 -16
- package/src/commands/init/checkModSubdirectory.js.map +0 -1
- package/src/commands/init/checkModTargetDirectory.js +0 -31
- package/src/commands/init/checkModTargetDirectory.js.map +0 -1
- package/src/commands/init/createProject.js +0 -220
- package/src/commands/init/createProject.js.map +0 -1
- package/src/commands/init/getAuthorName.js +0 -27
- package/src/commands/init/getAuthorName.js.map +0 -1
- package/src/commands/init/getModsDir.js +0 -58
- package/src/commands/init/getModsDir.js.map +0 -1
- package/src/commands/init/getProjectPath.js +0 -89
- package/src/commands/init/getProjectPath.js.map +0 -1
- package/src/commands/init/init.js +0 -78
- package/src/commands/init/init.js.map +0 -1
- package/src/commands/init/installVSCodeExtensions.js +0 -35
- package/src/commands/init/installVSCodeExtensions.js.map +0 -1
- package/src/commands/init/promptSaveSlot.js +0 -22
- package/src/commands/init/promptSaveSlot.js.map +0 -1
- package/src/commands/init/promptVSCode.js.map +0 -1
- package/src/commands/monitor/copyWatcherMod.js +0 -39
- package/src/commands/monitor/copyWatcherMod.js.map +0 -1
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +0 -47
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +0 -1
- package/src/commands/monitor/monitor.js +0 -263
- package/src/commands/monitor/monitor.js.map +0 -1
- package/src/commands/monitor/notifyGame.js.map +0 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +0 -1
- package/src/commands/monitor/saveDatWriter/types.js +0 -3
- package/src/commands/monitor/saveDatWriter/types.js.map +0 -1
- package/src/commands/monitor/spawnSaveDatWriter.js +0 -35
- package/src/commands/monitor/spawnSaveDatWriter.js.map +0 -1
- package/src/commands/monitor/touchWatcherSaveDatFiles.js +0 -21
- package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +0 -1
- package/src/commands/publish/isaacscriptMod.js +0 -97
- package/src/commands/publish/isaacscriptMod.js.map +0 -1
- package/src/commands/publish/prePublish.js +0 -120
- package/src/commands/publish/prePublish.js.map +0 -1
- package/src/commands/publish/publish.js +0 -42
- package/src/commands/publish/publish.js.map +0 -1
- package/src/commands/publish/validate.js +0 -58
- package/src/commands/publish/validate.js.map +0 -1
- package/src/common.js +0 -69
- package/src/common.js.map +0 -1
- package/src/configFile.js +0 -64
- package/src/configFile.js.map +0 -1
- package/src/constants.js +0 -67
- package/src/constants.js.map +0 -1
- package/src/customStage.js +0 -304
- package/src/customStage.js.map +0 -1
- package/src/dev.js +0 -19
- package/src/dev.js.map +0 -1
- package/src/enums/DoorSlot.js.map +0 -1
- package/src/enums/DoorSlotFlag.js +0 -37
- package/src/enums/DoorSlotFlag.js.map +0 -1
- package/src/enums/PackageManager.js +0 -10
- package/src/enums/PackageManager.js.map +0 -1
- package/src/enums/RoomShape.js.map +0 -1
- package/src/exec.js.map +0 -1
- package/src/file.js +0 -247
- package/src/file.js.map +0 -1
- package/src/git.js +0 -154
- package/src/git.js.map +0 -1
- package/src/interfaces/GitHubCLIHostsYAML.js +0 -3
- package/src/interfaces/GitHubCLIHostsYAML.js.map +0 -1
- package/src/interfaces/IsaacScriptTSConfig.js +0 -3
- package/src/interfaces/IsaacScriptTSConfig.js.map +0 -1
- package/src/interfaces/ShadersXML.js +0 -3
- package/src/interfaces/ShadersXML.js.map +0 -1
- package/src/interfaces/copied/CustomStageTSConfig.js +0 -4
- package/src/interfaces/copied/CustomStageTSConfig.js.map +0 -1
- package/src/interfaces/copied/JSONRoomsFile.js +0 -4
- package/src/interfaces/copied/JSONRoomsFile.js.map +0 -1
- package/src/isaacScriptCommonTS.js +0 -233
- package/src/isaacScriptCommonTS.js.map +0 -1
- package/src/json.js +0 -42
- package/src/json.js.map +0 -1
- package/src/main.js +0 -127
- package/src/main.js.map +0 -1
- package/src/objects/doorSlotToDoorSlotFlag.js +0 -17
- package/src/objects/doorSlotToDoorSlotFlag.js.map +0 -1
- package/src/objects/roomShapeDoorToSlotCoordinates.js +0 -115
- package/src/objects/roomShapeDoorToSlotCoordinates.js.map +0 -1
- package/src/packageManager.js +0 -153
- package/src/packageManager.js.map +0 -1
- package/src/parseArgs.js.map +0 -1
- package/src/plugins/addCrashDebugStatements.js +0 -32
- package/src/plugins/addCrashDebugStatements.js.map +0 -1
- package/src/plugins/addIsaacScriptCommentHeader.js.map +0 -1
- package/src/plugins/addIsaacScriptCommentHeaderCommon.js.map +0 -1
- package/src/plugins/noExtendedEnums.js.map +0 -1
- package/src/prompt.js +0 -87
- package/src/prompt.js.map +0 -1
- package/src/tsconfig.js +0 -103
- package/src/tsconfig.js.map +0 -1
- package/src/types/Command.js +0 -9
- package/src/types/Command.js.map +0 -1
- package/src/utils.js +0 -15
- package/src/utils.js.map +0 -1
- package/src/validateInIsaacScriptProject.js +0 -36
- package/src/validateInIsaacScriptProject.js.map +0 -1
- package/src/validateNodeVersion.js +0 -29
- package/src/validateNodeVersion.js.map +0 -1
- package/src/version.js +0 -20
- package/src/version.js.map +0 -1
package/src/file.js
DELETED
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writeFileTry = exports.writeFile = exports.touch = exports.renameFile = exports.readFile = exports.makeDir = exports.isSubDirOf = exports.isLink = exports.isFile = exports.isDir = exports.getHashOfFile = exports.getDirList = exports.fileExists = exports.deleteFileOrDirectory = exports.copyFile = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const node_crypto_1 = tslib_1.__importDefault(require("node:crypto"));
|
|
7
|
-
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
8
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
9
|
-
const isaacScriptCommonTS_js_1 = require("./isaacScriptCommonTS.js");
|
|
10
|
-
function copyFile(srcPath, dstPath, verbose) {
|
|
11
|
-
if (verbose) {
|
|
12
|
-
console.log(`Copying: ${srcPath} --> ${dstPath}`);
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
node_fs_1.default.cpSync(srcPath, dstPath, {
|
|
16
|
-
recursive: true,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to copy file or directory "${chalk_1.default.green(srcPath)}" to "${chalk_1.default.green(dstPath)}":`, error);
|
|
21
|
-
}
|
|
22
|
-
if (verbose) {
|
|
23
|
-
console.log(`Copied: ${srcPath} --> ${dstPath}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.copyFile = copyFile;
|
|
27
|
-
function deleteFileOrDirectory(filePath, verbose) {
|
|
28
|
-
if (verbose) {
|
|
29
|
-
console.log(`Deleting: ${filePath}`);
|
|
30
|
-
}
|
|
31
|
-
try {
|
|
32
|
-
node_fs_1.default.rmSync(filePath, {
|
|
33
|
-
recursive: true,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to delete file or directory "${chalk_1.default.green(filePath)}":`, error);
|
|
38
|
-
}
|
|
39
|
-
if (verbose) {
|
|
40
|
-
console.log(`Deleted: ${filePath}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.deleteFileOrDirectory = deleteFileOrDirectory;
|
|
44
|
-
function fileExists(filePath, verbose) {
|
|
45
|
-
if (verbose) {
|
|
46
|
-
console.log(`Checking to see if the following path exists: ${filePath}`);
|
|
47
|
-
}
|
|
48
|
-
let pathExists;
|
|
49
|
-
try {
|
|
50
|
-
pathExists = node_fs_1.default.existsSync(filePath);
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to check if "${chalk_1.default.green(filePath)}" exists:`, error);
|
|
54
|
-
}
|
|
55
|
-
if (verbose) {
|
|
56
|
-
console.log(`Path exists: ${pathExists}`);
|
|
57
|
-
}
|
|
58
|
-
return pathExists;
|
|
59
|
-
}
|
|
60
|
-
exports.fileExists = fileExists;
|
|
61
|
-
/**
|
|
62
|
-
* Returns an array of the file names inside of the directory. (If the full path is required, you
|
|
63
|
-
* must manually join it with the path to the directory.)
|
|
64
|
-
*/
|
|
65
|
-
function getDirList(dirPath, verbose) {
|
|
66
|
-
if (verbose) {
|
|
67
|
-
console.log(`Getting a directory list from: ${dirPath}`);
|
|
68
|
-
}
|
|
69
|
-
let fileList;
|
|
70
|
-
try {
|
|
71
|
-
fileList = node_fs_1.default.readdirSync(dirPath);
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to get the files in the "${chalk_1.default.green(dirPath)}" directory:`, error);
|
|
75
|
-
}
|
|
76
|
-
if (verbose) {
|
|
77
|
-
console.log(`Got a directory list from: ${dirPath}`);
|
|
78
|
-
}
|
|
79
|
-
return fileList;
|
|
80
|
-
}
|
|
81
|
-
exports.getDirList = getDirList;
|
|
82
|
-
function getFileStats(filePath, verbose) {
|
|
83
|
-
if (verbose) {
|
|
84
|
-
console.log(`Getting file stats from: ${filePath}`);
|
|
85
|
-
}
|
|
86
|
-
let fileStats;
|
|
87
|
-
try {
|
|
88
|
-
fileStats = node_fs_1.default.statSync(filePath);
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to get the file stats for "${chalk_1.default.green(filePath)}":`, error);
|
|
92
|
-
}
|
|
93
|
-
if (verbose) {
|
|
94
|
-
console.log(`Got file stats from: ${filePath}`);
|
|
95
|
-
}
|
|
96
|
-
return fileStats;
|
|
97
|
-
}
|
|
98
|
-
function getHashOfFile(filePath) {
|
|
99
|
-
const fileBuffer = node_fs_1.default.readFileSync(filePath);
|
|
100
|
-
const hashSum = node_crypto_1.default.createHash("sha256");
|
|
101
|
-
hashSum.update(fileBuffer);
|
|
102
|
-
return hashSum.digest("hex");
|
|
103
|
-
}
|
|
104
|
-
exports.getHashOfFile = getHashOfFile;
|
|
105
|
-
/**
|
|
106
|
-
* `fs.lstatSync` is necessary (instead of `fs.statSync`) for the situations where we do not want to
|
|
107
|
-
* follow symbolic links.
|
|
108
|
-
*/
|
|
109
|
-
function getLinkedFileStats(filePath, verbose) {
|
|
110
|
-
if (verbose) {
|
|
111
|
-
console.log(`Getting linked file stats from: ${filePath}`);
|
|
112
|
-
}
|
|
113
|
-
let fileStats;
|
|
114
|
-
try {
|
|
115
|
-
fileStats = node_fs_1.default.lstatSync(filePath);
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to get the linked file stats for "${chalk_1.default.green(filePath)}":`, error);
|
|
119
|
-
}
|
|
120
|
-
if (verbose) {
|
|
121
|
-
console.log(`Got linked file stats from: ${filePath}`);
|
|
122
|
-
}
|
|
123
|
-
return fileStats;
|
|
124
|
-
}
|
|
125
|
-
function isDir(filePath, verbose) {
|
|
126
|
-
const fileStats = getFileStats(filePath, verbose);
|
|
127
|
-
return fileStats.isDirectory();
|
|
128
|
-
}
|
|
129
|
-
exports.isDir = isDir;
|
|
130
|
-
function isFile(filePath, verbose) {
|
|
131
|
-
const fileStats = getFileStats(filePath, verbose);
|
|
132
|
-
return fileStats.isFile();
|
|
133
|
-
}
|
|
134
|
-
exports.isFile = isFile;
|
|
135
|
-
function isLink(filePath, verbose) {
|
|
136
|
-
// We must use `getLinkedFileStats` instead of `getFileStats`.
|
|
137
|
-
const fileStats = getLinkedFileStats(filePath, verbose);
|
|
138
|
-
return fileStats.isSymbolicLink();
|
|
139
|
-
}
|
|
140
|
-
exports.isLink = isLink;
|
|
141
|
-
function isSubDirOf(dir, parent) {
|
|
142
|
-
const relative = node_path_1.default.relative(parent, dir);
|
|
143
|
-
return (relative !== "" && !relative.startsWith("..") && !node_path_1.default.isAbsolute(relative));
|
|
144
|
-
}
|
|
145
|
-
exports.isSubDirOf = isSubDirOf;
|
|
146
|
-
/** Will recursively make as many subdirectories as needed. */
|
|
147
|
-
function makeDir(dirPath, verbose) {
|
|
148
|
-
if (verbose) {
|
|
149
|
-
console.log(`Making a directory: ${dirPath}`);
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
node_fs_1.default.mkdirSync(dirPath, {
|
|
153
|
-
recursive: true,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to create the "${chalk_1.default.green(dirPath)}" directory:`, error);
|
|
158
|
-
}
|
|
159
|
-
if (verbose) {
|
|
160
|
-
console.log(`Made a directory: ${dirPath}`);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
exports.makeDir = makeDir;
|
|
164
|
-
function readFile(filePath, verbose) {
|
|
165
|
-
if (verbose) {
|
|
166
|
-
console.log(`Reading a file: ${filePath}`);
|
|
167
|
-
}
|
|
168
|
-
let fileContents;
|
|
169
|
-
try {
|
|
170
|
-
fileContents = node_fs_1.default.readFileSync(filePath, "utf8");
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to read the "${chalk_1.default.green(filePath)}" file:`, error);
|
|
174
|
-
}
|
|
175
|
-
if (verbose) {
|
|
176
|
-
console.log(`Read a file: ${filePath}`);
|
|
177
|
-
}
|
|
178
|
-
return fileContents;
|
|
179
|
-
}
|
|
180
|
-
exports.readFile = readFile;
|
|
181
|
-
function renameFile(srcPath, dstPath, verbose) {
|
|
182
|
-
if (verbose) {
|
|
183
|
-
console.log(`Renaming: ${srcPath} --> ${dstPath}`);
|
|
184
|
-
}
|
|
185
|
-
try {
|
|
186
|
-
node_fs_1.default.renameSync(srcPath, dstPath);
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
189
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to rename "${chalk_1.default.green(srcPath)}" to "${chalk_1.default.green(dstPath)}":`, error);
|
|
190
|
-
}
|
|
191
|
-
if (verbose) {
|
|
192
|
-
console.log(`Renamed: ${srcPath} --> ${dstPath}`);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
exports.renameFile = renameFile;
|
|
196
|
-
function touch(filePath, verbose) {
|
|
197
|
-
if (verbose) {
|
|
198
|
-
console.log(`Touching: ${filePath}`);
|
|
199
|
-
}
|
|
200
|
-
if (fileExists(filePath, verbose)) {
|
|
201
|
-
try {
|
|
202
|
-
node_fs_1.default.accessSync(filePath);
|
|
203
|
-
const now = new Date();
|
|
204
|
-
node_fs_1.default.utimesSync(filePath, now, now);
|
|
205
|
-
}
|
|
206
|
-
catch (error) {
|
|
207
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to touch the "${chalk_1.default.green(filePath)}" file:`, error);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
writeFile(filePath, "", verbose);
|
|
212
|
-
}
|
|
213
|
-
if (verbose) {
|
|
214
|
-
console.log(`Touched: ${filePath}`);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
exports.touch = touch;
|
|
218
|
-
function writeFile(filePath, data, verbose) {
|
|
219
|
-
if (verbose) {
|
|
220
|
-
console.log(`Writing data to: ${filePath}`);
|
|
221
|
-
}
|
|
222
|
-
try {
|
|
223
|
-
node_fs_1.default.writeFileSync(filePath, data);
|
|
224
|
-
}
|
|
225
|
-
catch (error) {
|
|
226
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to write to the "${chalk_1.default.green(filePath)}" file:`, error);
|
|
227
|
-
}
|
|
228
|
-
if (verbose) {
|
|
229
|
-
console.log(`Wrote data to: ${filePath}`);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
exports.writeFile = writeFile;
|
|
233
|
-
/**
|
|
234
|
-
* Intended to be used in a try/catch block so that you can catch the error and handle it
|
|
235
|
-
* accordingly.
|
|
236
|
-
*/
|
|
237
|
-
function writeFileTry(filePath, data, verbose) {
|
|
238
|
-
if (verbose) {
|
|
239
|
-
console.log(`Writing data to: ${filePath}`);
|
|
240
|
-
}
|
|
241
|
-
node_fs_1.default.writeFileSync(filePath, data);
|
|
242
|
-
if (verbose) {
|
|
243
|
-
console.log(`Wrote data to: ${filePath}`);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
exports.writeFileTry = writeFileTry;
|
|
247
|
-
//# sourceMappingURL=file.js.map
|
package/src/file.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/file.ts"],"names":[],"mappings":"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"}
|
package/src/git.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getReleaseGitCommitMessage = exports.gitCommitAllAndPush = exports.isGitClean = exports.isGitRepository = exports.initGitRepository = exports.getGitHubUsername = exports.promptGitHubRepoOrGitRemoteURL = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const command_exists_1 = tslib_1.__importDefault(require("command-exists"));
|
|
7
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
-
const yaml_1 = tslib_1.__importDefault(require("yaml"));
|
|
9
|
-
const constants_js_1 = require("./constants.js");
|
|
10
|
-
const exec_js_1 = require("./exec.js");
|
|
11
|
-
const file_js_1 = require("./file.js");
|
|
12
|
-
const prompt_js_1 = require("./prompt.js");
|
|
13
|
-
const version_js_1 = require("./version.js");
|
|
14
|
-
async function promptGitHubRepoOrGitRemoteURL(projectName, noGit, yes, dev, verbose) {
|
|
15
|
-
if (noGit || dev) {
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
// Hard-code certain project names as never causing a Git repository to be initialized.
|
|
19
|
-
if (projectName.startsWith("test") || projectName === "foo") {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
// We do not need to prompt the user if they do not have Git installed.
|
|
23
|
-
if (!command_exists_1.default.sync("git")) {
|
|
24
|
-
console.log('Git does not seem to be installed. (The "git" command is not in the path.) Skipping Git-related things.');
|
|
25
|
-
return undefined;
|
|
26
|
-
}
|
|
27
|
-
const gitHubUsername = getGitHubUsername(verbose);
|
|
28
|
-
if (gitHubUsername !== undefined) {
|
|
29
|
-
const { exitStatus } = (0, exec_js_1.execShell)("gh", ["repo", "view", projectName], verbose, true);
|
|
30
|
-
const gitHubRepoExists = exitStatus === 0;
|
|
31
|
-
const url = `https://github.com/${gitHubUsername}/${projectName}`;
|
|
32
|
-
if (gitHubRepoExists) {
|
|
33
|
-
console.log(`Detected an existing GitHub repository at: ${chalk_1.default.green(url)}`);
|
|
34
|
-
const guessedRemoteURL = getGitRemoteURL(projectName, gitHubUsername);
|
|
35
|
-
if (yes) {
|
|
36
|
-
console.log(`Using a Git remote URL of: ${chalk_1.default.green(guessedRemoteURL)}`);
|
|
37
|
-
return guessedRemoteURL;
|
|
38
|
-
}
|
|
39
|
-
const shouldUseGuessedURL = await (0, prompt_js_1.getInputYesNo)(`Do you want to use a Git remote URL of: ${chalk_1.default.green(guessedRemoteURL)}`);
|
|
40
|
-
if (shouldUseGuessedURL) {
|
|
41
|
-
return guessedRemoteURL;
|
|
42
|
-
}
|
|
43
|
-
// Assume that since they do not want to connect this project to the existing GitHub
|
|
44
|
-
// repository, they do not want to initialize a remote Git URL at all.
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
if (yes) {
|
|
48
|
-
(0, exec_js_1.execShell)("gh", ["repo", "create", projectName, "--public"]);
|
|
49
|
-
console.log(`Created a new GitHub repository at: ${chalk_1.default.green(url)}`);
|
|
50
|
-
return getGitRemoteURL(projectName, gitHubUsername);
|
|
51
|
-
}
|
|
52
|
-
const createNewGitHubRepo = await (0, prompt_js_1.getInputYesNo)(`Would you like to create a new GitHub repository at: ${chalk_1.default.green(url)}`);
|
|
53
|
-
if (createNewGitHubRepo) {
|
|
54
|
-
(0, exec_js_1.execShell)("gh", ["repo", "create", projectName, "--public"]);
|
|
55
|
-
console.log("Successfully created a new GitHub repository.");
|
|
56
|
-
return getGitRemoteURL(projectName, gitHubUsername);
|
|
57
|
-
}
|
|
58
|
-
// Assume that since they do not want to create a new GitHub repository, they do not want to
|
|
59
|
-
// initialize a remote Git URL at all.
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
const gitRemoteURL = await (0, prompt_js_1.getInputString)(`Paste in the remote Git URL for your project.
|
|
63
|
-
For example, if you have an SSH key, it would be something like:
|
|
64
|
-
${chalk_1.default.green("git@github.com:Alice/green-candle.git")}
|
|
65
|
-
If you don't have an SSH key, it would be something like:
|
|
66
|
-
${chalk_1.default.green("https://github.com/Alice/green-candle.git")}
|
|
67
|
-
If you don't want to initialize a Git repository for this project, press enter to skip.
|
|
68
|
-
`);
|
|
69
|
-
return gitRemoteURL === "" ? undefined : gitRemoteURL;
|
|
70
|
-
}
|
|
71
|
-
exports.promptGitHubRepoOrGitRemoteURL = promptGitHubRepoOrGitRemoteURL;
|
|
72
|
-
function getGitHubUsername(verbose) {
|
|
73
|
-
// If the GitHub CLI is installed, we can derive the user's GitHub username.
|
|
74
|
-
if (!command_exists_1.default.sync("gh")) {
|
|
75
|
-
return undefined;
|
|
76
|
-
}
|
|
77
|
-
const githubCLIHostsPath = getGithubCLIHostsPath();
|
|
78
|
-
if (githubCLIHostsPath === undefined) {
|
|
79
|
-
return undefined;
|
|
80
|
-
}
|
|
81
|
-
if (!(0, file_js_1.fileExists)(githubCLIHostsPath, verbose)) {
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
const configYAMLRaw = (0, file_js_1.readFile)(githubCLIHostsPath, verbose);
|
|
85
|
-
const configYAML = yaml_1.default.parse(configYAMLRaw);
|
|
86
|
-
const githubCom = configYAML["github.com"];
|
|
87
|
-
if (githubCom === undefined) {
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
const { user } = githubCom;
|
|
91
|
-
if (user === undefined || user === "") {
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
94
|
-
return user;
|
|
95
|
-
}
|
|
96
|
-
exports.getGitHubUsername = getGitHubUsername;
|
|
97
|
-
function getGithubCLIHostsPath() {
|
|
98
|
-
if (process.platform === "win32") {
|
|
99
|
-
const appData = process.env["APPDATA"];
|
|
100
|
-
if (appData === undefined || appData === "") {
|
|
101
|
-
return undefined;
|
|
102
|
-
}
|
|
103
|
-
return node_path_1.default.join(appData, "GitHub CLI", "hosts.yml");
|
|
104
|
-
}
|
|
105
|
-
// The location is the same on both macOS and Linux.
|
|
106
|
-
return node_path_1.default.join(constants_js_1.HOME_DIR, ".config", "gh", "hosts.yml");
|
|
107
|
-
}
|
|
108
|
-
function getGitRemoteURL(projectName, gitHubUsername) {
|
|
109
|
-
return `git@github.com:${gitHubUsername}/${projectName}.git`;
|
|
110
|
-
}
|
|
111
|
-
function initGitRepository(projectPath, gitRemoteURL, verbose) {
|
|
112
|
-
if (!command_exists_1.default.sync("git")) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (gitRemoteURL === undefined) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
(0, exec_js_1.execShellString)("git init --initial-branch=main", verbose, false, projectPath);
|
|
119
|
-
if (isGitNameAndEmailConfigured(verbose)) {
|
|
120
|
-
(0, exec_js_1.execShellString)("git add --all", verbose, false, projectPath);
|
|
121
|
-
const version = (0, version_js_1.getVersionOfThisPackage)(verbose);
|
|
122
|
-
const commitMessage = `chore: add files from ${constants_js_1.PROJECT_NAME} ${version} template`;
|
|
123
|
-
(0, exec_js_1.execShell)("git", ["commit", "--message", commitMessage], verbose, false, projectPath);
|
|
124
|
-
}
|
|
125
|
-
(0, exec_js_1.execShell)("git", ["remote", "add", "origin", gitRemoteURL], verbose, false, projectPath);
|
|
126
|
-
}
|
|
127
|
-
exports.initGitRepository = initGitRepository;
|
|
128
|
-
function isGitNameAndEmailConfigured(verbose) {
|
|
129
|
-
const nameExitStatus = (0, exec_js_1.execShellString)("git config --global user.name", verbose, true).exitStatus;
|
|
130
|
-
const emailExitStatus = (0, exec_js_1.execShellString)("git config --global user.email", verbose, true).exitStatus;
|
|
131
|
-
return nameExitStatus === 0 && emailExitStatus === 0;
|
|
132
|
-
}
|
|
133
|
-
function isGitRepository(verbose) {
|
|
134
|
-
const { exitStatus } = (0, exec_js_1.execShellString)("git rev-parse --is-inside-work-tree", verbose, true);
|
|
135
|
-
return exitStatus === 0;
|
|
136
|
-
}
|
|
137
|
-
exports.isGitRepository = isGitRepository;
|
|
138
|
-
function isGitClean(verbose) {
|
|
139
|
-
const { stdout } = (0, exec_js_1.execShellString)("git status --porcelain", verbose);
|
|
140
|
-
return stdout === "";
|
|
141
|
-
}
|
|
142
|
-
exports.isGitClean = isGitClean;
|
|
143
|
-
function gitCommitAllAndPush(message, verbose) {
|
|
144
|
-
(0, exec_js_1.execShellString)("git add --all", verbose);
|
|
145
|
-
(0, exec_js_1.execShell)("git", ["commit", "--message", message], verbose);
|
|
146
|
-
(0, exec_js_1.execShellString)("git push", verbose);
|
|
147
|
-
console.log(`Committed and pushed to the git repository with a message of: ${message}`);
|
|
148
|
-
}
|
|
149
|
-
exports.gitCommitAllAndPush = gitCommitAllAndPush;
|
|
150
|
-
function getReleaseGitCommitMessage(version) {
|
|
151
|
-
return `chore: release ${version}`;
|
|
152
|
-
}
|
|
153
|
-
exports.getReleaseGitCommitMessage = getReleaseGitCommitMessage;
|
|
154
|
-
//# sourceMappingURL=git.js.map
|
package/src/git.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubCLIHostsYAML.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/interfaces/GitHubCLIHostsYAML.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsaacScriptTSConfig.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/interfaces/IsaacScriptTSConfig.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShadersXML.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/interfaces/ShadersXML.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CustomStageTSConfig.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/interfaces/copied/CustomStageTSConfig.ts"],"names":[],"mappings":";AAAA,wFAAwF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JSONRoomsFile.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/interfaces/copied/JSONRoomsFile.ts"],"names":[],"mappings":";AAAA,wFAAwF"}
|