webamp/turbo.json
Jordan Eldredge c7a282c1fd
Split demo site into its own package (#1351)
* Split demo site into its own package

Move the demo site from packages/webamp/demo/ into packages/webamp-demo/
as a standalone workspace package. This cleanly separates the library
(published to npm) from the demo site (deployed to webamp.org).

Key changes:
- Demo imports webamp source via relative paths (no aliases needed)
- Demo has its own package.json with demo-specific deps
- Simplified vite config (just nodePolyfills plugin)
- Removed vite branching from rollupPlugins.mjs (library-only now)
- Renamed build-library -> build in webamp package
- Updated turbo.json, CI, netlify config, and code-size workflow
- Removed demo-only deps from webamp package (sentry, butterchurn stays
  for the butterchurn bundle)
- Zero bundle size change for the library

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix: add type-check dependency to webamp#build task

The webamp-docs package needs type declarations from webamp to
type-check. These are generated by tsc (type-check), which must run
before the build task.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add updated readme to webamp-demo package

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Document the live reloading dev flow in both readmes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix code-size CI: use deploy script that exists on both branches

The compressed-size-action checks out master and runs the build script.
Master doesn't have a root "build" script, so revert to using "deploy"
which exists on both branches.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 14:40:07 -07:00

74 lines
1.9 KiB
JSON

{
"$schema": "https://turbo.build/schema.json",
"tasks": {
"ani-cursor#build": {
"outputs": ["built/**", "dist/**"]
},
"winamp-eqf#build": {
"outputs": ["built/**", "dist/**"]
},
"webamp#build": {
"dependsOn": ["ani-cursor#build", "winamp-eqf#build", "webamp#type-check"],
"outputs": ["built/**"]
},
"webamp-demo#build": {
"dependsOn": ["ani-cursor#build", "winamp-eqf#build"],
"outputs": ["dist/**"]
},
"webamp-docs#build": {
"dependsOn": ["webamp#build"],
"outputs": ["build/**", ".docusaurus/**"]
},
"ani-cursor#type-check": {},
"winamp-eqf#type-check": {},
"webamp#type-check": {
"dependsOn": ["ani-cursor#build", "winamp-eqf#build"]
},
"webamp-docs#type-check": {
"dependsOn": ["webamp#build"]
},
"skin-database#type-check": {
"dependsOn": ["skin-database#grats"]
},
"skin-database#grats": {
"outputs": ["api/graphql/schema.graphql", "api/graphql/schema.ts"]
},
"ani-cursor#test": {
"outputs": []
},
"winamp-eqf#test": {
"outputs": []
},
"webamp#test": {
"dependsOn": ["ani-cursor#build", "winamp-eqf#build"],
"outputs": []
},
"webamp-modern#build": {
"outputs": ["build/**"]
},
"webamp-modern#test": {
"outputs": []
},
"skin-database#test": {
"dependsOn": ["skin-database#grats"],
"outputs": []
},
"webamp#integration-tests": {
"dependsOn": ["ani-cursor#build", "winamp-eqf#build"],
"outputs": []
},
"webamp#lint": {
"dependsOn": ["ani-cursor#build", "winamp-eqf#build"]
},
"ani-cursor#lint": {},
"skin-database#lint": {},
"skin-museum-og#lint": {},
"webamp-docs#lint": {},
"webamp-modern#lint": {},
"winamp-eqf#lint": {},
"dev": {
"cache": false,
"persistent": true
}
}
}