Repository navigation
NXT-20660: Fix error ts - #401
Merged
Merged
Conversation
Contributor
|
PR description says " Apps on TypeScript 5.x still run fork-ts-checker-webpack-plugin as before.", but in package.json, it still mentions "peerDependencies": { |
Contributor
|
please add changelog entries for your changes |
daniel-stoian-lgp
approved these changes
Oct 7, 2026
ion-andrusciac-lgp
approved these changes
Oct 7, 2026
4 of 5 tasks
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.
Checklist
Issue Resolved / Feature Added
enact pack fails when the app depends on TypeScript 7. TypeScript 7 publishes only a version entry and does not expose the classic compiler API (createProgram). fork-ts-checker-webpack-plugin resolves typescript through pkg.main, that lookup throws MODULE_NOT_FOUND, and the pack command exits before the framework bundle is written.
The optional typescript peer dependency accepted only ^7.0.2, so an app that still depends on TypeScript 5.x did not satisfy it.
A failure inside the dynamic import('chalk') chain was also swallowed. enact.js logs the exception and still exits 0, so CI treated the pack as successful.
enact transpile left TypeScript and JSX sources in place, so the build output was not resolvable by consumers.
Resolution
enact pack now skips type checking when the installed typescript package has no createProgram, and prints a warning. Apps on TypeScript 5.x still run fork-ts-checker-webpack-plugin as before.
The optional typescript peer dependency is ^5.4.0 || ^7.0.2, so both TypeScript 5.x and TypeScript 7 are accepted.
Pack failures are returned through the promise chain and always exit with code 1, including when chalk has not loaded yet.
enact transpile emits .js from .ts, .tsx, and .jsx sources, copies .d.ts files as-is, and rewrites package.json main fields that point at those sources.
Additional Considerations
Links
NXT-20660
Comments
Enact-DCO-1.0-Signed-off-by: Dan Ichim (dan.ichim@lgepartner.com)