complete-cli 1.3.2 → 1.3.4
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/commands/CheckCommand.js +16 -11
- package/dist/commands/CheckCommand.js.map +1 -0
- package/dist/commands/InitCommand.js +1 -0
- package/dist/commands/InitCommand.js.map +1 -0
- package/dist/commands/MetadataCommand.js +5 -4
- package/dist/commands/MetadataCommand.js.map +1 -0
- package/dist/commands/NukeCommand.js +1 -0
- package/dist/commands/NukeCommand.js.map +1 -0
- package/dist/commands/PublishCommand.js +6 -5
- package/dist/commands/PublishCommand.js.map +1 -0
- package/dist/commands/UpdateCommand.js +1 -0
- package/dist/commands/UpdateCommand.js.map +1 -0
- package/dist/commands/check/check.test.js +1 -0
- package/dist/commands/check/check.test.js.map +1 -0
- package/dist/commands/check/getTruncatedText.js +1 -0
- package/dist/commands/check/getTruncatedText.js.map +1 -0
- package/dist/commands/init/checkIfProjectPathExists.js +12 -5
- package/dist/commands/init/checkIfProjectPathExists.js.map +1 -0
- package/dist/commands/init/createProject.js +53 -32
- package/dist/commands/init/createProject.js.map +1 -0
- package/dist/commands/init/getAuthorName.js +1 -0
- package/dist/commands/init/getAuthorName.js.map +1 -0
- package/dist/commands/init/getProjectPath.js +1 -0
- package/dist/commands/init/getProjectPath.js.map +1 -0
- package/dist/commands/init/lockedDependencies.js +1 -0
- package/dist/commands/init/lockedDependencies.js.map +1 -0
- package/dist/commands/init/packageManager.js +16 -3
- package/dist/commands/init/packageManager.js.map +1 -0
- package/dist/commands/init/vsCodeInit.js +7 -1
- package/dist/commands/init/vsCodeInit.js.map +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/git.js +4 -3
- package/dist/git.js.map +1 -0
- package/dist/interfaces/GitHubCLIHostsYAML.js +1 -0
- package/dist/interfaces/GitHubCLIHostsYAML.js.map +1 -0
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -0
- package/dist/prompt.js +2 -1
- package/dist/prompt.js.map +1 -0
- package/file-templates/dynamic/.github/workflows/setup/action.yml +1 -1
- package/file-templates/dynamic/Node.gitignore +3 -1
- package/file-templates/dynamic/package.json +2 -6
- package/file-templates/static/eslint.config.mjs +2 -2
- package/file-templates/static/scripts/lint.ts +1 -1
- package/package.json +9 -12
- package/src/commands/CheckCommand.ts +18 -14
- package/src/commands/MetadataCommand.ts +4 -9
- package/src/commands/PublishCommand.ts +6 -6
- package/src/commands/init/checkIfProjectPathExists.ts +13 -9
- package/src/commands/init/createProject.ts +69 -36
- package/src/commands/init/packageManager.ts +22 -3
- package/src/commands/init/vsCodeInit.ts +9 -1
- package/src/git.ts +3 -3
- package/src/prompt.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { Command, Option } from "clipanion";
|
|
3
3
|
import { ReadonlySet } from "complete-common";
|
|
4
|
-
import { $,
|
|
4
|
+
import { $, deleteFileOrDirectory, fatalError, isDirectory, isFile, readFile, writeFile, } from "complete-node";
|
|
5
5
|
import klawSync from "klaw-sync";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -42,9 +42,13 @@ export class CheckCommand extends Command {
|
|
|
42
42
|
/** @returns Whether the directory was valid. */
|
|
43
43
|
async function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose) {
|
|
44
44
|
let oneOrMoreErrors = false;
|
|
45
|
-
|
|
45
|
+
// We use `klawSync` instead of `klaw` so that the output will be deterministic.
|
|
46
|
+
const klawItems = klawSync(templateDirectory);
|
|
47
|
+
for (const klawItem of klawItems) {
|
|
46
48
|
const templateFilePath = klawItem.path;
|
|
47
|
-
|
|
49
|
+
// eslint-disable-next-line no-await-in-loop
|
|
50
|
+
const templateExists = await isDirectory(templateFilePath);
|
|
51
|
+
if (templateExists) {
|
|
48
52
|
continue;
|
|
49
53
|
}
|
|
50
54
|
const originalFileName = path.basename(templateFilePath);
|
|
@@ -95,7 +99,7 @@ async function checkDynamicFiles(ignoreFileNamesSet, verbose) {
|
|
|
95
99
|
}
|
|
96
100
|
/** @returns Whether the project file is valid in reference to the template file. */
|
|
97
101
|
async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
|
|
98
|
-
const fileExists = await
|
|
102
|
+
const fileExists = await isFile(projectFilePath);
|
|
99
103
|
if (!fileExists) {
|
|
100
104
|
console.log(`Failed to find the following file: ${projectFilePath}`);
|
|
101
105
|
printTemplateLocation(templateFilePath);
|
|
@@ -109,8 +113,8 @@ async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
|
|
|
109
113
|
console.log(`The contents of the following file do not match: ${chalk.red(projectFilePath)}`);
|
|
110
114
|
printTemplateLocation(templateFilePath);
|
|
111
115
|
if (verbose) {
|
|
112
|
-
const originalTemplateFile = await
|
|
113
|
-
const originalProjectFile = await
|
|
116
|
+
const originalTemplateFile = await readFile(templateFilePath);
|
|
117
|
+
const originalProjectFile = await readFile(projectFilePath);
|
|
114
118
|
console.log("--- Original template file: ---\n");
|
|
115
119
|
console.log(originalTemplateFile);
|
|
116
120
|
console.log();
|
|
@@ -127,21 +131,21 @@ async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
|
|
|
127
131
|
const tempDir = os.tmpdir();
|
|
128
132
|
const tempProjectFilePath = path.join(tempDir, "tempProjectFile.txt");
|
|
129
133
|
const tempTemplateFilePath = path.join(tempDir, "tempTemplateFile.txt");
|
|
130
|
-
await
|
|
131
|
-
await
|
|
134
|
+
await writeFile(tempProjectFilePath, projectFileObject.text);
|
|
135
|
+
await writeFile(tempTemplateFilePath, templateFileObject.text);
|
|
132
136
|
try {
|
|
133
137
|
await $ `diff ${tempProjectFilePath} ${tempTemplateFilePath} --ignore-blank-lines`;
|
|
134
138
|
}
|
|
135
139
|
catch {
|
|
136
140
|
// `diff` will exit with a non-zero code if the files are different, which is expected.
|
|
137
141
|
}
|
|
138
|
-
await
|
|
139
|
-
await
|
|
142
|
+
await deleteFileOrDirectory(tempProjectFilePath);
|
|
143
|
+
await deleteFileOrDirectory(tempTemplateFilePath);
|
|
140
144
|
return false;
|
|
141
145
|
}
|
|
142
146
|
async function getTruncatedFileText(filePath, ignoreLines, linesBeforeIgnore) {
|
|
143
147
|
const fileName = path.basename(filePath);
|
|
144
|
-
const fileContents = await
|
|
148
|
+
const fileContents = await readFile(filePath);
|
|
145
149
|
return getTruncatedText(fileName, fileContents, ignoreLines, linesBeforeIgnore);
|
|
146
150
|
}
|
|
147
151
|
function printTemplateLocation(templateFilePath) {
|
|
@@ -153,3 +157,4 @@ function printTemplateLocation(templateFilePath) {
|
|
|
153
157
|
const { urlSuffix } = match.groups;
|
|
154
158
|
console.log(`You can find the template at: ${chalk.green(`${URL_PREFIX}/${urlSuffix}`)}\n`);
|
|
155
159
|
}
|
|
160
|
+
//# sourceMappingURL=CheckCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckCommand.js","sourceRoot":"","sources":["../../../../src/commands/CheckCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../../src/commands/InitCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1C,iCAAiC;IACjC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE;QACtC,WAAW,EACT,2EAA2E;KAC9E,CAAC,CAAC;IAEH,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,EAAE;QACrE,WAAW,EAAE,wDAAwD;KACtE,CAAC,CAAC;IAEH,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE;QACpD,WAAW,EACT,+IAA+I;KAClJ,CAAC,CAAC;IAEH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE;QACzC,WAAW,EAAE,kDAAkD;KAChE,CAAC,CAAC;IAEH,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;QACnC,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CAAC;IAEH,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;QACrC,WAAW,EAAE,kCAAkC;KAChD,CAAC,CAAC;IAEH,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;QACrC,WAAW,EAAE,kCAAkC;KAChD,CAAC,CAAC;IAEH,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;QACnC,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CAAC;IAEH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE;QAC5C,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC;IAEH,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE;QACpD,WAAW,EACT,+EAA+E;KAClF,CAAC,CAAC;IAEH,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,EAAE;QACnD,WAAW,EAAE,gDAAgD;KAC9D,CAAC,CAAC;IAEH,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EAAE,sCAAsC;KACpD,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,WAAW,EAAE,CAAC;QAEd,MAAM,cAAc,GAAG,MAAM,kCAAkC,CAAC,IAAI,CAAC,CAAC;QAEtE,uEAAuE;QACvE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CACxD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,8BAA8B,CACvD,WAAW,EACX,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,2FAA2F;QAC3F,MAAM,aAAa,CACjB,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,IAAI,CAAC,WAAW,EAChB,cAAc,CACf,CAAC;QAEF,MAAM,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAErD,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command, Option } from "clipanion";
|
|
2
2
|
import { assertObject, isObject } from "complete-common";
|
|
3
|
-
import { getFilePath,
|
|
3
|
+
import { getFilePath, isFile, readFile, writeFile } from "complete-node";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
export class MetadataCommand extends Command {
|
|
6
6
|
static paths = [["metadata"], ["m"]];
|
|
@@ -18,10 +18,10 @@ export class MetadataCommand extends Command {
|
|
|
18
18
|
const packageJSONPath = await getFilePath("package.json", undefined);
|
|
19
19
|
const packageRoot = path.dirname(packageJSONPath);
|
|
20
20
|
const packageMetadataPath = path.join(packageRoot, "package-metadata.json");
|
|
21
|
-
const packageMetadataExists = await
|
|
21
|
+
const packageMetadataExists = await isFile(packageMetadataPath);
|
|
22
22
|
let packageMetadata;
|
|
23
23
|
if (packageMetadataExists) {
|
|
24
|
-
const packageMetadataContents = await
|
|
24
|
+
const packageMetadataContents = await readFile(packageMetadataPath);
|
|
25
25
|
const packageMetadataUnknown = JSON.parse(packageMetadataContents);
|
|
26
26
|
assertObject(packageMetadataUnknown, `Failed to parse the metadata file at: ${packageMetadataPath}`);
|
|
27
27
|
packageMetadata = packageMetadataUnknown;
|
|
@@ -43,8 +43,9 @@ export class MetadataCommand extends Command {
|
|
|
43
43
|
"lock-reason": this.reason ?? "",
|
|
44
44
|
};
|
|
45
45
|
const packageMetadataJSON = JSON.stringify(packageMetadata, undefined, 2);
|
|
46
|
-
await
|
|
46
|
+
await writeFile(packageMetadataPath, packageMetadataJSON);
|
|
47
47
|
const verb = packageMetadataExists ? "modified" : "created";
|
|
48
48
|
console.log(`Successfully ${verb}: ${packageMetadataPath}`);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
//# sourceMappingURL=MetadataCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataCommand.js","sourceRoot":"","sources":["../../../../src/commands/MetadataCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,OAAO,eAAgB,SAAQ,OAAO;IAC1C,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9C,iCAAiC;IACjC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EACT,wIAAwI;KAC3I,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAC5E,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEhE,IAAI,eAAwC,CAAC;QAC7C,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACpE,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACvC,uBAAuB,CACb,CAAC;YACb,YAAY,CACV,sBAAsB,EACtB,yCAAyC,mBAAmB,EAAE,CAC/D,CAAC;YACF,eAAe,GAAG,sBAAsB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,YAAqC,CAAC;QAC1C,IAAI,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC9C,mEAAmE;YACnE,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,EAAE,CAAC;YAClB,eAAe,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;QACjD,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG;YAClC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;SACjC,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,mBAAmB,EAAE,CAAC,CAAC;IAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NukeCommand.js","sourceRoot":"","sources":["../../../../src/commands/NukeCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EACT,mHAAmH;KACtH,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command, Option } from "clipanion";
|
|
2
2
|
import { isSemanticVersion } from "complete-common";
|
|
3
|
-
import { $, fatalError, getPackageJSONFieldsMandatory, getPackageManagerInstallCommand, getPackageManagerLockFileName, getPackageManagersForProject,
|
|
3
|
+
import { $, fatalError, getPackageJSONFieldsMandatory, getPackageManagerInstallCommand, getPackageManagerLockFileName, getPackageManagersForProject, isFile, isGitRepository, isGitRepositoryClean, isLoggedInToNPM, readFile, updatePackageJSONDependencies, writeFile, } from "complete-node";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { CWD, DEFAULT_PACKAGE_MANAGER } from "../constants.js";
|
|
6
6
|
export class PublishCommand extends Command {
|
|
@@ -36,7 +36,7 @@ async function validate() {
|
|
|
36
36
|
if (!isRepositoryClean) {
|
|
37
37
|
fatalError("Failed to publish since the Git repository was dirty. Before publishing, you must push any current changes to git. (Version commits should not contain any code changes.)");
|
|
38
38
|
}
|
|
39
|
-
const packageJSONExists = await
|
|
39
|
+
const packageJSONExists = await isFile("package.json");
|
|
40
40
|
if (!packageJSONExists) {
|
|
41
41
|
fatalError('Failed to find the "package.json" file in the current working directory.');
|
|
42
42
|
}
|
|
@@ -118,15 +118,15 @@ async function incrementVersion(versionBumpType) {
|
|
|
118
118
|
}
|
|
119
119
|
async function unsetDevelopmentConstants() {
|
|
120
120
|
const constantsTSPath = path.join(CWD, "src", "constants.ts");
|
|
121
|
-
const constantsTSExists = await
|
|
121
|
+
const constantsTSExists = await isFile(constantsTSPath);
|
|
122
122
|
if (!constantsTSExists) {
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
|
-
const constantsTS = readFile(constantsTSPath);
|
|
125
|
+
const constantsTS = await readFile(constantsTSPath);
|
|
126
126
|
const newConstantsTS = constantsTS
|
|
127
127
|
.replace("const IS_DEV = true", "const IS_DEV = false")
|
|
128
128
|
.replace("const DEBUG = true", "const DEBUG = false");
|
|
129
|
-
await
|
|
129
|
+
await writeFile(constantsTSPath, newConstantsTS);
|
|
130
130
|
}
|
|
131
131
|
async function tryRunNPMScript(scriptName) {
|
|
132
132
|
console.log(`Running: ${scriptName}`);
|
|
@@ -159,3 +159,4 @@ async function publish(dryRun) {
|
|
|
159
159
|
function getReleaseGitCommitMessage(version) {
|
|
160
160
|
return `chore: release ${version}`;
|
|
161
161
|
}
|
|
162
|
+
//# sourceMappingURL=PublishCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublishCommand.js","sourceRoot":"","sources":["../../../../src/commands/PublishCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateCommand.js","sourceRoot":"","sources":["../../../../src/commands/UpdateCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EACT,kHAAkH;KACrH,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,MAAM,kBAAkB,GAAG,MAAM,6BAA6B,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,kBAAkB;YAC5B,CAAC,CAAC,0CAA0C;YAC5C,CAAC,CAAC,uCAAuC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.test.js","sourceRoot":"","sources":["../../../../../src/commands/check/check.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTruncatedText.js","sourceRoot":"","sources":["../../../../../src/commands/check/getTruncatedText.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import { deleteFileOrDirectory,
|
|
2
|
+
import { deleteFileOrDirectory, isDirectory, isFile } from "complete-node";
|
|
3
3
|
import { CWD } from "../../constants.js";
|
|
4
4
|
import { getInputYesNo, promptEnd, promptLog } from "../../prompt.js";
|
|
5
|
+
/** @throws If the project path is not a file or a directory. */
|
|
5
6
|
export async function checkIfProjectPathExists(projectPath, yes) {
|
|
6
|
-
if (projectPath === CWD
|
|
7
|
+
if (projectPath === CWD) {
|
|
7
8
|
return;
|
|
8
9
|
}
|
|
9
|
-
const
|
|
10
|
+
const file = await isFile(projectPath);
|
|
11
|
+
const directory = await isDirectory(projectPath);
|
|
12
|
+
if (!file && !directory) {
|
|
13
|
+
throw new Error(`Failed to detect if the path was a file or a directory: ${projectPath}`);
|
|
14
|
+
}
|
|
15
|
+
const fileType = file ? "file" : "directory";
|
|
10
16
|
if (yes) {
|
|
11
|
-
deleteFileOrDirectory(projectPath);
|
|
17
|
+
await deleteFileOrDirectory(projectPath);
|
|
12
18
|
promptLog(`Deleted ${fileType}: ${chalk.green(projectPath)}`);
|
|
13
19
|
return;
|
|
14
20
|
}
|
|
@@ -17,5 +23,6 @@ export async function checkIfProjectPathExists(projectPath, yes) {
|
|
|
17
23
|
if (!shouldDelete) {
|
|
18
24
|
promptEnd("Ok then. Goodbye.");
|
|
19
25
|
}
|
|
20
|
-
deleteFileOrDirectory(projectPath);
|
|
26
|
+
await deleteFileOrDirectory(projectPath);
|
|
21
27
|
}
|
|
28
|
+
//# sourceMappingURL=checkIfProjectPathExists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../../../src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtE,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,GAAY;IAEZ,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,WAAW,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7C,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzC,SAAS,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,SAAS,CACP,KAAK,QAAQ,mCAAmC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAC3E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { assertObject, repeat } from "complete-common";
|
|
3
|
-
import { $q, copyFileOrDirectory, formatWithPrettier, getFileNamesInDirectory, getPackageJSON, getPackageManagerInstallCICommand, getPackageManagerInstallCommand, isFile, makeDirectory, PackageManager, readFile,
|
|
3
|
+
import { $q, copyFileOrDirectory, formatWithPrettier, getFileNamesInDirectory, getPackageJSON, getPackageManagerInstallCICommand, getPackageManagerInstallCommand, isFile, makeDirectory, PackageManager, readFile, renameFileOrDirectory, updatePackageJSONDependencies, writeFile, } from "complete-node";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { ACTION_YML, ACTION_YML_TEMPLATE_PATH, TEMPLATES_DYNAMIC_DIR, TEMPLATES_STATIC_DIR, } from "../../constants.js";
|
|
6
6
|
import { initGitRepository } from "../../git.js";
|
|
@@ -8,11 +8,11 @@ import { promptError, promptLog, promptSpinnerStart } from "../../prompt.js";
|
|
|
8
8
|
import { LOCKED_DEPENDENCIES } from "./lockedDependencies.js";
|
|
9
9
|
export async function createProject(projectName, authorName, projectPath, createNewDir, gitRemoteURL, skipInstall, packageManager) {
|
|
10
10
|
if (createNewDir) {
|
|
11
|
-
makeDirectory(projectPath);
|
|
11
|
+
await makeDirectory(projectPath);
|
|
12
12
|
}
|
|
13
|
-
copyStaticFiles(projectPath);
|
|
14
|
-
copyDynamicFiles(projectName, authorName, projectPath, packageManager);
|
|
15
|
-
copyPackageManagerSpecificFiles(projectPath, packageManager);
|
|
13
|
+
await copyStaticFiles(projectPath);
|
|
14
|
+
await copyDynamicFiles(projectName, authorName, projectPath, packageManager);
|
|
15
|
+
await copyPackageManagerSpecificFiles(projectPath, packageManager);
|
|
16
16
|
// There is no package manager lock files yet, so we have to pass "false" to this function.
|
|
17
17
|
const updated = await updatePackageJSONDependencies(projectPath, false, true);
|
|
18
18
|
if (!updated) {
|
|
@@ -30,49 +30,50 @@ export async function createProject(projectName, authorName, projectPath, create
|
|
|
30
30
|
promptLog(`Successfully created project: ${chalk.green(projectName)}`);
|
|
31
31
|
}
|
|
32
32
|
/** Copy static files, like "eslint.config.mjs", "tsconfig.json", etc. */
|
|
33
|
-
function copyStaticFiles(projectPath) {
|
|
34
|
-
copyTemplateDirectoryWithoutOverwriting(TEMPLATES_STATIC_DIR, projectPath);
|
|
33
|
+
async function copyStaticFiles(projectPath) {
|
|
34
|
+
await copyTemplateDirectoryWithoutOverwriting(TEMPLATES_STATIC_DIR, projectPath);
|
|
35
35
|
// Rename "_gitattributes" to ".gitattributes". (If it is kept as ".gitattributes", then it won't
|
|
36
36
|
// be committed to git.)
|
|
37
37
|
const gitAttributesPath = path.join(projectPath, "_gitattributes");
|
|
38
38
|
const correctGitAttributesPath = path.join(projectPath, ".gitattributes");
|
|
39
|
-
|
|
39
|
+
await renameFileOrDirectory(gitAttributesPath, correctGitAttributesPath);
|
|
40
40
|
// Rename "_cspell.config.jsonc" to "cspell.config.jsonc". (If it is kept as
|
|
41
41
|
// "cspell.config.jsonc", then local spell checking will fail.)
|
|
42
42
|
const cSpellConfigPath = path.join(projectPath, "_cspell.config.jsonc");
|
|
43
43
|
const correctCSpellConfigPath = path.join(projectPath, "cspell.config.jsonc");
|
|
44
|
-
|
|
44
|
+
await renameFileOrDirectory(cSpellConfigPath, correctCSpellConfigPath);
|
|
45
45
|
}
|
|
46
|
-
function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath) {
|
|
47
|
-
const fileNames = getFileNamesInDirectory(templateDirPath);
|
|
48
|
-
|
|
46
|
+
async function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath) {
|
|
47
|
+
const fileNames = await getFileNamesInDirectory(templateDirPath);
|
|
48
|
+
await Promise.all(fileNames.map(async (fileName) => {
|
|
49
49
|
const templateFilePath = path.join(templateDirPath, fileName);
|
|
50
50
|
const destinationFilePath = path.join(projectPath, fileName);
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
const file = await isFile(destinationFilePath);
|
|
52
|
+
if (!file) {
|
|
53
|
+
await copyFileOrDirectory(templateFilePath, destinationFilePath);
|
|
53
54
|
}
|
|
54
|
-
}
|
|
55
|
+
}));
|
|
55
56
|
}
|
|
56
57
|
/** Copy files that need to have text replaced inside of them. */
|
|
57
|
-
function copyDynamicFiles(projectName, authorName, projectPath, packageManager) {
|
|
58
|
+
async function copyDynamicFiles(projectName, authorName, projectPath, packageManager) {
|
|
58
59
|
// `.github/workflows/setup/action.yml`
|
|
59
60
|
{
|
|
60
61
|
const fileName = ACTION_YML;
|
|
61
62
|
const templatePath = ACTION_YML_TEMPLATE_PATH;
|
|
62
|
-
const template = readFile(templatePath);
|
|
63
|
+
const template = await readFile(templatePath);
|
|
63
64
|
const installCommand = getPackageManagerInstallCICommand(packageManager);
|
|
64
65
|
const actionYML = template
|
|
65
66
|
.replaceAll("PACKAGE_MANAGER_NAME", packageManager)
|
|
66
67
|
.replaceAll("PACKAGE_MANAGER_INSTALL_COMMAND", installCommand);
|
|
67
68
|
const setupPath = path.join(projectPath, ".github", "workflows", "setup");
|
|
68
|
-
makeDirectory(setupPath);
|
|
69
|
+
await makeDirectory(setupPath);
|
|
69
70
|
const destinationPath = path.join(setupPath, fileName);
|
|
70
|
-
writeFile(destinationPath, actionYML);
|
|
71
|
+
await writeFile(destinationPath, actionYML);
|
|
71
72
|
}
|
|
72
73
|
// `.gitignore`
|
|
73
74
|
{
|
|
74
75
|
const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, "_gitignore");
|
|
75
|
-
const template = readFile(templatePath);
|
|
76
|
+
const template = await readFile(templatePath);
|
|
76
77
|
// Prepend a header with the project name.
|
|
77
78
|
let separatorLine = "# ";
|
|
78
79
|
repeat(projectName.length, () => {
|
|
@@ -81,27 +82,27 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager)
|
|
|
81
82
|
separatorLine += "\n";
|
|
82
83
|
const gitIgnoreHeader = `${separatorLine}# ${projectName}\n${separatorLine}\n`;
|
|
83
84
|
const nodeGitIgnorePath = path.join(TEMPLATES_DYNAMIC_DIR, "Node.gitignore");
|
|
84
|
-
const nodeGitIgnore = readFile(nodeGitIgnorePath);
|
|
85
|
+
const nodeGitIgnore = await readFile(nodeGitIgnorePath);
|
|
85
86
|
// eslint-disable-next-line prefer-template
|
|
86
87
|
const gitignore = gitIgnoreHeader + template + "\n" + nodeGitIgnore;
|
|
87
88
|
// We need to replace the underscore with a period.
|
|
88
89
|
const destinationPath = path.join(projectPath, ".gitignore");
|
|
89
|
-
writeFile(destinationPath, gitignore);
|
|
90
|
+
await writeFile(destinationPath, gitignore);
|
|
90
91
|
}
|
|
91
92
|
// `package.json`
|
|
92
93
|
{
|
|
93
94
|
const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, "package.json");
|
|
94
|
-
const template = readFile(templatePath);
|
|
95
|
+
const template = await readFile(templatePath);
|
|
95
96
|
const packageJSON = template
|
|
96
97
|
.replaceAll("project-name", projectName)
|
|
97
98
|
.replaceAll("author-name", authorName ?? "unknown");
|
|
98
99
|
const destinationPath = path.join(projectPath, "package.json");
|
|
99
|
-
writeFile(destinationPath, packageJSON);
|
|
100
|
+
await writeFile(destinationPath, packageJSON);
|
|
100
101
|
}
|
|
101
102
|
// `README.md`
|
|
102
103
|
{
|
|
103
104
|
const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, "README.md");
|
|
104
|
-
const template = readFile(templatePath);
|
|
105
|
+
const template = await readFile(templatePath);
|
|
105
106
|
// "PROJECT-NAME" must be hyphenated, as using an underscore will break Prettier for some
|
|
106
107
|
// reason.
|
|
107
108
|
const command = getPackageManagerInstallCICommand(packageManager);
|
|
@@ -109,15 +110,15 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager)
|
|
|
109
110
|
.replaceAll("PROJECT-NAME", projectName)
|
|
110
111
|
.replaceAll("PACKAGE-MANAGER-INSTALL-COMMAND", command);
|
|
111
112
|
const destinationPath = path.join(projectPath, "README.md");
|
|
112
|
-
writeFile(destinationPath, readmeMD);
|
|
113
|
+
await writeFile(destinationPath, readmeMD);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
function copyPackageManagerSpecificFiles(projectPath, packageManager) {
|
|
116
|
+
async function copyPackageManagerSpecificFiles(projectPath, packageManager) {
|
|
116
117
|
switch (packageManager) {
|
|
117
118
|
case PackageManager.npm: {
|
|
118
119
|
const npmrc = "save-exact=true\n";
|
|
119
120
|
const npmrcPath = path.join(projectPath, ".npmrc");
|
|
120
|
-
writeFile(npmrcPath, npmrc);
|
|
121
|
+
await writeFile(npmrcPath, npmrc);
|
|
121
122
|
break;
|
|
122
123
|
}
|
|
123
124
|
// `pnpm` requires the `shamefully-hoist` option to be enabled for "complete-lint" to work
|
|
@@ -125,7 +126,7 @@ function copyPackageManagerSpecificFiles(projectPath, packageManager) {
|
|
|
125
126
|
case PackageManager.pnpm: {
|
|
126
127
|
const npmrc = "save-exact=true\nshamefully-hoist=true\n";
|
|
127
128
|
const npmrcPath = path.join(projectPath, ".npmrc");
|
|
128
|
-
writeFile(npmrcPath, npmrc);
|
|
129
|
+
await writeFile(npmrcPath, npmrc);
|
|
129
130
|
break;
|
|
130
131
|
}
|
|
131
132
|
case PackageManager.yarn: {
|
|
@@ -134,7 +135,26 @@ function copyPackageManagerSpecificFiles(projectPath, packageManager) {
|
|
|
134
135
|
case PackageManager.bun: {
|
|
135
136
|
const bunfig = "[install]\nexact = true\n";
|
|
136
137
|
const bunfigPath = path.join(projectPath, "bunfig.toml");
|
|
137
|
-
writeFile(bunfigPath, bunfig);
|
|
138
|
+
await writeFile(bunfigPath, bunfig);
|
|
139
|
+
// Additionally, we assume that if they are using the Bun package manager, they also want to
|
|
140
|
+
// use the Bun runtime. First, replace "complete-tsconfig/tsconfig.node.json" with
|
|
141
|
+
// "complete-tsconfig/tsconfig.bun.json".
|
|
142
|
+
const tsConfigJSONPath = path.join(projectPath, "tsconfig.json");
|
|
143
|
+
const tsConfigJSONScriptsPath = path.join(projectPath, "scripts", "tsconfig.json");
|
|
144
|
+
const filePathsToReplaceNodeWithBun = [
|
|
145
|
+
tsConfigJSONPath,
|
|
146
|
+
tsConfigJSONScriptsPath,
|
|
147
|
+
];
|
|
148
|
+
await Promise.all(filePathsToReplaceNodeWithBun.map(async (filePath) => {
|
|
149
|
+
const fileContents = await readFile(filePath);
|
|
150
|
+
const newFileContents = fileContents.replaceAll("node", "bun");
|
|
151
|
+
await writeFile(filePath, newFileContents);
|
|
152
|
+
}));
|
|
153
|
+
// Second, replace "tsx" with "bun run".
|
|
154
|
+
const packageJSONPath = path.join(projectPath, "package.json");
|
|
155
|
+
const fileContents = await readFile(packageJSONPath);
|
|
156
|
+
const newFileContents = fileContents.replaceAll("tsx", "bun run");
|
|
157
|
+
await writeFile(packageJSONPath, newFileContents);
|
|
138
158
|
break;
|
|
139
159
|
}
|
|
140
160
|
}
|
|
@@ -149,7 +169,7 @@ async function revertVersionsInPackageJSON(projectPath) {
|
|
|
149
169
|
}
|
|
150
170
|
const packageJSONText = JSON.stringify(packageJSON);
|
|
151
171
|
await formatWithPrettier(packageJSONText, "json", projectPath);
|
|
152
|
-
await
|
|
172
|
+
await writeFile(packageJSONPath, packageJSONText);
|
|
153
173
|
}
|
|
154
174
|
async function createPackageMetadataJSON(projectPath) {
|
|
155
175
|
const packageMetadata = {
|
|
@@ -164,7 +184,7 @@ async function createPackageMetadataJSON(projectPath) {
|
|
|
164
184
|
const packageMetadataText = JSON.stringify(packageMetadata);
|
|
165
185
|
await formatWithPrettier(packageMetadataText, "json", projectPath);
|
|
166
186
|
const packageMetadataPath = path.join(projectPath, "package-metadata.json");
|
|
167
|
-
await
|
|
187
|
+
await writeFile(packageMetadataPath, packageMetadataText);
|
|
168
188
|
}
|
|
169
189
|
async function installNodeModules(projectPath, skipInstall, packageManager) {
|
|
170
190
|
if (skipInstall) {
|
|
@@ -191,3 +211,4 @@ async function formatFiles(projectPath, packageManager) {
|
|
|
191
211
|
? $$q `bunx prettier --write .`
|
|
192
212
|
: $$q `prettier --write .`);
|
|
193
213
|
}
|
|
214
|
+
//# sourceMappingURL=createProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../src/commands/init/createProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAuthorName.js","sourceRoot":"","sources":["../../../../../src/commands/init/getAuthorName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACjD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,SAAS,CACP,uEAAuE,CACxE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,kCAAkC,CAAC,CAAC;IAC5E,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -78,3 +78,4 @@ function validateProjectName(projectName, forceName) {
|
|
|
78
78
|
promptError('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. If necessary, you can override this check with the "--force-name" flag.');
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
+
//# sourceMappingURL=getProjectPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../../src/commands/init/getProjectPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lockedDependencies.js","sourceRoot":"","sources":["../../../../../src/commands/init/lockedDependencies.ts"],"names":[],"mappings":"AAMA,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAgC,EAAE,CAAC"}
|
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import { getEnumValues } from "complete-common";
|
|
3
|
-
import { commandExists, PackageManager } from "complete-node";
|
|
2
|
+
import { assertDefined, getEnumValues } from "complete-common";
|
|
3
|
+
import { commandExists, getJavaScriptRuntime, JavaScriptRuntime, PackageManager, } from "complete-node";
|
|
4
4
|
import { DEFAULT_PACKAGE_MANAGER } from "../../constants.js";
|
|
5
5
|
import { promptError } from "../../prompt.js";
|
|
6
6
|
const PACKAGE_MANAGERS = getEnumValues(PackageManager);
|
|
7
7
|
export async function getPackageManagerUsedForNewProject(options) {
|
|
8
|
+
// If the package manager was explicitly specified in the options, use that.
|
|
8
9
|
const packageManagerFromOptions = await getPackageManagerFromOptions(options);
|
|
9
|
-
|
|
10
|
+
if (packageManagerFromOptions !== undefined) {
|
|
11
|
+
return packageManagerFromOptions;
|
|
12
|
+
}
|
|
13
|
+
// If `bun` or `bunx` was used to launch this program, assume that they also want to use the Bun
|
|
14
|
+
// package manager.
|
|
15
|
+
const javaScriptRuntime = getJavaScriptRuntime();
|
|
16
|
+
assertDefined(javaScriptRuntime, "Failed to get the JavaScript runtime.");
|
|
17
|
+
if (javaScriptRuntime === JavaScriptRuntime.bun) {
|
|
18
|
+
return PackageManager.bun;
|
|
19
|
+
}
|
|
20
|
+
return DEFAULT_PACKAGE_MANAGER;
|
|
10
21
|
}
|
|
11
22
|
async function getPackageManagerFromOptions(options) {
|
|
12
23
|
for (const packageManager of PACKAGE_MANAGERS) {
|
|
13
24
|
if (options[packageManager]) {
|
|
25
|
+
// Only one package manager flag will be specified at a time.
|
|
14
26
|
// eslint-disable-next-line no-await-in-loop
|
|
15
27
|
const exists = await commandExists(packageManager);
|
|
16
28
|
if (!exists) {
|
|
@@ -21,3 +33,4 @@ async function getPackageManagerFromOptions(options) {
|
|
|
21
33
|
}
|
|
22
34
|
return undefined;
|
|
23
35
|
}
|
|
36
|
+
//# sourceMappingURL=packageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../../../../src/commands/init/packageManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,OAAgD;IAEhD,4EAA4E;IAC5E,MAAM,yBAAyB,GAAG,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,gGAAgG;IAChG,mBAAmB;IACnB,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,aAAa,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAAC;IAC1E,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAChD,OAAO,cAAc,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAgD;IAEhD,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5B,6DAA6D;YAC7D,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CACT,wBAAwB,cAAc,kBAAkB,KAAK,CAAC,KAAK,CACjE,cAAc,CACf,wCAAwC,CAC1C,CAAC;YACJ,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|