Skip to content

DEV-183 Dev Toolbar#852

Closed
ryanechternacht wants to merge 8 commits into
mainfrom
toolbar-take-2
Closed

DEV-183 Dev Toolbar#852
ryanechternacht wants to merge 8 commits into
mainfrom
toolbar-take-2

Conversation

@ryanechternacht
Copy link
Copy Markdown
Member

@ryanechternacht ryanechternacht commented Jan 29, 2026

https://linear.app/schematic/issue/DEV-183/add-a-dev-toolbar

https://www.loom.com/share/47adb5985bcc4143b753027beb66e09b

this was a bit of flyer that I (and claude) whipped up. I added a dev toolbar to the core js repo that can be enabled in either js, react, or vue sdks. the one downside of this is that I'm using vanilla js to create/control the toolbar, which is a bit verbose and annoying to read. I refactored the whole toolbar out to it's own file and tried to keep the "logical" parts of the toolbar separate from the "html generation" parts for readability.

currently, the toolbar lets you manually set flag values (either true/false) to simplify testing.

moving forward, I envision 2 big additions

setting numbers for effective entitlements (requires effective entitlements)
setting trial status and other fields in useSchematicPlan hook (requires useSchematicPlan hook)
also, the styling on this is quite simple. happy to edit as we see fit.

@ryanechternacht ryanechternacht requested review from a team as code owners January 29, 2026 19:12
@ryanechternacht ryanechternacht changed the title Port over meaningful parts DEV-183 Dev Toolbar Jan 29, 2026
ryanechternacht and others added 5 commits January 29, 2026 14:15
…olbar package

Move DeveloperToolbar class out of the JS package into a new toolbar/ package
so it can be installed as a devDependency and never bundled into production.
The JS package now uses a dynamic import() to discover the toolbar at runtime,
falling back to a console.error if not installed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add vitest infrastructure to toolbar/ (config, setup, tsconfig, eslint)
- Add 22 unit tests for DeveloperToolbar class (initialize, cleanup, overrides)
- Add 11 integration tests to js/ for SDK toolbar integration points
- Add pull_request_toolbar.yml CI workflow (build/lint/test on PRs)
- Add deploy_toolbar.yml CI workflow (publish to npm on tag)
- Update publish-package.sh and release_candidate.yml to include toolbar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ryanechternacht and others added 2 commits April 1, 2026 01:05
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…arDependencies locally

Removes js/src/schematic-dev-toolbar.d.ts which caused api-extractor to trace
source .ts files through its imports, failing with ae-wrong-input-file-type.
Replaces the stub with an inline type cast on the dynamic import.

Defines DeveloperToolbarDependencies locally in the toolbar package so it does
not depend on the unpublished type from @schematichq/schematic-js@1.3.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ryanechternacht
Copy link
Copy Markdown
Member Author

see #1064

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant