openpencil/tools
Danila Poyarkov e5dd226683
fix(tools): run npm packaging guards in package verification
* fix(tools): run npm packaging guards in package verification

The packed-resolution unit tests spawned npm pack, npm init and npm
install under Bun's default 5 s test timeout, and npm's cold start on a
fresh CI runner exceeded it. Package-manager work is not bounded by a
test budget, so the fixture chain becomes a packaging-guard phase of
test:packages: fixture manifests packed with the release's npm pack,
inspected, installed through the real consumer install and imported
under Node and Bun, each with the outcome it must produce.

The tarball inspector reads archives in-process with @publint/pack
instead of a tar executable. Its bun test coverage is now pure unit
tests plus in-process tarball fixtures.

* fix(tools): bound npm init and build tarball fixtures in-process

The consumer install helper gave npm install a deadline but not npm
init, so a stalled init could hold the packaging-guard phase open. The
inspector tests built their archives with a tar executable, which
contradicted what they claim to prove; nanotar now writes them
in-process.

* refactor(tools): alias package tool tests and compare guards with isEqual

package-artifacts and package-quality were the only tools without a
#domain/* subpath alias, so their tests reached into ../src. Both now
declare the alias like the other tools and the tests use it. The guard
diagnostic comparison uses es-toolkit's isEqual instead of joined
strings.

* fix(tools): match the expected runtime failure in packaging guards

A guard that expected Bun to fail accepted any non-zero exit, so an
unrelated error would have satisfied it. Failing expectations now carry
the resolution error Bun must report, and observations keep the actual
output so a mismatch names what happened instead.
2026-09-26 01:40:24 +04:00
..
architecture fix: explain unsupported browsers instead of a blank window (#745) 2026-09-22 14:40:59 +04:00
authoring-reference style: sort authoring reference dependencies 2026-09-13 21:06:47 +03:00
brand feat: refresh branding with generated platform icons (#707) 2026-09-16 11:54:07 +03:00
ci chore: merge master into ci/ai-attribution-policy 2026-09-15 23:23:26 +03:00
ci-images ci: parallelize quality and trim shard builds (#558) 2026-08-18 22:52:18 +03:00
dev-server feat(editor): checkpoint live interaction improvements 2026-09-15 11:36:17 +03:00
docs docs: remove untranslated localized placeholders 2026-08-13 20:40:41 +03:00
i18n fix: convert document colour profiles, keep text edits live, and fix .fig exports (#716) 2026-09-18 00:43:10 +03:00
lint chore: merge master into live-editor-regressions 2026-09-16 15:06:30 +03:00
navigation-benchmark perf(canvas): rebuild navigation rendering (#591) 2026-08-31 13:39:40 +03:00
package-artifacts fix(tools): run npm packaging guards in package verification 2026-09-26 01:40:24 +04:00
package-quality fix(tools): run npm packaging guards in package verification 2026-09-26 01:40:24 +04:00
pr-review-guidance ci: move workflow helpers into tools 2026-06-07 09:15:15 +03:00
release-packages fix: use official Homebrew cask installation guidance (#712) 2026-09-17 13:36:17 +03:00
secret-scan chore(tools): add secret scanning gate 2026-07-01 15:24:06 +03:00
tauri-menu fix: protect unsaved documents and defer credential access (#713) 2026-09-17 15:25:15 +03:00
type-shapes fix(tools): exclude dependencies from type shape scans 2026-08-20 15:55:48 +03:00
unit-tests fix: explain unsupported browsers instead of a blank window (#745) 2026-09-22 14:40:59 +04:00
visual-oracles fix(tools): import SceneGraph from its owning package 2026-09-06 18:18:52 +03:00
test.ts ci: move workflow helpers into tools 2026-06-07 09:15:15 +03:00