Skip to content

fluentcart-mcp: TypeScript 7 - #125

Merged
vcode-sh merged 1 commit into
mainfrom
chore/mcp-typescript-7
Aug 7, 2026
Merged

fluentcart-mcp: TypeScript 7#125
vcode-sh merged 1 commit into
mainfrom
chore/mcp-typescript-7

Conversation

@vcode-sh

@vcode-sh vcode-sh commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Checked the migration notes before touching anything this time, and it mattered: 7.0.2 is npm latest, so this is a shipped release, not the preview the December 2025 progress post described.

The tsconfig part is one line

TypeScript 7 removes the ability to set esModuleInterop to false — the behaviour is always on — so the option is deleted. That was the entire TS5108 failure that got this rejected twice.

Nothing else in the config was affected, checked against the removals rather than assumed:

Breaking change Us
--target es5 removed already ES2023
node10/node resolution deprecated already NodeNext
--strict on by default already true
--baseUrl removed not used

The three import * as sites in the codebase are used as namespaces, never called, so the interop switch does not reach them.

The real obstacle was not the config

TypeScript 7 removes the classic compiler API. The package exports only version.cjs from its entry, ships no lib/typescript.js at all, and offers ASTs solely through an unstable/ surface with no createSourceFile and no ScriptTarget.

Exactly one file needs it: live-test-honesty.test.mjs, which parses test sources to catch a silent prerequisite return — a test that exists to stop live tests quietly passing when their prerequisites are missing. It keeps a pinned 5.9.3 aliased as typescript-ast, with a comment stating why and what would retire it.

Rewriting it against an API TypeScript itself labels unstable would trade a working test for a fragile one, on a surface that does not appear to support standalone parsing at all.

So: compiler on 7, one AST test on a pinned 5.

Gates

Check Result
build / typecheck / typecheck:tests clean
lint 310 files, clean
unit 2823 pass
acceptance 225 pass, 0 fail, 22 skipped
conformance 22 scenario/version runs, zero failures or warnings
routes / compatibility 194 registered, ok
tooling 404/405 — baseline; the one failure is the stale gitignored dist-packages fixture

release-contract.json and manifest.json regenerated for the changed dependency tree — 291 tools, 20 categories, 25 advertised, all unchanged, and versions.json still agrees.

Still on 5.9.3

fchub-thank-you, where TypeScript 7 crashes vue-tsc with ERR_PACKAGE_PATH_NOT_EXPORTED on ./lib/tsc — the same API removal, hitting a tool that has not caught up yet. That one is not ours to fix.

Checked the migration notes before touching anything, which mattered:
7.0.2 is npm latest, so it is a shipped release rather than the preview
the December 2025 post described.

The tsconfig change is one line. TypeScript 7 removes the ability to set
esModuleInterop to false — the behaviour is always on now, so the option
is simply deleted. Nothing else in the config was affected: target is
already ES2023 rather than a removed es5, module resolution is already
NodeNext rather than the deprecated node10, strict was already true, and
there is no baseUrl. The three namespace imports in the codebase are used
as namespaces rather than called, so the interop switch does not touch
them.

The real obstacle was not the config. TypeScript 7 removes the classic
compiler API: the package exports only version.cjs from its entry, ships
no lib/typescript.js at all, and offers ASTs solely through an unstable/
surface that has no createSourceFile and no ScriptTarget. Exactly one
file needs it — live-test-honesty.test.mjs parses test sources to catch a
silent prerequisite return — so it keeps a pinned 5.9.3 aliased as
typescript-ast, with a comment saying why and what would retire it.
Rewriting it against an API TypeScript itself labels unstable would trade
a working test for a fragile one.

Compiler on 7, one AST test on a pinned 5. Build, typecheck of src and
tests, lint across 310 files, 2823 unit, 225 acceptance, 22 conformance
runs, 194 routes, compatibility, and tooling back at its 404/405 baseline
— the single failure being the stale gitignored dist-packages fixture.
Contract and manifest regenerated for the changed dependency tree.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vcode-sh
vcode-sh merged commit ee1df39 into main Aug 7, 2026
15 of 16 checks passed
@vcode-sh
vcode-sh deleted the chore/mcp-typescript-7 branch August 7, 2026 23:20
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.

1 participant