@adbayb/stack 2.40.0-next-7baa8ed → 2.40.0-next-f8ad939

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/bin/index.js CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  import { createRequire } from "node:module";
4
4
 
5
- const package_ = createRequire(import.meta.url)("../package.json");
5
+ const pkg = createRequire(import.meta.url)("../package.json");
6
6
 
7
- void import(new URL(`../${package_.exports["."].default}`, import.meta.url));
7
+ void import(new URL(`../${pkg.exports["."].default}`, import.meta.url));
@@ -17,6 +17,8 @@ export default defineConfig({
17
17
  ],
18
18
  categories: {
19
19
  correctness: "error",
20
+ perf: "error",
21
+ suspicious: "error",
20
22
  },
21
23
  options: {
22
24
  denyWarnings: true,
package/dist/index.js CHANGED
@@ -93,38 +93,40 @@ const setPackageManager = async () => {
93
93
  */
94
94
  return helpers.exec("pnx corepack enable");
95
95
  };
96
- const request = { async get(url, responseType) {
96
+ async function getRequest(url, responseType) {
97
97
  const response = await fetch(url);
98
98
  if (!response.ok) throw createError("fetch", `Failed to fetch resources from ${url} (${JSON.stringify({
99
99
  status: response.status,
100
100
  statusText: response.statusText
101
101
  })})`);
102
- return response[responseType === "text" ? "text" : "json"]();
103
- } };
102
+ if (responseType === "text") return response.text();
103
+ return response.json();
104
+ }
105
+ const request = { get: getRequest };
104
106
  const oxlint = (options) => async (files = []) => {
105
- const arguments_ = [
107
+ const args = [
106
108
  ...files,
107
109
  "--disable-nested-config",
108
110
  "--no-error-on-unmatched-pattern"
109
111
  ];
110
- if (options.isFixMode) arguments_.push("--fix");
112
+ if (options.isFixMode) args.push("--fix");
111
113
  try {
112
- return await helpers.exec(`oxlint ${arguments_.join(" ")}`);
114
+ return await helpers.exec(`oxlint ${args.join(" ")}`);
113
115
  } catch (error) {
114
- throw createError("oxlint", error);
116
+ throw createError("oxlint", error instanceof Error ? error : new Error(String(error)));
115
117
  }
116
118
  };
117
119
  const oxfmt = (options) => async (files = []) => {
118
- const arguments_ = [
120
+ const args = [
119
121
  ...files,
120
122
  "--disable-nested-config",
121
123
  "--no-error-on-unmatched-pattern",
122
124
  options.isFixMode ? "--write" : "--check"
123
125
  ];
124
126
  try {
125
- return await helpers.exec(`oxfmt ${arguments_.join(" ")}`);
127
+ return await helpers.exec(`oxfmt ${args.join(" ")}`);
126
128
  } catch (error) {
127
- throw createError("oxfmt", error);
129
+ throw createError("oxfmt", error instanceof Error ? error : new Error(String(error)));
128
130
  }
129
131
  };
130
132
  const turbo = async (command, options = {}) => {
@@ -135,7 +137,7 @@ const turbo = async (command, options = {}) => {
135
137
  hasLiveOutput
136
138
  });
137
139
  } catch (error) {
138
- throw createError("turbo", error);
140
+ throw createError("turbo", error instanceof Error ? error : new Error(String(error)));
139
141
  }
140
142
  };
141
143
  const logCheckableFiles = (files) => {
@@ -161,7 +163,7 @@ const changeset = async (command) => {
161
163
  try {
162
164
  return await helpers.exec(command, { hasLiveOutput: true });
163
165
  } catch (error) {
164
- throw createError("changeset", error);
166
+ throw createError("changeset", error instanceof Error ? error : new Error(String(error)));
165
167
  }
166
168
  };
167
169
 
@@ -186,7 +188,7 @@ const checkCommit = async () => {
186
188
  try {
187
189
  return await helpers.exec("commitlint --extends \"@commitlint/config-conventional\" --edit");
188
190
  } catch (error) {
189
- throw createError("commitlint", error);
191
+ throw createError("commitlint", error instanceof Error ? error : new Error(String(error)));
190
192
  }
191
193
  };
192
194
 
@@ -195,22 +197,22 @@ const checkCommit = async () => {
195
197
  const checkDependency = async () => {
196
198
  const stdout = await helpers.exec("pnpm recursive ls --json");
197
199
  const checkDependencyVersionMismatch = createPackagesVersionMismatchChecker();
198
- const packages = JSON.parse(stdout).map((package_) => {
199
- const packagePath = join(package_.path, "package.json");
200
- assert(package_.name, () => createPackageError(`\`${packagePath}\` must have a name field.`));
200
+ const packages = JSON.parse(stdout).map((pkg) => {
201
+ const packagePath = join(pkg.path, "package.json");
202
+ assert(pkg.name, () => createPackageError(`\`${packagePath}\` must have a name field.`));
201
203
  const packageContent = require(packagePath);
202
204
  const peerDependencies = packageContent.peerDependencies ?? {};
203
205
  const devDependencies = packageContent.devDependencies ?? {};
204
206
  return {
205
207
  dependencies: packageContent.dependencies ?? {},
206
208
  devDependencies,
207
- name: package_.name,
209
+ name: pkg.name,
208
210
  peerDependencies
209
211
  };
210
212
  });
211
- for (const package_ of packages) {
212
- checkDependencyVersionMismatch(package_);
213
- checkDependencyVersionRange(package_);
213
+ for (const pkg of packages) {
214
+ checkDependencyVersionMismatch(pkg);
215
+ checkDependencyVersionRange(pkg);
214
216
  }
215
217
  };
216
218
  const checkDependencyVersionRange = ({ dependencies, devDependencies, name, peerDependencies }) => {
@@ -248,11 +250,11 @@ const checkDependencyVersionRange = ({ dependencies, devDependencies, name, peer
248
250
  const createPackagesVersionMismatchChecker = () => {
249
251
  const monorepoDependencies = /* @__PURE__ */ new Map();
250
252
  const monorepoDevelopmentDependencies = /* @__PURE__ */ new Map();
251
- const lint = (package_, type) => {
252
- const packageName = package_.name;
253
+ const lint = (pkg, type) => {
254
+ const packageName = pkg.name;
253
255
  const isDevelopment = type === "development";
254
256
  const store = isDevelopment ? monorepoDevelopmentDependencies : monorepoDependencies;
255
- const dependencies = package_[isDevelopment ? "devDependencies" : "dependencies"];
257
+ const dependencies = pkg[isDevelopment ? "devDependencies" : "dependencies"];
256
258
  for (const [dependencyName, dependencyVersion] of Object.entries(dependencies)) {
257
259
  if (!dependencyVersion) continue;
258
260
  const storedVersion = store.get(dependencyName);
@@ -266,9 +268,9 @@ const createPackagesVersionMismatchChecker = () => {
266
268
  });
267
269
  }
268
270
  };
269
- return (package_) => {
270
- lint(package_, "development");
271
- lint(package_, "production");
271
+ return (pkg) => {
272
+ lint(pkg, "development");
273
+ lint(pkg, "production");
272
274
  };
273
275
  };
274
276
  const createPackageError = (message, context) => {
@@ -408,13 +410,13 @@ const isDirectoryExistAndNotEmpty = (path) => {
408
410
  return existsSync(path) && readdirSync(path).length > 0;
409
411
  };
410
412
  const retrieveIgnoredFiles = async () => {
411
- return (await helpers.exec("git clean -fdXn")).split(/\n|\r\n/).filter((cleanOutput) => PRESERVE_FILES.every((excludedFile) => !cleanOutput.includes(excludedFile))).map((cleanOutput) => cleanOutput.split(" ").at(-1));
413
+ return (await helpers.exec("git clean -fdXn")).split(/\n|\r\n/).filter((cleanOutput) => PRESERVE_FILES.every((excludedFile) => !cleanOutput.includes(excludedFile))).map((cleanOutput) => cleanOutput.split(" ").at(-1) ?? "").filter(Boolean);
412
414
  };
413
415
  const PRESERVE_FILES = ["node_modules"];
414
416
 
415
417
  //#endregion
416
418
  //#region package.json
417
- var version = "2.40.0-next-7baa8ed";
419
+ var version = "2.40.0-next-f8ad939";
418
420
 
419
421
  //#endregion
420
422
  //#region src/commands/create.ts
@@ -485,7 +487,7 @@ const createCreateCommand = (program) => {
485
487
  },
486
488
  type: "confirm",
487
489
  validate({ canRemoveExistingDirectoryInput, data: { projectName } }) {
488
- if (canRemoveExistingDirectoryInput) return;
490
+ if (canRemoveExistingDirectoryInput) return void 0;
489
491
  return createError("mkdir", `Remove or rename the \`${projectName}\` existing directory to apply the template from a clean state.`);
490
492
  }
491
493
  }).task({
@@ -541,7 +543,7 @@ const createCreateCommand = (program) => {
541
543
  await helpers.exec(`pnpm add ${localDevelopmentDependencies.join(" ")} --save-dev --filter ${projectName}`);
542
544
  await helpers.exec("pnpm install");
543
545
  } catch (error) {
544
- throw createError("pnpm", error);
546
+ throw createError("pnpm", error instanceof Error ? error : new Error(String(error)));
545
547
  }
546
548
  },
547
549
  label: label$2("Install dependencies")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adbayb/stack",
3
- "version": "2.40.0-next-7baa8ed",
3
+ "version": "2.40.0-next-f8ad939",
4
4
  "description": "My opinionated JavaScript-based toolchain",
5
5
  "keywords": [
6
6
  "development",
@@ -45,17 +45,17 @@
45
45
  "dependencies": {
46
46
  "@changesets/changelog-github": "^0.7.0",
47
47
  "@changesets/cli": "^2.31.0",
48
- "@commitlint/cli": "^21.0.2",
49
- "@commitlint/config-conventional": "^21.0.2",
50
- "oxfmt": "^0.57.0",
51
- "oxlint": "^1.72.0",
48
+ "@commitlint/cli": "^21.2.1",
49
+ "@commitlint/config-conventional": "^21.2.0",
50
+ "oxfmt": "^0.58.0",
51
+ "oxlint": "^1.73.0",
52
52
  "oxlint-tsgolint": "^0.24.0",
53
53
  "termost": "^1.9.1",
54
- "turbo": "^2.9.18",
54
+ "turbo": "^2.10.4",
55
55
  "typescript": "^6.0.3"
56
56
  },
57
57
  "devDependencies": {
58
- "@types/node": "24.13.2",
58
+ "@types/node": "24.13.3",
59
59
  "quickbundle": "3.0.0"
60
60
  },
61
61
  "scripts": {
@@ -8,8 +8,8 @@ packages:
8
8
  publicHoistPattern:
9
9
  - "*changesets*"
10
10
  - "*commitlint*"
11
- - "*eslint*"
12
- - "*prettier*"
11
+ - "*oxfmt*"
12
+ - "*oxlint*"
13
13
  - "*turbo*"
14
14
  - "*typescript*"
15
15
  - "*types*"
@@ -7,8 +7,8 @@ packages:
7
7
  publicHoistPattern:
8
8
  - "*changesets*"
9
9
  - "*commitlint*"
10
- - "*eslint*"
11
- - "*prettier*"
10
+ - "*oxfmt*"
11
+ - "*oxlint*"
12
12
  - "*turbo*"
13
13
  - "*typescript*"
14
14
  - "*types*"