feat: integrate prismjs components importer for modular syntax highlighting

Enhances PrismJS usage by adopting a dedicated importer tool to manage language components, improving maintainability and reducing bundle size.
This commit is contained in:
ccbikai
2024-08-11 15:36:36 +08:00
parent f2304673b3
commit ca765c9b18
3 changed files with 38 additions and 25 deletions

View File

@@ -25,6 +25,7 @@
"lru-cache": "^11.0.0",
"ofetch": "^1.3.4",
"prismjs": "^1.29.0",
"prismjs-components-importer": "^0.2.0",
"sanitize-html": "^2.13.0"
},
"devDependencies": {

12
pnpm-lock.yaml generated
View File

@@ -38,6 +38,9 @@ importers:
prismjs:
specifier: ^1.29.0
version: 1.29.0
prismjs-components-importer:
specifier: ^0.2.0
version: 0.2.0(prismjs@1.29.0)
sanitize-html:
specifier: ^2.13.0
version: 2.13.0
@@ -3925,6 +3928,11 @@ packages:
printable-characters@1.0.42:
resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
prismjs-components-importer@0.2.0:
resolution: {integrity: sha512-2WJBqocATZOOoApIH9y6QmZG7dkQsX9BKexbW6LjMZ9QBAxoDsmoAKTzOt3g9xgpTQVEydmkS4I4tSlguJ52Kg==}
peerDependencies:
prismjs: 1.28.0
prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
@@ -9050,6 +9058,10 @@ snapshots:
printable-characters@1.0.42: {}
prismjs-components-importer@0.2.0(prismjs@1.29.0):
dependencies:
prismjs: 1.29.0
prismjs@1.29.0: {}
progress@2.0.3: {}

View File

@@ -1,29 +1,29 @@
import prism from 'prismjs'
import 'prismjs/components/prism-c'
import 'prismjs/components/prism-clojure'
import 'prismjs/components/prism-cpp'
import 'prismjs/components/prism-csharp'
import 'prismjs/components/prism-css'
import 'prismjs/components/prism-dart'
import 'prismjs/components/prism-docker'
import 'prismjs/components/prism-elixir'
import 'prismjs/components/prism-go'
import 'prismjs/components/prism-markup'
import 'prismjs/components/prism-java'
import 'prismjs/components/prism-javascript'
import 'prismjs/components/prism-json'
import 'prismjs/components/prism-julia'
import 'prismjs/components/prism-kotlin'
import 'prismjs/components/prism-lua'
import 'prismjs/components/prism-markdown'
import 'prismjs/components/prism-pascal'
import 'prismjs/components/prism-php'
import 'prismjs/components/prism-python'
import 'prismjs/components/prism-ruby'
import 'prismjs/components/prism-rust'
import 'prismjs/components/prism-sql'
import 'prismjs/components/prism-typescript'
import 'prismjs/components/prism-yaml'
import 'prismjs-components-importer/cjs/prism-c'
import 'prismjs-components-importer/cjs/prism-clojure'
import 'prismjs-components-importer/cjs/prism-cpp'
import 'prismjs-components-importer/cjs/prism-csharp'
import 'prismjs-components-importer/cjs/prism-css'
import 'prismjs-components-importer/cjs/prism-dart'
import 'prismjs-components-importer/cjs/prism-docker'
import 'prismjs-components-importer/cjs/prism-elixir'
import 'prismjs-components-importer/cjs/prism-go'
import 'prismjs-components-importer/cjs/prism-markup'
import 'prismjs-components-importer/cjs/prism-java'
import 'prismjs-components-importer/cjs/prism-javascript'
import 'prismjs-components-importer/cjs/prism-json'
import 'prismjs-components-importer/cjs/prism-julia'
import 'prismjs-components-importer/cjs/prism-kotlin'
import 'prismjs-components-importer/cjs/prism-lua'
import 'prismjs-components-importer/cjs/prism-markdown'
import 'prismjs-components-importer/cjs/prism-pascal'
import 'prismjs-components-importer/cjs/prism-php'
import 'prismjs-components-importer/cjs/prism-python'
import 'prismjs-components-importer/cjs/prism-ruby'
import 'prismjs-components-importer/cjs/prism-rust'
import 'prismjs-components-importer/cjs/prism-sql'
import 'prismjs-components-importer/cjs/prism-typescript'
import 'prismjs-components-importer/cjs/prism-yaml'
export default prism