Skip to content

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 19:20

   🚀 Features

  • graph:
    • Stamp a sacred result directive as the first IResult property  -  by @samchon and Claude Opus 4.8 (1M context) (80541)
    • Honest result directive + structured next on the IOutput wrapper  -  by @samchon and Claude Opus 4.8 (1M context) in #395 (c4ce8)
    • The audit says the server checked it, not only that the compiler resolved it  -  by @samchon and Claude Opus 4.8 (1M context) in #400 (c5e11)
    • Let the caller name the machinery, and stop asking the question twice  -  by @samchon and Claude Opus 4.8 (1M context) in #529 (fab53)
  • lint:
    • Align ban-ts-comment with upstream defaults and directives  -  by @samchon and Claude Opus 4.8 (1M context) (2a4dd)
    • Preserve project identity across rule lifecycles  -  by @samchon in #437 (002f6)
    • Implement unicorn/consistent-template-literal-escape raw-source port  -  by @samchon and Claude Opus 4.8 (1M context) (20e22)
    • Implement unicorn/import-style per-module import policies  -  by @samchon and Claude Opus 4.8 (1M context) (ad401)
    • Implement unicorn/consistent-destructuring (work in progress)  -  by @samchon and Claude Opus 4.8 (1M context) (c0b31)
    • Implement unicorn/filename-case (work in progress)  -  by @samchon and Claude Opus 4.8 (1M context) (c3a8c)
    • Enforce published boundary dependency contracts  -  by @samchon (2c402)
    • Complete boundaries/dependencies upstream semantics  -  by @samchon and Claude Opus 4.8 (1M context) (2f187)
    • Implement unicorn/string-content (work in progress)  -  by @samchon and Claude Opus 4.8 (1M context) (c8eb8)
    • Implement unicorn/no-unused-properties  -  by @samchon (aaed0)
    • Implement unicorn/no-unnecessary-polyfills (work in progress)  -  by @samchon and Claude Opus 4.8 (1M context) (edd19)
    • Implement unicorn/isolated-functions (work in progress)  -  by @samchon and Claude Opus 4.8 (1M context) (059ba)
    • Implement unicorn/isolated-functions  -  by @samchon and Claude Opus 4.8 (1M context) (773fe)
    • Add regex AST + optimizer scaffolding for unicorn/better-regex (work in progress)  -  by @samchon and Claude Opus 4.8 (1M context) (8803f)
    • Implement unicorn/better-regex rule  -  by @samchon and Claude Opus 4.8 (1M context) (57125)
  • shim:
    • Expose Checker_getPropertyNameForKnownSymbolName for well-known-symbol lookups  -  by @samchon and Claude Opus 4.8 (1M context) (ded6a)
  • website:
    • Rework the graph benchmark charts  -  by @samchon and Claude Opus 4.8 (1M context) (b8e46)

   🐞 Bug Fixes

  • bench:
  • build:
    • Derive rollup externals from package.json so unplugin/metro build on Node 22  -  by @samchon and Claude Opus 4.8 (1M context) (b84aa)
  • factory:
    • Give ArrowFunction assignment-level precedence in TsPrinter  -  by @samchon and Claude Opus 4.8 (1M context) (f1a57)
    • Escape template literal text and honor rawText when printing  -  by @samchon and Claude Opus 4.8 (1M context) (d3677)
    • Share parse-back helper in test suite internals  -  by @samchon and Claude Opus 4.8 (1M context) (f684a)
    • Drop trailing comma after rest and trailing elision in broken lists  -  by @samchon and Claude Opus 4.8 (1M context) (17d19)
    • Correct metacharacter distribution note in multi-span test doc  -  by @samchon and Claude Opus 4.8 (1M context) (61560)
    • Pin only-rest single-element boundary in params break test  -  by @samchon and Claude Opus 4.8 (1M context) (bcad7)
    • Parenthesize new target with a call in the member chain  -  by @samchon and Claude Opus 4.8 (1M context) (f0217)
  • graph:
    • Drop the unreachable aliases pipeline from details and trace  -  by @samchon and Claude Opus 4.8 (1M context) (97be7)
    • Drop the never-produced diagnostics from the wire schema  -  by @samchon and Claude Opus 4.8 (1M context) (58dcb)
    • Rewrite the MCP instruction concise, keep the result directive  -  by @samchon and Claude Opus 4.8 (1M context) (f3f36)
    • State the source-until-edit graph invariant explicitly  -  by @samchon and Claude Opus 4.8 (1M context) (99202)
    • Drop the next/guide re-call machinery, let the directive end the call  -  by @samchon and Claude Opus 4.8 (1M context) (4bbf4)
    • Reframe truncated so a complete result never invites a re-call  -  by @samchon and Claude Opus 4.8 (1M context) (500fd)
    • Stop dedicated over-drilling and clear tour-flow noise  -  by @samchon and Claude Opus 4.8 (1M context) in #398 (331ee)
    • Make the tour tell the truth about its own coverage, and publish the grid it earned  -  by @samchon in #405 (d4ed9)
    • Make the question the user's words, not the model's  -  by @samchon and Claude Opus 4.8 (1M context) in #432 (6f86b)
    • Follow the call into the implementation it dispatches to  -  by @samchon and Claude Opus 4.8 (1M context) in #440 (e59e5)
    • Make the question the user's words, not the model's  -  by @samchon and Claude Opus 4.8 (1M context) in #548 (de9e6)
    • Take the benchmark's own symbols out of the tour's schema  -  by @samchon in #550 (f734c)
    • Rank the tour on three facts, not on English  -  by @samchon in #559 (c1ee8)
    • Resolve binary from the target project and make the result audit honest  -  by @samchon and Claude Opus 4.8 (1M context) in #698 (12690)
  • lint:
    • Exempt backslash-digit escapes from no-useless-escape in strings and templates  -  by @samchon and Claude Opus 4.8 (1M context) (42d96)
    • Require a crossed newline before stripping statement semicolons  -  by @samchon and Claude Opus 4.8 (1M context) (217ce)
    • Reword digit-exemption test comment to avoid mid-word line breaks  -  by @samchon and Claude Opus 4.8 (1M context) (a7fc9)
    • Treat a trailing-comma arrow parameter as parenthesized  -  by @samchon and Claude Opus 4.8 (1M context) (6a1e9)
    • Refuse sort-imports merges that produce invalid import syntax  -  by @samchon and Claude Opus 4.8 (1M context) (8cfff)
    • Pin ASCII upper-boundary neighbor of the digit exemption  -  by @samchon and Claude Opus 4.8 (1M context) (7405a)
    • Decline no-var autofix on block-scope escape and loop-closure capture  -  by @samchon and Claude Opus 4.8 (1M context) (26981)
    • Pin arrow-parens acting past a post-paren list comma  -  by @samchon and Claude Opus 4.8 (1M context) (dd1a4)
    • Document namespace and comment refusal in renderMergedDecl  -  by @samchon and Claude Opus 4.8 (1M context) (31022)
    • Keep non-string sub-chains whole in prefer-template autofix  -  by @samchon and Claude Opus 4.8 (1M context) (f8bd4)
    • Decline no-var autofix for declarations under with statements  -  by @samchon and Claude Opus 4.8 (1M context) (bacfc)
    • Make prefer-template containment gate paren-transparent  -  by @samchon and Claude Opus 4.8 (1M context) (6a02f)
    • Treat class field initializers as capture boundaries in no-var gate  -  by @samchon and Claude Opus 4.8 (1M context) (84c40)
    • Decline no-var autofix for bindings named let or static  -  by @samchon and Claude Opus 4.8 (1M context) (b3433)
    • Parenthesize no-extra-boolean-cast splices by precedence and decline comment-lossy fixes  -  by @samchon and Claude Opus 4.8 (1M context) (c06f2)
    • Align no-unused-expressions with default ESLint semantics  -  by @samchon and Claude Opus 4.8 (1M context) (8dde2)
    • Cover variable and property literal annotations in prefer-as-const  -  by @samchon and Claude Opus 4.8 (1M context) (5b83c)
    • Descend through expression parens in prefer-as-const matching  -  by @samchon and Claude Opus 4.8 (1M context) (93de0)
    • Align no-duplicate-imports with ESLint mergeability and options  -  by @samchon and Claude Opus 4.8 (1M context) in #419 (92f56)
    • Make no-var inspect loop-header declaration lists  -  by @samchon and Claude Opus 4.8 (1M context) in #422 (e9b59)
    • Preserve no-unused-expressions parity on current master  -  by @samchon (56128)
    • Decide no-fallthrough by completion analysis and marker comments  -  by @samchon and Claude Opus 4.8 (1M context) (aa2e3)
    • Preserve binding identity in prefer-const  -  by @samchon (5eea6)
    • Make prefer-as-const cover variable and property annotations  -  by @samchon and Claude Opus 4.8 (1M context) in #426 (d4fd5)
    • Cover async iteration and resource management in await-thenable  -  by @samchon and Claude Opus 4.8 (1M context) (a9419)
    • Preserve explicit switch coverage semantics  -  by @samchon (f3cde)
    • Make no-misused-promises follow contextual types  -  by @samchon in #443 (0534c)
    • Align no-floating-promises with upstream defaults  -  by @samchon and Claude Opus 4.8 (1M context) in #442 (cfd3b)
    • Prevent reusable hosts from reinitializing contributors  -  by @samchon (b732a)
    • Align directive lengths with Unicode graphemes  -  by @samchon (75ca9)
    • Keep grapheme generation version-coupled  -  by @samchon (ddd02)
    • Prevent unreachable catches from reopening terminated cases  -  by @samchon (ea732)
    • Trust parser lexical goals for comment directives  -  by @samchon (c3966)
    • Preserve runtime heritage while excluding type syntax  -  by @samchon (5b3cd)
    • Make editor formatting reproducible  -  by @samchon (114c9)
    • Honor complete VS Code selector identity  -  by @samchon (7e9f5)
    • Replace duplicate override properties  -  by @samchon (c1ce5)
    • Normalize every valid selector group  -  by @samchon (aee60)
    • Prevent unsafe prefer-at recommendations  -  by @samchon (2666b)
    • Preserve module evaluation semantics during import formatting  -  by @samchon (eb3be)
    • Prevent false inner-declaration reports in strict code  -  by @samchon (eefcb)
    • Prevent function writes from crossing binding scopes  -  by @samchon (532a5)
    • Keep rule options inside matching config entries  -  by @samchon (fd04f)
    • Match consistent-function-scoping loop chains, class heads, and report ranges to upstream  -  by @samchon and Claude Opus 4.8 (1M context) (97e51)
    • Close the import-style config before the filename-case autocomplete case  -  by @samchon and Claude Opus 4.8 (1M context) (8396e)
    • Match unicorn/string-content escaping to current upstream  -  by @samchon and Claude Opus 4.8 (1M context) (a8e03)
    • Name the escaped rune in no-useless-escape messages  -  by @samchon and Claude Opus 4.8 (1M context) (7ed5f)
    • Decide regexp/no-useless-flag on the regexp AST  -  by @samchon and Claude Opus 4.8 (1M context) (b5d97)
    • Canonicalize every letter of a number literal  -  by @samchon and Claude Opus 4.8 (1M context) (16036)
    • Bind unicorn/consistent-existence-index-check to const indexes  -  by @samchon and Claude Opus 4.8 (1M context) (3f1cb)
    • Stop unicorn/better-regex constructor fixes corrupting source  -  by @samchon and Claude Opus 4.8 (1M context) (d15e7)
    • Suppress value-changing unicorn/prefer-string-raw reports  -  by @samchon and Claude Opus 4.8 (1M context) (34529)
    • Inspect interpolated template segments in the unicorn escape rules  -  by @samchon and Claude Opus 4.8 (1M context) (f55a6)
    • Report valid-typeof only on equality comparisons  -  by @samchon and Claude Opus 4.8 (1M context) (2db19)
    • Scan unicorn escapes with backslash parity and bounded digit runs  -  by @samchon and Claude Opus 4.8 (1M context) (612cd)
    • Exercise prefer-string-raw template delimiters and correct its scope note  -  by @samchon and Claude Opus 4.8 (1M context) (abd41)
    • Tighten the escape-scan helper placement and doc comments  -  by @samchon and Claude Opus 4.8 (1M context) (63997)
    • Name the conservative regexp/no-useless-flag nodes and cover them  -  by @samchon and Claude Opus 4.8 (1M context) (41068)
    • Match every *Error callee in unicorn/throw-new-error  -  by @samchon and Claude Opus 4.8 (1M context) (c4c37)
    • Keep trailing comma off rest in destructuring assignment targets  -  by @samchon and Claude Opus 4.8 (1M context) (a61dc)
    • Resolve unicorn/prefer-optional-catch-binding via checker scope  -  by @samchon and Claude Opus 4.8 (1M context) (fa4be)
    • Resolve no-dupe-keys computed keys to their static value  -  by @samchon and Claude Opus 4.8 (1M context) (d3cca)
    • Detect all no-extend-native prototype-extension shapes  -  by @samchon and Claude Opus 4.8 (1M context) (823b2)
    • Make no-unnecessary-qualifier type-aware  -  by @samchon and Claude Opus 4.8 (1M context) (9a168)
    • Honor endOfLine in the three string-builder format reflows  -  by @samchon and Claude Opus 4.8 (1M context) (a3bb2)
    • Apply multi-edit fixes per finding atomically  -  by @samchon and Claude Opus 4.8 (1M context) (c38df)
    • Keep LSP commands correct through symlinks and junctions  -  by @samchon and Claude Opus 4.8 (1M context) (d08b2)
    • Safe autofixes for dot-notation, comment-eating fixers, no-return-assign parens  -  by @samchon and Claude Opus 4.8 (1M context) (79741)
    • Align unicorn/text-encoding-identifier-case with upstream  -  by @samchon and Claude Opus 4.8 (1M context) (95ce9)
    • Honor // no default marker and skip empty switches in default-case  -  by @samchon and Claude Opus 4.8 (1M context) (4139b)
    • Make guard-for-in structural to match ESLint  -  by @samchon and Claude Opus 4.8 (1M context) (03ca2)
    • Align unicorn/no-typeof-undefined with upstream  -  by @samchon and Claude Opus 4.8 (1M context) (d0896)
    • Check untagged literals nested in a tagged template for useless escapes  -  by @samchon and Claude Opus 4.8 (1M context) (2879c)
    • Honor no-else-return allowElseIf, restrict terminator to return  -  by @samchon and Claude Opus 4.8 (1M context) (7b1d7)
    • Keep v-flag character-class escapes in no-useless-escape  -  by @samchon and Claude Opus 4.8 (1M context) (dc872)
    • Unicorn/prefer-number-properties parity for options, filters, message, and fix  -  by @samchon and Claude Opus 4.8 (1M context) (9a932)
    • Publish the unicorn/no-unnecessary-polyfills targets option type  -  by @samchon and Claude Opus 4.8 (1M context) (27a66)
    • Honor ESLint default groups and options in no-mixed-operators  -  by @samchon and Claude Opus 4.8 (1M context) (62111)
    • Grouped-accessor-pairs inspects object literals and honors order option  -  by @samchon and Claude Opus 4.8 (1M context) (cf0ee)
    • Preserve checker pool for type-aware rules  -  by @samchon (3e542)
    • Reject optionless rule payloads  -  by @samchon (e2961)
    • Restore TSX corpus coverage  -  by @samchon (b360e)
  • metro:
    • Preserve upstream transformer initialization failures  -  by @samchon and Claude Opus 4.8 (1M context) in #690 (fd337)
  • paths:
    • Preserve JSON extensions when aliases are rewritten to emitted files  -  by @samchon and Claude Opus 4.8 (1M context) in #691 (2799f)
  • platform:
    • Coherent linux-arm baseline and release tag/version validation  -  by @samchon and Claude Opus 4.8 (1M context) in #692 (32b57)
  • playground:
    • Surface plugin failures and harden dependency and sandbox discovery  -  by @samchon and Claude Opus 4.8 (1M context) in #699 (40788)
  • plugins:
    • Anchor config discovery at the launcher-provided project root  -  by @samchon and Claude Opus 4.8 (1M context) (e09de)
  • test:
    • Keep targeted switch validation executable  -  by @samchon (81dd3)
    • Close CI Go lane gaps and guard the lint test overlay  -  by @samchon and Claude Opus 4.8 (1M context) (72323)
    • Audit every lint corpus source  -  by @samchon (b655a)
  • ttsc:
    • Make the plugin config anchor an explicit opt-in option  -  by @samchon and Claude Opus 4.8 (1M context) (0e54e)
    • Quote go.work paths so workspace spaces don't break source builds  -  by @samchon and Claude Opus 4.8 (1M context) in #397 (a95ff)
    • Distinguish released source-plugin locks from abandoned locks  -  by @samchon and Claude Opus 4.8 (1M context) in #430 (707dd)
    • Fence source-plugin lock generations  -  by @samchon in #460 (72575)
    • Decode preceding rune in plugin-call boundary guard  -  by @samchon and Claude Opus 4.8 (1M context) (27181)
    • Exclude persistent plugin lock dirs from corpus cache-entry counts  -  by @samchon and Claude Opus 4.8 (1M context) (17b8b)
    • Stop classifying a BOM'd file dirty on didOpen  -  by @samchon and Claude Opus 4.8 (1M context) (b08db)
    • Stop the graph SymbolProvider from hijacking tsgo's documentSymbol/references  -  by @samchon and Claude Opus 4.8 (1M context) (9ce5e)
    • Reject malformed resident-transform replies and stop generated-flag drift  -  by @samchon and Claude Opus 4.8 (1M context) in #697 (25fed)
    • Honor compiler context env in source-plugin build and clean  -  by @samchon and Claude Opus 4.8 (1M context) in #694 (8b2f5)
    • Derive emitted plugin aliases without a suffix ceiling  -  by @samchon in #707 (f3012)
  • ttsx:
    • Inline served source maps so coverage and stacks map to source  -  by @samchon and Claude Opus 4.8 (1M context) in #353 and #390 (19d22)
    • Harden launcher runtime cache, exports, Node range, and CLI flag adjacency  -  by @samchon and Claude Opus 4.8 (1M context) in #696 (adafc)
  • unplugin:
    • Absolutize relative configFile paths in the generated tsconfig  -  by @samchon and Claude Opus 4.8 (1M context) (0bb6f)
    • Harden adapters, cache eviction, packaging, and tsconfig presets  -  by @samchon and Claude Opus 4.8 (1M context) in #695 (1dbac)
  • vscode:
    • Launch windows command shims with verbatim arguments  -  by @samchon and Claude Opus 4.8 (1M context) in #689 (e8727)
  • wasm:
    • Keep boot and MemFS invariants consistent  -  by @samchon and Claude Opus 4.8 (1M context) in #693 (aabc3)
  • website:

   🏎 Performance

  • lint:
    • Bound parser-aware comment scan resets  -  by @samchon (aad04)
    • Add a per-file memo hook to the rule engine  -  by @samchon and Claude Opus 4.8 (1M context) (53cfd)
    • Memoize the security binding table once per file  -  by @samchon and Claude Opus 4.8 (1M context) (eabe6)
    • Collect jsx-no-undef declared names once per file  -  by @samchon and Claude Opus 4.8 (1M context) (90113)
    • Let syntactic contributor rules opt out of the checker-pool pin  -  by @samchon and Claude Opus 4.8 (1M context) (2e9bd)
    • Cache option-derived regexes compiled per node  -  by @samchon and Claude Opus 4.8 (1M context) (c5fff)
    View changes on GitHub