From 6c9f941803a296c82bee961683d987466cdde725 Mon Sep 17 00:00:00 2001 From: Narin Luangrath Date: Fri, 19 Aug 2022 13:25:00 -0700 Subject: [PATCH 1/3] fix: Prism.tokenize only takes two arguments (no language argument) For more information see the following links: https://prismjs.com/docs/Prism.html#.tokenize https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/prismjs/index.d.ts#L135 --- index.d.ts | 3 +-- src/components/Highlight.js | 6 +----- src/types.js | 6 +----- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/index.d.ts b/index.d.ts index 6b701f0..e27a3d4 100644 --- a/index.d.ts +++ b/index.d.ts @@ -45,8 +45,7 @@ declare module "prism-react-renderer" { languages: LanguageDict; tokenize: ( code: string, - grammar: PrismGrammar, - language: Language + grammar: PrismGrammar ) => PrismToken[] | string[]; highlight: ( code: string, diff --git a/src/components/Highlight.js b/src/components/Highlight.js index c14892f..76a6c88 100755 --- a/src/components/Highlight.js +++ b/src/components/Highlight.js @@ -137,11 +137,7 @@ class Highlight extends Component { }; Prism.hooks.run("before-tokenize", env); - const tokens = (env.tokens = Prism.tokenize( - env.code, - env.grammar, - env.language - )); + const tokens = (env.tokens = Prism.tokenize(env.code, env.grammar)); Prism.hooks.run("after-tokenize", env); return tokens; diff --git a/src/types.js b/src/types.js index f1a4d13..8a88ab0 100755 --- a/src/types.js +++ b/src/types.js @@ -27,11 +27,7 @@ export type Token = { export type PrismLib = { languages: LanguagesDict, - tokenize: ( - code: string, - grammar: PrismGrammar, - language: Language - ) => Array, + tokenize: (code: string, grammar: PrismGrammar) => Array, highlight: ( code: string, grammar: PrismGrammar, From bb1a5b355bc717ed75d59839ee8a1e04ea54b874 Mon Sep 17 00:00:00 2001 From: Narin Luangrath Date: Fri, 19 Aug 2022 13:26:57 -0700 Subject: [PATCH 2/3] chore: install @types/prismjs --- package.json | 1 + yarn.lock | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/package.json b/package.json index 88151ed..9d4be8d 100755 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "@rollup/plugin-commonjs": "^17.1.0", "@rollup/plugin-node-resolve": "^11.2.0", "@testing-library/react": "^11.2.5", + "@types/prismjs": "^1.26.0", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^26.6.3", "babel-plugin-macros": "^3.0.1", diff --git a/yarn.lock b/yarn.lock index 4f9330e..d6f1ed8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1316,6 +1316,11 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.1.tgz#374e31645d58cb18a07b3ecd8e9dede4deb2cccd" integrity sha512-DxZZbyMAM9GWEzXL+BMZROWz9oo6A9EilwwOMET2UVu2uZTqMWS5S69KVtuVKaRjCUpcrOXRalet86/OpG4kqw== +"@types/prismjs@^1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.0.tgz#a1c3809b0ad61c62cac6d4e0c56d610c910b7654" + integrity sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ== + "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" From e096c6e96e390dacf2c8d9ddb27480297b0c94a0 Mon Sep 17 00:00:00 2001 From: Narin Luangrath Date: Fri, 19 Aug 2022 13:30:23 -0700 Subject: [PATCH 3/3] fix(index.d.ts): consumers can provide their own PrismJS lib --- index.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index e27a3d4..0abfb2d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,5 +1,6 @@ declare module "prism-react-renderer" { import * as React from "react"; + import type PrismJS from 'prismjs'; type Language = | "markup" @@ -154,7 +155,7 @@ declare module "prism-react-renderer" { }; interface HighlightProps { - Prism: PrismLib; + Prism: PrismLib | PrismJS; theme?: PrismTheme; language: Language; code: string;