Breaking: Add webpack support via worker-based .yak.ts evaluation#488
Open
Jan Nicklas (jantimon) wants to merge 31 commits intomainfrom
Open
Breaking: Add webpack support via worker-based .yak.ts evaluation#488Jan Nicklas (jantimon) wants to merge 31 commits intomainfrom
Jan Nicklas (jantimon) wants to merge 31 commits intomainfrom
Conversation
…on (#456) New package that evaluates TypeScript/JavaScript modules in isolated worker threads using Node 24's native type stripping. Replaces webpack's this.importModule with a bundler-agnostic approach featuring: - Primary/shadow worker pattern for instant cache invalidation - ESM loader hooks for transitive dependency tracking - Result caching with bi-directional dependency graph - Serialized evaluation queue to keep dependency tracking accurate - Windows-correct path handling via fileURLToPath - Input validation for absolute paths Includes CI workflow running on ubuntu and windows with Node 24.
Use join() instead of hardcoded "foo/bar" so the expected value matches node:path output on both Unix and Windows.
Update engines field, all GitHub Actions workflows, and CLAUDE.md prerequisites.
The syntax-error.ts test fixture contains deliberately invalid syntax which causes prettier to fail in the autofix CI workflow.
Add 5 missing e2e cases that cover cross-file features previously only tested by the webpack snapshot tests in cross-file-tests/: - namespace-import: export * as namespace re-exports - cross-file-mixin: importing css mixins from other files - nested-mixin: multi-level mixin chains with component selectors - component-selector: using styled components as CSS selectors - yak-file-mixin: dynamic mixin generation in .yak.ts files Remove cross-file-tests/ directory and its references from pnpm-workspace.yaml and package.json scripts
# Conflicts: # e2e/README.md # e2e/package.json # e2e/test-env.ts # package.json # pnpm-lock.yaml
…eval # Conflicts: # .github/workflows/e2e.yml # e2e/README.md # e2e/cases/media-query/queries.yak.ts # e2e/package.json # e2e/run.ts # pnpm-lock.yaml
🦋 Changeset detectedLatest commit: 516097e The changes in this PR will be included in the next version bump. This PR includes changesets to release 8 packages
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 |
Merging this PR will not alter performance
Comparing Footnotes
|
1c3d585 to
ef2fe16
Compare
…-source-eval # Conflicts: # pnpm-lock.yaml
Support batch invalidation of multiple files in a single call, collecting all affected entry points before clearing caches and swapping workers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.