diff --git a/.changeset/green-rice-exist.md b/.changeset/green-rice-exist.md new file mode 100644 index 0000000..c6b5589 --- /dev/null +++ b/.changeset/green-rice-exist.md @@ -0,0 +1,5 @@ +--- +"react-github-permalink": patch +--- + +Make JSX and TSX be detected specifically as JSX and TSX languages. diff --git a/src/library/GithubPermalink/GithubPermalink.stories.tsx b/src/library/GithubPermalink/GithubPermalink.stories.tsx index f2820aa..543bdb7 100644 --- a/src/library/GithubPermalink/GithubPermalink.stories.tsx +++ b/src/library/GithubPermalink/GithubPermalink.stories.tsx @@ -37,6 +37,10 @@ export const DifferentLanguages: Story = {

TSX

+

TSX2

+ + +

Docker file

diff --git a/src/library/SyntaxHighlight/SyntaxHighlight.tsx b/src/library/SyntaxHighlight/SyntaxHighlight.tsx index 5a1a8de..f460e9b 100644 --- a/src/library/SyntaxHighlight/SyntaxHighlight.tsx +++ b/src/library/SyntaxHighlight/SyntaxHighlight.tsx @@ -144,6 +144,6 @@ export function SyntaxHighlight(props: { }, []) - return {text} + return <>{text} } diff --git a/src/library/utils/getLanguageFromPath.test.ts b/src/library/utils/getLanguageFromPath.test.ts index e7165c8..b2b3aed 100644 --- a/src/library/utils/getLanguageFromPath.test.ts +++ b/src/library/utils/getLanguageFromPath.test.ts @@ -2,8 +2,8 @@ import { describe, it, expect } from 'vitest'; import { getLanguageFromPath } from './getLanguageFromPath'; describe('getLanguageFromPath', () => { - it('should return typescript for .tsx files', () => { - expect(getLanguageFromPath('ReactRenders3.tsx')).toBe('typescript'); + it('should return tsx for .tsx files', () => { + expect(getLanguageFromPath('ReactRenders3.tsx')).toBe('tsx'); }); it('should return typescript for .ts files', () => { @@ -14,8 +14,8 @@ describe('getLanguageFromPath', () => { expect(getLanguageFromPath('script.js')).toBe('javascript'); }); - it('should return javascript for .jsx files', () => { - expect(getLanguageFromPath('component.jsx')).toBe('javascript'); + it('should return jsx for .jsx files', () => { + expect(getLanguageFromPath('component.jsx')).toBe('jsx'); }); it('should return python for .py files', () => { @@ -59,11 +59,11 @@ describe('getLanguageFromPath', () => { }); it('should handle paths with multiple dots', () => { - expect(getLanguageFromPath('src/components/MyComponent.tsx')).toBe('typescript'); + expect(getLanguageFromPath('src/components/MyComponent.tsx')).toBe('tsx'); }); it('should handle case insensitive extensions', () => { - expect(getLanguageFromPath('Component.TSX')).toBe('typescript'); + expect(getLanguageFromPath('Component.TSX')).toBe('tsx'); expect(getLanguageFromPath('Script.JS')).toBe('javascript'); }); }); \ No newline at end of file diff --git a/src/library/utils/getLanguageFromPath.ts b/src/library/utils/getLanguageFromPath.ts index 4afca5f..b5f6451 100644 --- a/src/library/utils/getLanguageFromPath.ts +++ b/src/library/utils/getLanguageFromPath.ts @@ -8,13 +8,15 @@ export function getLanguageFromPath(filePath: string): AvailableLanguagesPrism { switch (extension) { case 'js': - case 'jsx': case 'mjs': case 'cjs': return 'javascript'; + case 'jsx': + return 'jsx'; case 'ts': - case 'tsx': return 'typescript'; + case 'tsx': + return 'tsx'; case 'py': case 'python': return 'python';