chore: typia emit via ttsc for TS7 (core-typings, ui-kit) — validated#41316
chore: typia emit via ttsc for TS7 (core-typings, ui-kit) — validated#41316ggazzo wants to merge 1 commit into
Conversation
|
|
Looks like this PR is not ready to merge, because of the following issues:
Please fix the issues and try again If you have any trouble, please check the PR guidelines |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/jira ARCH-2200 |
a0576db to
4bc13bb
Compare
TS7's native compiler dropped the transformer plugin API that ts-patch used, so the typia transform (createIs / json.schemas) can't run under plain tsc. Switch these two packages to ttsc (typescript-go plugin toolchain) with the @typescript/native-preview tsgo binary, bump typia 9.7.2 -> 13.x. - build: 'ts-patch install && typia patch && tsc' -> 'ttsc --binary <tsgo>' - @typescript/native-preview provides tsgo without tripping yarn's builtin compat/typescript patch (yarnpkg/berry#7191) - moduleResolution bundler for the ttsc build configs (base still uses node) - drop vestigial ts-jest from ui-kit (jest runs on @swc/jest) - typia@13 API verified in POC: createIs + json.schemas emit correct validators on TS 7.0.2, runtime-checked on complex nested/union types
4bc13bb to
0808d58
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #41316 +/- ##
===========================================
- Coverage 68.98% 68.97% -0.01%
===========================================
Files 3755 3755
Lines 147158 147697 +539
Branches 26309 26402 +93
===========================================
+ Hits 101510 101880 +370
- Misses 41147 41319 +172
+ Partials 4501 4498 -3
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Summary
Moves the two typia-transformed packages —
core-typingsandui-kit— offts-patch + tscontottsc, so their emit works under the native TypeScript 7 compiler. Validated end-to-end in CI (canary): both packages build with the typia transform on TS7, and the monorepo typechecks at 67/70.How the TS7 blockers were solved
TS7's native compiler dropped the transformer plugin API
ts-patchused. Wiringttsc(the typescript-go plugin toolchain, which ships typia's native Go transform) into the workspace hit three frictions — all resolved:ttscneeds a tsgo binary;typescript@7trips yarn's builtincompat/typescriptpatch (ENOENT lib/_tsc.js, berry#7191)@typescript/native-preview— same tsgo binary under a different package name, so the patch never applies. Resolve it viattsc --binary <native-preview>/bin/tsgo.@ttsc/lintauto-activates and fails without a lint configmoduleResolution: node; TS7 no longer auto-includes@typesmoduleResolution: bundleron the build configs + explicittypes: ["node"]/ es lib oncore-typings.Changes
ts-patch install && typia patch && tsc→ttsc --binary <native-preview tsgo>typia→^13.0.2;+@typescript/native-preview,+ttsc,-ts-patch; drop vestigialts-jestfromui-kit(jest runs on@swc/jest)bundleron the build configs;core-typingsgetstypes: ["node"]+ es libtypescript@7→ no yarn patch break)CI result (canary)
Build workspace packages: success — 61/61 tasks(incl. both ttsc packages) ·TS7 typecheck: green 67/70.Remaining to merge
RC's main build CI needs a Go toolchain (
ttsccompiles typia's native plugin once per cache key) — addactions/setup-go+ a plugin cache to the shared build setup, as done in the TS7 canary workflow.Draft — implementation validated end-to-end; the main-CI Go step is the one wiring item left.