Repository navigation
[KS] DX checks: dev loop, API docs coverage, templates, CLI, reproducible builds (#170, #171) - #460
Open
sethwebster wants to merge 2 commits into
Open
sethwebster wants to merge 2 commits into
sethwebster wants to merge 2 commits into
Conversation
#171) - api-docs audit and tests/api-docs-coverage.test.ts: every public export has TSDoc and no any type, every subpath a docs page; docs/api-undocumented.json lists the known gaps and only shrinks - cli audit: help for every command, --version, one-line errors; spark sdk/add/updates without a subcommand name the subcommands; spark dev --help works outside an app - templates audit: spark create from the packed SDK (macOS, Windows, universal), headless, type-checked; two clean release builds of the macOS template compared file by file - gate audit steps run one at a time; e2e:audit --audit <name>
dev-loop audit: a real spark dev session of the Kitchen Sink with its dev build in driver mode. Cold start, Fast Refresh (hot update, no reload), native change detection (JS edits need no rebuild, a native config change does) and the syntax error overlay, against M1 8 GB budgets derived from M4 Max measurements.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #170, Refs #171
Developer-experience checks as gate audit steps, registered in
e2e/checks/developer-experience.yamland documented in docs/e2e-flows.md#developer-experience-audits.bun run e2e:audit --audit <name>runs one step. Audit steps now run one at a time, so build and timing steps don't overlap.api-docsanytype, and that every subpath has a docs page.tests/api-docs-coverage.test.tsfails on any new gap.docs/api-undocumented.jsonlists the known gaps and can only shrink.clisparkbin headless: help for every command,--version, and 12 misuses that must each exit 1 with a one-line message.templatesspark createfor the macOS, Windows and universal templates in a scratch dir (CI=1, no TTY, scratch SPARK_HOME) and type-checks them. Then two clean release builds of the macOS template, compared file by file. Everything under the scratch dir is unregistered from LaunchServices, and the dir is deleted.dev-loopspark dev --clearfor the Kitchen Sink and drives its dev build in driver mode (no window, no focus) on a free port. Covers cold start, Fast Refresh (hot update, no reload), JS edits needing no rebuild, a native config change requiring one, and the syntax-error overlay. DevTools has its own checks (#267).CLI fixes the
cliaudit found:spark sdk,spark addandspark updateswithout a subcommand said "Unknown command". They now list the subcommands.spark --versionwas rejected. It now prints the version.spark dev --helpoutside an app exited 1 with a require stack. It now prints the options.Budgets
The dev-loop budgets are for the reference MacBook Air (M1, 8 GB) but were not measured on it. They are 3x what this M4 Max (Mac16,5) measured, rounded up: cold start 45 s, Fast Refresh 2 s per edit, native change detection 5 s.
Verification (this M4 Max, macOS 27, Xcode 27.0)
api-docs: DX-DOCS-02 passes. DX-DOCS-01 fails: 786 of 1324 exports have no TSDoc ([KS][DX] Document every public export and subpath (786 exports without TSDoc, 9 subpaths without a docs page) #458). DX-DOCS-03 fails: 9 subpaths have no docs page ([KS][DX] Document every public export and subpath (786 exports without TSDoc, 9 subpaths without a docs page) #458). Removing a doc comment fails the test, which I tried with./app#quit.cli: both checks pass. Against the old CLI they fail on the three issues fixed here.templates(final run, 567 s): DX-TPL-01, DX-TPL-02, DX-REPRO-01 and DX-REPRO-02 pass.dev-loop(run underks-lock native):bun run typecheck: passes.bun run e2e:lint: 0 problems.bun run test: 2 failures, both on the accepted list:node-runtime(asdf shim) andmotion-nativeframes (display asleep).