@solvro/config 1.10.1 → 1.10.2

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.
@@ -0,0 +1,49 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
8
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
9
+ }) : x)(function(x) {
10
+ if (typeof require !== "undefined") return require.apply(this, arguments);
11
+ throw Error('Dynamic require of "' + x + '" is not supported');
12
+ });
13
+ var __esm = (fn, res) => function __init() {
14
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
15
+ };
16
+ var __commonJS = (cb, mod) => function __require2() {
17
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (let key of __getOwnPropNames(from))
22
+ if (!__hasOwnProp.call(to, key) && key !== except)
23
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
+ }
25
+ return to;
26
+ };
27
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
+ // If the importer is in node compatibility mode or this is not an ESM
29
+ // file that has been converted to a CommonJS file using a Babel-
30
+ // compatible transform (i.e. "__esModule" has not been set), then set
31
+ // "default" to the CommonJS "module.exports" for node compatibility.
32
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
+ mod
34
+ ));
35
+
36
+ // node_modules/tsup/assets/esm_shims.js
37
+ var init_esm_shims = __esm({
38
+ "node_modules/tsup/assets/esm_shims.js"() {
39
+ "use strict";
40
+ }
41
+ });
42
+
43
+ export {
44
+ __require,
45
+ __commonJS,
46
+ __toESM,
47
+ init_esm_shims
48
+ };
49
+ //# sourceMappingURL=chunk-2ZJMOLU5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/tsup/assets/esm_shims.js"],"sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
package/dist/cli/index.js CHANGED
@@ -1,8 +1,14 @@
1
+ import {
2
+ init_esm_shims
3
+ } from "../chunk-2ZJMOLU5.js";
4
+
1
5
  // src/cli/index.ts
6
+ init_esm_shims();
2
7
  import * as p6 from "@clack/prompts";
3
8
  import c from "picocolors";
4
9
 
5
10
  // src/utils/is-git-clean.ts
11
+ init_esm_shims();
6
12
  import { execSync } from "node:child_process";
7
13
  function isGitClean() {
8
14
  try {
@@ -14,22 +20,33 @@ function isGitClean() {
14
20
  }
15
21
 
16
22
  // src/utils/package-json.ts
23
+ init_esm_shims();
17
24
  import * as p2 from "@clack/prompts";
18
- import { $ } from "execa";
19
25
  import { getPackageInfo, isPackageListed, loadPackageJSON } from "local-pkg";
20
26
  import assert from "node:assert";
21
27
  import { writeFile } from "node:fs/promises";
22
28
  import path from "node:path";
23
29
  import semver from "semver";
24
30
 
31
+ // src/utils/$$.ts
32
+ init_esm_shims();
33
+ import { $ } from "execa";
34
+
25
35
  // src/utils/git-root.ts
36
+ init_esm_shims();
26
37
  import { execSync as execSync2 } from "node:child_process";
27
38
  var gitRoot = () => {
28
39
  const root2 = execSync2("git rev-parse --show-toplevel").toString().trim();
29
40
  return root2;
30
41
  };
31
42
 
43
+ // src/utils/$$.ts
44
+ var $$ = $({
45
+ cwd: gitRoot()
46
+ });
47
+
32
48
  // src/utils/polish-confirm.ts
49
+ init_esm_shims();
33
50
  import * as p from "@clack/prompts";
34
51
  var polishConfirm = async (props) => {
35
52
  return p.confirm({
@@ -40,9 +57,6 @@ var polishConfirm = async (props) => {
40
57
  };
41
58
 
42
59
  // src/utils/package-json.ts
43
- var $$ = $({
44
- cwd: gitRoot()
45
- });
46
60
  var PackageJson = class {
47
61
  json = null;
48
62
  async load() {
@@ -140,16 +154,12 @@ var PackageJson = class {
140
154
  };
141
155
 
142
156
  // src/cli/install-commitlint.ts
157
+ init_esm_shims();
143
158
  import { writeFile as writeFile2 } from "fs/promises";
144
159
  import path2 from "path";
145
160
 
146
- // src/utils/$$.ts
147
- import { $ as $2 } from "execa";
148
- var $$2 = $2({
149
- cwd: gitRoot()
150
- });
151
-
152
161
  // src/cli/templates/commitlint.ts
162
+ init_esm_shims();
153
163
  var commitlint = () => `export default {
154
164
  extends: ["@solvro/config/commitlint"],
155
165
  };
@@ -161,7 +171,7 @@ var packageJson = new PackageJson();
161
171
  var installCommitLint = async () => {
162
172
  if (!await packageJson.hasPackage("husky")) {
163
173
  await packageJson.install("husky", { dev: true });
164
- await $$2`npx husky init`;
174
+ await $$`npx husky init`;
165
175
  }
166
176
  await packageJson.install("@commitlint/cli", { dev: true });
167
177
  await packageJson.install("@commitlint/config-conventional", { dev: true });
@@ -173,6 +183,7 @@ var installCommitLint = async () => {
173
183
  };
174
184
 
175
185
  // src/cli/install-eslint.ts
186
+ init_esm_shims();
176
187
  import * as p3 from "@clack/prompts";
177
188
  import { existsSync } from "node:fs";
178
189
  import * as fs from "node:fs/promises";
@@ -240,12 +251,17 @@ export default solvro();
240
251
  };
241
252
 
242
253
  // src/cli/install-ga.ts
254
+ init_esm_shims();
243
255
  import * as p4 from "@clack/prompts";
244
256
  import { existsSync as existsSync2 } from "node:fs";
245
257
  import * as fs2 from "node:fs/promises";
246
258
  import path4 from "node:path";
247
259
 
260
+ // src/cli/templates/adonis-ci.ts
261
+ init_esm_shims();
262
+
248
263
  // src/cli/templates/commit-lint-ci.ts
264
+ init_esm_shims();
249
265
  var commitLintCi = () => ` - name: Run commitlint check
250
266
  run: npx commitlint -f \${{ github.event.pull_request.base.sha }}
251
267
  `;
@@ -303,6 +319,7 @@ ${withCommitlint ? commitLintCi() : ""}
303
319
  if: always()`;
304
320
 
305
321
  // src/cli/templates/dependabot.ts
322
+ init_esm_shims();
306
323
  var dependabot = () => `version: 2
307
324
  updates:
308
325
  - package-ecosystem: "npm"
@@ -314,6 +331,7 @@ updates:
314
331
  `;
315
332
 
316
333
  // src/cli/templates/next-ci.ts
334
+ init_esm_shims();
317
335
  var nextCi = ({
318
336
  nodeVersion,
319
337
  withCommitlint
@@ -392,6 +410,7 @@ var installGithubActions = async () => {
392
410
  };
393
411
 
394
412
  // src/cli/install-lint-staged.ts
413
+ init_esm_shims();
395
414
  import assert2 from "assert";
396
415
  import { writeFile as writeFile5 } from "fs/promises";
397
416
  var packageJson4 = new PackageJson();
@@ -400,7 +419,7 @@ var installLintStaged = async () => {
400
419
  assert2(packageJson4.json !== null);
401
420
  if (!await packageJson4.hasPackage("husky")) {
402
421
  await packageJson4.install("husky");
403
- await $$2`npx husky init`;
422
+ await $$`npx husky init`;
404
423
  }
405
424
  await writeFile5(".husky/pre-commit", "npx lint-staged\n");
406
425
  packageJson4.json["lint-staged"] = {
@@ -410,6 +429,7 @@ var installLintStaged = async () => {
410
429
  };
411
430
 
412
431
  // src/cli/install-prettier.ts
432
+ init_esm_shims();
413
433
  import * as p5 from "@clack/prompts";
414
434
  import assert3 from "node:assert";
415
435
  import { existsSync as existsSync3 } from "node:fs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/index.ts","../../src/utils/is-git-clean.ts","../../src/utils/package-json.ts","../../src/utils/git-root.ts","../../src/utils/polish-confirm.ts","../../src/cli/install-commitlint.ts","../../src/utils/$$.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 { $ } from \"execa\";\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 { gitRoot } from \"./git-root\";\nimport { polishConfirm } from \"./polish-confirm\";\n\nconst $$ = $({\n cwd: gitRoot(),\n});\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 if (this.json.dependencies?.[pkg] === undefined) {\n return false;\n }\n\n return semver.satisfies(this.json.dependencies[pkg], 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\" : \"\"}@latest ${pkg}`;\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\" : \"\"}@latest ${pkg}`;\n spinner.stop(`${pkg} zainstalowany 😍`);\n\n await this.load();\n }\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","import { $ } from \"execa\";\n\nimport { gitRoot } from \"./git-root\";\n\nexport const $$ = $({\n cwd: gitRoot(),\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\");\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/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 if (this.json.dependencies?.[pkg] === undefined) {\n return false;\n }\n\n return semver.satisfies(this.json.dependencies[pkg], 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\" : \"\"}@latest ${pkg}`;\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\" : \"\"}@latest ${pkg}`;\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,4 +1,9 @@
1
+ import {
2
+ init_esm_shims
3
+ } from "../chunk-2ZJMOLU5.js";
4
+
1
5
  // src/commitlint/index.ts
6
+ init_esm_shims();
2
7
  var Configuration = {
3
8
  extends: ["@commitlint/config-conventional"],
4
9
  helpUrl: "https://docs.solvro.pl/guides/github/#nazewnictwo-commit%C3%B3w",
@@ -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":";AAEA,IAAM,gBAA4B;AAAA,EAChC,SAAS,CAAC,iCAAiC;AAAA,EAC3C,SAAS;AAAA,EACT,OAAO;AAAA,IACL,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA;AAAA,QAEE;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":[]}
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":";;;;;AAAA;AAEA,IAAM,gBAA4B;AAAA,EAChC,SAAS,CAAC,iCAAiC;AAAA,EAC3C,SAAS;AAAA,EACT,OAAO;AAAA,IACL,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA;AAAA,QAEE;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":[]}