Skip to content

refactor: update project infrastructure to standard Prismic TypeScript template#49

Merged
angeloashmore merged 3 commits intomasterfrom
aa/update-project-infrastructure
Apr 3, 2026
Merged

refactor: update project infrastructure to standard Prismic TypeScript template#49
angeloashmore merged 3 commits intomasterfrom
aa/update-project-infrastructure

Conversation

@angeloashmore
Copy link
Copy Markdown
Member

@angeloashmore angeloashmore commented Apr 3, 2026

Resolves:

Description

Replaces the entire build/test/lint/format/CI toolchain with the standard Prismic TypeScript template infrastructure. This aligns apollo-link-prismic with other Prismic packages for consistency and modern tooling.

Replaced:

  • Build: siroc → tsdown (dual ESM/CJS, sourcemaps, unbundled)
  • Test: AVA + nyc + sinon → Vitest + @vitest/coverage-v8
  • Lint: ESLint → oxlint
  • Format: Prettier → oxfmt
  • Release: standard-version → release-please (via GitHub Actions)
  • CI: Single ci.yml → validate.yml (lint, build, test on Node 20/22/24, types on TS 5.4–5.9) + publish.yml (release-please, canary, PR prereleases)
  • TypeScript: 4.x → 6.x, moduleResolution "node" → "bundler"
  • Node: >=12.7.0 → >=20

Checklist

  • A comprehensive Linear ticket, providing sufficient context and details to facilitate the review of the PR, is linked to the PR.
  • If my changes require tests, I added them.
  • If my changes affect backward compatibility, it has been discussed.
  • If my changes require an update to the CONTRIBUTING.md guide, I updated it.

Preview

How to QA 1

npm run test  # runs lint + types + unit + build

All 6 tests pass with 100% coverage.

🤖 Generated with Claude Code


Note

Medium Risk
Replaces core project tooling (lint/format/test/build/CI/release), which is operationally impactful and may surface new build/test/publish failures despite minimal runtime code changes.

Overview
Updates the repository’s infrastructure to match the standard Prismic TypeScript template: replaces ESLint/Prettier with oxlint/oxfmt, AVA with vitest, and the build pipeline with tsdown (via new tsdown.config.ts, vitest.config.ts, updated tsconfig.json, and new npm scripts/devDependencies).

Reworks GitHub Actions by removing the legacy ci.yml and adding validate.yml (lint/build/unit on Node 20/22/24 plus type-check across multiple TypeScript versions) and publish.yml (Release Please-driven releases, plus automated canary and per-PR prereleases with cleanup).

Cleans up and modernizes repo metadata/docs by deleting old config/template files, tweaking .gitignore, updating CONTRIBUTING.md, and applying formatting-only changes to README.md/CHANGELOG.md.

Written by Cursor Bugbot for commit 87491b2. This will update automatically on new commits. Configure here.

Footnotes

  1. Please use these labels when submitting a review:
    ❓ #ask: Ask a question.
    💡 #idea: Suggest an idea.
    ⚠️ #issue: Strongly suggest a change.
    🎉 #nice: Share a compliment.

angeloashmore and others added 3 commits April 3, 2026 09:57
…t template

Replace the entire build/test/lint/format/CI toolchain with the standard
Prismic TypeScript template setup to align with other Prismic packages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
oxlint's consistent-type-imports rule requires inline `type` qualifiers
when mixing type and value imports from the same module.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@angeloashmore angeloashmore marked this pull request as ready for review April 3, 2026 20:06
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment thread .github/workflows/publish.yml
Comment thread .github/workflows/validate.yml
@angeloashmore angeloashmore merged commit be0234f into master Apr 3, 2026
14 of 15 checks passed
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.

1 participant