Pack @dbt-tools/web to a tarball and smoke-test the published dbt-tools-web CLI via npx without npm publish. Use when verifying the npm distribution, pre-release checks, bin/dist-serve layout, or fixing pack/npx failures for the web package.
npx smokeUse this skill when the user or task implies:
@dbt-tools/web (tarball, bin, dist + dist-serve)dbt-tools-web via npx without publishing to the public registrynpx + local .tgz failures (Permission denied, missing dist-serve, wrong deps in tarball, ETARGET for workspace peers)web-pack-npx-smoke workflowDo not substitute this for Playwright E2E () or full regression; use for browser E2E.
pnpm test:e2edbt-tools-web-e2e-fixEnsure the npm pack artifact installs and exposes the dbt-tools-web binary correctly. This catches mistakes in package.json bin, files, prepack build, and workspace dependency rewriting that unit tests and Vite dev do not cover.
From the repository root after pnpm install:
CI parity (recommended): bash scripts/smoke-npx-with-verdaccio.sh — starts Verdaccio, runs pnpm --filter dbt-artifacts-parser run build (so parser dist/ exists before publish/pack), publishes dbt-artifacts-parser → @dbt-tools/core → @dbt-tools/web, packs web, runs smoke:npx-tgz with NPM_CONFIG_REGISTRY pointed at Verdaccio. Same flow as .github/workflows/test.yml job web-pack-npx-smoke.
Manual tarball-only path (only if peer versions exist on the registry you use, or set NPM_CONFIG_REGISTRY after publishing peers elsewhere):
dbt-artifacts-parser has dist/ when going straight to pack: pnpm --filter dbt-artifacts-parser build or pnpm build (otherwise web prepack / core tsc fails).pnpm --filter @dbt-tools/web pack — creates dbt-tools-web-<version>.tgz at the repo root.pnpm --filter @dbt-tools/web run smoke:npx-tgz or npx -y --package="$TGZ" -- dbt-tools-web --help from a clean temp dir (see references/commands-and-pitfalls.md).Details, optional HTTP smoke, ETARGET / missing peers, and the absolute-path npx pitfall are in references/commands-and-pitfalls.md.
bash scripts/smoke-npx-with-verdaccio.sh from the repo root (must exit 0). The script builds the parser before publish; no separate parser build is required for this path.dist if needed → pack → exactly one dbt-tools-web-*.tgz at repo root → smoke with registry that has dbt-artifacts-parser and @dbt-tools/core at the packed version.ETARGET, Permission denied, missing dist-serve). Fix web package.json, Vite server build (vite.server.config.ts), prepack/build scripts, or Verdaccio/publish wiring; re-run.Note: pack triggers prepack and may rebuild the web package even after pnpm build; that is expected and matches publish behavior.
dbt-tools-web-e2e-fixbuild-fixWhen invoked as part of verification, run this smoke after pnpm build succeeds so TypeScript/Vite issues are caught first. Prefer bash scripts/smoke-npx-with-verdaccio.sh (CI parity). Report whether the script (or pack + npx … --help) passed.
Full gate order, parallelism (including why this step must complete before pnpm codeql on the same checkout), and reporting live in .claude/agents/verifier.md.