@solvro/config 1.10.4 → 1.10.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.js +15 -37
- package/dist/cli/index.js.map +1 -1
- package/dist/commitlint/index.js +1 -5
- package/dist/commitlint/index.js.map +1 -1
- package/dist/eslint/index.d.ts +1 -1
- package/dist/eslint/index.js +8 -7768
- package/dist/eslint/index.js.map +1 -1
- package/dist/prettier/index.js +0 -5
- package/dist/prettier/index.js.map +1 -1
- package/package.json +5 -2
- package/dist/chunk-2ZJMOLU5.js +0 -49
- package/dist/chunk-2ZJMOLU5.js.map +0 -1
package/dist/cli/index.js
CHANGED
@@ -1,14 +1,8 @@
|
|
1
|
-
import {
|
2
|
-
init_esm_shims
|
3
|
-
} from "../chunk-2ZJMOLU5.js";
|
4
|
-
|
5
1
|
// src/cli/index.ts
|
6
|
-
init_esm_shims();
|
7
2
|
import * as p6 from "@clack/prompts";
|
8
3
|
import c from "picocolors";
|
9
4
|
|
10
5
|
// src/utils/is-git-clean.ts
|
11
|
-
init_esm_shims();
|
12
6
|
import { execSync } from "node:child_process";
|
13
7
|
function isGitClean() {
|
14
8
|
try {
|
@@ -20,7 +14,6 @@ function isGitClean() {
|
|
20
14
|
}
|
21
15
|
|
22
16
|
// src/utils/package-json.ts
|
23
|
-
init_esm_shims();
|
24
17
|
import * as p2 from "@clack/prompts";
|
25
18
|
import { getPackageInfo, isPackageListed, loadPackageJSON } from "local-pkg";
|
26
19
|
import assert from "node:assert";
|
@@ -29,11 +22,9 @@ import path from "node:path";
|
|
29
22
|
import semver from "semver";
|
30
23
|
|
31
24
|
// src/utils/$$.ts
|
32
|
-
init_esm_shims();
|
33
25
|
import { $ } from "execa";
|
34
26
|
|
35
27
|
// src/utils/git-root.ts
|
36
|
-
init_esm_shims();
|
37
28
|
import { execSync as execSync2 } from "node:child_process";
|
38
29
|
var gitRoot = () => {
|
39
30
|
const root2 = execSync2("git rev-parse --show-toplevel").toString().trim();
|
@@ -46,7 +37,6 @@ var $$ = $({
|
|
46
37
|
});
|
47
38
|
|
48
39
|
// src/utils/polish-confirm.ts
|
49
|
-
init_esm_shims();
|
50
40
|
import * as p from "@clack/prompts";
|
51
41
|
var polishConfirm = async (props) => {
|
52
42
|
return p.confirm({
|
@@ -130,37 +120,33 @@ var PackageJson = class {
|
|
130
120
|
await this.save();
|
131
121
|
}
|
132
122
|
async install(pkg, options) {
|
123
|
+
const isInstalled = await this.hasPackage(pkg);
|
124
|
+
if (!isInstalled) {
|
125
|
+
const spinner2 = p2.spinner();
|
126
|
+
spinner2.start(`Instalowanie ${pkg}`);
|
127
|
+
await $$`npm i ${options?.dev === true ? "-D" : ""} ${pkg}@latest`;
|
128
|
+
spinner2.stop(`${pkg} zainstalowany \u{1F60D}`);
|
129
|
+
await this.load();
|
130
|
+
return;
|
131
|
+
}
|
133
132
|
const info = await getPackageInfo(pkg);
|
134
133
|
if (info?.version !== void 0 && options?.minVersion !== void 0) {
|
135
134
|
if (!semver.satisfies(info.version, options.minVersion)) {
|
136
|
-
const
|
137
|
-
|
135
|
+
const spinner2 = p2.spinner();
|
136
|
+
spinner2.start(`Aktualizowanie ${pkg}`);
|
138
137
|
await $$`npm i ${options.dev === true ? "-D" : ""} ${pkg}@latest`;
|
139
|
-
|
138
|
+
spinner2.stop(`${pkg} zaktualizowany \u{1F60D}`);
|
140
139
|
await this.load();
|
141
|
-
return;
|
142
|
-
} else {
|
143
|
-
return;
|
144
140
|
}
|
145
141
|
}
|
146
|
-
if (info !== void 0) {
|
147
|
-
return;
|
148
|
-
}
|
149
|
-
const spinner2 = p2.spinner();
|
150
|
-
spinner2.start(`Instalowanie ${pkg}`);
|
151
|
-
await $$`npm i ${options?.dev === true ? "-D" : ""} ${pkg}@latest`;
|
152
|
-
spinner2.stop(`${pkg} zainstalowany \u{1F60D}`);
|
153
|
-
await this.load();
|
154
142
|
}
|
155
143
|
};
|
156
144
|
|
157
145
|
// src/cli/install-commitlint.ts
|
158
|
-
init_esm_shims();
|
159
146
|
import { writeFile as writeFile2 } from "fs/promises";
|
160
147
|
import path2 from "path";
|
161
148
|
|
162
149
|
// src/cli/templates/commitlint.ts
|
163
|
-
init_esm_shims();
|
164
150
|
var commitlint = () => `export default {
|
165
151
|
extends: ["@solvro/config/commitlint"],
|
166
152
|
};
|
@@ -184,7 +170,6 @@ var installCommitLint = async () => {
|
|
184
170
|
};
|
185
171
|
|
186
172
|
// src/cli/install-eslint.ts
|
187
|
-
init_esm_shims();
|
188
173
|
import * as p3 from "@clack/prompts";
|
189
174
|
import { existsSync } from "node:fs";
|
190
175
|
import * as fs from "node:fs/promises";
|
@@ -252,17 +237,12 @@ export default solvro();
|
|
252
237
|
};
|
253
238
|
|
254
239
|
// src/cli/install-ga.ts
|
255
|
-
init_esm_shims();
|
256
240
|
import * as p4 from "@clack/prompts";
|
257
241
|
import { existsSync as existsSync2 } from "node:fs";
|
258
242
|
import * as fs2 from "node:fs/promises";
|
259
243
|
import path4 from "node:path";
|
260
244
|
|
261
|
-
// src/cli/templates/adonis-ci.ts
|
262
|
-
init_esm_shims();
|
263
|
-
|
264
245
|
// src/cli/templates/commit-lint-ci.ts
|
265
|
-
init_esm_shims();
|
266
246
|
var commitLintCi = () => ` - name: Run commitlint check
|
267
247
|
run: npx commitlint -f \${{ github.event.pull_request.base.sha }}
|
268
248
|
`;
|
@@ -320,7 +300,6 @@ ${withCommitlint ? commitLintCi() : ""}
|
|
320
300
|
if: always()`;
|
321
301
|
|
322
302
|
// src/cli/templates/dependabot.ts
|
323
|
-
init_esm_shims();
|
324
303
|
var dependabot = () => `version: 2
|
325
304
|
updates:
|
326
305
|
- package-ecosystem: "npm"
|
@@ -332,7 +311,6 @@ updates:
|
|
332
311
|
`;
|
333
312
|
|
334
313
|
// src/cli/templates/next-ci.ts
|
335
|
-
init_esm_shims();
|
336
314
|
var nextCi = ({
|
337
315
|
nodeVersion,
|
338
316
|
withCommitlint
|
@@ -411,7 +389,6 @@ var installGithubActions = async () => {
|
|
411
389
|
};
|
412
390
|
|
413
391
|
// src/cli/install-lint-staged.ts
|
414
|
-
init_esm_shims();
|
415
392
|
import assert2 from "assert";
|
416
393
|
import { writeFile as writeFile5 } from "fs/promises";
|
417
394
|
var packageJson4 = new PackageJson();
|
@@ -419,9 +396,10 @@ var installLintStaged = async () => {
|
|
419
396
|
await packageJson4.load();
|
420
397
|
assert2(packageJson4.json !== null);
|
421
398
|
if (!await packageJson4.hasPackage("husky")) {
|
422
|
-
await packageJson4.install("husky");
|
399
|
+
await packageJson4.install("husky", { dev: true });
|
423
400
|
await $$`npx husky init`;
|
424
401
|
}
|
402
|
+
await packageJson4.install("lint-staged", { dev: true });
|
425
403
|
await writeFile5(".husky/pre-commit", "npx lint-staged\n");
|
426
404
|
packageJson4.json["lint-staged"] = {
|
427
405
|
"*": "prettier -w --ignore-unknown"
|
@@ -430,7 +408,6 @@ var installLintStaged = async () => {
|
|
430
408
|
};
|
431
409
|
|
432
410
|
// src/cli/install-prettier.ts
|
433
|
-
init_esm_shims();
|
434
411
|
import * as p5 from "@clack/prompts";
|
435
412
|
import assert3 from "node:assert";
|
436
413
|
import { existsSync as existsSync3 } from "node:fs";
|
@@ -455,6 +432,7 @@ var installPrettier = async () => {
|
|
455
432
|
const root2 = gitRoot();
|
456
433
|
await packageJson5.load();
|
457
434
|
assert3(packageJson5.json !== null);
|
435
|
+
await packageJson5.install("prettier", { dev: true, minVersion: ">=3" });
|
458
436
|
const prettierConfig = prettierConfigNames.find(
|
459
437
|
(configName) => existsSync3(path5.join(root2, configName))
|
460
438
|
);
|
package/dist/cli/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/cli/index.ts","../../src/utils/is-git-clean.ts","../../src/utils/package-json.ts","../../src/utils/$$.ts","../../src/utils/git-root.ts","../../src/utils/polish-confirm.ts","../../src/cli/install-commitlint.ts","../../src/cli/templates/commitlint.ts","../../src/cli/install-eslint.ts","../../src/cli/install-ga.ts","../../src/cli/templates/adonis-ci.ts","../../src/cli/templates/commit-lint-ci.ts","../../src/cli/templates/dependabot.ts","../../src/cli/templates/next-ci.ts","../../src/cli/install-lint-staged.ts","../../src/cli/install-prettier.ts"],"sourcesContent":["import * as p from \"@clack/prompts\";\nimport c from \"picocolors\";\n\nimport { isGitClean } from \"../utils/is-git-clean\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { polishConfirm } from \"../utils/polish-confirm\";\nimport { installCommitLint } from \"./install-commitlint\";\nimport { installEslint } from \"./install-eslint\";\nimport { installGithubActions } from \"./install-ga\";\nimport { installLintStaged } from \"./install-lint-staged\";\nimport { installPrettier } from \"./install-prettier\";\n\np.intro(c.bold(c.bgBlue(\" @solvro/config \")));\n\nif (!isGitClean()) {\n const isConfirmed = await polishConfirm({\n message: `Masz niezapisane zmiany w Git. Czy chcesz kontynuować?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Zapisz zmiany w Git i spróbuj ponownie.\");\n process.exit(1);\n }\n}\n\nconst packageJson = new PackageJson();\n\nawait packageJson.ensureESM();\n\nconst projectType = await packageJson.getProjectType();\n\nif (projectType === \"adonis\") {\n const isConfirmed = await polishConfirm({\n message: `Wygląda jakbyś używał Adonisa. Czy to się zgadza?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Zgłoś błąd na GitHubie :(, a my spróbujemy pomóc.\");\n process.exit(1);\n }\n}\n\nif (projectType === \"next\") {\n const isConfirmed = await polishConfirm({\n message: `Wygląda jakbyś używał Next.js. Czy to się zgadza?`,\n });\n\n if (p.isCancel(isConfirmed)) {\n p.cancel(\"😡\");\n process.exit(1);\n }\n\n if (!isConfirmed) {\n p.cancel(\"Zgłoś błąd na GitHubie :(, a my spróbujemy pomóc.\");\n process.exit(1);\n }\n}\n\nif (projectType === \"node\") {\n p.cancel(\n \"Nie znaleziono ani Adonisa, ani Next.js. Musisz ręcznie konfigurować projekt.\",\n );\n process.exit(1);\n}\n\nconst additionalTools = await p.multiselect({\n message: `Które rzeczy Cię interesują? ${c.gray(\"zaznacz spacją, potwierdź enterem\")}`,\n initialValues: [\"eslint\", \"prettier\", \"gh-action\", \"commitlint\"],\n options: [\n {\n value: \"eslint\",\n label: c.bold(c.blueBright(\"ESLint\")),\n hint: \"sprawdzanie jakości kodu\",\n },\n {\n value: \"prettier\",\n label: c.bold(c.yellowBright(\"Prettier\")),\n hint: \"formatowanie\",\n },\n {\n value: \"gh-action\",\n label: c.bold(\"GitHub Actions\"),\n hint: \"automatyczne testy na Githubie\",\n },\n {\n value: \"commitlint\",\n label: c.bold(\"Commitlint\"),\n hint: \"walidacja treści commitów\",\n },\n ],\n required: false,\n});\n\nif (p.isCancel(additionalTools) || additionalTools.length === 0) {\n p.cancel(\"Nie wybrano żadnych narzędzi.\");\n process.exit(1);\n}\n\nawait packageJson.install(\"@solvro/config\", { dev: true });\n\nif (additionalTools.includes(\"eslint\")) {\n await installEslint();\n}\n\nif (additionalTools.includes(\"prettier\")) {\n await installPrettier();\n\n await installLintStaged();\n}\n\nif (additionalTools.includes(\"commitlint\")) {\n await installCommitLint();\n}\n\nif (additionalTools.includes(\"gh-action\")) {\n await installGithubActions();\n}\n","import { execSync } from \"node:child_process\";\n\nexport function isGitClean(): boolean {\n try {\n execSync(\"git diff-index --quiet HEAD --\");\n return true;\n } catch {\n return false;\n }\n}\n","import * as p from \"@clack/prompts\";\nimport { getPackageInfo, isPackageListed, loadPackageJSON } from \"local-pkg\";\nimport assert from \"node:assert\";\nimport { writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport semver from \"semver\";\n\nimport { $$ } from \"./$$\";\nimport { gitRoot } from \"./git-root\";\nimport { polishConfirm } from \"./polish-confirm\";\n\nexport class PackageJson {\n public json: Awaited<ReturnType<typeof loadPackageJSON>> = null;\n\n async load() {\n const json = await loadPackageJSON(gitRoot());\n\n if (json === null) {\n p.cancel(\n \"Nie znaleziono package.json. Upewnij się, że jesteś w katalogu projektu.\",\n );\n process.exit(1);\n }\n\n this.json = json;\n }\n\n hasPackage(pkg: string) {\n return isPackageListed(pkg);\n }\n\n async doesSatisfies(pkg: string, version: string) {\n await this.load();\n\n assert(this.json !== null);\n\n const packageInfo = await getPackageInfo(pkg);\n\n if (packageInfo?.version === undefined) {\n return false;\n }\n\n return semver.satisfies(packageInfo.version, version);\n }\n\n async ensureESM() {\n await this.load();\n\n assert(this.json !== null);\n\n if (this.json.type === \"module\") {\n return;\n }\n\n const isConfirmed = await polishConfirm({\n message: `Twój projekt nie używa ESM (brak type: \"module\" w package.json). Czy chcesz to dodać? (Wymagane by kontynuować)`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Zmień projekt na ESM i spróbuj ponownie.\");\n process.exit(1);\n }\n\n this.json.type = \"module\";\n\n await this.save();\n }\n\n async getProjectType() {\n const isAdonis = await isPackageListed(\"@adonisjs/core\");\n const isNext = await isPackageListed(\"next\");\n\n if (isNext && isAdonis) {\n throw new Error(\n \"You can't use both Adonis and Next.js in the same project\",\n );\n }\n\n if (isAdonis) {\n return \"adonis\";\n }\n\n if (isNext) {\n return \"next\";\n }\n\n return \"node\";\n }\n\n async save() {\n await writeFile(\n path.join(gitRoot(), \"package.json\"),\n JSON.stringify(this.json, null, 2),\n );\n }\n\n async addScriptIfNotExists(name: string, script: string) {\n await this.load();\n\n assert(this.json !== null);\n\n if (this.json.scripts?.[name] !== undefined) {\n return;\n }\n\n this.json.scripts = this.json.scripts ?? {};\n this.json.scripts[name] = script;\n\n await this.save();\n }\n\n async install(pkg: string, options?: { minVersion?: string; dev?: boolean }) {\n const info = await getPackageInfo(pkg);\n\n if (info?.version !== undefined && options?.minVersion !== undefined) {\n if (!semver.satisfies(info.version, options.minVersion)) {\n const spinner = p.spinner();\n spinner.start(`Aktualizowanie ${pkg}`);\n await $$`npm i ${options.dev === true ? \"-D\" : \"\"} ${pkg}@latest`;\n spinner.stop(`${pkg} zaktualizowany 😍`);\n\n await this.load();\n\n return;\n } else {\n return;\n }\n }\n\n if (info !== undefined) {\n return;\n }\n\n const spinner = p.spinner();\n spinner.start(`Instalowanie ${pkg}`);\n await $$`npm i ${options?.dev === true ? \"-D\" : \"\"} ${pkg}@latest`;\n spinner.stop(`${pkg} zainstalowany 😍`);\n\n await this.load();\n }\n}\n","import { $ } from \"execa\";\n\nimport { gitRoot } from \"./git-root\";\n\nexport const $$ = $({\n cwd: gitRoot(),\n});\n","import { execSync } from \"node:child_process\";\n\nexport const gitRoot = () => {\n const root = execSync(\"git rev-parse --show-toplevel\").toString().trim();\n return root;\n};\n","import * as p from \"@clack/prompts\";\n\nexport const polishConfirm = async (props: p.ConfirmOptions) => {\n return p.confirm({\n active: \"Tak\",\n inactive: \"Nie\",\n ...props,\n });\n};\n","import { writeFile } from \"fs/promises\";\nimport path from \"path\";\n\nimport { $$ } from \"../utils/$$\";\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { commitlint } from \"./templates/commitlint\";\n\nconst root = gitRoot();\n\nconst packageJson = new PackageJson();\n\nexport const installCommitLint = async () => {\n if (!(await packageJson.hasPackage(\"husky\"))) {\n await packageJson.install(\"husky\", { dev: true });\n await $$`npx husky init`;\n }\n\n await packageJson.install(\"@commitlint/cli\", { dev: true });\n await packageJson.install(\"@commitlint/config-conventional\", { dev: true });\n\n await writeFile(\n path.join(root, \".husky/commit-msg\"),\n 'npx commitlint --edit \"$1\"\\n',\n );\n\n await writeFile(path.join(root, \".commitlintrc.js\"), commitlint());\n};\n","export const commitlint = () => `export default {\n extends: [\"@solvro/config/commitlint\"],\n};\n`;\n","import * as p from \"@clack/prompts\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { polishConfirm } from \"../utils/polish-confirm\";\n\nconst eslintConfigNames = [\n \".eslintrc.js\",\n \".eslintrc.cjs\",\n \".eslintrc.yaml\",\n \".eslintrc.yml\",\n \".eslintrc.json\",\n \".eslintrc\",\n \"eslint.config.js\",\n \"eslint.config.mjs\",\n \"eslint.config.cjs\",\n \"eslint.config.ts\",\n \"eslint.config.mts\",\n \"eslint.config.cts\",\n];\n\nconst packageJson = new PackageJson();\n\nexport const installEslint = async () => {\n const root = gitRoot();\n\n await packageJson.load();\n\n await packageJson.install(\"eslint\", { dev: true, minVersion: \">=9\" });\n\n const type = await packageJson.getProjectType();\n\n if (type === \"next\") {\n const is15 = await packageJson.doesSatisfies(\"next\", \">=15\");\n\n if (!is15) {\n p.cancel(\n \"Next.js musi być w conajmniej wersji 15. Zaktualizuj Next.js i spróbuj ponownie.\\nWięcej informacji tutaj: https://nextjs.org/docs/app/building-your-application/upgrading/version-15\",\n );\n process.exit(1);\n }\n\n await packageJson.install(\"@next/eslint-plugin-next\", { dev: true });\n }\n\n const eslintConfig = eslintConfigNames.find((configName) =>\n existsSync(path.join(root, configName)),\n );\n\n if (eslintConfig !== undefined) {\n const eslintContent = await fs.readFile(\n path.join(root, eslintConfig),\n \"utf-8\",\n );\n\n if (eslintContent.includes(\"export default solvro(\")) {\n p.note(\"Eslint jest już skonfigurowany. Pomijam.\");\n\n return;\n } else {\n const isConfirmed = await polishConfirm({\n message: `Znaleziono plik konfiguracyjny Eslint. Czy chcesz go nadpisać?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Nadpisz plik konfiguracyjny Eslint i spróbuj ponownie.\");\n process.exit(1);\n }\n\n await fs.rm(path.join(root, eslintConfig));\n }\n }\n\n await fs.writeFile(\n path.join(gitRoot(), \"eslint.config.js\"),\n `import { solvro } from \"@solvro/config/eslint\";\n\nexport default solvro();\n`,\n );\n\n p.note(\"Plik konfiguracyjny Eslint został utworzony.\");\n};\n","import * as p from \"@clack/prompts\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { adonisCi } from \"./templates/adonis-ci\";\nimport { dependabot } from \"./templates/dependabot\";\nimport { nextCi } from \"./templates/next-ci\";\n\nconst packageJson = new PackageJson();\n\nexport const installGithubActions = async () => {\n const root = gitRoot();\n await packageJson.load();\n\n const ghWorkflowsDir = path.join(root, \".github/workflows\");\n await fs.mkdir(ghWorkflowsDir, { recursive: true });\n\n const type = await packageJson.getProjectType();\n\n const withCommitlint = await packageJson.hasPackage(\"@commitlint/cli\");\n\n if (type === \"adonis\") {\n if (!existsSync(path.join(root, \".env.example\"))) {\n p.cancel(\n \"Nie znaleziono pliku .env.example. Upewnij się, że jesteś w katalogu projektu Adonisa.\",\n );\n process.exit(1);\n }\n\n await fs.writeFile(\n path.join(ghWorkflowsDir, \"ci.yml\"),\n adonisCi({\n nodeVersion: \"22\",\n withCommitlint,\n }),\n );\n }\n\n if (type === \"next\") {\n await fs.writeFile(\n path.join(ghWorkflowsDir, \"ci.yml\"),\n nextCi({\n nodeVersion: \"22\",\n withCommitlint,\n }),\n );\n }\n\n if (!existsSync(path.join(root, \".github/dependabot.yml\"))) {\n await fs.writeFile(path.join(root, \".github/dependabot.yml\"), dependabot());\n }\n\n await packageJson.addScriptIfNotExists(\"format:check\", \"prettier --check .\");\n await packageJson.addScriptIfNotExists(\"lint\", \"eslint . --max-warnings=0\");\n await packageJson.addScriptIfNotExists(\"format\", \"prettier --write .\");\n await packageJson.addScriptIfNotExists(\"typecheck\", \"tsc --noEmit\");\n\n p.note(\"Dodano konfigurację CI i skrypty.\");\n};\n","import { commitLintCi } from \"./commit-lint-ci\";\n\nexport const adonisCi = ({\n nodeVersion,\n withCommitlint,\n}: {\n nodeVersion: string;\n withCommitlint: boolean;\n}) => `name: CI\n\non:\n push:\n branches: [\"main\"]\n pull_request:\n\njobs:\n lint:\n runs-on: ubuntu-latest\n steps:\n - name: Checkout\n uses: actions/checkout@v4\n\n - name: Setup node\n uses: actions/setup-node@v4\n with:\n node-version: ${nodeVersion}\n cache: 'npm'\n\n - name: Install dependencies\n run: npm ci\n\n - name: Set up AdonisJS environment\n run: |\n cp .env.example .env\n node ace generate:key\n${withCommitlint ? commitLintCi() : \"\"}\n - name: Run prettier\n run: npm run format:check\n if: always()\n\n - name: Run Lint\n run: npm run lint\n if: always()\n\n - name: Check types\n run: npm run typecheck\n if: always()\n\n - name: Run tests\n run: npm test\n if: always()\n\n - name: Build\n run: npm run build\n if: always()`;\n","export const commitLintCi = () =>\n ` - name: Run commitlint check\n run: npx commitlint -f \\${{ github.event.pull_request.base.sha }}\n`;\n","export const dependabot = () => `version: 2\nupdates:\n - package-ecosystem: \"npm\"\n directory: \"/\"\n schedule:\n interval: \"daily\"\n allow:\n - dependency-name: \"@solvro/config\"\n`;\n","import { commitLintCi } from \"./commit-lint-ci\";\n\nexport const nextCi = ({\n nodeVersion,\n withCommitlint,\n}: {\n nodeVersion: string;\n withCommitlint: boolean;\n}) => `name: CI\n\non:\n push:\n branches: [\"main\"]\n pull_request:\n\njobs:\n lint:\n runs-on: ubuntu-latest\n steps:\n - name: Checkout\n uses: actions/checkout@v4\n\n - name: Setup node\n uses: actions/setup-node@v4\n with:\n node-version: ${nodeVersion}\n cache: 'npm'\n\n - name: Install dependencies\n run: npm ci\n${withCommitlint ? commitLintCi() : \"\"}\n - name: Format check\n run: npm run format:check\n if: always()\n\n - name: Build\n run: npm run build\n if: always()`;\n","import assert from \"assert\";\nimport { writeFile } from \"fs/promises\";\n\nimport { $$ } from \"../utils/$$\";\nimport { PackageJson } from \"../utils/package-json\";\n\nconst packageJson = new PackageJson();\n\nexport const installLintStaged = async () => {\n await packageJson.load();\n\n assert(packageJson.json !== null);\n\n if (!(await packageJson.hasPackage(\"husky\"))) {\n await packageJson.install(\"husky\");\n await $$`npx husky init`;\n }\n\n await writeFile(\".husky/pre-commit\", \"npx lint-staged\\n\");\n\n packageJson.json[\"lint-staged\"] = {\n \"*\": \"prettier -w --ignore-unknown\",\n };\n\n await packageJson.save();\n};\n","import * as p from \"@clack/prompts\";\nimport assert from \"node:assert\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { polishConfirm } from \"../utils/polish-confirm\";\n\nconst prettierConfigNames = [\n \".prettierrc.js\",\n \".prettierrc.cjs\",\n \".prettierrc.yaml\",\n \".prettierrc.yml\",\n \".prettierrc.json\",\n \".prettierrc\",\n \"prettier.config.js\",\n \"prettier.config.mjs\",\n \"prettier.config.cjs\",\n \"prettier.config.ts\",\n \"prettier.config.mts\",\n \"prettier.config.cts\",\n];\n\nconst packageJson = new PackageJson();\n\nexport const installPrettier = async () => {\n const root = gitRoot();\n\n await packageJson.load();\n\n assert(packageJson.json !== null);\n const prettierConfig = prettierConfigNames.find((configName) =>\n existsSync(path.join(root, configName)),\n );\n\n const solvroPrettierPath = \"@solvro/config/prettier\";\n\n if (prettierConfig !== undefined || packageJson.json.prettier !== undefined) {\n if (packageJson.json.prettier === solvroPrettierPath) {\n p.note(\"Konfiguracja Prettiera jest już ustawiona. Pomijam.\");\n return;\n }\n\n const isConfirmed = await polishConfirm({\n message: `Znaleziono konfigurację Prettiera. Czy chcesz ją nadpisać?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Usuń konfiguracje Prettiera i spróbuj ponownie.\");\n process.exit(1);\n }\n\n for (const configName of prettierConfigNames) {\n await fs.rm(path.join(root, configName)).catch(() => null);\n }\n }\n\n packageJson.json.prettier = solvroPrettierPath;\n\n await packageJson.save();\n\n p.note(\"Konfiguracja Prettiera została dodana.\");\n};\n"],"mappings":"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","names":["p","p","execSync","root","spinner","writeFile","path","writeFile","path","p","path","packageJson","root","path","p","existsSync","fs","path","packageJson","root","path","existsSync","assert","writeFile","packageJson","assert","writeFile","p","assert","existsSync","fs","path","packageJson","root","assert","existsSync","path","packageJson"]}
|
1
|
+
{"version":3,"sources":["../../src/cli/index.ts","../../src/utils/is-git-clean.ts","../../src/utils/package-json.ts","../../src/utils/$$.ts","../../src/utils/git-root.ts","../../src/utils/polish-confirm.ts","../../src/cli/install-commitlint.ts","../../src/cli/templates/commitlint.ts","../../src/cli/install-eslint.ts","../../src/cli/install-ga.ts","../../src/cli/templates/commit-lint-ci.ts","../../src/cli/templates/adonis-ci.ts","../../src/cli/templates/dependabot.ts","../../src/cli/templates/next-ci.ts","../../src/cli/install-lint-staged.ts","../../src/cli/install-prettier.ts"],"sourcesContent":["import * as p from \"@clack/prompts\";\nimport c from \"picocolors\";\n\nimport { isGitClean } from \"../utils/is-git-clean\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { polishConfirm } from \"../utils/polish-confirm\";\nimport { installCommitLint } from \"./install-commitlint\";\nimport { installEslint } from \"./install-eslint\";\nimport { installGithubActions } from \"./install-ga\";\nimport { installLintStaged } from \"./install-lint-staged\";\nimport { installPrettier } from \"./install-prettier\";\n\np.intro(c.bold(c.bgBlue(\" @solvro/config \")));\n\nif (!isGitClean()) {\n const isConfirmed = await polishConfirm({\n message: `Masz niezapisane zmiany w Git. Czy chcesz kontynuować?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Zapisz zmiany w Git i spróbuj ponownie.\");\n process.exit(1);\n }\n}\n\nconst packageJson = new PackageJson();\n\nawait packageJson.ensureESM();\n\nconst projectType = await packageJson.getProjectType();\n\nif (projectType === \"adonis\") {\n const isConfirmed = await polishConfirm({\n message: `Wygląda jakbyś używał Adonisa. Czy to się zgadza?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Zgłoś błąd na GitHubie :(, a my spróbujemy pomóc.\");\n process.exit(1);\n }\n}\n\nif (projectType === \"next\") {\n const isConfirmed = await polishConfirm({\n message: `Wygląda jakbyś używał Next.js. Czy to się zgadza?`,\n });\n\n if (p.isCancel(isConfirmed)) {\n p.cancel(\"😡\");\n process.exit(1);\n }\n\n if (!isConfirmed) {\n p.cancel(\"Zgłoś błąd na GitHubie :(, a my spróbujemy pomóc.\");\n process.exit(1);\n }\n}\n\nif (projectType === \"node\") {\n p.cancel(\n \"Nie znaleziono ani Adonisa, ani Next.js. Musisz ręcznie konfigurować projekt.\",\n );\n process.exit(1);\n}\n\nconst additionalTools = await p.multiselect({\n message: `Które rzeczy Cię interesują? ${c.gray(\"zaznacz spacją, potwierdź enterem\")}`,\n initialValues: [\"eslint\", \"prettier\", \"gh-action\", \"commitlint\"],\n options: [\n {\n value: \"eslint\",\n label: c.bold(c.blueBright(\"ESLint\")),\n hint: \"sprawdzanie jakości kodu\",\n },\n {\n value: \"prettier\",\n label: c.bold(c.yellowBright(\"Prettier\")),\n hint: \"formatowanie\",\n },\n {\n value: \"gh-action\",\n label: c.bold(\"GitHub Actions\"),\n hint: \"automatyczne testy na Githubie\",\n },\n {\n value: \"commitlint\",\n label: c.bold(\"Commitlint\"),\n hint: \"walidacja treści commitów\",\n },\n ],\n required: false,\n});\n\nif (p.isCancel(additionalTools) || additionalTools.length === 0) {\n p.cancel(\"Nie wybrano żadnych narzędzi.\");\n process.exit(1);\n}\n\nawait packageJson.install(\"@solvro/config\", { dev: true });\n\nif (additionalTools.includes(\"eslint\")) {\n await installEslint();\n}\n\nif (additionalTools.includes(\"prettier\")) {\n await installPrettier();\n\n await installLintStaged();\n}\n\nif (additionalTools.includes(\"commitlint\")) {\n await installCommitLint();\n}\n\nif (additionalTools.includes(\"gh-action\")) {\n await installGithubActions();\n}\n","import { execSync } from \"node:child_process\";\n\nexport function isGitClean(): boolean {\n try {\n execSync(\"git diff-index --quiet HEAD --\");\n return true;\n } catch {\n return false;\n }\n}\n","import * as p from \"@clack/prompts\";\nimport { getPackageInfo, isPackageListed, loadPackageJSON } from \"local-pkg\";\nimport assert from \"node:assert\";\nimport { writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport semver from \"semver\";\n\nimport { $$ } from \"./$$\";\nimport { gitRoot } from \"./git-root\";\nimport { polishConfirm } from \"./polish-confirm\";\n\nexport class PackageJson {\n public json: Awaited<ReturnType<typeof loadPackageJSON>> = null;\n\n async load() {\n const json = await loadPackageJSON(gitRoot());\n\n if (json === null) {\n p.cancel(\n \"Nie znaleziono package.json. Upewnij się, że jesteś w katalogu projektu.\",\n );\n process.exit(1);\n }\n\n this.json = json;\n }\n\n hasPackage(pkg: string) {\n return isPackageListed(pkg);\n }\n\n async doesSatisfies(pkg: string, version: string) {\n await this.load();\n\n assert(this.json !== null);\n\n const packageInfo = await getPackageInfo(pkg);\n\n if (packageInfo?.version === undefined) {\n return false;\n }\n\n return semver.satisfies(packageInfo.version, version);\n }\n\n async ensureESM() {\n await this.load();\n\n assert(this.json !== null);\n\n if (this.json.type === \"module\") {\n return;\n }\n\n const isConfirmed = await polishConfirm({\n message: `Twój projekt nie używa ESM (brak type: \"module\" w package.json). Czy chcesz to dodać? (Wymagane by kontynuować)`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Zmień projekt na ESM i spróbuj ponownie.\");\n process.exit(1);\n }\n\n this.json.type = \"module\";\n\n await this.save();\n }\n\n async getProjectType() {\n const isAdonis = await isPackageListed(\"@adonisjs/core\");\n const isNext = await isPackageListed(\"next\");\n\n if (isNext && isAdonis) {\n throw new Error(\n \"You can't use both Adonis and Next.js in the same project\",\n );\n }\n\n if (isAdonis) {\n return \"adonis\";\n }\n\n if (isNext) {\n return \"next\";\n }\n\n return \"node\";\n }\n\n async save() {\n await writeFile(\n path.join(gitRoot(), \"package.json\"),\n JSON.stringify(this.json, null, 2),\n );\n }\n\n async addScriptIfNotExists(name: string, script: string) {\n await this.load();\n\n assert(this.json !== null);\n\n if (this.json.scripts?.[name] !== undefined) {\n return;\n }\n\n this.json.scripts = this.json.scripts ?? {};\n this.json.scripts[name] = script;\n\n await this.save();\n }\n\n async install(pkg: string, options?: { minVersion?: string; dev?: boolean }) {\n const isInstalled = await this.hasPackage(pkg);\n\n if (!isInstalled) {\n const spinner = p.spinner();\n spinner.start(`Instalowanie ${pkg}`);\n await $$`npm i ${options?.dev === true ? \"-D\" : \"\"} ${pkg}@latest`;\n spinner.stop(`${pkg} zainstalowany 😍`);\n\n await this.load();\n\n return;\n }\n\n const info = await getPackageInfo(pkg);\n\n if (info?.version !== undefined && options?.minVersion !== undefined) {\n if (!semver.satisfies(info.version, options.minVersion)) {\n const spinner = p.spinner();\n spinner.start(`Aktualizowanie ${pkg}`);\n await $$`npm i ${options.dev === true ? \"-D\" : \"\"} ${pkg}@latest`;\n spinner.stop(`${pkg} zaktualizowany 😍`);\n\n await this.load();\n }\n }\n }\n}\n","import { $ } from \"execa\";\n\nimport { gitRoot } from \"./git-root\";\n\nexport const $$ = $({\n cwd: gitRoot(),\n});\n","import { execSync } from \"node:child_process\";\n\nexport const gitRoot = () => {\n const root = execSync(\"git rev-parse --show-toplevel\").toString().trim();\n return root;\n};\n","import * as p from \"@clack/prompts\";\n\nexport const polishConfirm = async (props: p.ConfirmOptions) => {\n return p.confirm({\n active: \"Tak\",\n inactive: \"Nie\",\n ...props,\n });\n};\n","import { writeFile } from \"fs/promises\";\nimport path from \"path\";\n\nimport { $$ } from \"../utils/$$\";\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { commitlint } from \"./templates/commitlint\";\n\nconst root = gitRoot();\n\nconst packageJson = new PackageJson();\n\nexport const installCommitLint = async () => {\n if (!(await packageJson.hasPackage(\"husky\"))) {\n await packageJson.install(\"husky\", { dev: true });\n await $$`npx husky init`;\n }\n\n await packageJson.install(\"@commitlint/cli\", { dev: true });\n await packageJson.install(\"@commitlint/config-conventional\", { dev: true });\n\n await writeFile(\n path.join(root, \".husky/commit-msg\"),\n 'npx commitlint --edit \"$1\"\\n',\n );\n\n await writeFile(path.join(root, \".commitlintrc.js\"), commitlint());\n};\n","export const commitlint = () => `export default {\n extends: [\"@solvro/config/commitlint\"],\n};\n`;\n","import * as p from \"@clack/prompts\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { polishConfirm } from \"../utils/polish-confirm\";\n\nconst eslintConfigNames = [\n \".eslintrc.js\",\n \".eslintrc.cjs\",\n \".eslintrc.yaml\",\n \".eslintrc.yml\",\n \".eslintrc.json\",\n \".eslintrc\",\n \"eslint.config.js\",\n \"eslint.config.mjs\",\n \"eslint.config.cjs\",\n \"eslint.config.ts\",\n \"eslint.config.mts\",\n \"eslint.config.cts\",\n];\n\nconst packageJson = new PackageJson();\n\nexport const installEslint = async () => {\n const root = gitRoot();\n\n await packageJson.load();\n\n await packageJson.install(\"eslint\", { dev: true, minVersion: \">=9\" });\n\n const type = await packageJson.getProjectType();\n\n if (type === \"next\") {\n const is15 = await packageJson.doesSatisfies(\"next\", \">=15\");\n\n if (!is15) {\n p.cancel(\n \"Next.js musi być w conajmniej wersji 15. Zaktualizuj Next.js i spróbuj ponownie.\\nWięcej informacji tutaj: https://nextjs.org/docs/app/building-your-application/upgrading/version-15\",\n );\n process.exit(1);\n }\n\n await packageJson.install(\"@next/eslint-plugin-next\", { dev: true });\n }\n\n const eslintConfig = eslintConfigNames.find((configName) =>\n existsSync(path.join(root, configName)),\n );\n\n if (eslintConfig !== undefined) {\n const eslintContent = await fs.readFile(\n path.join(root, eslintConfig),\n \"utf-8\",\n );\n\n if (eslintContent.includes(\"export default solvro(\")) {\n p.note(\"Eslint jest już skonfigurowany. Pomijam.\");\n\n return;\n } else {\n const isConfirmed = await polishConfirm({\n message: `Znaleziono plik konfiguracyjny Eslint. Czy chcesz go nadpisać?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Nadpisz plik konfiguracyjny Eslint i spróbuj ponownie.\");\n process.exit(1);\n }\n\n await fs.rm(path.join(root, eslintConfig));\n }\n }\n\n await fs.writeFile(\n path.join(gitRoot(), \"eslint.config.js\"),\n `import { solvro } from \"@solvro/config/eslint\";\n\nexport default solvro();\n`,\n );\n\n p.note(\"Plik konfiguracyjny Eslint został utworzony.\");\n};\n","import * as p from \"@clack/prompts\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { adonisCi } from \"./templates/adonis-ci\";\nimport { dependabot } from \"./templates/dependabot\";\nimport { nextCi } from \"./templates/next-ci\";\n\nconst packageJson = new PackageJson();\n\nexport const installGithubActions = async () => {\n const root = gitRoot();\n await packageJson.load();\n\n const ghWorkflowsDir = path.join(root, \".github/workflows\");\n await fs.mkdir(ghWorkflowsDir, { recursive: true });\n\n const type = await packageJson.getProjectType();\n\n const withCommitlint = await packageJson.hasPackage(\"@commitlint/cli\");\n\n if (type === \"adonis\") {\n if (!existsSync(path.join(root, \".env.example\"))) {\n p.cancel(\n \"Nie znaleziono pliku .env.example. Upewnij się, że jesteś w katalogu projektu Adonisa.\",\n );\n process.exit(1);\n }\n\n await fs.writeFile(\n path.join(ghWorkflowsDir, \"ci.yml\"),\n adonisCi({\n nodeVersion: \"22\",\n withCommitlint,\n }),\n );\n }\n\n if (type === \"next\") {\n await fs.writeFile(\n path.join(ghWorkflowsDir, \"ci.yml\"),\n nextCi({\n nodeVersion: \"22\",\n withCommitlint,\n }),\n );\n }\n\n if (!existsSync(path.join(root, \".github/dependabot.yml\"))) {\n await fs.writeFile(path.join(root, \".github/dependabot.yml\"), dependabot());\n }\n\n await packageJson.addScriptIfNotExists(\"format:check\", \"prettier --check .\");\n await packageJson.addScriptIfNotExists(\"lint\", \"eslint . --max-warnings=0\");\n await packageJson.addScriptIfNotExists(\"format\", \"prettier --write .\");\n await packageJson.addScriptIfNotExists(\"typecheck\", \"tsc --noEmit\");\n\n p.note(\"Dodano konfigurację CI i skrypty.\");\n};\n","export const commitLintCi = () =>\n ` - name: Run commitlint check\n run: npx commitlint -f \\${{ github.event.pull_request.base.sha }}\n`;\n","import { commitLintCi } from \"./commit-lint-ci\";\n\nexport const adonisCi = ({\n nodeVersion,\n withCommitlint,\n}: {\n nodeVersion: string;\n withCommitlint: boolean;\n}) => `name: CI\n\non:\n push:\n branches: [\"main\"]\n pull_request:\n\njobs:\n lint:\n runs-on: ubuntu-latest\n steps:\n - name: Checkout\n uses: actions/checkout@v4\n\n - name: Setup node\n uses: actions/setup-node@v4\n with:\n node-version: ${nodeVersion}\n cache: 'npm'\n\n - name: Install dependencies\n run: npm ci\n\n - name: Set up AdonisJS environment\n run: |\n cp .env.example .env\n node ace generate:key\n${withCommitlint ? commitLintCi() : \"\"}\n - name: Run prettier\n run: npm run format:check\n if: always()\n\n - name: Run Lint\n run: npm run lint\n if: always()\n\n - name: Check types\n run: npm run typecheck\n if: always()\n\n - name: Run tests\n run: npm test\n if: always()\n\n - name: Build\n run: npm run build\n if: always()`;\n","export const dependabot = () => `version: 2\nupdates:\n - package-ecosystem: \"npm\"\n directory: \"/\"\n schedule:\n interval: \"daily\"\n allow:\n - dependency-name: \"@solvro/config\"\n`;\n","import { commitLintCi } from \"./commit-lint-ci\";\n\nexport const nextCi = ({\n nodeVersion,\n withCommitlint,\n}: {\n nodeVersion: string;\n withCommitlint: boolean;\n}) => `name: CI\n\non:\n push:\n branches: [\"main\"]\n pull_request:\n\njobs:\n lint:\n runs-on: ubuntu-latest\n steps:\n - name: Checkout\n uses: actions/checkout@v4\n\n - name: Setup node\n uses: actions/setup-node@v4\n with:\n node-version: ${nodeVersion}\n cache: 'npm'\n\n - name: Install dependencies\n run: npm ci\n${withCommitlint ? commitLintCi() : \"\"}\n - name: Format check\n run: npm run format:check\n if: always()\n\n - name: Build\n run: npm run build\n if: always()`;\n","import assert from \"assert\";\nimport { writeFile } from \"fs/promises\";\n\nimport { $$ } from \"../utils/$$\";\nimport { PackageJson } from \"../utils/package-json\";\n\nconst packageJson = new PackageJson();\n\nexport const installLintStaged = async () => {\n await packageJson.load();\n\n assert(packageJson.json !== null);\n\n if (!(await packageJson.hasPackage(\"husky\"))) {\n await packageJson.install(\"husky\", { dev: true });\n await $$`npx husky init`;\n }\n\n await packageJson.install(\"lint-staged\", { dev: true });\n\n await writeFile(\".husky/pre-commit\", \"npx lint-staged\\n\");\n\n packageJson.json[\"lint-staged\"] = {\n \"*\": \"prettier -w --ignore-unknown\",\n };\n\n await packageJson.save();\n};\n","import * as p from \"@clack/prompts\";\nimport assert from \"node:assert\";\nimport { existsSync } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\n\nimport { gitRoot } from \"../utils/git-root\";\nimport { PackageJson } from \"../utils/package-json\";\nimport { polishConfirm } from \"../utils/polish-confirm\";\n\nconst prettierConfigNames = [\n \".prettierrc.js\",\n \".prettierrc.cjs\",\n \".prettierrc.yaml\",\n \".prettierrc.yml\",\n \".prettierrc.json\",\n \".prettierrc\",\n \"prettier.config.js\",\n \"prettier.config.mjs\",\n \"prettier.config.cjs\",\n \"prettier.config.ts\",\n \"prettier.config.mts\",\n \"prettier.config.cts\",\n];\n\nconst packageJson = new PackageJson();\n\nexport const installPrettier = async () => {\n const root = gitRoot();\n\n await packageJson.load();\n assert(packageJson.json !== null);\n\n await packageJson.install(\"prettier\", { dev: true, minVersion: \">=3\" });\n\n const prettierConfig = prettierConfigNames.find((configName) =>\n existsSync(path.join(root, configName)),\n );\n\n const solvroPrettierPath = \"@solvro/config/prettier\";\n\n if (prettierConfig !== undefined || packageJson.json.prettier !== undefined) {\n if (packageJson.json.prettier === solvroPrettierPath) {\n p.note(\"Konfiguracja Prettiera jest już ustawiona. Pomijam.\");\n return;\n }\n\n const isConfirmed = await polishConfirm({\n message: `Znaleziono konfigurację Prettiera. Czy chcesz ją nadpisać?`,\n });\n\n if (p.isCancel(isConfirmed) || !isConfirmed) {\n p.cancel(\"Usuń konfiguracje Prettiera i spróbuj ponownie.\");\n process.exit(1);\n }\n\n for (const configName of prettierConfigNames) {\n await fs.rm(path.join(root, configName)).catch(() => null);\n }\n }\n\n packageJson.json.prettier = solvroPrettierPath;\n\n await packageJson.save();\n\n p.note(\"Konfiguracja Prettiera została dodana.\");\n};\n"],"mappings":"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","names":["p","p","execSync","root","spinner","writeFile","path","writeFile","path","p","path","packageJson","root","path","p","existsSync","fs","path","packageJson","root","path","existsSync","assert","writeFile","packageJson","assert","writeFile","p","assert","existsSync","fs","path","packageJson","root","assert","existsSync","path","packageJson"]}
|
package/dist/commitlint/index.js
CHANGED
@@ -1,9 +1,4 @@
|
|
1
|
-
import {
|
2
|
-
init_esm_shims
|
3
|
-
} from "../chunk-2ZJMOLU5.js";
|
4
|
-
|
5
1
|
// src/commitlint/index.ts
|
6
|
-
init_esm_shims();
|
7
2
|
var Configuration = {
|
8
3
|
extends: ["@commitlint/config-conventional"],
|
9
4
|
helpUrl: "https://docs.solvro.pl/guides/github/#nazewnictwo-commit%C3%B3w",
|
@@ -12,6 +7,7 @@ var Configuration = {
|
|
12
7
|
2,
|
13
8
|
"always",
|
14
9
|
[
|
10
|
+
"build",
|
15
11
|
// Boring changes
|
16
12
|
"chore",
|
17
13
|
// Changes to CI workflows
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/commitlint/index.ts"],"sourcesContent":["import { type UserConfig } from \"@commitlint/types\";\n\nconst Configuration: UserConfig = {\n extends: [\"@commitlint/config-conventional\"],\n helpUrl: \"https://docs.solvro.pl/guides/github/#nazewnictwo-commit%C3%B3w\",\n rules: {\n \"type-enum\": [\n 2,\n \"always\",\n [\n // Boring changes\n \"chore\",\n // Changes to CI workflows\n \"ci\",\n // Documentation-only changes\n \"docs\",\n // A new feature\n \"feat\",\n //A bug fix\n \"fix\",\n // A code change that neither fixes a bug nor adds a feature\n \"refactor\",\n // Adding missing tests or correcting existing tests\n \"test\",\n // For release commits\n \"release\",\n ],\n ],\n \"body-max-length\": [0],\n },\n};\n\nexport default Configuration;\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/commitlint/index.ts"],"sourcesContent":["import { type UserConfig } from \"@commitlint/types\";\n\nconst Configuration: UserConfig = {\n extends: [\"@commitlint/config-conventional\"],\n helpUrl: \"https://docs.solvro.pl/guides/github/#nazewnictwo-commit%C3%B3w\",\n rules: {\n \"type-enum\": [\n 2,\n \"always\",\n [\n \"build\",\n // Boring changes\n \"chore\",\n // Changes to CI workflows\n \"ci\",\n // Documentation-only changes\n \"docs\",\n // A new feature\n \"feat\",\n //A bug fix\n \"fix\",\n // A code change that neither fixes a bug nor adds a feature\n \"refactor\",\n // Adding missing tests or correcting existing tests\n \"test\",\n // For release commits\n \"release\",\n ],\n ],\n \"body-max-length\": [0],\n },\n};\n\nexport default Configuration;\n"],"mappings":";AAEA,IAAM,gBAA4B;AAAA,EAChC,SAAS,CAAC,iCAAiC;AAAA,EAC3C,SAAS;AAAA,EACT,OAAO;AAAA,IACL,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA;AAAA,QAEA;AAAA,MACF;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,CAAC;AAAA,EACvB;AACF;AAEA,IAAO,qBAAQ;","names":[]}
|
package/dist/eslint/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
|
2
2
|
import { ConfigWithExtends } from 'typescript-eslint';
|
3
3
|
|
4
|
-
declare const solvro: (...overrides: ConfigWithExtends[]) => _typescript_eslint_utils_ts_eslint.FlatConfig.ConfigArray
|
4
|
+
declare const solvro: (...overrides: ConfigWithExtends[]) => Promise<_typescript_eslint_utils_ts_eslint.FlatConfig.ConfigArray>;
|
5
5
|
|
6
6
|
export { solvro };
|