@velarscript/cli 0.16.0 → 0.16.1

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/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export declare const VELAR_VERSION = "0.16.0";
1
+ export declare const VELAR_VERSION = "0.16.1";
2
2
  export { VELAR_STANDARD_API_VERSION } from "@velarscript/core";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
- export const VELAR_VERSION = "0.16.0";
1
+ export const VELAR_VERSION = "0.16.1";
2
2
  export { VELAR_STANDARD_API_VERSION } from "@velarscript/core";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velarscript/cli",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "The VelarScript command-line compiler, dev server, test runner, and language server.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -30,13 +30,13 @@
30
30
  "velar": "./dist/cli.js"
31
31
  },
32
32
  "dependencies": {
33
- "@velarscript/compiler": "0.16.0",
34
- "@velarscript/core": "0.16.0",
35
- "@velarscript/desktop": "0.16.0",
36
- "@velarscript/node": "0.16.0",
37
- "@velarscript/server": "0.16.0",
38
- "@velarscript/web": "0.16.0",
39
- "create-velar": "0.16.0",
33
+ "@velarscript/compiler": "0.16.1",
34
+ "@velarscript/core": "0.16.1",
35
+ "@velarscript/desktop": "0.16.1",
36
+ "@velarscript/node": "0.16.1",
37
+ "@velarscript/server": "0.16.1",
38
+ "@velarscript/web": "0.16.1",
39
+ "create-velar": "0.16.1",
40
40
  "esbuild": "^0.28.1",
41
41
  "playwright": "^1.58.2"
42
42
  }
@@ -13,7 +13,7 @@ browser application activates `@velarscript/web`:
13
13
  ```json
14
14
  {
15
15
  "dependencies": {
16
- "@velarscript/server": "0.16.0"
16
+ "@velarscript/server": "0.16.1"
17
17
  }
18
18
  }
19
19
  ```
package/skill/ai-skill.md CHANGED
@@ -153,6 +153,7 @@ well, but it is a guarantee rather than a trap.
153
153
  | `flag or name ?? fallback` | Parenthesize — `??` never shares an unparenthesized chain with `and`/`or`. |
154
154
  | `map[key]` reads | `map.get(key)` returns `T?`. On Lists, `[index]` throws on a bug; `.get(index)` returns `null` when absence is an expected answer. |
155
155
  | Repeated `Map.get` + null check to build buckets | `map.getOrSet(key, fallback)` inserts only when absent and returns `V` directly. Use it for grouping and caches; collection-valued flow narrowing deliberately deep-checks each relied-on read. |
156
+ | Copying `map.keys()` just to read the first key | `const cursor = map.iterator()` followed by `cursor.next()`. A pull returns `{value: K}?`, so exhaustion stays distinct from a legal `null` key. Ordinary full traversal remains a `for` loop. |
156
157
  | `[...text]` or `list(text)` for characters | `text.split("")` — the empty separator splits per Unicode code point. |
157
158
  | `x !== x` or `Number.isNaN(x)` | Number predicates are members: `x.isNaN()`, `x.isFinite()`, `x.isInteger()`. `NaN == NaN` is `true` — equality is SameValueZero. |
158
159
  | `Math.min(a, b)` or `values.sorted()` where a NaN may be present | A NaN may be held and tested, and one policy governs the rest: `Math.min`, `Math.max`, `Math.clamp`, `sorted()`, `sorted(by=)`, `min()`, `max()`, `sum()`, and the ordering a `Comparable`-bounded type parameter performs all raise instead of answering. The bare `<`, `<=`, `>`, and `>=` on a plain `number` are the one exception and keep IEEE behavior, so every comparison against a NaN is `false` and `if a < b:` reports nothing. Drop it first — `values.filter(v => not v.isNaN())`. |