@solvro/config 3.0.0-beta.4 → 3.0.0-beta.5
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 +127 -100
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +116 -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.4",
|
|
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 --", 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-log.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,38 @@ 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
|
+
var printIntro = () => {
|
|
599
|
+
const packageJsonUrl = new URL("../../package.json", import.meta.url);
|
|
600
|
+
const packageJson7 = JSON.parse(readFileSync(packageJsonUrl, "utf8"));
|
|
601
|
+
const packageRoot = new URL("../", packageJsonUrl);
|
|
602
|
+
const clean = isGitClean({ cwd: packageRoot, stdio: "ignore" });
|
|
603
|
+
const version = packageJson7.version == null || packageJson7.version.trim() === "" ? c6.red("(unknown version)") : c6.green(c6.bold(`v${packageJson7.version}`));
|
|
604
|
+
const dirtyStatus = clean ? "" : c6.white(" (dirty)");
|
|
605
|
+
p8.intro(
|
|
606
|
+
` ${c6.blueBright(c6.bold("@solvro/config"))} ${version}${dirtyStatus} `
|
|
607
|
+
);
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
// src/utils/print-outro.ts
|
|
611
|
+
import * as p9 from "@clack/prompts";
|
|
612
|
+
import c7 from "picocolors";
|
|
613
|
+
var PROJECT_DOCS_URL = "https://docs.solvro.pl/projects/creating#konfiguracja-repozytorium";
|
|
614
|
+
var printOutro = () => {
|
|
615
|
+
p9.log.success("Konfiguracja zako\u0144czona pomy\u015Blnie!");
|
|
616
|
+
p9.note(
|
|
617
|
+
`1. ${c7.white(`${c7.bold("Obowi\u0105zkowo")} zapoznaj si\u0119 z ${c7.cyan("dokumentacj\u0105 tworzenia projekt\xF3w")}:`)}
|
|
618
|
+
${formatLink(PROJECT_DOCS_URL)}
|
|
619
|
+
2. ${c7.white(`Pami\u0119taj o zostawianiu nam ${c7.yellow("gwiazdek na GitHubie")}! \u2B50`)}
|
|
620
|
+
${formatLink(REPO_URL)}`,
|
|
621
|
+
"Kolejne kroki"
|
|
622
|
+
);
|
|
623
|
+
p9.outro("Mi\u0142ego dnia! \u{1F44B}");
|
|
624
|
+
};
|
|
625
|
+
|
|
593
626
|
// src/cli/install-commitlint.ts
|
|
594
627
|
import { writeFile as writeFile2 } from "fs/promises";
|
|
595
628
|
import path3 from "path";
|
|
@@ -630,7 +663,7 @@ var installCommitLint = async () => {
|
|
|
630
663
|
};
|
|
631
664
|
|
|
632
665
|
// src/cli/install-eslint.ts
|
|
633
|
-
import * as
|
|
666
|
+
import * as p10 from "@clack/prompts";
|
|
634
667
|
import { existsSync } from "fs";
|
|
635
668
|
import * as fs from "fs/promises";
|
|
636
669
|
import path4 from "path";
|
|
@@ -660,8 +693,8 @@ var installEslint = async (isNonInteractive2 = false) => {
|
|
|
660
693
|
if (type === "react" && await packageJson3.isNextJs()) {
|
|
661
694
|
const is15 = await packageJson3.doesSatisfy("next", ">=15");
|
|
662
695
|
if (!is15) {
|
|
663
|
-
|
|
664
|
-
"Next.js musi by\u0107 w
|
|
696
|
+
p10.cancel(
|
|
697
|
+
"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
698
|
);
|
|
666
699
|
process.exit(1);
|
|
667
700
|
}
|
|
@@ -676,17 +709,17 @@ var installEslint = async (isNonInteractive2 = false) => {
|
|
|
676
709
|
"utf8"
|
|
677
710
|
);
|
|
678
711
|
if (eslintContent.includes("export default solvro(")) {
|
|
679
|
-
|
|
712
|
+
p10.log.warning("ESLint jest ju\u017C skonfigurowany. Pomijam.");
|
|
680
713
|
return;
|
|
681
714
|
} else {
|
|
682
715
|
if (isNonInteractive2) {
|
|
683
716
|
await fs.rm(path4.join(root2, eslintConfig));
|
|
684
717
|
} else {
|
|
685
718
|
const isConfirmed = await polishConfirm({
|
|
686
|
-
message: `Znaleziono plik konfiguracyjny
|
|
719
|
+
message: `Znaleziono plik konfiguracyjny ESLint. Czy chcesz go nadpisa\u0107?`
|
|
687
720
|
});
|
|
688
|
-
if (
|
|
689
|
-
|
|
721
|
+
if (p10.isCancel(isConfirmed) || !isConfirmed) {
|
|
722
|
+
p10.cancel("Nadpisz plik konfiguracyjny ESLint i spr\xF3buj ponownie.");
|
|
690
723
|
process.exit(1);
|
|
691
724
|
}
|
|
692
725
|
await fs.rm(path4.join(root2, eslintConfig));
|
|
@@ -702,11 +735,11 @@ var installEslint = async (isNonInteractive2 = false) => {
|
|
|
702
735
|
export default solvro();
|
|
703
736
|
`
|
|
704
737
|
);
|
|
705
|
-
|
|
738
|
+
p10.log.step("Plik konfiguracyjny ESLint zosta\u0142 utworzony.");
|
|
706
739
|
};
|
|
707
740
|
|
|
708
741
|
// src/cli/install-ga.ts
|
|
709
|
-
import * as
|
|
742
|
+
import * as p11 from "@clack/prompts";
|
|
710
743
|
import { existsSync as existsSync2 } from "fs";
|
|
711
744
|
import * as fs2 from "fs/promises";
|
|
712
745
|
import path5 from "path";
|
|
@@ -971,7 +1004,7 @@ var installGithubActions = async () => {
|
|
|
971
1004
|
const withCommitlint = await packageJson4.hasPackage("@commitlint/cli");
|
|
972
1005
|
if (type === "adonis") {
|
|
973
1006
|
if (!existsSync2(path5.join(projectDirectory, ".env.example"))) {
|
|
974
|
-
|
|
1007
|
+
p11.cancel(
|
|
975
1008
|
"Nie znaleziono pliku .env.example. Upewnij si\u0119, \u017Ce jeste\u015B w katalogu projektu Adonisa."
|
|
976
1009
|
);
|
|
977
1010
|
process.exit(1);
|
|
@@ -1022,7 +1055,7 @@ var installGithubActions = async () => {
|
|
|
1022
1055
|
'prettier --write "src/**/*.ts" "test/**/*.ts"'
|
|
1023
1056
|
);
|
|
1024
1057
|
if (!formatScriptUpdated) {
|
|
1025
|
-
|
|
1058
|
+
p11.log.warning(
|
|
1026
1059
|
"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
1060
|
);
|
|
1028
1061
|
}
|
|
@@ -1037,7 +1070,7 @@ var installGithubActions = async () => {
|
|
|
1037
1070
|
await packageJson4.addScriptIfNotExists("format:check", "prettier --check .");
|
|
1038
1071
|
await packageJson4.addScriptIfNotExists("lint", "eslint . --max-warnings=0");
|
|
1039
1072
|
await packageJson4.addScriptIfNotExists("types:check", "tsc --noEmit");
|
|
1040
|
-
|
|
1073
|
+
p11.log.step("Dodano konfiguracj\u0119 CI i skrypty.");
|
|
1041
1074
|
};
|
|
1042
1075
|
|
|
1043
1076
|
// src/cli/install-lint-staged.ts
|
|
@@ -1062,7 +1095,7 @@ var installLintStaged = async () => {
|
|
|
1062
1095
|
};
|
|
1063
1096
|
|
|
1064
1097
|
// src/cli/install-prettier.ts
|
|
1065
|
-
import * as
|
|
1098
|
+
import * as p12 from "@clack/prompts";
|
|
1066
1099
|
import assert4 from "assert";
|
|
1067
1100
|
import { existsSync as existsSync3 } from "fs";
|
|
1068
1101
|
import * as fs3 from "fs/promises";
|
|
@@ -1096,7 +1129,7 @@ var installPrettier = async (isNonInteractive2 = false) => {
|
|
|
1096
1129
|
const solvroPrettierPath = "@solvro/config/prettier";
|
|
1097
1130
|
if (prettierConfig !== void 0 || packageJson6.json.prettier !== void 0) {
|
|
1098
1131
|
if (packageJson6.json.prettier === solvroPrettierPath) {
|
|
1099
|
-
|
|
1132
|
+
p12.log.warning("Konfiguracja Prettiera jest ju\u017C ustawiona. Pomijam.");
|
|
1100
1133
|
return;
|
|
1101
1134
|
}
|
|
1102
1135
|
if (isNonInteractive2) {
|
|
@@ -1107,8 +1140,8 @@ var installPrettier = async (isNonInteractive2 = false) => {
|
|
|
1107
1140
|
const isConfirmed = await polishConfirm({
|
|
1108
1141
|
message: `Znaleziono konfiguracj\u0119 Prettiera. Czy chcesz j\u0105 nadpisa\u0107?`
|
|
1109
1142
|
});
|
|
1110
|
-
if (
|
|
1111
|
-
|
|
1143
|
+
if (p12.isCancel(isConfirmed) || !isConfirmed) {
|
|
1144
|
+
p12.cancel("Usu\u0144 konfiguracje Prettiera i spr\xF3buj ponownie.");
|
|
1112
1145
|
process.exit(1);
|
|
1113
1146
|
}
|
|
1114
1147
|
for (const configName of prettierConfigNames) {
|
|
@@ -1118,7 +1151,7 @@ var installPrettier = async (isNonInteractive2 = false) => {
|
|
|
1118
1151
|
}
|
|
1119
1152
|
packageJson6.json.prettier = solvroPrettierPath;
|
|
1120
1153
|
await packageJson6.save();
|
|
1121
|
-
|
|
1154
|
+
p12.log.step("Konfiguracja Prettiera zosta\u0142a dodana.");
|
|
1122
1155
|
};
|
|
1123
1156
|
|
|
1124
1157
|
// src/cli/index.ts
|
|
@@ -1128,43 +1161,40 @@ program.parse();
|
|
|
1128
1161
|
var options = program.opts();
|
|
1129
1162
|
var isNonInteractive = checkIsNonInteractive();
|
|
1130
1163
|
async function main() {
|
|
1131
|
-
|
|
1132
|
-
p11.intro(c5.bold(c5.bgBlue(" @solvro/config ")));
|
|
1133
|
-
}
|
|
1164
|
+
printIntro();
|
|
1134
1165
|
const packageJson7 = new PackageJson();
|
|
1135
1166
|
packageJson7.verifyPackageManager();
|
|
1136
1167
|
await packageJson7.load();
|
|
1137
1168
|
await packageJson7.validateUserAgentConsistency();
|
|
1138
1169
|
if (options.force !== true && !isGitClean()) {
|
|
1139
1170
|
if (isNonInteractive) {
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
);
|
|
1171
|
+
p13.log.error("Repozytorium Git ma niezatwierdzone zmiany.");
|
|
1172
|
+
p13.cancel("U\u017Cyj --force, aby pomin\u0105\u0107 to sprawdzenie.");
|
|
1143
1173
|
process.exit(1);
|
|
1144
1174
|
}
|
|
1145
1175
|
const isConfirmed = await polishConfirm({
|
|
1146
1176
|
message: `Masz niezapisane zmiany w Git. Czy chcesz kontynuowa\u0107?`
|
|
1147
1177
|
});
|
|
1148
|
-
if (
|
|
1149
|
-
|
|
1178
|
+
if (p13.isCancel(isConfirmed) || !isConfirmed) {
|
|
1179
|
+
p13.cancel("Zapisz zmiany w Git i spr\xF3buj ponownie.");
|
|
1150
1180
|
process.exit(1);
|
|
1151
1181
|
}
|
|
1152
1182
|
}
|
|
1153
1183
|
if (await packageJson7.hasPackage("eslint") && !await packageJson7.doesSatisfy("eslint", "<10")) {
|
|
1154
1184
|
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
|
|
1185
|
+
const versionInfo = eslint?.version == null ? "" : ` Obecnie zainstalowana jest wersja ${c8.yellow(eslint.version)}.`;
|
|
1186
|
+
const errorMessage = `ESLint w wersji powy\u017Cej 9 nie jest jeszcze wspierany.${versionInfo}`;
|
|
1157
1187
|
const errorRetry = "Prosz\u0119 zainstalowa\u0107 wersj\u0119 9 i spr\xF3bowa\u0107 ponownie.";
|
|
1158
1188
|
if (isNonInteractive) {
|
|
1159
|
-
|
|
1160
|
-
|
|
1189
|
+
p13.log.error(errorMessage);
|
|
1190
|
+
p13.cancel(errorRetry);
|
|
1161
1191
|
process.exit(1);
|
|
1162
1192
|
}
|
|
1163
1193
|
const isConfirmed = await polishConfirm({
|
|
1164
|
-
message: `${errorMessage} Zainstalowa\u0107 starsz\u0105 wersj\u0119 ${
|
|
1194
|
+
message: `${errorMessage} Zainstalowa\u0107 starsz\u0105 wersj\u0119 ${c8.magenta("ESLint")}'a? (Wymagane by kontynuowa\u0107)`
|
|
1165
1195
|
});
|
|
1166
|
-
if (
|
|
1167
|
-
|
|
1196
|
+
if (p13.isCancel(isConfirmed) || !isConfirmed) {
|
|
1197
|
+
p13.cancel(errorRetry);
|
|
1168
1198
|
process.exit(1);
|
|
1169
1199
|
}
|
|
1170
1200
|
await packageJson7.install("eslint", { dev: true, version: "^9" });
|
|
@@ -1172,17 +1202,17 @@ async function main() {
|
|
|
1172
1202
|
const projectType = await packageJson7.getProjectType();
|
|
1173
1203
|
if (!isNonInteractive) {
|
|
1174
1204
|
if (projectType === "adonis") {
|
|
1175
|
-
await confirmProjectType(
|
|
1205
|
+
await confirmProjectType(c8.magenta("Adonis"));
|
|
1176
1206
|
}
|
|
1177
1207
|
if (projectType === "react") {
|
|
1178
|
-
await confirmProjectType(
|
|
1208
|
+
await confirmProjectType(c8.cyan("React"));
|
|
1179
1209
|
}
|
|
1180
1210
|
if (projectType === "nestjs") {
|
|
1181
|
-
await confirmProjectType(
|
|
1211
|
+
await confirmProjectType(c8.red("NestJS"));
|
|
1182
1212
|
}
|
|
1183
1213
|
if (projectType === "node") {
|
|
1184
|
-
|
|
1185
|
-
`Nie znaleziono ani ${
|
|
1214
|
+
p13.cancel(
|
|
1215
|
+
`Nie znaleziono ani ${c8.magenta("Adonis")}-a, ${c8.cyan("React")}-a, ani ${c8.white("NestJS")}-a. Musisz r\u0119cznie konfigurowa\u0107 projekt.`
|
|
1186
1216
|
);
|
|
1187
1217
|
process.exit(1);
|
|
1188
1218
|
}
|
|
@@ -1195,8 +1225,8 @@ async function main() {
|
|
|
1195
1225
|
const isConfirmed = await polishConfirm({
|
|
1196
1226
|
message: `Tw\xF3j projekt nie u\u017Cywa ESM (brak "type": "module" w package.json). Czy chcesz to doda\u0107? (Wymagane by kontynuowa\u0107)`
|
|
1197
1227
|
});
|
|
1198
|
-
if (
|
|
1199
|
-
|
|
1228
|
+
if (p13.isCancel(isConfirmed) || !isConfirmed) {
|
|
1229
|
+
p13.cancel("Zmie\u0144 projekt na ESM i spr\xF3buj ponownie.");
|
|
1200
1230
|
process.exit(1);
|
|
1201
1231
|
}
|
|
1202
1232
|
await packageJson7.ensureESM();
|
|
@@ -1220,41 +1250,42 @@ async function main() {
|
|
|
1220
1250
|
toolsToInstall.push("commitlint");
|
|
1221
1251
|
}
|
|
1222
1252
|
if (toolsToInstall.length === 0) {
|
|
1223
|
-
|
|
1224
|
-
|
|
1253
|
+
p13.log.error("Nie wybrano \u017Cadnych narz\u0119dzi.");
|
|
1254
|
+
p13.cancel(
|
|
1255
|
+
"U\u017Cyj --eslint, --prettier, --gh-action, --commitlint, lub --all"
|
|
1225
1256
|
);
|
|
1226
1257
|
process.exit(1);
|
|
1227
1258
|
}
|
|
1228
1259
|
} else {
|
|
1229
|
-
const additionalTools = await
|
|
1230
|
-
message: `Kt\xF3re rzeczy Ci\u0119 interesuj\u0105? ${
|
|
1260
|
+
const additionalTools = await p13.multiselect({
|
|
1261
|
+
message: `Kt\xF3re rzeczy Ci\u0119 interesuj\u0105? ${c8.gray("zaznacz spacj\u0105, potwierd\u017A enterem")}`,
|
|
1231
1262
|
initialValues: ["eslint", "prettier", "gh-action", "commitlint"],
|
|
1232
1263
|
options: [
|
|
1233
1264
|
{
|
|
1234
1265
|
value: "eslint",
|
|
1235
|
-
label:
|
|
1266
|
+
label: c8.bold(c8.blueBright("ESLint")),
|
|
1236
1267
|
hint: "sprawdzanie jako\u015Bci kodu"
|
|
1237
1268
|
},
|
|
1238
1269
|
{
|
|
1239
1270
|
value: "prettier",
|
|
1240
|
-
label:
|
|
1271
|
+
label: c8.bold(c8.yellowBright("Prettier")),
|
|
1241
1272
|
hint: "formatowanie"
|
|
1242
1273
|
},
|
|
1243
1274
|
{
|
|
1244
1275
|
value: "gh-action",
|
|
1245
|
-
label:
|
|
1276
|
+
label: c8.bold("GitHub Actions"),
|
|
1246
1277
|
hint: "automatyczne testy na GitHubie"
|
|
1247
1278
|
},
|
|
1248
1279
|
{
|
|
1249
1280
|
value: "commitlint",
|
|
1250
|
-
label:
|
|
1281
|
+
label: c8.bold("Commitlint"),
|
|
1251
1282
|
hint: "walidacja tre\u015Bci commit\xF3w"
|
|
1252
1283
|
}
|
|
1253
1284
|
],
|
|
1254
1285
|
required: false
|
|
1255
1286
|
});
|
|
1256
|
-
if (
|
|
1257
|
-
|
|
1287
|
+
if (p13.isCancel(additionalTools) || additionalTools.length === 0) {
|
|
1288
|
+
p13.cancel("Nie wybrano \u017Cadnych narz\u0119dzi.");
|
|
1258
1289
|
process.exit(1);
|
|
1259
1290
|
}
|
|
1260
1291
|
toolsToInstall = additionalTools;
|
|
@@ -1280,26 +1311,18 @@ async function main() {
|
|
|
1280
1311
|
if (toolsToInstall.includes("prettier")) {
|
|
1281
1312
|
await packageJson7.localExecute("prettier", "--write", "package.json");
|
|
1282
1313
|
}
|
|
1283
|
-
|
|
1284
|
-
printSuccess("\u2705 Konfiguracja zako\u0144czona pomy\u015Blnie!");
|
|
1314
|
+
printOutro();
|
|
1285
1315
|
}
|
|
1286
1316
|
async function mainWrapper() {
|
|
1287
1317
|
try {
|
|
1288
1318
|
await main();
|
|
1289
1319
|
} catch (error) {
|
|
1290
1320
|
if (process.env.NODE_ENV === "development") {
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
error instanceof Error ? error.message : error
|
|
1294
|
-
);
|
|
1321
|
+
p13.cancel("Unhandled error in main:");
|
|
1322
|
+
console.error(error instanceof Error ? error.message : error);
|
|
1295
1323
|
} else {
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
console.error(errorMessage);
|
|
1299
|
-
console.error(BUG_TRACKER_URL);
|
|
1300
|
-
} else {
|
|
1301
|
-
p11.cancel(`${errorMessage} ${BUG_TRACKER_URL}`);
|
|
1302
|
-
}
|
|
1324
|
+
p13.log.error("Wyst\u0105pi\u0142 nieoczekiwany b\u0142\u0105d :(");
|
|
1325
|
+
p13.cancel(`Prosz\u0119 zg\u0142osi\u0107 go tw\xF3rcom: ${BUG_TRACKER_URL}`);
|
|
1303
1326
|
}
|
|
1304
1327
|
process.exit(1);
|
|
1305
1328
|
}
|