Angular DevTools
On this page ▾
One npm package and one Chrome extension, each with its own version. Bump, build, publish.

Publishing

The devtools ship as one npm package, @santoshyadavdev/ng-devtools, from packages/ng-devtools. It holds the Node-side logic, RPC, CLI, overlay, popup, and the built UI in dist/public.

What ships

The package publishes dist/ and bin.mjs. On publish, publishConfig.exports points every entry point at the built files:

Import Published file
@santoshyadavdev/ng-devtools dist/devframe.mjs
@santoshyadavdev/ng-devtools/devframe dist/devframe.mjs
@santoshyadavdev/ng-devtools/config dist/config.mjs
@santoshyadavdev/ng-devtools/overlay dist/overlay.mjs
@santoshyadavdev/ng-devtools/popup dist/popup.mjs
@santoshyadavdev/ng-devtools/http dist/http.mjs
@santoshyadavdev/ng-devtools/hub dist/hub.mjs
@santoshyadavdev/ng-devtools/vite dist/vite.mjs

The ng-devtools binary is bin.mjs. In the workspace, the exports point at the TypeScript sources instead.

How the package builds

The package's build script runs two steps:

tsdown builds the entry points into dist/. vite build with app/vite.config.ts writes the devtools UI to dist/public.

prepack runs pnpm build, so every publish builds first.

Publish the npm package

1. Bump the version

Update version in packages/ng-devtools/package.json. In the same commit, add a section for the version to packages/ng-devtools/CHANGELOG.md. The changelog follows Keep a Changelog, with entries grouped as Upgrade notes, Security fixes, Features and Documentation. Use a message like chore(release): ng-devtools 0.0.5.

2. Check the build

Run the checks from Development setup, then build the package without publishing:

pnpm devtools:build-pkg

3. Refresh the extension UI

If app/ changed since the last release, run pnpm extension:build and commit extension/ui before you publish. CI fails when the committed copy is stale.

4. Publish

pnpm devtools:publish

This runs pnpm --filter @santoshyadavdev/ng-devtools publish --access public. The prepack build bundles the library and the UI.

pnpm publish checks git before it publishes. Run it from a clean working tree on main.

Release the Chrome extension

The extension has its own version, in extension/manifest.json. It does not follow the npm package version.

  1. Bump version in extension/manifest.json.
  2. Run pnpm extension:zip. It rebuilds extension/ui first.
  3. Commit extension/ui and the manifest.
  4. Upload dist/ng-devtools-extension.zip.

See Build the extension for the upload steps.

Where to next