diff --git a/AGENTS.md b/AGENTS.md index a34c8f6..6f201ef 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -57,3 +57,12 @@ You are an expert in TypeScript, Angular, and scalable web application developme - Use the `providedIn: 'root'` option for singleton services - Prefer the `@Service` decorator over `@Injectable({providedIn: 'root'})` for new singleton services (Angular v22+) - Use the `inject()` function instead of constructor injection + +## Serving Locally + +- **Demo app (SSR):** `pnpm build --configuration development && node dist/angular-devtools/server/server.mjs` → http://localhost:4000 +- **Devtools SPA (hot reload):** `pnpm devtools:dev` → http://localhost:5173 (requires the SSR server running for RPC data) +- **Demo app (SPA, no SSR):** `pnpm start` → http://localhost:4200 (runs `ng serve` with SSR and hot reload; devtools popup + RPC work without a separate server) +- The devtools popup appears on the demo app page; click it to open the inspector panel +- Changes to `app/src/` (devtools SPA) are only visible via `pnpm devtools:dev`; the SSR server serves the npm-published assets +- To publish updated SPA assets: update versions in `packages/ng-devtools/package.json` and `packages/ng-devtools-assets/package.json`, then run `pnpm devtools:publish` (builds and publishes both `ng-devtools` and `ng-devtools-assets` to npm) diff --git a/app/src/pages/component-tree.ts b/app/src/pages/component-tree.ts index f352650..d30c2de 100644 --- a/app/src/pages/component-tree.ts +++ b/app/src/pages/component-tree.ts @@ -40,62 +40,61 @@ interface ProviderEntry { } @else {
No injected providers detected.
+ }