@solvro/config 3.0.0-beta.4 → 3.0.0-beta.6
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/cli/index.cjs +144 -100
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +133 -93
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// src/cli/index.ts
|
|
2
|
-
import * as
|
|
2
|
+
import * as p13 from "@clack/prompts";
|
|
3
3
|
import { Command } from "commander";
|
|
4
|
-
import
|
|
4
|
+
import c8 from "picocolors";
|
|
5
5
|
|
|
6
6
|
// package.json
|
|
7
7
|
var package_default = {
|
|
8
8
|
name: "@solvro/config",
|
|
9
|
-
version: "3.0.0-beta.
|
|
9
|
+
version: "3.0.0-beta.5",
|
|
10
10
|
description: "Solvro's engineering style guide",
|
|
11
11
|
keywords: [
|
|
12
12
|
"eslint",
|
|
@@ -218,9 +218,9 @@ var confirmProjectType = async (projectType) => {
|
|
|
218
218
|
|
|
219
219
|
// src/utils/is-git-clean.ts
|
|
220
220
|
import { execSync } from "child_process";
|
|
221
|
-
function isGitClean() {
|
|
221
|
+
function isGitClean(options2) {
|
|
222
222
|
try {
|
|
223
|
-
execSync("git diff-index --quiet HEAD --");
|
|
223
|
+
execSync("git diff-index --quiet HEAD --", { stdio: "ignore", ...options2 });
|
|
224
224
|
return true;
|
|
225
225
|
} catch {
|
|
226
226
|
return false;
|
|
@@ -234,7 +234,7 @@ import assert from "assert";
|
|
|
234
234
|
import { stat, writeFile } from "fs/promises";
|
|
235
235
|
import path2 from "path";
|
|
236
236
|
import { getUserAgent } from "package-manager-detector/detect";
|
|
237
|
-
import
|
|
237
|
+
import c5 from "picocolors";
|
|
238
238
|
import semver from "semver";
|
|
239
239
|
|
|
240
240
|
// src/utils/git-root.ts
|
|
@@ -326,11 +326,7 @@ var warnInconsistentUserAgent = ({
|
|
|
326
326
|
|
|
327
327
|
Pr\xF3bujesz uruchomi\u0107 ten skrypt ${c.yellow(userAgent.name)}-em, ale w tym projekcie wykryto mened\u017Cer pakiet\xF3w ${c.yellow(detectedPackageManager)}.
|
|
328
328
|
${isSupportedPackageManager(detectedPackageManager) ? hintInstallWithDetected(PACKAGE_MANAGER_CONFIGS[detectedPackageManager]) : warnUnsupported(detectedPackageManager)}`;
|
|
329
|
-
|
|
330
|
-
console.error(warningMessage);
|
|
331
|
-
} else {
|
|
332
|
-
p4.cancel(warningMessage);
|
|
333
|
-
}
|
|
329
|
+
p4.cancel(warningMessage);
|
|
334
330
|
};
|
|
335
331
|
|
|
336
332
|
// src/utils/warn-missing-lockfile.ts
|
|
@@ -348,37 +344,35 @@ ${c2.white("Je\u015Bli to si\u0119 zgadza, zainstaluj najpierw zale\u017Cno\u015
|
|
|
348
344
|
|
|
349
345
|
${c2.cyan(manager.installDependencies)}
|
|
350
346
|
${c2.cyan(`${manager.downloadExecute} @solvro/config@latest`)}`;
|
|
351
|
-
|
|
352
|
-
console.error(warningMessage);
|
|
353
|
-
} else {
|
|
354
|
-
p5.cancel(warningMessage);
|
|
355
|
-
}
|
|
347
|
+
p5.cancel(warningMessage);
|
|
356
348
|
};
|
|
357
349
|
|
|
358
350
|
// src/utils/warn-unsupported-package-manager.ts
|
|
359
351
|
import * as p6 from "@clack/prompts";
|
|
352
|
+
import c4 from "picocolors";
|
|
353
|
+
|
|
354
|
+
// src/utils/format-link.ts
|
|
360
355
|
import c3 from "picocolors";
|
|
356
|
+
var formatLink = (link) => c3.white(c3.underline(link));
|
|
357
|
+
|
|
358
|
+
// src/utils/warn-unsupported-package-manager.ts
|
|
361
359
|
var warnUnsupportedPackageManager = ({
|
|
362
360
|
userAgent
|
|
363
361
|
}) => {
|
|
364
362
|
const packageManager = userAgent ?? "<nieznany>";
|
|
365
|
-
const warningMessage = `${
|
|
363
|
+
const warningMessage = `${c4.red(c4.bold(`\u26A0\uFE0F OSTRZE\u017BENIE: ${packageManager} nie jest obs\u0142ugiwany \u26A0\uFE0F`))}
|
|
366
364
|
|
|
367
|
-
Pr\xF3bujesz uruchomi\u0107 ten skrypt ${
|
|
365
|
+
Pr\xF3bujesz uruchomi\u0107 ten skrypt ${c4.yellow(packageManager)}-em, ale @solvro/config obecnie dzia\u0142a tylko z nast\u0119puj\u0105cymi mened\u017Cerami pakiet\xF3w:
|
|
368
366
|
|
|
369
|
-
${SUPPORTED_PACKAGE_MANAGERS.map((manager) =>
|
|
367
|
+
${SUPPORTED_PACKAGE_MANAGERS.map((manager) => c4.white(`- ${c4.cyan(manager)}`)).join("\n")}
|
|
370
368
|
|
|
371
|
-
${
|
|
372
|
-
${
|
|
369
|
+
${c4.white(`Chcesz, aby dodano wsparcie dla ${c4.yellow(packageManager)}-a? Daj nam zna\u0107!`)}
|
|
370
|
+
${formatLink(BUG_TRACKER_URL)}
|
|
373
371
|
|
|
374
|
-
${
|
|
372
|
+
${c4.white(`W mi\u0119dzyczasie u\u017Cyj innego mened\u017Cera:`)}
|
|
375
373
|
|
|
376
|
-
${Object.values(PACKAGE_MANAGER_CONFIGS).map((config) =>
|
|
377
|
-
|
|
378
|
-
console.error(warningMessage);
|
|
379
|
-
} else {
|
|
380
|
-
p6.cancel(warningMessage);
|
|
381
|
-
}
|
|
374
|
+
${Object.values(PACKAGE_MANAGER_CONFIGS).map((config) => c4.cyan(`${config.downloadExecute} @solvro/config`)).join(c4.white("\nlub\n"))}`;
|
|
375
|
+
p6.cancel(warningMessage);
|
|
382
376
|
};
|
|
383
377
|
|
|
384
378
|
// src/utils/package-json.ts
|
|
@@ -426,7 +420,7 @@ var PackageJson = class {
|
|
|
426
420
|
const json = await loadPackageJSON(projectRoot());
|
|
427
421
|
if (json === null) {
|
|
428
422
|
p7.cancel(
|
|
429
|
-
`Nie znaleziono pliku ${
|
|
423
|
+
`Nie znaleziono pliku ${c5.cyan("package.json")}. Upewnij si\u0119, \u017Ce jeste\u015B w katalogu projektu.`
|
|
430
424
|
);
|
|
431
425
|
process.exit(1);
|
|
432
426
|
}
|
|
@@ -469,7 +463,7 @@ var PackageJson = class {
|
|
|
469
463
|
const isNestJs = await isPackageListed("@nestjs/core");
|
|
470
464
|
if (isReact && isAdonis) {
|
|
471
465
|
p7.cancel(
|
|
472
|
-
`Projekty korzystaj\u0105ce zar\xF3wno z ${
|
|
466
|
+
`Projekty korzystaj\u0105ce zar\xF3wno z ${c5.magenta("Adonis")}a jak i ${c5.cyan("React")}a nie s\u0105 wspierane.`
|
|
473
467
|
);
|
|
474
468
|
process.exit(1);
|
|
475
469
|
}
|
|
@@ -563,7 +557,14 @@ var PackageJson = class {
|
|
|
563
557
|
}
|
|
564
558
|
async clearInstall() {
|
|
565
559
|
const [command, ...options2] = this.manager.cleanInstall.split(" ");
|
|
566
|
-
await
|
|
560
|
+
await runWithSpinner({
|
|
561
|
+
start: "Instalowanie pakiet\xF3w na \u015Bwie\u017Co",
|
|
562
|
+
stop: "Wszystkie pakiety zainstalowane \u{1F60D}",
|
|
563
|
+
error: "Instalacja pakiet\xF3w na \u015Bwie\u017Co nie powiod\u0142a si\u0119 \u{1F976}",
|
|
564
|
+
callback: async () => {
|
|
565
|
+
await $$(command, options2);
|
|
566
|
+
}
|
|
567
|
+
});
|
|
567
568
|
}
|
|
568
569
|
/**
|
|
569
570
|
* Gets the pnpm major version from package.json packageManager field or user agent.
|
|
@@ -590,6 +591,55 @@ var PackageJson = class {
|
|
|
590
591
|
}
|
|
591
592
|
};
|
|
592
593
|
|
|
594
|
+
// src/utils/print-intro.ts
|
|
595
|
+
import * as p8 from "@clack/prompts";
|
|
596
|
+
import { readFileSync } from "fs";
|
|
597
|
+
import c6 from "picocolors";
|
|
598
|
+
|
|
599
|
+
// src/utils/is-in-git-repo.ts
|
|
600
|
+
import { execSync as execSync3 } from "child_process";
|
|
601
|
+
var isInGitRepo = (options2) => {
|
|
602
|
+
try {
|
|
603
|
+
execSync3("git rev-parse --is-inside-work-tree ", {
|
|
604
|
+
stdio: "ignore",
|
|
605
|
+
...options2
|
|
606
|
+
});
|
|
607
|
+
return true;
|
|
608
|
+
} catch {
|
|
609
|
+
return false;
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
|
|
613
|
+
// src/utils/print-intro.ts
|
|
614
|
+
var printIntro = () => {
|
|
615
|
+
const packageJsonUrl = new URL("../../package.json", import.meta.url);
|
|
616
|
+
const packageJson7 = JSON.parse(readFileSync(packageJsonUrl, "utf8"));
|
|
617
|
+
const packageRoot = new URL("../", packageJsonUrl);
|
|
618
|
+
const execOptions = { cwd: packageRoot };
|
|
619
|
+
const clean = !isInGitRepo(execOptions) || isGitClean(execOptions);
|
|
620
|
+
const version = packageJson7.version == null || packageJson7.version.trim() === "" ? c6.red("(unknown version)") : c6.green(c6.bold(`v${packageJson7.version}`));
|
|
621
|
+
const dirtyStatus = clean ? "" : c6.white(" (dirty)");
|
|
622
|
+
p8.intro(
|
|
623
|
+
` ${c6.blueBright(c6.bold("@solvro/config"))} ${version}${dirtyStatus} `
|
|
624
|
+
);
|
|
625
|
+
};
|
|
626
|
+
|
|
627
|
+
// src/utils/print-outro.ts
|
|
628
|
+
import * as p9 from "@clack/prompts";
|
|
629
|
+
import c7 from "picocolors";
|
|
630
|
+
var PROJECT_DOCS_URL = "https://docs.solvro.pl/projects/creating#konfiguracja-repozytorium";
|
|
631
|
+
var printOutro = () => {
|
|
632
|
+
p9.log.success("Konfiguracja zako\u0144czona pomy\u015Blnie!");
|
|
633
|
+
p9.note(
|
|
634
|
+
`1. ${c7.white(`${c7.bold("Obowi\u0105zkowo")} zapoznaj si\u0119 z ${c7.cyan("dokumentacj\u0105 tworzenia projekt\xF3w")}:`)}
|
|
635
|
+
${formatLink(PROJECT_DOCS_URL)}
|
|
636
|
+
2. ${c7.white(`Pami\u0119taj o zostawianiu nam ${c7.yellow("gwiazdek na GitHubie")}! \u2B50`)}
|
|
637
|
+
${formatLink(REPO_URL)}`,
|
|
638
|
+
"Kolejne kroki"
|
|
639
|
+
);
|
|
640
|
+
p9.outro("Mi\u0142ego dnia! \u{1F44B}");
|
|
641
|
+
};
|
|
642
|
+
|
|
593
643
|
// src/cli/install-commitlint.ts
|
|
594
644
|
import { writeFile as writeFile2 } from "fs/promises";
|
|
595
645
|
import path3 from "path";
|
|
@@ -630,7 +680,7 @@ var installCommitLint = async () => {
|
|
|
630
680
|
};
|
|
631
681
|
|
|
632
682
|
// src/cli/install-eslint.ts
|
|
633
|
-
import * as
|
|
683
|
+
import * as p10 from "@clack/prompts";
|
|
634
684
|
import { existsSync } from "fs";
|
|
635
685
|
import * as fs from "fs/promises";
|
|
636
686
|
import path4 from "path";
|
|
@@ -660,8 +710,8 @@ var installEslint = async (isNonInteractive2 = false) => {
|
|
|
660
710
|
if (type === "react" && await packageJson3.isNextJs()) {
|
|
661
711
|
const is15 = await packageJson3.doesSatisfy("next", ">=15");
|
|
662
712
|
if (!is15) {
|
|
663
|
-
|
|
664
|
-
"Next.js musi by\u0107 w
|
|
713
|
+
p10.cancel(
|
|
714
|
+
"Next.js musi by\u0107 w co najmniej wersji 15. Zaktualizuj Next.js i spr\xF3buj ponownie.\nWi\u0119cej informacji tutaj: https://nextjs.org/docs/app/building-your-application/upgrading/version-15"
|
|
665
715
|
);
|
|
666
716
|
process.exit(1);
|
|
667
717
|
}
|
|
@@ -676,17 +726,17 @@ var installEslint = async (isNonInteractive2 = false) => {
|
|
|
676
726
|
"utf8"
|
|
677
727
|
);
|
|
678
728
|
if (eslintContent.includes("export default solvro(")) {
|
|
679
|
-
|
|
729
|
+
p10.log.warning("ESLint jest ju\u017C skonfigurowany. Pomijam.");
|
|
680
730
|
return;
|
|
681
731
|
} else {
|
|
682
732
|
if (isNonInteractive2) {
|
|
683
733
|
await fs.rm(path4.join(root2, eslintConfig));
|
|
684
734
|
} else {
|
|
685
735
|
const isConfirmed = await polishConfirm({
|
|
686
|
-
message: `Znaleziono plik konfiguracyjny
|
|
736
|
+
message: `Znaleziono plik konfiguracyjny ESLint. Czy chcesz go nadpisa\u0107?`
|
|
687
737
|
});
|
|
688
|
-
if (
|
|
689
|
-
|
|
738
|
+
if (p10.isCancel(isConfirmed) || !isConfirmed) {
|
|
739
|
+
p10.cancel("Nadpisz plik konfiguracyjny ESLint i spr\xF3buj ponownie.");
|
|
690
740
|
process.exit(1);
|
|
691
741
|
}
|
|
692
742
|
await fs.rm(path4.join(root2, eslintConfig));
|
|
@@ -702,11 +752,11 @@ var installEslint = async (isNonInteractive2 = false) => {
|
|
|
702
752
|
export default solvro();
|
|
703
753
|
`
|
|
704
754
|
);
|
|
705
|
-
|
|
755
|
+
p10.log.step("Plik konfiguracyjny ESLint zosta\u0142 utworzony.");
|
|
706
756
|
};
|
|
707
757
|
|
|
708
758
|
// src/cli/install-ga.ts
|
|
709
|
-
import * as
|
|
759
|
+
import * as p11 from "@clack/prompts";
|
|
710
760
|
import { existsSync as existsSync2 } from "fs";
|
|
711
761
|
import * as fs2 from "fs/promises";
|
|
712
762
|
import path5 from "path";
|
|
@@ -971,7 +1021,7 @@ var installGithubActions = async () => {
|
|
|
971
1021
|
const withCommitlint = await packageJson4.hasPackage("@commitlint/cli");
|
|
972
1022
|
if (type === "adonis") {
|
|
973
1023
|
if (!existsSync2(path5.join(projectDirectory, ".env.example"))) {
|
|
974
|
-
|
|
1024
|
+
p11.cancel(
|
|
975
1025
|
"Nie znaleziono pliku .env.example. Upewnij si\u0119, \u017Ce jeste\u015B w katalogu projektu Adonisa."
|
|
976
1026
|
);
|
|
977
1027
|
process.exit(1);
|
|
@@ -1022,7 +1072,7 @@ var installGithubActions = async () => {
|
|
|
1022
1072
|
'prettier --write "src/**/*.ts" "test/**/*.ts"'
|
|
1023
1073
|
);
|
|
1024
1074
|
if (!formatScriptUpdated) {
|
|
1025
|
-
|
|
1075
|
+
p11.log.warning(
|
|
1026
1076
|
"Aktualizacja skryptu format zosta\u0142a pomini\u0119ta, poniewa\u017C zosta\u0142 on zmieniony lub nie istnieje. R\u0119cznie zaktualizuj skrypt format w package.json, aby formatowa\u0142 wszystkie pliki projektu, a nie tylko te w katalogach src i test."
|
|
1027
1077
|
);
|
|
1028
1078
|
}
|
|
@@ -1037,7 +1087,7 @@ var installGithubActions = async () => {
|
|
|
1037
1087
|
await packageJson4.addScriptIfNotExists("format:check", "prettier --check .");
|
|
1038
1088
|
await packageJson4.addScriptIfNotExists("lint", "eslint . --max-warnings=0");
|
|
1039
1089
|
await packageJson4.addScriptIfNotExists("types:check", "tsc --noEmit");
|
|
1040
|
-
|
|
1090
|
+
p11.log.step("Dodano konfiguracj\u0119 CI i skrypty.");
|
|
1041
1091
|
};
|
|
1042
1092
|
|
|
1043
1093
|
// src/cli/install-lint-staged.ts
|
|
@@ -1062,7 +1112,7 @@ var installLintStaged = async () => {
|
|
|
1062
1112
|
};
|
|
1063
1113
|
|
|
1064
1114
|
// src/cli/install-prettier.ts
|
|
1065
|
-
import * as
|
|
1115
|
+
import * as p12 from "@clack/prompts";
|
|
1066
1116
|
import assert4 from "assert";
|
|
1067
1117
|
import { existsSync as existsSync3 } from "fs";
|
|
1068
1118
|
import * as fs3 from "fs/promises";
|
|
@@ -1096,7 +1146,7 @@ var installPrettier = async (isNonInteractive2 = false) => {
|
|
|
1096
1146
|
const solvroPrettierPath = "@solvro/config/prettier";
|
|
1097
1147
|
if (prettierConfig !== void 0 || packageJson6.json.prettier !== void 0) {
|
|
1098
1148
|
if (packageJson6.json.prettier === solvroPrettierPath) {
|
|
1099
|
-
|
|
1149
|
+
p12.log.warning("Konfiguracja Prettiera jest ju\u017C ustawiona. Pomijam.");
|
|
1100
1150
|
return;
|
|
1101
1151
|
}
|
|
1102
1152
|
if (isNonInteractive2) {
|
|
@@ -1107,8 +1157,8 @@ var installPrettier = async (isNonInteractive2 = false) => {
|
|
|
1107
1157
|
const isConfirmed = await polishConfirm({
|
|
1108
1158
|
message: `Znaleziono konfiguracj\u0119 Prettiera. Czy chcesz j\u0105 nadpisa\u0107?`
|
|
1109
1159
|
});
|
|
1110
|
-
if (
|
|
1111
|
-
|
|
1160
|
+
if (p12.isCancel(isConfirmed) || !isConfirmed) {
|
|
1161
|
+
p12.cancel("Usu\u0144 konfiguracje Prettiera i spr\xF3buj ponownie.");
|
|
1112
1162
|
process.exit(1);
|
|
1113
1163
|
}
|
|
1114
1164
|
for (const configName of prettierConfigNames) {
|
|
@@ -1118,7 +1168,7 @@ var installPrettier = async (isNonInteractive2 = false) => {
|
|
|
1118
1168
|
}
|
|
1119
1169
|
packageJson6.json.prettier = solvroPrettierPath;
|
|
1120
1170
|
await packageJson6.save();
|
|
1121
|
-
|
|
1171
|
+
p12.log.step("Konfiguracja Prettiera zosta\u0142a dodana.");
|
|
1122
1172
|
};
|
|
1123
1173
|
|
|
1124
1174
|
// src/cli/index.ts
|
|
@@ -1128,43 +1178,40 @@ program.parse();
|
|
|
1128
1178
|
var options = program.opts();
|
|
1129
1179
|
var isNonInteractive = checkIsNonInteractive();
|
|
1130
1180
|
async function main() {
|
|
1131
|
-
|
|
1132
|
-
p11.intro(c5.bold(c5.bgBlue(" @solvro/config ")));
|
|
1133
|
-
}
|
|
1181
|
+
printIntro();
|
|
1134
1182
|
const packageJson7 = new PackageJson();
|
|
1135
1183
|
packageJson7.verifyPackageManager();
|
|
1136
1184
|
await packageJson7.load();
|
|
1137
1185
|
await packageJson7.validateUserAgentConsistency();
|
|
1138
1186
|
if (options.force !== true && !isGitClean()) {
|
|
1139
1187
|
if (isNonInteractive) {
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
);
|
|
1188
|
+
p13.log.error("Repozytorium Git ma niezatwierdzone zmiany.");
|
|
1189
|
+
p13.cancel("U\u017Cyj --force, aby pomin\u0105\u0107 to sprawdzenie.");
|
|
1143
1190
|
process.exit(1);
|
|
1144
1191
|
}
|
|
1145
1192
|
const isConfirmed = await polishConfirm({
|
|
1146
1193
|
message: `Masz niezapisane zmiany w Git. Czy chcesz kontynuowa\u0107?`
|
|
1147
1194
|
});
|
|
1148
|
-
if (
|
|
1149
|
-
|
|
1195
|
+
if (p13.isCancel(isConfirmed) || !isConfirmed) {
|
|
1196
|
+
p13.cancel("Zapisz zmiany w Git i spr\xF3buj ponownie.");
|
|
1150
1197
|
process.exit(1);
|
|
1151
1198
|
}
|
|
1152
1199
|
}
|
|
1153
1200
|
if (await packageJson7.hasPackage("eslint") && !await packageJson7.doesSatisfy("eslint", "<10")) {
|
|
1154
1201
|
const eslint = await packageJson7.getPackageInfo("eslint");
|
|
1155
|
-
const versionInfo = eslint?.version == null ? "" : ` Obecnie zainstalowana jest wersja ${
|
|
1156
|
-
const errorMessage = `ESLint w wersji powy\u017Cej 9
|
|
1202
|
+
const versionInfo = eslint?.version == null ? "" : ` Obecnie zainstalowana jest wersja ${c8.yellow(eslint.version)}.`;
|
|
1203
|
+
const errorMessage = `ESLint w wersji powy\u017Cej 9 nie jest jeszcze wspierany.${versionInfo}`;
|
|
1157
1204
|
const errorRetry = "Prosz\u0119 zainstalowa\u0107 wersj\u0119 9 i spr\xF3bowa\u0107 ponownie.";
|
|
1158
1205
|
if (isNonInteractive) {
|
|
1159
|
-
|
|
1160
|
-
|
|
1206
|
+
p13.log.error(errorMessage);
|
|
1207
|
+
p13.cancel(errorRetry);
|
|
1161
1208
|
process.exit(1);
|
|
1162
1209
|
}
|
|
1163
1210
|
const isConfirmed = await polishConfirm({
|
|
1164
|
-
message: `${errorMessage} Zainstalowa\u0107 starsz\u0105 wersj\u0119 ${
|
|
1211
|
+
message: `${errorMessage} Zainstalowa\u0107 starsz\u0105 wersj\u0119 ${c8.magenta("ESLint")}'a? (Wymagane by kontynuowa\u0107)`
|
|
1165
1212
|
});
|
|
1166
|
-
if (
|
|
1167
|
-
|
|
1213
|
+
if (p13.isCancel(isConfirmed) || !isConfirmed) {
|
|
1214
|
+
p13.cancel(errorRetry);
|
|
1168
1215
|
process.exit(1);
|
|
1169
1216
|
}
|
|
1170
1217
|
await packageJson7.install("eslint", { dev: true, version: "^9" });
|
|
@@ -1172,17 +1219,17 @@ async function main() {
|
|
|
1172
1219
|
const projectType = await packageJson7.getProjectType();
|
|
1173
1220
|
if (!isNonInteractive) {
|
|
1174
1221
|
if (projectType === "adonis") {
|
|
1175
|
-
await confirmProjectType(
|
|
1222
|
+
await confirmProjectType(c8.magenta("Adonis"));
|
|
1176
1223
|
}
|
|
1177
1224
|
if (projectType === "react") {
|
|
1178
|
-
await confirmProjectType(
|
|
1225
|
+
await confirmProjectType(c8.cyan("React"));
|
|
1179
1226
|
}
|
|
1180
1227
|
if (projectType === "nestjs") {
|
|
1181
|
-
await confirmProjectType(
|
|
1228
|
+
await confirmProjectType(c8.red("NestJS"));
|
|
1182
1229
|
}
|
|
1183
1230
|
if (projectType === "node") {
|
|
1184
|
-
|
|
1185
|
-
`Nie znaleziono ani ${
|
|
1231
|
+
p13.cancel(
|
|
1232
|
+
`Nie znaleziono ani ${c8.magenta("Adonis")}-a, ${c8.cyan("React")}-a, ani ${c8.white("NestJS")}-a. Musisz r\u0119cznie konfigurowa\u0107 projekt.`
|
|
1186
1233
|
);
|
|
1187
1234
|
process.exit(1);
|
|
1188
1235
|
}
|
|
@@ -1195,8 +1242,8 @@ async function main() {
|
|
|
1195
1242
|
const isConfirmed = await polishConfirm({
|
|
1196
1243
|
message: `Tw\xF3j projekt nie u\u017Cywa ESM (brak "type": "module" w package.json). Czy chcesz to doda\u0107? (Wymagane by kontynuowa\u0107)`
|
|
1197
1244
|
});
|
|
1198
|
-
if (
|
|
1199
|
-
|
|
1245
|
+
if (p13.isCancel(isConfirmed) || !isConfirmed) {
|
|
1246
|
+
p13.cancel("Zmie\u0144 projekt na ESM i spr\xF3buj ponownie.");
|
|
1200
1247
|
process.exit(1);
|
|
1201
1248
|
}
|
|
1202
1249
|
await packageJson7.ensureESM();
|
|
@@ -1220,41 +1267,42 @@ async function main() {
|
|
|
1220
1267
|
toolsToInstall.push("commitlint");
|
|
1221
1268
|
}
|
|
1222
1269
|
if (toolsToInstall.length === 0) {
|
|
1223
|
-
|
|
1224
|
-
|
|
1270
|
+
p13.log.error("Nie wybrano \u017Cadnych narz\u0119dzi.");
|
|
1271
|
+
p13.cancel(
|
|
1272
|
+
"U\u017Cyj --eslint, --prettier, --gh-action, --commitlint, lub --all"
|
|
1225
1273
|
);
|
|
1226
1274
|
process.exit(1);
|
|
1227
1275
|
}
|
|
1228
1276
|
} else {
|
|
1229
|
-
const additionalTools = await
|
|
1230
|
-
message: `Kt\xF3re rzeczy Ci\u0119 interesuj\u0105? ${
|
|
1277
|
+
const additionalTools = await p13.multiselect({
|
|
1278
|
+
message: `Kt\xF3re rzeczy Ci\u0119 interesuj\u0105? ${c8.gray("zaznacz spacj\u0105, potwierd\u017A enterem")}`,
|
|
1231
1279
|
initialValues: ["eslint", "prettier", "gh-action", "commitlint"],
|
|
1232
1280
|
options: [
|
|
1233
1281
|
{
|
|
1234
1282
|
value: "eslint",
|
|
1235
|
-
label:
|
|
1283
|
+
label: c8.bold(c8.blueBright("ESLint")),
|
|
1236
1284
|
hint: "sprawdzanie jako\u015Bci kodu"
|
|
1237
1285
|
},
|
|
1238
1286
|
{
|
|
1239
1287
|
value: "prettier",
|
|
1240
|
-
label:
|
|
1288
|
+
label: c8.bold(c8.yellowBright("Prettier")),
|
|
1241
1289
|
hint: "formatowanie"
|
|
1242
1290
|
},
|
|
1243
1291
|
{
|
|
1244
1292
|
value: "gh-action",
|
|
1245
|
-
label:
|
|
1293
|
+
label: c8.bold("GitHub Actions"),
|
|
1246
1294
|
hint: "automatyczne testy na GitHubie"
|
|
1247
1295
|
},
|
|
1248
1296
|
{
|
|
1249
1297
|
value: "commitlint",
|
|
1250
|
-
label:
|
|
1298
|
+
label: c8.bold("Commitlint"),
|
|
1251
1299
|
hint: "walidacja tre\u015Bci commit\xF3w"
|
|
1252
1300
|
}
|
|
1253
1301
|
],
|
|
1254
1302
|
required: false
|
|
1255
1303
|
});
|
|
1256
|
-
if (
|
|
1257
|
-
|
|
1304
|
+
if (p13.isCancel(additionalTools) || additionalTools.length === 0) {
|
|
1305
|
+
p13.cancel("Nie wybrano \u017Cadnych narz\u0119dzi.");
|
|
1258
1306
|
process.exit(1);
|
|
1259
1307
|
}
|
|
1260
1308
|
toolsToInstall = additionalTools;
|
|
@@ -1280,26 +1328,18 @@ async function main() {
|
|
|
1280
1328
|
if (toolsToInstall.includes("prettier")) {
|
|
1281
1329
|
await packageJson7.localExecute("prettier", "--write", "package.json");
|
|
1282
1330
|
}
|
|
1283
|
-
|
|
1284
|
-
printSuccess("\u2705 Konfiguracja zako\u0144czona pomy\u015Blnie!");
|
|
1331
|
+
printOutro();
|
|
1285
1332
|
}
|
|
1286
1333
|
async function mainWrapper() {
|
|
1287
1334
|
try {
|
|
1288
1335
|
await main();
|
|
1289
1336
|
} catch (error) {
|
|
1290
1337
|
if (process.env.NODE_ENV === "development") {
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
error instanceof Error ? error.message : error
|
|
1294
|
-
);
|
|
1338
|
+
p13.cancel("Unhandled error in main:");
|
|
1339
|
+
console.error(error instanceof Error ? error.message : error);
|
|
1295
1340
|
} else {
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
console.error(errorMessage);
|
|
1299
|
-
console.error(BUG_TRACKER_URL);
|
|
1300
|
-
} else {
|
|
1301
|
-
p11.cancel(`${errorMessage} ${BUG_TRACKER_URL}`);
|
|
1302
|
-
}
|
|
1341
|
+
p13.log.error("Wyst\u0105pi\u0142 nieoczekiwany b\u0142\u0105d :(");
|
|
1342
|
+
p13.cancel(`Prosz\u0119 zg\u0142osi\u0107 go tw\xF3rcom: ${BUG_TRACKER_URL}`);
|
|
1303
1343
|
}
|
|
1304
1344
|
process.exit(1);
|
|
1305
1345
|
}
|