@cluerise/tools 4.1.1 → 4.2.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.
@@ -1,12 +1,3 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
9
- var _origins, _names, _data, _PackageJson_instances, parseGitRepository_fn, _releasesUrl;
10
1
  import FileSystem from "node:fs/promises";
11
2
  import * as ActionsCore from "@actions/core";
12
3
  import SemVer from "semver";
@@ -14,7 +5,9 @@ import { z } from "zod";
14
5
  const gitProviderOrigins = {
15
6
  github: "https://github.com"
16
7
  };
17
- const _GitProvider = class _GitProvider {
8
+ class GitProvider {
9
+ static #origins = gitProviderOrigins;
10
+ static #names = Object.keys(this.#origins);
18
11
  /**
19
12
  * Checks if the provided name is a valid Git provider name.
20
13
  *
@@ -22,7 +15,7 @@ const _GitProvider = class _GitProvider {
22
15
  * @returns True if the name is valid, false otherwise.
23
16
  */
24
17
  static isValidName(name) {
25
- return __privateGet(this, _names).includes(name);
18
+ return this.#names.includes(name);
26
19
  }
27
20
  /**
28
21
  * Returns a Git provider origin.
@@ -31,14 +24,9 @@ const _GitProvider = class _GitProvider {
31
24
  * @returns The origin URL of the Git provider.
32
25
  */
33
26
  static getOrigin(name) {
34
- return __privateGet(this, _origins)[name];
27
+ return this.#origins[name];
35
28
  }
36
- };
37
- _origins = new WeakMap();
38
- _names = new WeakMap();
39
- __privateAdd(_GitProvider, _origins, gitProviderOrigins);
40
- __privateAdd(_GitProvider, _names, Object.keys(__privateGet(_GitProvider, _origins)));
41
- let GitProvider = _GitProvider;
29
+ }
42
30
  const enginesSchema = z.object({
43
31
  node: z.string()
44
32
  });
@@ -55,11 +43,10 @@ const packageJsonDataSchema = z.object({
55
43
  engines: enginesSchema.optional(),
56
44
  repository: repositorySchema.optional()
57
45
  });
58
- const _PackageJson = class _PackageJson {
46
+ class PackageJson {
47
+ #data;
59
48
  constructor(data) {
60
- __privateAdd(this, _PackageJson_instances);
61
- __privateAdd(this, _data);
62
- __privateSet(this, _data, data);
49
+ this.#data = data;
63
50
  }
64
51
  static async init() {
65
52
  const content = await FileSystem.readFile("package.json", { encoding: "utf8" });
@@ -70,13 +57,13 @@ const _PackageJson = class _PackageJson {
70
57
  cause: parseResult.error
71
58
  });
72
59
  }
73
- return new _PackageJson(data);
60
+ return new PackageJson(data);
74
61
  }
75
62
  /**
76
63
  * Returns the required engines.
77
64
  */
78
65
  get engines() {
79
- return __privateGet(this, _data).engines;
66
+ return this.#data.engines;
80
67
  }
81
68
  /**
82
69
  * Sets the required engines.
@@ -84,13 +71,44 @@ const _PackageJson = class _PackageJson {
84
71
  * @param engines - The engines to set.
85
72
  */
86
73
  set engines(engines) {
87
- __privateGet(this, _data).engines = engines;
74
+ this.#data.engines = engines;
88
75
  }
89
76
  /**
90
77
  * Returns the repository information.
91
78
  */
92
79
  get repository() {
93
- return __privateGet(this, _data).repository;
80
+ return this.#data.repository;
81
+ }
82
+ #parseGitRepository(urlString) {
83
+ if (!urlString) {
84
+ return null;
85
+ }
86
+ const urlValue = urlString.includes(":") ? urlString : `https://${urlString}`;
87
+ const url = new URL(urlValue);
88
+ const scheme = url.protocol.slice(0, -1);
89
+ if (GitProvider.isValidName(scheme)) {
90
+ const [owner, repositoryName] = url.pathname.split("/");
91
+ if (!owner || !repositoryName) {
92
+ throw new Error("Unknown owner or repositoryName");
93
+ }
94
+ return {
95
+ origin: GitProvider.getOrigin(scheme),
96
+ owner,
97
+ repositoryName
98
+ };
99
+ }
100
+ if (scheme === "https") {
101
+ const [, owner, repositoryName] = url.pathname.split("/");
102
+ if (!owner || !repositoryName) {
103
+ throw new Error("Unknown owner or repositoryName");
104
+ }
105
+ return {
106
+ origin: url.origin,
107
+ owner,
108
+ repositoryName: repositoryName.endsWith(".git") ? repositoryName.slice(0, -4) : repositoryName
109
+ };
110
+ }
111
+ throw new Error("Unsupported repository URL");
94
112
  }
95
113
  /**
96
114
  * Parses the repository information from package.json.
@@ -102,52 +120,18 @@ const _PackageJson = class _PackageJson {
102
120
  return null;
103
121
  }
104
122
  if (typeof this.repository === "string") {
105
- return __privateMethod(this, _PackageJson_instances, parseGitRepository_fn).call(this, this.repository);
123
+ return this.#parseGitRepository(this.repository);
106
124
  }
107
- return __privateMethod(this, _PackageJson_instances, parseGitRepository_fn).call(this, this.repository.url);
125
+ return this.#parseGitRepository(this.repository.url);
108
126
  }
109
127
  /**
110
128
  * Saves the package.json file with the current data.
111
129
  */
112
130
  async save() {
113
- const content = JsonUtils.prettify(__privateGet(this, _data)) + "\n";
131
+ const content = JsonUtils.prettify(this.#data) + "\n";
114
132
  await FileSystem.writeFile("package.json", content, { encoding: "utf8" });
115
133
  }
116
- };
117
- _data = new WeakMap();
118
- _PackageJson_instances = new WeakSet();
119
- parseGitRepository_fn = function(urlString) {
120
- if (!urlString) {
121
- return null;
122
- }
123
- const urlValue = urlString.includes(":") ? urlString : `https://${urlString}`;
124
- const url = new URL(urlValue);
125
- const scheme = url.protocol.slice(0, -1);
126
- if (GitProvider.isValidName(scheme)) {
127
- const [owner, repositoryName] = url.pathname.split("/");
128
- if (!owner || !repositoryName) {
129
- throw new Error("Unknown owner or repositoryName");
130
- }
131
- return {
132
- origin: GitProvider.getOrigin(scheme),
133
- owner,
134
- repositoryName
135
- };
136
- }
137
- if (scheme === "https") {
138
- const [, owner, repositoryName] = url.pathname.split("/");
139
- if (!owner || !repositoryName) {
140
- throw new Error("Unknown owner or repositoryName");
141
- }
142
- return {
143
- origin: url.origin,
144
- owner,
145
- repositoryName: repositoryName.endsWith(".git") ? repositoryName.slice(0, -4) : repositoryName
146
- };
147
- }
148
- throw new Error("Unsupported repository URL");
149
- };
150
- let PackageJson = _PackageJson;
134
+ }
151
135
  const runMain = (main2) => {
152
136
  Promise.resolve().then(() => main2(process.argv.slice(2))).then((exitCode) => {
153
137
  process.exit(exitCode);
@@ -190,13 +174,14 @@ const nodeJsReleaseSchema = z.object({
190
174
  security: z.boolean()
191
175
  });
192
176
  class NodeJs {
177
+ static #releasesUrl = "https://nodejs.org/dist/index.json";
193
178
  /**
194
179
  * Fetches all Node.js releases.
195
180
  *
196
181
  * @returns A promise that resolves to an array of NodeJsRelease objects.
197
182
  */
198
183
  static async fetchReleases() {
199
- const response = await fetch(__privateGet(this, _releasesUrl));
184
+ const response = await fetch(this.#releasesUrl);
200
185
  const data = await response.json();
201
186
  return z.array(nodeJsReleaseSchema).parse(data);
202
187
  }
@@ -210,12 +195,9 @@ class NodeJs {
210
195
  return latestRelease ?? null;
211
196
  }
212
197
  }
213
- _releasesUrl = new WeakMap();
214
- __privateAdd(NodeJs, _releasesUrl, "https://nodejs.org/dist/index.json");
215
198
  const updateNvmrc = (version) => FileSystem.writeFile(".nvmrc", `v${version}
216
199
  `);
217
200
  const updatePackageJson = async (version) => {
218
- var _a;
219
201
  const packageJson = await PackageJson.init();
220
202
  if (!packageJson.engines) {
221
203
  return;
@@ -224,7 +206,7 @@ const updatePackageJson = async (version) => {
224
206
  if (!nodeVersion || nodeVersion === version) {
225
207
  return;
226
208
  }
227
- const coerceNodeVersion = (_a = SemVer.coerce(nodeVersion)) == null ? void 0 : _a.version;
209
+ const coerceNodeVersion = SemVer.coerce(nodeVersion)?.version;
228
210
  if (!coerceNodeVersion) {
229
211
  return;
230
212
  }
@@ -234,8 +216,8 @@ const updatePackageJson = async (version) => {
234
216
  const main = async () => {
235
217
  try {
236
218
  const nodeRelease = await NodeJs.fetchLatestRelease();
237
- const nodeVersion = nodeRelease == null ? void 0 : nodeRelease.version;
238
- const versionNumber = (nodeVersion == null ? void 0 : nodeVersion.startsWith("v")) ? nodeVersion.slice(1) : nodeVersion;
219
+ const nodeVersion = nodeRelease?.version;
220
+ const versionNumber = nodeVersion?.startsWith("v") ? nodeVersion.slice(1) : nodeVersion;
239
221
  if (!versionNumber) {
240
222
  console.error("Error: Unknown latest Node.js version number");
241
223
  return 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cluerise/tools",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "Tools for maintaining TypeScript projects.",
5
5
  "author": "Branislav Holý <brano@holy.am>",
6
6
  "repository": "github:cluerise/tools",
@@ -22,29 +22,30 @@
22
22
  "@commitlint/config-conventional": "19.8.1",
23
23
  "@commitlint/load": "19.8.1",
24
24
  "@commitlint/types": "19.8.1",
25
- "@eslint/js": "9.28.0",
25
+ "@eslint/js": "9.29.0",
26
26
  "@eslint/json": "0.12.0",
27
- "@eslint/markdown": "6.5.0",
28
- "@html-eslint/eslint-plugin": "0.41.0",
29
- "@html-eslint/parser": "0.41.0",
30
- "@typescript-eslint/parser": "8.34.0",
27
+ "@eslint/markdown": "6.6.0",
28
+ "@html-eslint/eslint-plugin": "0.42.0",
29
+ "@html-eslint/parser": "0.42.0",
30
+ "@typescript-eslint/parser": "8.35.0",
31
31
  "conventional-changelog-conventionalcommits": "9.0.0",
32
- "eslint": "9.28.0",
32
+ "eslint": "9.29.0",
33
33
  "eslint-config-prettier": "10.1.5",
34
34
  "eslint-import-resolver-typescript": "4.4.3",
35
- "eslint-plugin-import": "2.31.0",
36
- "eslint-plugin-prettier": "5.4.1",
35
+ "eslint-plugin-import": "2.32.0",
36
+ "eslint-plugin-prettier": "5.5.0",
37
37
  "eslint-plugin-simple-import-sort": "12.1.1",
38
38
  "eslint-plugin-unicorn": "59.0.1",
39
39
  "eslint-plugin-yml": "1.18.0",
40
- "glob": "11.0.2",
40
+ "glob": "11.0.3",
41
41
  "globals": "16.2.0",
42
- "lint-staged": "16.1.0",
43
- "prettier": "3.5.3",
42
+ "lint-staged": "16.1.2",
43
+ "prettier": "3.6.0",
44
+ "prettier-plugin-sh": "0.17.4",
44
45
  "semantic-release": "24.2.5",
45
46
  "semver": "7.7.2",
46
47
  "smol-toml": "1.3.4",
47
- "typescript-eslint": "8.34.0",
48
- "zod": "3.25.61"
48
+ "typescript-eslint": "8.35.0",
49
+ "zod": "3.25.67"
49
50
  }
50
51
  }