Skip to content

feat(twoslash): Introduce forked ESM-only Twoslash#85

Merged
Adammatthiesen merged 10 commits into
mainfrom
adam/twoslash
Feb 24, 2026
Merged

feat(twoslash): Introduce forked ESM-only Twoslash#85
Adammatthiesen merged 10 commits into
mainfrom
adam/twoslash

Conversation

@Adammatthiesen

@Adammatthiesen Adammatthiesen commented Feb 24, 2026

Copy link
Copy Markdown
Member

This pull request introduces a new ESM-only fork of Twoslash under the @ec-ts/twoslash package, specifically for the expressive-code-twoslash project. It adds the initial package structure, updates configurations and scripts to support the new package, and refactors related tooling for improved maintainability and scalability.

New package: @ec-ts/twoslash

  • Initial setup of the ESM-only Twoslash fork for Expressive Code, including package.json, README.md, and LICENSE. The package exports core, fallback, and type definitions, and includes scripts for building and testing. [1] [2] [3] [4]

Core implementation and utilities:

  • Added default compiler and handbook options (src/defaults.ts), a custom error class (src/error.ts), flag key generation scripts and output (scripts/flag-keys.ts, src/flag-keys.ts), fallback logic for removing Twoslash notations (src/fallback.ts), and main entry point with legacy compatibility (src/index.ts). [1] [2] [3] [4] [5] [6]

Configuration and tooling updates:

  • Updated package.json scripts to support recursive package filtering, and changed Biome schema location for improved local resolution. [1] [2]
  • Refactored Allure report configuration to dynamically generate plugin settings for packages with tests, improving maintainability and scalability. [1] [2]

Project metadata and labeler:

  • Added ohash to recommended VSCode extensions.
  • Updated .github/labeler.yml to recognize and label changes in the new @ec-ts/twoslash package and reorganized label rules for related packages and docs.

New package and structure

  • Introduced the ESM-only @ec-ts/twoslash package with initial configuration, documentation, and licensing for Expressive Code integration. [1] [2] [3] [4]

Core implementation

  • Added default compiler and handbook options, flag key generation, fallback logic, error handling, and main entry point with legacy compatibility for Twoslash. [1] [2] [3] [4] [5] [6]

Configuration and tooling

  • Refactored Allure report plugins to be dynamically generated for packages with tests, updated Biome schema location, and improved package filtering in scripts. [1] [2] [3] [4]

Labeler updates

  • Updated .github/labeler.yml to support new package and reorganized label rules for related packages and docs.

@changeset-bot

changeset-bot Bot commented Feb 24, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 128027f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@ec-ts/twoslash Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@htg-1-studiocms-cloud

htg-1-studiocms-cloud Bot commented Feb 24, 2026

Copy link
Copy Markdown

Dokploy Preview Deployment

Name Status Preview Updated (UTC)
Expressive-Code-Twoslash Docs ✅ Done Preview URL 2026-02-24T03:54:19.880Z

@pkg-pr-new

pkg-pr-new Bot commented Feb 24, 2026

Copy link
Copy Markdown
npm i https://pkg.pr.new/withstudiocms/expressive-code-twoslash/css-js-gen@85
npm i https://pkg.pr.new/withstudiocms/expressive-code-twoslash@85
npm i https://pkg.pr.new/withstudiocms/expressive-code-twoslash/@ec-ts/twoslash@85
npm i https://pkg.pr.new/withstudiocms/expressive-code-twoslash/@ec-ts/vfs@85

commit: 128027f

@apollo-git-bot

apollo-git-bot Bot commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

Allure Report Summary

Name Duration Stats New Flaky Retry Report
css-js-gen Tests 15ms Passed tests 37 37 0 0
@ec-ts/twoslash Tests 29s 750ms Passed tests 29 29 0 0
@ec-ts/vfs Tests 7s 115ms Passed tests 21 21 0 0

@Adammatthiesen Adammatthiesen changed the title [WIP] feat(twoslash): Introduce forked ESM-only Twoslash feat(twoslash): Introduce forked ESM-only Twoslash Feb 24, 2026
@Adammatthiesen Adammatthiesen marked this pull request as ready for review February 24, 2026 03:57
@Adammatthiesen Adammatthiesen requested a review from a team as a code owner February 24, 2026 03:58

@dreyfus92 dreyfus92 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

here we go again 😄

@Adammatthiesen Adammatthiesen merged commit 6dfe89a into main Feb 24, 2026
11 checks passed
@Adammatthiesen Adammatthiesen deleted the adam/twoslash branch February 24, 2026 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants