Repository navigation
fix(kirari): keep private class names as one token - #16
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reached
This review includes 10 billable files and costs up to $2.50.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 25 minutes for your next included review. View limit details
Comment |
8c5d999 to
ce18b14
Compare
|
@coderabbitai review |
|
ce18b14 to
89eea7c
Compare
d4238ed to
5c040a5
Compare
Scan `#name` in JavaScript-like languages as a single name token. Private names are always class members, so they are highlighted as properties, or as functions where a public member would be. The documented bundle sizes are refreshed for the top of the stack: core 3,774, JavaScript 4,294, all languages 23,273, highlight() wrapper 4,197 bytes gzip. Closes #4
List the switch from interfaces to type aliases under Breaking changes, with migration steps for code that relied on declaration merging.
5c040a5 to
dddbe67
Compare
What and why
JavaScript and TypeScript private class names were split:
class C { #p = 1; m() { this.#p } }produced" #":text p:variableat the declaration and#:text p:propertyat the access.#nameis now one token in JavaScript-like languages (JavaScript, TypeScript, JSX, TSX, and scripts in Vue/Svelte/HTML). Private names are always class members, so they are highlighted as properties, or as functions where a public member would be:#p = 1/this.#p/#p in o#p:property#m() {},get #a() {},#g = () => 1#m:function,#a:function,#g:functionthis.#m()#m:property(asthis.m())A lone
#stays text, and#!shebangs stay comments. Svelte{#if}blocks are unchanged.Also refreshes the documented bundle sizes for the top of the stack.
Stacked on #14.
Closes #4
Validation
bun run checkpasses.script-accuracy.test.ts(declaration, access, static, getters, methods, arrow fields, brand checks, escaped names), a corpus fixture, and streaming prefix/fuzz sources.main: only#nametokens in JavaScript-like inputs change.highlight()wrapperChecklist
bun run checkpassesbunx changeset), or not needed for docs, tests, or internal changes