tosijs-ui 1.15.0 → 1.15.2
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/CHANGELOG.md +71 -0
- package/bin/caddy-install.ts +1 -1
- package/bin/deploy-preview.ts +2 -2
- package/bin/docs.ts +8 -1
- package/bin/release-notes.ts +1 -1
- package/bin/tunnel.ts +1 -1
- package/dist/.metadata_never_index +0 -0
- package/dist/iife.js +75 -75
- package/dist/iife.js.map +6 -6
- package/dist/live-example/error-location.d.ts +4 -2
- package/dist/live-example/error-location.js +51 -12
- package/dist/live-example/execution.js +2 -1
- package/dist/live-example/test-harness.d.ts +4 -0
- package/dist/live-example/test-harness.js +18 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/llms.txt +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,76 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.15.2
|
|
4
|
+
|
|
5
|
+
### The `tjs-lang` peer admits 0.14.x (#182)
|
|
6
|
+
|
|
7
|
+
**Upgrade before, or together with, tjs-lang 0.14.0** — if you install with npm and have
|
|
8
|
+
`tjs-lang` installed.
|
|
9
|
+
|
|
10
|
+
The optional peer was `^0.13.1`, and a caret on a `0.x` version admits patches only, so it
|
|
11
|
+
could not reach 0.14.0. An optional peer is only optional when it is *absent*: when it is
|
|
12
|
+
present and out of range, npm 7+ fails the install with `ERESOLVE`. It is now
|
|
13
|
+
`^0.13.1 || ^0.14.0`. bun resolves either way, which is why nothing here surfaced it; tjs-lang's
|
|
14
|
+
own pre-release review found it (the same defect as #98, one minor later).
|
|
15
|
+
|
|
16
|
+
Verified against `tjs-lang@0.14.0-rc.0` before widening: typecheck, build, unit, Playwright on
|
|
17
|
+
all three engines (the whole doc-test tier included) and the haltija lane all pass against it.
|
|
18
|
+
The one break 0.14.0 names, runtime types becoming callable, touches nothing here: no tosijs-ui
|
|
19
|
+
code handles a tjs runtime type.
|
|
20
|
+
|
|
21
|
+
The live-example CDN pin and the dev dependency stay on 0.13.13 until 0.14.0 is final, so a
|
|
22
|
+
published doc site keeps fetching the version it was built and tested against.
|
|
23
|
+
|
|
24
|
+
### The installed `bin/docs.ts` shim resolves its import
|
|
25
|
+
|
|
26
|
+
The back-compat shim for `extractDocs` importers re-exported from `../src/…`, and `src/` is not
|
|
27
|
+
in the published package, so since the doc-site system moved into `tosijs-ui/site` (June) it
|
|
28
|
+
threw `Cannot find module` for every installed consumer. It now re-exports from `dist/`, so
|
|
29
|
+
running it with `bun` or importing it by file path works. The bare specifier
|
|
30
|
+
`'tosijs-ui/bin/docs'` still does not resolve (the `exports` map sends it to `dist/`), and never
|
|
31
|
+
has since that map was added. **Use `tosijs-ui/site`** — it was never affected.
|
|
32
|
+
|
|
33
|
+
Found by a release check that had been silently skipping; it runs now.
|
|
34
|
+
|
|
35
|
+
### `tosijs-tunnel`, `tosijs-deploy`, `tosijs-caddy-install`, `tosijs-release-notes`: import spelling only
|
|
36
|
+
|
|
37
|
+
These bins now import `./resolve-site-config.ts` with its extension instead of relying on Bun's
|
|
38
|
+
extension probing, so each relative specifier names a file that is in the package. **No
|
|
39
|
+
behaviour moved:** the same module is loaded, and nothing in argument handling, ports, hosts,
|
|
40
|
+
secrets or what they write was touched. The diff is the import line in each file. Found by the
|
|
41
|
+
same check.
|
|
42
|
+
|
|
43
|
+
## 1.15.1
|
|
44
|
+
|
|
45
|
+
### Doc-test failures reported the wrong line — the same wrong line, every time (#142)
|
|
46
|
+
|
|
47
|
+
Reported by an adopter converting a WebGL project to test fences: two failures in two
|
|
48
|
+
*different* blocks both named `(line 114)`. Reproduced in Chromium — blocks failing at lines 2
|
|
49
|
+
and 10 both reported **131**.
|
|
50
|
+
|
|
51
|
+
Nothing was being recognised as the user's frame, so the first bundle frame won and every
|
|
52
|
+
failure named one constant wrong line. The cause is narrow and unlucky: the only mechanism was
|
|
53
|
+
a list of bundle filenames to skip, it matched a bare `/iife.js`, and a doc site serves
|
|
54
|
+
`/iife.js?v=<hash>` — the cache-busting stamp — which the `$` anchor rejects. It also never
|
|
55
|
+
listed `hydrate.js`, which is the bundle an *adopter's* site actually loads. So on a real doc
|
|
56
|
+
site nothing was skipped at all.
|
|
57
|
+
|
|
58
|
+
The user's frame is now identified **positively**, by the `sourceURL` the code was tagged with,
|
|
59
|
+
which is immune to query strings, to bundle names we did not anticipate, and to whatever an
|
|
60
|
+
adopter calls theirs. The exclusion list survives as a fallback for untagged stacks, now
|
|
61
|
+
matching on the path with any query or fragment stripped. When a tag is expected and no tagged
|
|
62
|
+
frame exists — WebKit routinely produces none — it reports **nothing** rather than guessing.
|
|
63
|
+
|
|
64
|
+
The reporter's framing was right and is worth keeping: *a wrong line is worse than none,
|
|
65
|
+
because it sends you confidently to the wrong place.*
|
|
66
|
+
|
|
67
|
+
### `toBeCloseTo`, `toBeGreaterThanOrEqual`, `toBeLessThanOrEqual` in doc tests (#142)
|
|
68
|
+
|
|
69
|
+
Also from that report. Everything renderer-shaped is floats — intensities, densities, bounding
|
|
70
|
+
boxes — and without `toBeCloseTo` they were writing `Math.round(x * 1e6) / 1e6` at every
|
|
71
|
+
assertion. Jest's semantics exactly, so the habit transfers: `digits` is decimal places and the
|
|
72
|
+
tolerance is half a unit in the last one. All three compose with `.not`.
|
|
73
|
+
|
|
3
74
|
## 1.15.0
|
|
4
75
|
|
|
5
76
|
### `save-to-source` wrote edits into the wrong fence, silently
|
package/bin/caddy-install.ts
CHANGED
package/bin/deploy-preview.ts
CHANGED
|
@@ -33,12 +33,12 @@ import {
|
|
|
33
33
|
registerCaddyFragment,
|
|
34
34
|
resolvePreviewHost,
|
|
35
35
|
parseArgv,
|
|
36
|
-
} from './resolve-site-config'
|
|
36
|
+
} from './resolve-site-config.ts'
|
|
37
37
|
import {
|
|
38
38
|
resolveSiteConfig,
|
|
39
39
|
isSafeRemotePath,
|
|
40
40
|
safeRemoteRoots,
|
|
41
|
-
} from './resolve-site-config'
|
|
41
|
+
} from './resolve-site-config.ts'
|
|
42
42
|
|
|
43
43
|
const { has, flag } = parseArgv(process.argv.slice(2), {
|
|
44
44
|
bin: 'tosijs-deploy',
|
package/bin/docs.ts
CHANGED
|
@@ -7,4 +7,11 @@
|
|
|
7
7
|
//
|
|
8
8
|
// No `/*#` doc block here on purpose: the documented copy lives in the real
|
|
9
9
|
// module, so the doc extractor surfaces it once (avoiding a slug collision).
|
|
10
|
-
|
|
10
|
+
//
|
|
11
|
+
// It must point into dist/, not src/: src/ is not in package.json#files, so the src path
|
|
12
|
+
// resolved only inside this repo and the shim was broken for every consumer from the move
|
|
13
|
+
// (2026-06-14) until 1.15.2. Found by release-doctor's shipped-relative-specifier check.
|
|
14
|
+
// Note the bare `'tosijs-ui/bin/docs'` spelling above does NOT resolve: the exports map's
|
|
15
|
+
// `./*` wildcard sends it to dist/bin/docs.js. Only a file path or `bun bin/docs.ts` reaches
|
|
16
|
+
// this file. See TODO.md.
|
|
17
|
+
export * from '../dist/doc-system/site/docs.js'
|
package/bin/release-notes.ts
CHANGED
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
lastVersionTag,
|
|
74
74
|
} from '../dist/doc-system/release-notes.js'
|
|
75
75
|
|
|
76
|
-
import { parseArgv } from './resolve-site-config'
|
|
76
|
+
import { parseArgv } from './resolve-site-config.ts'
|
|
77
77
|
|
|
78
78
|
// ── CLI ──────────────────────────────────────────────────────────────────────
|
|
79
79
|
|
package/bin/tunnel.ts
CHANGED
|
File without changes
|