Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: rename getHighlighter to createHighlighter #702

Merged
merged 7 commits into from
Jun 21, 2024

Conversation

antfu
Copy link
Member

@antfu antfu commented Jun 17, 2024

The function name getHighlighter, inherited from Shiki v0.x, which is somehow confusing. While it is supposed to be a singleton, we see people using it incorrectly in components or loops:

While we improved the docs in 412fe10, I think the confusing still down to the name prefix get reads like it will retrieve the global instance, while it actually not. In the actual behavior, it's more like create a new instance every time calling the function, thus this PR propose renaming:

  • getHighlighter to createHighlighter
  • getHighlighterCore to createHighlighterCore
  • getShikiInternal to createShikiInternal

Alternatively, we encourage users to use getSingletonHighlighter instead, where it holds the singleton instance underneath, and loads new themes/languages automatically.


Changes rolling out plan

  • v1.9.0 will introduce createHighlighter getSingletonHighlighter functions. All docs change to create* version. APIs like getHighlighter are shims to behave like before, but marked as deprecate on the type level.
  • v1.10.0+ warning messages will be print at runtime when using getHighlighter etc.
  • v2.0.0 Deprecated APIs will be removed (breaking changes)

@antfu antfu marked this pull request as draft June 17, 2024 11:30
Copy link

netlify bot commented Jun 17, 2024

Deploy Preview for shiki-matsu ready!

Name Link
🔨 Latest commit 850a2a7
🔍 Latest deploy log https://app.netlify.com/sites/shiki-matsu/deploys/6675a884b1a9990008387590
😎 Deploy Preview https://deploy-preview-702--shiki-matsu.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented Jun 17, 2024

Deploy Preview for shiki-next ready!

Name Link
🔨 Latest commit 850a2a7
🔍 Latest deploy log https://app.netlify.com/sites/shiki-next/deploys/6675a8840eedf80008ebf851
😎 Deploy Preview https://deploy-preview-702--shiki-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

codecov bot commented Jun 17, 2024

Codecov Report

Attention: Patch coverage is 90.55118% with 12 lines in your changes missing coverage. Please review.

Project coverage is 96.31%. Comparing base (2468337) to head (850a2a7).

Files Patch % Lines
packages/core/src/bundle-factory.ts 94.11% 3 Missing ⚠️
packages/core/src/internal.ts 66.66% 3 Missing ⚠️
packages/shiki/src/bundle-full.ts 72.72% 3 Missing ⚠️
packages/shiki/src/bundle-web.ts 72.72% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #702      +/-   ##
==========================================
- Coverage   96.45%   96.31%   -0.14%     
==========================================
  Files          70       70              
  Lines        5984     6056      +72     
  Branches      799      805       +6     
==========================================
+ Hits         5772     5833      +61     
- Misses        207      218      +11     
  Partials        5        5              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@antfu antfu marked this pull request as ready for review June 21, 2024 14:15
@antfu antfu merged commit faf3bd2 into main Jun 21, 2024
11 of 13 checks passed
@antfu antfu deleted the feat/create-highlighter branch June 21, 2024 16:25
diegohaz pushed a commit to ariakit/ariakit that referenced this pull request Jul 4, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [shiki](https://togithub.com/shikijs/shiki)
([source](https://togithub.com/shikijs/shiki/tree/HEAD/packages/shiki))
| [`1.7.0` ->
`1.10.1`](https://renovatebot.com/diffs/npm/shiki/1.7.0/1.10.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/shiki/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shiki/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shiki/1.7.0/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shiki/1.7.0/1.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>shikijs/shiki (shiki)</summary>

### [`v1.10.1`](https://togithub.com/shikijs/shiki/releases/tag/v1.10.1)

[Compare
Source](https://togithub.com/shikijs/shiki/compare/v1.10.0...v1.10.1)

#####    🐞 Bug Fixes

- **rehype**: Default export use shared highlighter instance, fix
[#&#8203;714](https://togithub.com/shikijs/shiki/issues/714)  -  by
[@&#8203;antfu](https://togithub.com/antfu) in
[shikijs/shiki#714
[<samp>(c4f03)</samp>](https://togithub.com/shikijs/shiki/commit/c4f030d7)

#####     [View changes on
GitHub](https://togithub.com/shikijs/shiki/compare/v1.10.0...v1.10.1)

### [`v1.10.0`](https://togithub.com/shikijs/shiki/releases/tag/v1.10.0)

[Compare
Source](https://togithub.com/shikijs/shiki/compare/v1.9.1...v1.10.0)

#####    🚀 Features

- Introduce `GrammarState`  -  by
[@&#8203;antfu](https://togithub.com/antfu) in
[shikijs/shiki#712
[<samp>(8a8fa)</samp>](https://togithub.com/shikijs/shiki/commit/8a8faf9f)
- Expose `getLastGrammarState` shorthand  -  by
[@&#8203;antfu](https://togithub.com/antfu)
[<samp>(f2b39)</samp>](https://togithub.com/shikijs/shiki/commit/f2b39561)
- Update themes and grammars  -  by
[@&#8203;antfu](https://togithub.com/antfu)
[<samp>(02bf0)</samp>](https://togithub.com/shikijs/shiki/commit/02bf0179)

#####    🐞 Bug Fixes

- Expose `createCssVariablesTheme` in `shiki/core` to avoid side-effects
 -  by [@&#8203;antfu](https://togithub.com/antfu)
[<samp>(abe63)</samp>](https://togithub.com/shikijs/shiki/commit/abe639d9)

#####     [View changes on
GitHub](https://togithub.com/shikijs/shiki/compare/v1.9.1...v1.10.0)

### [`v1.9.1`](https://togithub.com/shikijs/shiki/releases/tag/v1.9.1)

[Compare
Source](https://togithub.com/shikijs/shiki/compare/v1.9.0...v1.9.1)

#####    🚀 Features

- Remove notation escape  -  by
[@&#8203;sor4chi](https://togithub.com/sor4chi) in
[shikijs/shiki#709
[<samp>(dbc1f)</samp>](https://togithub.com/shikijs/shiki/commit/dbc1fa1d)

#####     [View changes on
GitHub](https://togithub.com/shikijs/shiki/compare/v1.9.0...v1.9.1)

### [`v1.9.0`](https://togithub.com/shikijs/shiki/releases/tag/v1.9.0)

[Compare
Source](https://togithub.com/shikijs/shiki/compare/v1.8.0...v1.9.0)

#####    🚨 Breaking Changes

- Rename `getHighlighter` to `createHighlighter`  -  by
[@&#8203;antfu](https://togithub.com/antfu) in
[shikijs/shiki#702
[<samp>(faf3b)</samp>](https://togithub.com/shikijs/shiki/commit/faf3bd2f)

#####     [View changes on
GitHub](https://togithub.com/shikijs/shiki/compare/v1.8.0...v1.9.0)

### [`v1.8.0`](https://togithub.com/shikijs/shiki/releases/tag/v1.8.0)

[Compare
Source](https://togithub.com/shikijs/shiki/compare/v1.7.0...v1.8.0)

#####    🚀 Features

- **core**: Expose `dispose` function  -  by
[@&#8203;antfu](https://togithub.com/antfu) in
[shikijs/shiki#707
[<samp>(2c5b3)</samp>](https://togithub.com/shikijs/shiki/commit/2c5b3873)

#####     [View changes on
GitHub](https://togithub.com/shikijs/shiki/compare/v1.7.0...v1.8.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ariakit/ariakit).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.

None yet

1 participant