Skip to content

Commit

Permalink
fix: improve deprecation warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Sep 26, 2024
1 parent 2335dda commit 50c8e4a
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 6 deletions.
1 change: 1 addition & 0 deletions docs/guide/bundles.md
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
16 changes: 14 additions & 2 deletions packages/core/src/engines/javascript.ts
Original file line number Diff line number Diff line change
@@ -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)
}
11 changes: 10 additions & 1 deletion packages/core/src/engines/oniguruma.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<RegexEngine> {
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<RegexEngine> {
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<void> {
warnDeprecated('import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead')
return _loadWasm(options)
Expand Down
3 changes: 0 additions & 3 deletions packages/shiki/src/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'
3 changes: 3 additions & 0 deletions packages/shiki/src/index.ts
Original file line number Diff line number Diff line change
@@ -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'
5 changes: 5 additions & 0 deletions packages/shiki/src/wasm-dynamic.ts
Original file line number Diff line number Diff line change
@@ -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))
}

0 comments on commit 50c8e4a

Please sign in to comment.