Skip to content

chore: prepare release metadata and workflow - #1

Merged
htnabe merged 10 commits into
mainfrom
dev
Aug 19, 2026
Merged

htnabe merged 10 commits into
mainfrom
dev

Conversation

@htnabe

@htnabe htnabe commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Migrate the project tooling from the previous npm/Jest setup to Bun, TypeScript, and Vitest.
  • Update the repository automation and release workflow so publishing and CI align with the new tooling.
  • Refresh project documentation and metadata to reflect the current structure and release process.

Changes

  • Switched the project to Bun-based scripts and TypeScript configuration.
  • Enabled Vitest and updated the test setup and plugin entry structure.
  • Added repository automation files, including issue templates, PR template, Dependabot config, and Lefthook configuration.
  • Updated the publish and release workflows and prepared release metadata for the current release branch.
  • Consolidated documentation under the docs/development structure and refreshed the project overview.

Validation

  • bun run lint
  • bun run format:check
  • bun test

Results: all checks passed; 56 tests passed and 0 failed.

Risks

  • The release automation and workflow behavior changed from the previous setup, so the first release run should be watched closely.
  • The project documentation and configuration were reorganized; current risk is limited to workflow and maintenance conventions rather than formatter behavior itself.

Checklist

  • Conventional commit(s) with gitemoji used
  • Commit granularity is meaningful
  • Tests and lint were run as appropriate
  • Documentation updated if needed

@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Migrates the plugin to Bun, TypeScript, and Vitest while reorganizing source code, automation, release metadata, and developer documentation.

Changes:

  • Modularizes the TypeScript plugin and test infrastructure.
  • Replaces npm/Jest workflows with Bun, Vitest, Oxlint, and Lefthook.
  • Updates package ownership, publishing automation, and documentation.

Reviewed changes

Copilot reviewed 33 out of 38 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
vitest.config.js Adds Vitest configuration.
tsconfig.json Adds TypeScript compiler settings.
tests/index.test.ts Adds central integration and edge-case tests.
tests/helpers.ts Migrates test helpers to TypeScript.
tests/helpers.js Removes JavaScript test helpers.
TESTING.md Removes superseded testing guide.
src/types/hugo-post-node.ts Adds AST node typing.
src/index.ts Adds typed plugin entry and parser.
src/features/printers/printers.ts Migrates printer logic to TypeScript.
src/config/options.ts Extracts plugin options.
src/config/languages.ts Extracts language metadata.
README.md Refreshes package usage documentation.
PUBLISHING.md Removes legacy publishing guide.
package.json Updates package metadata, tooling, and scripts.
lefthook.yaml Adds pre-commit checks.
jest.config.json Removes Jest configuration.
docs/development/testing.md Adds Vitest/Bun testing documentation.
docs/development/publishing.md Adds publishing documentation.
docs/development/project-structure.md Documents the reorganized repository.
docs/development/CONTRIBUTING.md Adds consolidated contribution guidance.
DEVELOPMENT.md Removes legacy development guide.
CONTRIBUTING.md Removes superseded root guide.
CHANGELOG.md Adds release-candidate metadata.
bun.lock Locks Bun dependencies.
AGENTS.md Adds repository-specific agent guidance.
.vscode/settings.json Removes Jest editor settings.
.prettierrc Moves formatting configuration into the package manifest.
.oxlintrc.json Adds Oxlint configuration.
.gitignore Ignores build output.
.github/workflows/test.yml Adds Bun-based PR validation.
.github/workflows/release.yml Removes the legacy release workflow.
.github/workflows/publish.yml Adds guarded npm publishing.
.github/workflows/ci.yml Removes legacy npm CI.
.github/pull_request_template.md Adds a PR template.
.github/ISSUE_TEMPLATE/feature_request.md Adds a feature-request template.
.github/ISSUE_TEMPLATE/bug_report.md Adds a bug-report template.
.github/dependabot.yml Updates dependency automation.
Suppressed comments (7)

src/index.ts:45

  • This pattern requires a newline and body after the closing delimiter. A valid YAML-front-matter-only file ending at --- therefore bypasses front-matter parsing (the new test at tests/index.test.ts:53 exercises exactly that shape, but does not verify delimiter parsing). Make the trailing content optional.
    src/index.ts:55
  • A TOML-front-matter-only file ending at +++ cannot match because the regex requires another newline and content after the closing delimiter. Such a file is sent through the Markdown formatter instead of the TOML formatter; make the body optional.
    src/index.ts:65
  • A JSON-front-matter-only file ending at } cannot match because this requires a trailing newline and body. Make trailing content optional so JSON is still routed through formatJson.
    .github/workflows/test.yml:31
  • The CI job never runs the newly authoritative bun run lint check, so lint failures can pass required checks even though the PR validation and contributor guide require linting. Add lint before the tests.
      - name: Run tests
        run: bun run test:coverage

.github/workflows/publish.yml:98

  • The release checks omit format:check and the plugin example even though the new publishing guide says both run before publication. A manual publish can therefore ship code that fails the documented release validation; run those checks here as well.
      - name: Run release checks
        run: |
          bun run lint
          bun test
          bun run build
          bun pack --dry-run

docs/development/project-structure.md:64

  • This links to src/utils, which does not exist, leaving a broken documentation link and describing code that is not present. Remove this entry unless the directory is added.
- [src/utils](../../src/utils): small utility helpers used during parsing and formatting.

.github/workflows/test.yml:16

  • node-version is never consumed by a setup action, and all commands run through Bun, so this matrix does not test the package's declared Node 22 runtime compatibility. Add actions/setup-node using this value and exercise the built plugin under Node, or remove the misleading matrix.
    strategy:
      matrix:
        node-version: [22.x]

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/index.ts Outdated
Comment thread tests/helpers.ts
Comment thread .github/workflows/publish.yml
Comment thread .github/workflows/test.yml
Comment thread README.md Outdated
Comment thread lefthook.yaml Outdated
Comment thread docs/development/project-structure.md Outdated
Comment thread docs/development/project-structure.md Outdated
Comment thread docs/development/publishing.md Outdated
Comment thread docs/development/publishing.md Outdated
@htnabe
htnabe merged commit ae5dc02 into main Aug 19, 2026
1 check 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.

3 participants