@adbayb/stack 2.14.0 → 2.15.0

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/index.js CHANGED
@@ -74,6 +74,13 @@ const createError = (bin, error)=>{
74
74
  }
75
75
  return new Error(errorMessage);
76
76
  };
77
+ const checkPackageManager = async ()=>{
78
+ try {
79
+ await helpers.exec("npx only-allow pnpm");
80
+ } catch {
81
+ throw createError("pnpm", "The project must use `pnpm` as a node package manager tool. Follow this installation guide https://pnpm.io/installation");
82
+ }
83
+ };
77
84
  const getNpmVersion = async ()=>{
78
85
  try {
79
86
  return await helpers.exec("pnpm -v");
@@ -186,7 +193,7 @@ const ESLINT_EXTENSIONS = [
186
193
  "mdx"
187
194
  ];
188
195
 
189
- var version = "2.14.0";
196
+ var version = "2.15.0";
190
197
 
191
198
  const createWatchCommand = (program)=>{
192
199
  program.command({
@@ -270,13 +277,18 @@ const createInstallCommand = (program)=>{
270
277
  async handler () {
271
278
  const lineBreakMatcher = String.raw`\n|\r\n`;
272
279
  const modifiedFilesCommand = `node -e 'console.log(require("child_process").execSync("git status --porcelain", {encoding: "utf8"}).split(/${lineBreakMatcher}/).filter(Boolean).map(item => item.split(" ").at(-1)).join(" "))'`;
273
- await installGitHook("pre-commit", `${getStackCommand(`fix $(${modifiedFilesCommand})`, false)} && git add -A`);
280
+ await installGitHook("pre-commit", getStackCommand(`fix $(${modifiedFilesCommand})`, false));
274
281
  }
275
282
  }).task({
276
283
  label: label$4("Install `git.commit-msg` hook"),
277
284
  async handler () {
278
285
  await installGitHook("commit-msg", getStackCommand("check --only commit", false));
279
286
  }
287
+ }).task({
288
+ label: label$4("Check the package manager"),
289
+ async handler () {
290
+ await checkPackageManager();
291
+ }
280
292
  });
281
293
  };
282
294
  const label$4 = (message)=>`${message} 📲`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adbayb/stack",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "My opinionated JavaScript-based toolchain",
5
5
  "keywords": [
6
6
  "stack",
@@ -43,24 +43,24 @@
43
43
  "@changesets/cli": "^2.27.11",
44
44
  "@commitlint/cli": "^19.6.1",
45
45
  "@commitlint/config-conventional": "^19.6.0",
46
- "@eslint/compat": "^1.2.4",
46
+ "@eslint/compat": "^1.2.5",
47
47
  "@eslint/eslintrc": "^3.2.0",
48
- "@stylistic/eslint-plugin": "^2.12.1",
49
- "@vitest/eslint-plugin": "^1.1.20",
50
- "eslint": "^9.17.0",
51
- "eslint-config-prettier": "^9.1.0",
48
+ "@stylistic/eslint-plugin": "^2.13.0",
49
+ "@vitest/eslint-plugin": "^1.1.25",
50
+ "eslint": "^9.18.0",
51
+ "eslint-config-prettier": "^10.0.1",
52
52
  "eslint-import-resolver-typescript": "^3.7.0",
53
53
  "eslint-plugin-depend": "^0.12.0",
54
54
  "eslint-plugin-import-x": "^4.6.1",
55
55
  "eslint-plugin-jest-formatting": "^3.1.0",
56
56
  "eslint-plugin-jsdoc": "^50.6.1",
57
57
  "eslint-plugin-mdx": "^3.1.5",
58
- "eslint-plugin-n": "^17.15.0",
58
+ "eslint-plugin-n": "^17.15.1",
59
59
  "eslint-plugin-prettier": "^5.2.1",
60
- "eslint-plugin-react": "^7.37.2",
60
+ "eslint-plugin-react": "^7.37.4",
61
61
  "eslint-plugin-react-hooks": "^5.1.0",
62
- "eslint-plugin-react-hooks-extra": "^1.20.1",
63
- "eslint-plugin-react-web-api": "^1.20.1",
62
+ "eslint-plugin-react-hooks-extra": "^1.23.2",
63
+ "eslint-plugin-react-web-api": "^1.23.2",
64
64
  "eslint-plugin-sonarjs": "^3.0.1",
65
65
  "eslint-plugin-sort-keys-custom-order": "^2.2.1",
66
66
  "eslint-plugin-unicorn": "^56.0.1",
@@ -70,11 +70,11 @@
70
70
  "prettier-plugin-packagejson": "^2.5.6",
71
71
  "termost": "^1.4.0",
72
72
  "turbo": "^2.3.3",
73
- "typescript": "^5.7.2",
74
- "typescript-eslint": "^8.18.1"
73
+ "typescript": "^5.7.3",
74
+ "typescript-eslint": "^8.20.0"
75
75
  },
76
76
  "devDependencies": {
77
- "@types/node": "22.10.2",
77
+ "@types/node": "22.10.6",
78
78
  "quickbundle": "2.8.0"
79
79
  },
80
80
  "publishConfig": {
@@ -9,7 +9,14 @@
9
9
  "astro"
10
10
  ],
11
11
  "editor.codeActionsOnSave": {
12
- "source.fixAll.eslint": "explicit"
12
+ "source.fixAll.eslint": "explicit",
13
+ "source.fixAll.ts": "explicit",
14
+ "source.addMissingImports.ts": "explicit",
15
+ "source.organizeImports": "never",
16
+ "source.organizeLinkDefinitions": "explicit",
17
+ "source.removeUnused.ts": "explicit",
18
+ "source.removeUnusedImports": "explicit",
19
+ "source.sortImports": "never"
13
20
  },
14
21
  "workbench.editor.labelFormat": "short",
15
22
  "typescript.tsdk": "node_modules/typescript/lib",
@@ -8,7 +8,7 @@
8
8
  "check": "stack check",
9
9
  "clean": "stack clean",
10
10
  "fix": "stack fix",
11
- "prepare": "stack install",
11
+ "install": "stack install",
12
12
  "release:log": "stack release --log",
13
13
  "release:publish": "stack release --publish",
14
14
  "release:version": "stack release --tag",
@@ -20,8 +20,6 @@
20
20
  "packageManager": "pnpm@{{npmVersion}}",
21
21
  "engines": {
22
22
  "node": ">=22.0.0",
23
- "npm": "please-use-pnpm",
24
- "pnpm": ">=9.0.0",
25
- "yarn": "please-use-pnpm"
23
+ "pnpm": ">=9.0.0"
26
24
  }
27
25
  }
@@ -9,7 +9,14 @@
9
9
  "astro"
10
10
  ],
11
11
  "editor.codeActionsOnSave": {
12
- "source.fixAll.eslint": "explicit"
12
+ "source.fixAll.eslint": "explicit",
13
+ "source.fixAll.ts": "explicit",
14
+ "source.addMissingImports.ts": "explicit",
15
+ "source.organizeImports": "never",
16
+ "source.organizeLinkDefinitions": "explicit",
17
+ "source.removeUnused.ts": "explicit",
18
+ "source.removeUnusedImports": "explicit",
19
+ "source.sortImports": "never"
13
20
  },
14
21
  "workbench.editor.labelFormat": "short",
15
22
  "typescript.tsdk": "node_modules/typescript/lib",
@@ -8,7 +8,7 @@
8
8
  "check": "stack check",
9
9
  "clean": "stack clean",
10
10
  "fix": "stack fix",
11
- "prepare": "stack install",
11
+ "install": "stack install",
12
12
  "release:log": "stack release --log",
13
13
  "release:publish": "stack release --publish",
14
14
  "release:version": "stack release --tag",
@@ -20,8 +20,6 @@
20
20
  "packageManager": "pnpm@{{npmVersion}}",
21
21
  "engines": {
22
22
  "node": ">=22.0.0",
23
- "npm": "please-use-pnpm",
24
- "pnpm": ">=9.0.0",
25
- "yarn": "please-use-pnpm"
23
+ "pnpm": ">=9.0.0"
26
24
  }
27
25
  }