diff --git a/docs/guide/bundles.md b/docs/guide/bundles.md index 44c1e0a2..e5da78d6 100644 --- a/docs/guide/bundles.md +++ b/docs/guide/bundles.md @@ -46,6 +46,7 @@ When importing `shiki`, all the themes and languages are bundled as async chunks // @noErrors // `shiki/core` entry does not include any themes or languages or the wasm binary. import { createHighlighterCore } from 'shiki/core' +import { createOnigurumaEngine } from 'shiki/engine/oniguruma' // directly import the theme and language modules, only the ones you imported will be bundled. import nord from 'shiki/themes/nord.mjs' diff --git a/packages/core/src/engines/javascript.ts b/packages/core/src/engines/javascript.ts index 5291974c..ec76d423 100644 --- a/packages/core/src/engines/javascript.ts +++ b/packages/core/src/engines/javascript.ts @@ -1,11 +1,23 @@ import type { JavaScriptRegexEngineOptions } from '@shikijs/engine-javascript' import type { RegexEngine } from '@shikijs/types' -import { createJavaScriptRegexEngine as _createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from '@shikijs/engine-javascript' +import { + createJavaScriptRegexEngine as _createJavaScriptRegexEngine, + defaultJavaScriptRegexConstructor as _defaultJavaScriptRegexConstructor, +} from '@shikijs/engine-javascript' import { warnDeprecated } from '../warn' +/** + * @deprecated Import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead. + */ export function createJavaScriptRegexEngine(options?: JavaScriptRegexEngineOptions): RegexEngine { warnDeprecated('import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead') return _createJavaScriptRegexEngine(options) } -export { defaultJavaScriptRegexConstructor } +/** + * @deprecated Import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead. + */ +export function defaultJavaScriptRegexConstructor(pattern: string): RegExp { + warnDeprecated('import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead') + return _defaultJavaScriptRegexConstructor(pattern) +} diff --git a/packages/core/src/engines/oniguruma.ts b/packages/core/src/engines/oniguruma.ts index 3acf11bc..54b81d36 100644 --- a/packages/core/src/engines/oniguruma.ts +++ b/packages/core/src/engines/oniguruma.ts @@ -5,16 +5,25 @@ import { } from '@shikijs/engine-oniguruma' import { warnDeprecated } from '../warn' +/** + * @deprecated Import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead. + */ export function createOnigurumaEngine(options?: LoadWasmOptions | null): Promise { warnDeprecated('import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead') return _createOnigurumaEngine(options) } +/** + * @deprecated Import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead. + */ export function createWasmOnigEngine(options?: LoadWasmOptions | null): Promise { warnDeprecated('import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead') - return createOnigurumaEngine(options) + return _createOnigurumaEngine(options) } +/** + * @deprecated Import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead. + */ export function loadWasm(options: LoadWasmOptions): Promise { warnDeprecated('import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead') return _loadWasm(options) diff --git a/packages/shiki/src/core.ts b/packages/shiki/src/core.ts index 19fa2891..47350ec2 100644 --- a/packages/shiki/src/core.ts +++ b/packages/shiki/src/core.ts @@ -2,6 +2,3 @@ export type { CssVariablesThemeOptions } from './theme-css-variables' export { createCssVariablesTheme } from './theme-css-variables' export * from '@shikijs/core' - -export { createJavaScriptRegexEngine } from '@shikijs/engine-javascript' -export { createOnigurumaEngine, loadWasm } from '@shikijs/engine-oniguruma' diff --git a/packages/shiki/src/index.ts b/packages/shiki/src/index.ts index a64ad4fa..8f63a7f1 100644 --- a/packages/shiki/src/index.ts +++ b/packages/shiki/src/index.ts @@ -1,2 +1,5 @@ export * from './bundle-full' export type { BuiltinLanguage, BuiltinTheme } from './types' + +export { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from '@shikijs/engine-javascript' +export { createOnigurumaEngine, loadWasm } from '@shikijs/engine-oniguruma' diff --git a/packages/shiki/src/wasm-dynamic.ts b/packages/shiki/src/wasm-dynamic.ts index d7557bd5..a9be8dd0 100644 --- a/packages/shiki/src/wasm-dynamic.ts +++ b/packages/shiki/src/wasm-dynamic.ts @@ -1,5 +1,10 @@ import type { WebAssemblyInstantiator } from './types' +import { warnDeprecated } from '@shikijs/core' +/** + * @deprecated Use `import('shiki/wasm')` instead. + */ export const getWasmInlined: WebAssemblyInstantiator = async (info) => { + warnDeprecated('`getWasmInlined` is deprecated. Use `import("shiki/wasm")` instead.') return import('shiki/wasm').then(wasm => wasm.default(info)) }