@neuralnomads/codenomad-dev 0.19.0-dev-20260827-14586cb3 → 0.19.0-dev-20260828-0fbf7b25

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,6 +1,10 @@
1
1
  import { fetch } from "undici";
2
2
  import { compareVersionStrings, stripTagPrefix } from "./release-monitor";
3
3
  const DEFAULT_POLL_INTERVAL_MS = 15 * 60 * 1000;
4
+ export function matchesDevReleaseChannel(tag, currentVersion) {
5
+ const v2 = "-dev-v2-";
6
+ return currentVersion.includes(v2) ? tag.includes(v2) : tag.includes("-dev-") && !tag.includes(v2);
7
+ }
4
8
  export function startDevReleaseMonitor(options) {
5
9
  let stopped = false;
6
10
  let timer = null;
@@ -49,7 +53,10 @@ async function fetchLatestPrerelease(args) {
49
53
  throw new Error(`GitHub releases API responded with ${response.status}`);
50
54
  }
51
55
  const list = (await response.json());
52
- const latest = list.find((r) => r && r.prerelease === true && r.draft !== true);
56
+ const latest = list.find((release) => {
57
+ const tag = release?.tag_name || release?.name || "";
58
+ return release?.prerelease === true && release.draft !== true && matchesDevReleaseChannel(tag, args.currentVersion);
59
+ });
53
60
  if (!latest) {
54
61
  return null;
55
62
  }
@@ -0,0 +1,11 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import { matchesDevReleaseChannel } from "./dev-release-monitor";
4
+ test("dev prereleases stay within their V1 or V2 channel", () => {
5
+ const v1 = "v0.19.0-dev-20260825-12345678";
6
+ const v2 = "v0.20.0-dev-v2-20260825-abcdef12";
7
+ assert.equal(matchesDevReleaseChannel(v1, v1), true);
8
+ assert.equal(matchesDevReleaseChannel(v2, v1), false);
9
+ assert.equal(matchesDevReleaseChannel(v2, v2), true);
10
+ assert.equal(matchesDevReleaseChannel(v1, v2), false);
11
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralnomads/codenomad-dev",
3
- "version": "0.19.0-dev-20260827-14586cb3",
3
+ "version": "0.19.0-dev-20260828-0fbf7b25",
4
4
  "description": "CodeNomad Server",
5
5
  "license": "MIT",
6
6
  "author": {
package/public/index.html CHANGED
@@ -30,8 +30,8 @@
30
30
  <link rel="modulepreload" crossorigin href="/assets/git-diff-vendor-CYS3ApzA.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/monaco-viewer-NKl8kwH2.js">
32
32
  <link rel="modulepreload" crossorigin href="/assets/index-DzWXCPie.js">
33
- <link rel="stylesheet" crossorigin href="/assets/git-diff-vendor-HAZkIolJ.css">
34
33
  <link rel="stylesheet" crossorigin href="/assets/index-By9pgzQk.css">
34
+ <link rel="stylesheet" crossorigin href="/assets/git-diff-vendor-HAZkIolJ.css">
35
35
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
36
36
  <meta name="theme-color" content="#1a1a1a">
37
37
  <link rel="icon" href="/favicon.ico" sizes="48x48">
@@ -20,8 +20,8 @@
20
20
  <link rel="modulepreload" crossorigin href="/assets/git-diff-vendor-CYS3ApzA.js">
21
21
  <link rel="modulepreload" crossorigin href="/assets/monaco-viewer-NKl8kwH2.js">
22
22
  <link rel="modulepreload" crossorigin href="/assets/index-DzWXCPie.js">
23
- <link rel="stylesheet" crossorigin href="/assets/index-By9pgzQk.css">
24
23
  <link rel="stylesheet" crossorigin href="/assets/git-diff-vendor-HAZkIolJ.css">
24
+ <link rel="stylesheet" crossorigin href="/assets/index-By9pgzQk.css">
25
25
  <link rel="stylesheet" crossorigin href="/assets/loading-CmEVQgyj.css">
26
26
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
27
27
  <meta name="theme-color" content="#1a1a1a">