Skip to content

Commit 35b52ac

Browse files
committed
refactoring: minor updates, add FUNDING.yml (#99)
- Add `FUNDING.yml` file to enable GitHub Sponsors and Buy Me a Coffee support - Reordered parameters in `useShikiHighlighter` for cleaner API - Renamed the `createHighlighter` parameter to `highlighterFactory` for clarity and to avoid confusion with Shiki's `createHighlighter` - Removed unused code in tests
1 parent 147cd38 commit 35b52ac

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: [AVGVSTVS96]
2+
buy_me_a_coffee: bassim96

package/src/core.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,16 @@ export const useShikiHighlighter: UseShikiHighlighter = (
5454
// Validate that highlighter is provided
5555
const highlighter = validateCoreHighlighter(options.highlighter);
5656

57-
return useBaseHook(code, lang, themeInput, async () => highlighter, {
58-
...options,
59-
highlighter,
60-
});
57+
return useBaseHook(
58+
code,
59+
lang,
60+
themeInput,
61+
{
62+
...options,
63+
highlighter,
64+
},
65+
async () => highlighter
66+
);
6167
};
6268

6369
/**

package/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ export const useShikiHighlighter: UseShikiHighlighter = (
4040
code,
4141
lang,
4242
themeInput,
43-
createFullHighlighter,
44-
options
43+
options,
44+
createFullHighlighter
4545
);
4646
};
4747

package/src/lib/hook.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,17 @@ const DEFAULT_THEMES: Themes = {
4444
* @param lang - Language for highlighting
4545
* @param themeInput - Theme or themes to use
4646
* @param options - Highlighting options
47-
* @param createHighlighter - Factory function to create highlighter (internal use)
47+
* @param highlighterFactory - Factory function to create highlighter (internal use)
4848
*/
4949
export const useShikiHighlighter = (
5050
code: string,
5151
lang: Language,
5252
themeInput: Theme | Themes,
53-
createHighlighter: (
53+
options: HighlighterOptions = {},
54+
highlighterFactory: (
5455
langsToLoad: ShikiLanguageRegistration,
5556
themesToLoad: Theme[]
56-
) => Promise<Highlighter | HighlighterCore>,
57-
options: HighlighterOptions = {}
57+
) => Promise<Highlighter | HighlighterCore>
5858
) => {
5959
const [highlightedCode, setHighlightedCode] = useState<
6060
ReactNode | string | null
@@ -125,7 +125,7 @@ export const useShikiHighlighter = (
125125

126126
const highlighter = stableOpts.highlighter
127127
? stableOpts.highlighter
128-
: await createHighlighter(
128+
: await highlighterFactory(
129129
langsToLoad as ShikiLanguageRegistration,
130130
themesToLoad
131131
);

package/src/web.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ export const useShikiHighlighter: UseShikiHighlighter = (
4040
code,
4141
lang,
4242
themeInput,
43-
createWebHighlighter,
44-
options
43+
options,
44+
createWebHighlighter
4545
);
4646
};
4747

package/tests/component.test.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ const getContainer = (container: HTMLElement) =>
1414
const getLanguageLabel = (container: HTMLElement | null) =>
1515
container?.querySelector('#language-label') as HTMLElement | null;
1616

17-
const getPreElement = (container: HTMLElement | null) =>
18-
container?.querySelector('pre.shiki') as HTMLPreElement | null;
19-
2017
describe('ShikiHighlighter Component', () => {
2118
describe('Component-specific Props', () => {
2219
test('renders with default pre element', async () => {

package/tests/hook.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { render, waitFor } from '@testing-library/react';
32
import { vi } from 'vitest';
43
import { useShikiHighlighter } from '../src/index';

0 commit comments

Comments
 (0)