Skip to content

Fix Deno workflows, native Deno projects, seed order and workspace exclusions - #33

Draft
likeBloodMoon wants to merge 1 commit into
masterfrom
claude/release-roadmap-0-8-0-v79592
Draft

likeBloodMoon wants to merge 1 commit into
masterfrom
claude/release-roadmap-0-8-0-v79592

Conversation

@likeBloodMoon

Copy link
Copy Markdown
Owner

Four review findings on #32, which was merged before they were addressed. Each fix comes with a test that failed before it.

Changes

  • init no longer emits deno install --frozen. The action runs install-command before the build, and that command is not a dependency install on every Deno version, so a Deno workflow could stop at its first step. Deno now gets no install step, since deno task fetches what the build needs. An empty install-command already skips the step in action.yml.
  • Native Deno projects without a package.json.
    • workflowFor used to skip everything when there was no package.json. It now reads deno.json or deno.jsonc for a build task, and sets up Deno and runs deno task build.
    • The JSONC reader leaves // inside strings alone (task commands often contain URLs) and accepts trailing commas.
    • A Deno config marks the project as Deno even before it has a lockfile.
    • A Deno task counts as the build only when Deno is the package manager, since npm cannot run one.
  • Manifest seeds are queued before sitemap URLs. With a sitemap larger than --max-pages, the limit used to run out on sitemap entries first, leaving routes that only the Next.js build listed unrequested.
  • Workspace exclusions are honoured. !apps/legacy in pnpm-workspace.yaml, or in package.json workspaces, is applied as a glob ignore, so an excluded package is no longer offered as a site.

Verification

  • pnpm lint, pnpm typecheck and pnpm smoke pass.
  • pnpm test: 1,531 tests pass. The only failing file is the Playwright test, which fails the same way on master in this container because of a Chromium mismatch; CI installs Chromium itself.
  • New tests:
    • 3 in tests/cli/setup.test.ts (Deno without package.json, no Deno install step, deno.jsonc with comments);
    • 1 in tests/audit/crawl.test.ts (seeds survive maxPages with a larger sitemap);
    • 2 in tests/audit/workspaces.test.ts (pnpm and package.json exclusions).
  • CHANGELOG has an Unreleased section with these fixes.

🤖 Generated with Claude Code

https://claude.ai/code/session_013BXnvSeRtgZoTXe4j753gM


Generated by Claude Code

…ace exclusions

Four findings from the review of #32:

- init no longer gives a Deno project `deno install --frozen` as its
  install command, which is not a dependency install on every Deno
  version and stopped the workflow at its first step. Deno gets no
  install step; `deno task` fetches what the build needs.
- A Deno project with no package.json gets a workflow that sets up Deno
  and runs `deno task build`, read from deno.json or deno.jsonc. A Deno
  config marks the project as Deno even before it has a lockfile.
- A Next.js build's own page list is queued ahead of the sitemap, so a
  --max-pages limit cannot run out on sitemap entries first.
- Exclusions in pnpm-workspace.yaml and package.json workspaces
  (`!apps/legacy`) are applied, so an excluded package is not offered
  as a site.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013BXnvSeRtgZoTXe4j753gM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants