@adunne09/waldo 0.0.0-dev-202603111850 → 0.0.0-dev-202603151822

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.
Files changed (2) hide show
  1. package/bin/waldo +32 -5
  2. package/package.json +7 -6
package/bin/waldo CHANGED
@@ -32,6 +32,23 @@ const configFileName = "config.env";
32
32
  const autoUpdateConfigKey = "WALDO_AUTOUPDATE";
33
33
  const defaultNpmRegistry = "https://registry.npmjs.org";
34
34
  const publicPackageName = "@adunne09/waldo";
35
+ const defaultReleaseTag = "latest";
36
+
37
+ let cachedPackageMetadata;
38
+
39
+ function readPackageMetadata() {
40
+ if (cachedPackageMetadata !== undefined) {
41
+ return cachedPackageMetadata;
42
+ }
43
+
44
+ try {
45
+ cachedPackageMetadata = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
46
+ } catch {
47
+ cachedPackageMetadata = {};
48
+ }
49
+
50
+ return cachedPackageMetadata;
51
+ }
35
52
 
36
53
  function resolveUserConfigRoot() {
37
54
  const home = os.homedir();
@@ -111,10 +128,17 @@ function resolveNpmGlobalRoot() {
111
128
  }
112
129
 
113
130
  function resolveCurrentVersion() {
114
- const pkg = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
131
+ const pkg = readPackageMetadata();
115
132
  return typeof pkg.version === "string" ? pkg.version : "0.0.0";
116
133
  }
117
134
 
135
+ function resolveReleaseTag() {
136
+ const pkg = readPackageMetadata();
137
+ return typeof pkg.waldoReleaseTag === "string" && pkg.waldoReleaseTag.trim()
138
+ ? pkg.waldoReleaseTag.trim()
139
+ : defaultReleaseTag;
140
+ }
141
+
118
142
  function resolveNpmRegistry() {
119
143
  const result = childProcess.spawnSync("npm", ["config", "get", "registry"], {
120
144
  encoding: "utf8",
@@ -228,11 +252,13 @@ function resolveInstallMethod() {
228
252
  return "unknown";
229
253
  }
230
254
 
231
- async function resolveLatestVersion() {
255
+ async function resolveLatestVersion(tag = resolveReleaseTag()) {
232
256
  const registry = resolveNpmRegistry();
233
- const response = await fetch(`${registry}/${encodeURIComponent(publicPackageName)}/latest`);
257
+ const response = await fetch(`${registry}/${encodeURIComponent(publicPackageName)}/${tag}`);
234
258
  if (!response.ok) {
235
- throw new Error(`Failed to resolve latest Waldo version (${response.status} ${response.statusText})`);
259
+ throw new Error(
260
+ `Failed to resolve Waldo version for npm tag "${tag}" (${response.status} ${response.statusText})`,
261
+ );
236
262
  }
237
263
 
238
264
  const data = await response.json();
@@ -331,7 +357,8 @@ async function maybeAutoUpdate() {
331
357
 
332
358
  try {
333
359
  const current = resolveCurrentVersion();
334
- const latest = await resolveLatestVersion();
360
+ const releaseTag = resolveReleaseTag();
361
+ const latest = await resolveLatestVersion(releaseTag);
335
362
  if (current === latest) {
336
363
  return;
337
364
  }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@adunne09/waldo",
3
- "version": "0.0.0-dev-202603111850",
3
+ "version": "0.0.0-dev-202603151822",
4
+ "waldoReleaseTag": "dev",
4
5
  "type": "module",
5
6
  "bin": {
6
7
  "waldo": "./bin/waldo"
@@ -9,10 +10,10 @@
9
10
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
10
11
  },
11
12
  "optionalDependencies": {
12
- "@adunne09/waldo-darwin-arm64": "0.0.0-dev-202603111850",
13
- "@adunne09/waldo-darwin-x64": "0.0.0-dev-202603111850",
14
- "@adunne09/waldo-linux-arm64": "0.0.0-dev-202603111850",
15
- "@adunne09/waldo-linux-x64": "0.0.0-dev-202603111850",
16
- "@adunne09/waldo-windows-x64": "0.0.0-dev-202603111850"
13
+ "@adunne09/waldo-darwin-arm64": "0.0.0-dev-202603151822",
14
+ "@adunne09/waldo-darwin-x64": "0.0.0-dev-202603151822",
15
+ "@adunne09/waldo-linux-arm64": "0.0.0-dev-202603151822",
16
+ "@adunne09/waldo-linux-x64": "0.0.0-dev-202603151822",
17
+ "@adunne09/waldo-windows-x64": "0.0.0-dev-202603151822"
17
18
  }
18
19
  }