Repository navigation
chore(deps): update dependency @effect/tsgo to v0.67.3 - #87
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
October 24, 2026 11:24
da701e5 to
8db07b1
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
October 25, 2026 08:46
8db07b1 to
dbced0a
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
October 26, 2026 10:03
dbced0a to
b849a1b
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
October 27, 2026 17:04
b849a1b to
c4481de
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
October 28, 2026 19:55
c4481de to
ac54f11
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
October 29, 2026 14:29
ac54f11 to
c7dee19
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
November 3, 2026 21:53
c7dee19 to
eff5756
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
November 5, 2026 09:39
eff5756 to
eb7c72f
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
November 5, 2026 15:09
eb7c72f to
d0c1de9
Compare
renovate
Bot
force-pushed
the
renovate/effect-tsgo-0.x
branch
from
November 6, 2026 10:43
d0c1de9 to
0c1d366
Compare
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.
This PR contains the following updates:
0.53.3→0.67.3Release Notes
Effect-TS/tsgo (@effect/tsgo)
v0.67.3Compare Source
Patch Changes
1477f2e: FixpreferEffectArray,preferEffectRecord,preferEffectString,promiseInEffectSuccessandanyUnknownInErrorContextskipping everything inside a classextendsexpression. Their walks stop at type nodes, and theextendsclause of a class is anExpressionWithTypeArguments, which counts as one, so themakeof a service class was never checked. The walks now visit the expression of a classextendsclause; its type arguments,implementsclauses and interfaceextendsclauses are still skipped.effectFnOpportunityhad the same blind spot when checking whether a function declaration is used before it is declared: a call inside an earlier classextendsexpression was ignored, so it offered to convert a hoisted function into aconstthat the class would then read before initialization. That opportunity is no longer offered.v0.67.1Compare Source
Patch Changes
71b16e4: CI: cap the Go build cache saved by the TypeScript validation and release jobs at 2 GB. The cache had grown to about 3.5 GB compressed per TypeScript version, and jobs that restore it were running out of disk. The newrepoctl go-cache trimcommand keeps the most recently used files ofgo env GOCACHEup to the size limit and removes the rest:3922483: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommit042e0fb9574980bd67964165df295e629f834fe3, update the TypeScript beta tag totypescript@beta, and update the TypeScript latest tag totypescript@latest. Refresh the Oxlint configuration schema from the selected package.v0.67.0Compare Source
Minor Changes
45e777b: Run Oxlint's type-aware rules, including the Effect rules, on tsrs witheffect-tsgo --tsrs-lint.tsrs 0.21.0 ships its port of tsgolint as
tsrs --lint. The Effect-patched tsrs now registers the Effect rules there,and
--tsrs-lint[=<version|tag>]in front ofeffect-tsgo oxlintoreffect-tsgo vpmakes the patched Oxlint runthem on it instead of the patched tsgolint:
The packaged tsrs is updated to 0.21.0.
v0.64.1Compare Source
Patch Changes
c369721: Fix repoctl spawningnpm/pnpm/corepackon Windows after the Effect 4.1.2 update: the.cmdshims now run as a single shell command line, because the spawner no longer acceptsshelltogether with an argument list. This unblocks the win32 release builds.v0.63.0Compare Source
Minor Changes
b961835: AddfailCauseToConstructor, a style suggestion for Effect v3 and v4 that rewritesEffect.failCause/Effect.failCauseSyncwrapping a singleCause.fail/Cause.dieinto the direct constructor:Piped spellings are detected through piping flows, and later steps are kept. On v3, a lazy
Cause.diebecomesEffect.dieSync; v4 has nodieSync, so it is not reported there. Forwarded, stored, composed or transformed causes, explicitfailCause<E>type arguments,asassertions and annotated thunks are skipped. Lazy forms written as apipe(...)subject or with a piped body are reported without a quick fix, as are lazy values whose error type would change once returned from afailSyncthunk (such ascond ? "A" : "B", whichCause.failwidens tostring) and named-import calls where no valueEffectmodule binding is in scope (type-only imports do not count).cbf958c: AddmanualMetricTapToTrack, an Effect v4 style suggestion with a quickfix that rewritesEffect.tap/tapError/tapDefectcalls which only callMetric.updateintoEffect.trackSuccesses/trackErrors/trackDefects:Inside callbacks, only metrics that are stable at the call site (earlier
constbindings,declare const, enum members) are moved, becausetrack*evaluates the metric once while a tap callback re-evaluates it on every run. A computed input stays inside a mapper so it is still evaluated on every run.e75ca43: AddmapMapErrorToMapBothstyle diagnostic (defaultoff, Effect v3 and v4) with a quickfix. AdjacentEffect.map+Effect.mapErrorsteps (either order) anywhere in one piping flow are reported: in apipe/.pipe/Effect.fnpipeline, across chained.pipe(...).pipe(...)calls, and in nested data-first, curried or mixed data-first/pipeable calls. The quickfix merges them intoEffect.mapBothand removes the other step, collapsing a.pipe(...)left without steps to its subject; on v4,Effect.mapEager+Effect.mapErrorEagersuggestsEffect.mapBothEager. The quickfix is withheld when it cannot keep behavior: a step callee that is not a plain or dotted name (such asgetEffect().map), explicit type arguments on any call between and including the two steps (a curried application, a containing or emptypipe/.pipe), no binding in scope that reachesmapBoth, a rewrite that would newly start an expression statement with(or another token that continues the previous line, or a pair split across calls where merging would move a callback that is not a function literal, or the work of an eager first step, across other code.Patch Changes
a2751c7:catchAllToMapErrorandcatchToOrElseSucceednow name the catch variant the callee resolves to in their message. Previously a named import, renamed import or local alias ofEffect.catchAllwas reported asEffect.catch:a2751c7: Quick fixes, refactors and completions now build references to Effect modules (Effect,Layer,Schema,Data,Context, ...) from the file's imports instead of reusing the receiver of the call being rewritten, and support namespace imports of the package barrel.When the call site reaches Effect through something other than an import, the fix now uses the import:
5ebba91: Perf CI: base and head are now measured on the same runner, and only when a maintainer opts in with theperflabel. Builds still run in parallel, one job per channel and side, each with that commit's own tooling. A separatemeasurejob per channel downloads both binaries and runs 9 rounds of stock, base and head compiles in a rotating order. The report's main column is now head vs base directly, flagged by a paired Wilcoxon signed-rank test (p < 0.01), with base and PR overhead over stock tsgo kept as context.repoctl perf citakes--base-bin/--base-commit/--base-version,--head-bin/--head-commit/--head-versionand--roundsinstead of--side/--commit/--version/--patched-bin/--pairs, and writes version 2 cells:611fae3: Rust port bookkeeping: each origin marker now carries the hash of the Go declaration it was last synced to, soporting/manifest.tsvandporting/ported.tsv, which caused constant merge conflicts, are gone. Therepoctl tsrs port-*commands compute the manifest in memory,port-checkno longer fails on a stale marker line number, andport-ackwrites the hash (and current line) into the markers:// go: internal/typeparser/effect_type.go:45 TypeParser.EffectType 8a9c52f8a845e081fd5ec0a:preferSchemaOverJson's Effect v4 hint namesSchema.fromJsonString(Schema.Unknown)for unknown shapes instead ofSchema.UnknownFromJsonString, which effect marks@internaland leaves out of its published types:1b8a25b: Update the TypeScript next tag totypescript@next, which shipsTypeScriptcommit97aedd3b75e8e18a3cf2786ffbdb2e6c88aea23f, and the Rust port totsrs@0.20.1-ts7.1.0-beta. Symbol tables are read through per-provider helpers, since TypeScript next replaces the map-basedSymbolTablewith an insertion-ordered one.v0.62.0Compare Source
Minor Changes
3e46087: AddmapConstToAs, a style suggestion for Effect v3 and v4 that rewritesEffect.mapcallbacks which ignore their input and return a constant intoEffect.as:Literals, negative numbers, enum members, earlier
constbindings anddeclare constvalues are recognized; object/array literals,letbindings, property reads and computed expressions are not, sinceEffect.ascaptures its value once while amapcallback re-evaluates it on every run. Callbacks with a return type annotation are also skipped, because the annotation fixes the success type andEffect.aswould infer it from the value instead.syncToSucceedandflatMapIgnoredParamToAndThenshare the same constant detection, so they now also recognizedeclare constvalues, negative numeric literals and enum members.Patch Changes
048c91f: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommit49e69830214c55a8cc361aa3c4e7412d0afd02fe, update the TypeScript beta tag totypescript@beta, and update the TypeScript latest tag totypescript@latest. Refresh the Oxlint configuration schema from the selected package.v0.61.0Compare Source
Minor Changes
151678b: Add theflatMapIdentityToFlattendiagnostic (style, suggestion) and quickfix, which replacesEffect.flatMapbyEffect.flattenwhen the callback is one of two forms:identityexport referenced directly (identity,Function.identity, or an import renamed withas). Local variables holdingidentityare not followed.(inner) => innerorfunction(inner) { return inner }.Annotated callbacks and aliases of
identityare not reported, because an annotation can change the resulting type.Patch Changes
8b0e3b5: Fix the win32-x64 tsrs release build. Git on the Windows runner checked outtsrs/Cargo.tomlwith CRLF line endings, so repoctl could not read the[workspace.metadata.typescript]commit and the build failed withNo [workspace.metadata.typescript] commit in tsrs/Cargo.toml. The parser now accepts CRLF, and the Windows release jobs check out withcore.autocrlfturned off.v0.59.0Compare Source
Minor Changes
9b9783c: Add proxy commands that run the Effect-patched tsc, tsrs and Oxlint shipped with@effect/tsgodirectly, without patchingnode_modules. This works with shared or read-only package stores such as the pnpm global virtual store, whereeffect-tsgo patchcannot rewrite the installed binaries. Every argument after the tool is passed through unchanged.The type augmentation that adds the
effecttsgoplugin to Oxlint's config types is still applied only byeffect-tsgo patch.Patch Changes
9b9783c: Fix the tsrs build reusing stale Effect diagnostics in incremental builds after the plugin options change. The build info now records the Effect options, as the Go build does, and a change to them drops the cached semantic diagnostics. For example, with"incremental": trueand an existing.tsbuildinfo, switching"diagnosticSeverity": { "floatingEffect": "off" }to"error"now reportsfloatingEffectwithout--force, and switching it back stops reporting it.9b9783c: Match upstream tsrs npm packaging by building release binaries withnoembedand shipping the exact.d.tslibrary files from the pinned tsrs checkout beside each executable. Packaged tsrs binaries now load those files from disk instead of embedded libraries.9b9783c: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommit8a62bbe746909624b69b6e671026b454da2f02cf, update the TypeScript beta tag totypescript@beta, and update the TypeScript latest tag totypescript@latest. Refresh the tsconfig schema from JSON Schema Store.Bump tsrs to
tsrs@0.20.0-ts7.1.0-beta, which ports TypeScript7.1.0-beta.v0.57.0Compare Source
Minor Changes
8e4d618: Add experimental support for tsrs, the Rust port of the TypeScript 7 compiler. All Effect diagnostics, quick fixes, refactors and completions are ported to Rust and produce the same output as the Go version.effect-tsgo patch --tsrspatches your installedtsrspackage, replacing its binary with an Effect-patched build of the same tsrs version. TypeScript patching is unchanged.The patched tsrs binary is available on darwin-arm64, linux-x64 (glibc) and linux-arm64 (glibc). Other platforms, including Linux musl, are skipped with a message explaining why.
v0.56.1Compare Source
Patch Changes
93fc061: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommita91e93821feafd081641f9f5d161eba626d0b2ce, update the TypeScript beta tag totypescript@beta, and update the TypeScript latest tag totypescript@latest.v0.56.0Compare Source
Minor Changes
97d3c56: Track thetypescript@betadist-tag alongsidetypescript@latestandtypescript@next.repoctl upstream updatenow resolves the beta tag intoupstream.json, so the TypeScript beta compiler (currently7.1.0-beta) is built, tested in CI under thebetachannel, and shipped with the platform packages.Patch Changes
eb044ca: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommit28534d7609062699a68b1b66e2367f8d95dbf290, update the TypeScript beta tag totypescript@beta, and update the TypeScript latest tag totypescript@latest.v0.55.0Compare Source
Minor Changes
d53a707: Add the opt-inpreferEffectStringdiagnostic ineffectNativefor native String method invocations. It suggests 32effect/Stringcounterparts, includingtrimLefttoString.trimStartandtrimRighttoString.trimEnd.Each suggestion explains typing or runtime differences. For example,
email.indexOf("@")suggestsString.indexOf, which returns Option with None replacing -1.The rule defaults to off and the
effect-nativepreset enables it as a warning. Both Effect v3 and v4 are supported. Only suppression quick fixes are available.v0.54.1Compare Source
Patch Changes
70bb791: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommit5237fd46890956e4bb8177a1a05dcd69e4166560, and update the TypeScript latest tag totypescript@latest. Refresh the Oxlint configuration schema from the selected package.v0.54.0Compare Source
Minor Changes
e00f33c: Add theschemaClassObjectLiteraldiagnostic. It warns when an object literal is checked as a Schema class instance. A plain object has no class prototype, soinstanceof, class methods, and Schema encoding fail at runtime. A Schema brand does not help, because a spread copies the brand property.In Effect v4, the rule skips objects nested inside a Schema constructor call, such as
Parent.make({ child: { ...child } }), because v4 builds the nested class instance from the plain object.v0.53.5Compare Source
Patch Changes
c83ee4d:runEffectInsideEffectnow reportsEffect.runSyncExitandEffect.runPromiseExit, the same asEffect.runSyncandEffect.runPromise. The quick fix rewrites them toEffect.runSyncExitWithandEffect.runPromiseExitWithin Effect v4, and toRuntime.runSyncExitandRuntime.runPromiseExitin Effect v3.de42db0: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommit5237fd46890956e4bb8177a1a05dcd69e4166560, and update the TypeScript latest tag totypescript@latest.v0.53.4Compare Source
Patch Changes
f57afb9: Update the TypeScript next tag totypescript@next, which shipstypescript-gocommitabcbb2e69d2a86d9ffee66582a0dd0339b674733, and update the TypeScript latest tag totypescript@latest.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.