@salesforcedevs/dx-components 1.29.0-ssgalpha3 → 1.29.0-ssgalpha6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/modules/dxUtils/shiki/shiki.ts +21 -3
- package/src/modules/dxUtils/shikiStatic/shikiStatic.ts +8 -0
- package/src/modules/dxUtils/shiki/shikiLoader.ts +0 -25
- package/src/modules/dxUtils/shiki/shikiLoaderDynamic.ts +0 -13
- package/src/modules/dxUtils/shiki/shikiLoaderStatic.ts +0 -19
package/package.json
CHANGED
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
import type { BundledLanguage, BundledTheme, HighlighterCore } from "shiki";
|
|
2
|
-
import { getShikiModule, getBracketsModule } from "./shikiLoader";
|
|
3
2
|
import { getCustomLanguageGrammars } from "dxUtils/shikiGrammars";
|
|
4
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Controls whether to use static imports (bundled) or dynamic imports (lazy loaded).
|
|
6
|
+
* Set via environment variable SHIKI_STATIC_IMPORT at build time.
|
|
7
|
+
* - "true": Loads from dxUtils/shikiStatic (shiki bundled with that module)
|
|
8
|
+
* - "false" or unset: Uses dynamic imports (smaller initial bundle, shiki loaded on first use)
|
|
9
|
+
*
|
|
10
|
+
* Note: The consuming app's bundler must replace process.env.SHIKI_STATIC_IMPORT at build time
|
|
11
|
+
* and perform dead code elimination for true code splitting.
|
|
12
|
+
*/
|
|
13
|
+
const USE_STATIC_IMPORT = process.env.SHIKI_STATIC_IMPORT === "true";
|
|
14
|
+
|
|
5
15
|
async function getShiki() {
|
|
6
|
-
|
|
16
|
+
if (USE_STATIC_IMPORT) {
|
|
17
|
+
const loader = await import("dxUtils/shikiStatic");
|
|
18
|
+
return loader.shiki;
|
|
19
|
+
}
|
|
20
|
+
return await import("shiki");
|
|
7
21
|
}
|
|
8
22
|
|
|
9
23
|
async function getBrackets() {
|
|
10
|
-
|
|
24
|
+
if (USE_STATIC_IMPORT) {
|
|
25
|
+
const loader = await import("dxUtils/shikiStatic");
|
|
26
|
+
return { transformerColorizedBrackets: loader.transformerColorizedBrackets };
|
|
27
|
+
}
|
|
28
|
+
return await import("@shikijs/colorized-brackets");
|
|
11
29
|
}
|
|
12
30
|
|
|
13
31
|
interface ShikiSingleton {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static imports for shiki - this module bundles shiki with the main chunk.
|
|
3
|
+
* Import this module when you want shiki to be immediately available without lazy loading.
|
|
4
|
+
*/
|
|
5
|
+
import * as shiki from "shiki";
|
|
6
|
+
import { transformerColorizedBrackets } from "@shikijs/colorized-brackets";
|
|
7
|
+
|
|
8
|
+
export { shiki, transformerColorizedBrackets };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { ShikiModule, BracketsModule } from "./shikiLoaderStatic";
|
|
2
|
-
|
|
3
|
-
export type { ShikiModule, BracketsModule };
|
|
4
|
-
|
|
5
|
-
const USE_STATIC_IMPORT = process.env.SHIKI_STATIC_IMPORT === "false";
|
|
6
|
-
|
|
7
|
-
export async function getShikiModule(): Promise<ShikiModule> {
|
|
8
|
-
if (USE_STATIC_IMPORT) {
|
|
9
|
-
const loader = await import("./shikiLoaderStatic");
|
|
10
|
-
return loader.getShikiModule();
|
|
11
|
-
} else {
|
|
12
|
-
const loader = await import("./shikiLoaderDynamic");
|
|
13
|
-
return loader.getShikiModule();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export async function getBracketsModule(): Promise<BracketsModule> {
|
|
18
|
-
if (USE_STATIC_IMPORT) {
|
|
19
|
-
const loader = await import("./shikiLoaderStatic");
|
|
20
|
-
return loader.getBracketsModule();
|
|
21
|
-
} else {
|
|
22
|
-
const loader = await import("./shikiLoaderDynamic");
|
|
23
|
-
return loader.getBracketsModule();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ShikiModule, BracketsModule } from "./shikiLoaderStatic";
|
|
2
|
-
|
|
3
|
-
export type { ShikiModule, BracketsModule };
|
|
4
|
-
|
|
5
|
-
export async function getShikiModule(): Promise<ShikiModule> {
|
|
6
|
-
const shiki = await import("shiki");
|
|
7
|
-
return shiki as unknown as ShikiModule;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export async function getBracketsModule(): Promise<BracketsModule> {
|
|
11
|
-
const brackets = await import("@shikijs/colorized-brackets");
|
|
12
|
-
return brackets as BracketsModule;
|
|
13
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { HighlighterCore } from "shiki";
|
|
2
|
-
import * as shiki from "shiki";
|
|
3
|
-
import { transformerColorizedBrackets } from "@shikijs/colorized-brackets";
|
|
4
|
-
|
|
5
|
-
export interface ShikiModule {
|
|
6
|
-
createHighlighter: typeof shiki.createHighlighter;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface BracketsModule {
|
|
10
|
-
transformerColorizedBrackets: typeof transformerColorizedBrackets;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export async function getShikiModule(): Promise<ShikiModule> {
|
|
14
|
-
return shiki;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export async function getBracketsModule(): Promise<BracketsModule> {
|
|
18
|
-
return { transformerColorizedBrackets };
|
|
19
|
-
}
|