@contractspec/example.analytics-dashboard
v3.9.18
Published
Analytics Dashboard example with widgets and query engine for ContractSpec
Downloads
3,929
Readme
@contractspec/example.analytics-dashboard
Website: https://contractspec.io
Analytics Dashboard example with widgets and query engine for ContractSpec.
What This Demonstrates
- Dashboard feature with presentation, schema, enum, and test-spec.
- Query engine with typed operations and handlers.
- PostHog datasource adapter.
- React UI with hooks, renderers, markdown output, and a shared ContractSpec
DataTablefor saved queries. - Client-mode table capabilities including sorting, pagination, column visibility, column resizing, pinning, and expandable row details.
- Event definitions for analytics tracking.
- Seeders for demo data.
Running Locally
From packages/examples/analytics-dashboard:
bun run devbun run buildbun run testbun run typecheck
Usage
Use @contractspec/example.analytics-dashboard as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
Architecture
src/dashboardis part of the package's public or composition surface.src/dashboard.feature.tsdefines a feature entrypoint.src/datasourceis part of the package's public or composition surface.src/docs/contains docblocks and documentation-facing exports.src/events.tsis package-level event definitions.src/example.tsis the runnable example entrypoint.src/handlers/contains handlers or demo adapters wired to contract surfaces.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./dashboardresolves through./src/dashboard/index.ts. - Export
./dashboard.featureresolves through./src/dashboard.feature.ts. - Export
./dashboard/dashboard.enumresolves through./src/dashboard/dashboard.enum.ts. - Export
./dashboard/dashboard.operationresolves through./src/dashboard/dashboard.operation.ts. - Export
./dashboard/dashboard.presentationresolves through./src/dashboard/dashboard.presentation.ts. - Export
./dashboard/dashboard.schemaresolves through./src/dashboard/dashboard.schema.ts. - Export
./dashboard/dashboard.test-specresolves through./src/dashboard/dashboard.test-spec.ts. - Export
./datasource/posthog-datasourceresolves through./src/datasource/posthog-datasource.ts. - Export
./docsresolves through./src/docs/index.ts. - The package publishes 37 total export subpaths; keep docs aligned with
package.json.
Local Commands
bun run dev— contractspec-bun-build devbun run build— bun run prebuild && bun run build:bundle && bun run build:typesbun run lint— bun lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsc --noEmitbun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Add data visualization capabilities.
- Missing contract layers.
Notes
- Works alongside
@contractspec/lib.contracts-integrations,@contractspec/lib.contracts-spec,@contractspec/lib.design-system,@contractspec/lib.example-shared-ui,@contractspec/lib.runtime-sandbox, ...
