stream-monaco 0.0.22 → 0.0.37
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/README.md +16 -2
- package/README.zh-CN.md +16 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.legacy.cjs +1 -1
- package/dist/index.legacy.js +1 -1
- package/dist/{preloadMonacoWorkers.shared-B-P1keRz.js → preloadMonacoWorkers.shared-BRnjKKQj.js} +1267 -1145
- package/dist/{preloadMonacoWorkers.shared-D9riw4LN.cjs → preloadMonacoWorkers.shared-C0_StL1Z.cjs} +1267 -1145
- package/package.json +15 -7
package/README.md
CHANGED
|
@@ -151,6 +151,18 @@ yarn add stream-monaco
|
|
|
151
151
|
|
|
152
152
|
Note: Vue is optional. If you don't use Vue, you don't need to install it.
|
|
153
153
|
|
|
154
|
+
### Example apps
|
|
155
|
+
|
|
156
|
+
- `examples/streaming-demo` — Vue 3 + Vite demo with streaming, diff, and diff UX routes
|
|
157
|
+
- `examples/react-demo` — React + Vite demo with in-place theme/language switching and `appendCode()` streaming
|
|
158
|
+
|
|
159
|
+
Quick start:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
pnpm -C examples/streaming-demo dev
|
|
163
|
+
pnpm -C examples/react-demo dev
|
|
164
|
+
```
|
|
165
|
+
|
|
154
166
|
### Basic usage (Vue)
|
|
155
167
|
|
|
156
168
|
```vue
|
|
@@ -682,6 +694,8 @@ import { preloadMonacoWorkers } from 'stream-monaco/legacy'
|
|
|
682
694
|
preloadMonacoWorkers()
|
|
683
695
|
```
|
|
684
696
|
|
|
697
|
+
The default `stream-monaco` and `stream-monaco/legacy` entry modules intentionally run a best-effort Monaco worker setup during import. The package metadata marks only those published entry files as side-effectful so tree-shaking stays correct for the rest of the library.
|
|
698
|
+
|
|
685
699
|
If you load Monaco via CDN/AMD (e.g. `<script src=".../vs/loader.js">`), `stream-monaco/legacy` also includes a best-effort auto worker setup that creates a same-origin `blob:` worker and `importScripts()` Monaco’s `vs/base/worker/workerMain.js`. If auto-detection can’t find your Monaco base URL, call:
|
|
686
700
|
|
|
687
701
|
```ts
|
|
@@ -721,9 +735,9 @@ pnpm build
|
|
|
721
735
|
|
|
722
736
|
### Clearing shiki highlighter cache
|
|
723
737
|
|
|
724
|
-
The library caches Shiki highlighters internally to avoid recreating them for the same theme combinations. In long-running apps that dynamically create many combinations, you can clear the cache to free memory or reset state (e.g., in tests or on shutdown):
|
|
738
|
+
The library caches Shiki highlighters internally to avoid recreating them for the same theme combinations. In long-running apps that dynamically create many combinations, you can clear the cache to free memory or fully reset the shared highlighter state (e.g., in tests or on shutdown):
|
|
725
739
|
|
|
726
|
-
- `clearHighlighterCache()` — clears the
|
|
740
|
+
- `clearHighlighterCache()` — clears cached highlighters and resets the shared Monaco/Shiki highlighter state
|
|
727
741
|
- `getHighlighterCacheSize()` — returns number of cached entries
|
|
728
742
|
|
|
729
743
|
Call `clearHighlighterCache()` only when highlighters are no longer needed; otherwise, the cache improves performance by reusing instances.
|
package/README.zh-CN.md
CHANGED
|
@@ -56,6 +56,18 @@ npm install stream-monaco
|
|
|
56
56
|
yarn add stream-monaco
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
+
### 示例工程
|
|
60
|
+
|
|
61
|
+
- `examples/streaming-demo`:Vue 3 + Vite 示例,包含 streaming、diff、diff UX 路由
|
|
62
|
+
- `examples/react-demo`:React + Vite 示例,演示不重建编辑器的主题/语言切换与 `appendCode()` 流式追加
|
|
63
|
+
|
|
64
|
+
快速启动:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pnpm -C examples/streaming-demo dev
|
|
68
|
+
pnpm -C examples/react-demo dev
|
|
69
|
+
```
|
|
70
|
+
|
|
59
71
|
### 基础使用(Vue)
|
|
60
72
|
|
|
61
73
|
#### 简单示例
|
|
@@ -887,6 +899,8 @@ import { preloadMonacoWorkers } from 'stream-monaco/legacy'
|
|
|
887
899
|
preloadMonacoWorkers()
|
|
888
900
|
```
|
|
889
901
|
|
|
902
|
+
默认的 `stream-monaco` 与 `stream-monaco/legacy` 入口在模块求值时会做一次 best-effort 的 Monaco worker 安装。包元数据只把这些已发布入口文件标记为有 side effects,其余内部模块仍保持正常 tree-shaking。
|
|
903
|
+
|
|
890
904
|
#### 2. Diff 编辑器流式更新时内容区空白
|
|
891
905
|
|
|
892
906
|
确保在调用 `createEditor` / `createDiffEditor` 之前已正确配置 Monaco 的 workers(建议尽早调用 `preloadMonacoWorkers()`)。
|
|
@@ -939,9 +953,9 @@ pnpm build
|
|
|
939
953
|
|
|
940
954
|
### Clearing shiki highlighter cache
|
|
941
955
|
|
|
942
|
-
The library caches shiki highlighters internally to avoid recreating them for the same theme combinations. In long-running applications that may dynamically create many distinct theme combinations, you can clear the cache to free memory or reset state (for example in tests or on app shutdown):
|
|
956
|
+
The library caches shiki highlighters internally to avoid recreating them for the same theme combinations. In long-running applications that may dynamically create many distinct theme combinations, you can clear the cache to free memory or fully reset the shared highlighter state (for example in tests or on app shutdown):
|
|
943
957
|
|
|
944
|
-
- `clearHighlighterCache()` — clears the
|
|
958
|
+
- `clearHighlighterCache()` — clears cached highlighters and resets the shared Monaco/Shiki highlighter state
|
|
945
959
|
- `getHighlighterCacheSize()` — returns number of cached entries
|
|
946
960
|
|
|
947
961
|
Call `clearHighlighterCache()` when you are certain highlighters are no longer needed (for example during teardown), otherwise leaving the cache enabled provides a performance benefit by reusing previously-created highlighters.
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_preloadMonacoWorkers_shared = require('./preloadMonacoWorkers.shared-
|
|
1
|
+
const require_preloadMonacoWorkers_shared = require('./preloadMonacoWorkers.shared-C0_StL1Z.cjs');
|
|
2
2
|
|
|
3
3
|
//#region src/ensureMonacoWorkers.ts
|
|
4
4
|
function ensureMonacoWorkers() {
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RevealStrategy, clearHighlighterCache, defaultRevealDebounceMs, detectLanguage, editorWorkerPath, getOrCreateHighlighter, registerMonacoThemes, uniqueWorkerPaths, useMonaco, workerPathByLabel } from "./preloadMonacoWorkers.shared-
|
|
1
|
+
import { RevealStrategy, clearHighlighterCache, defaultRevealDebounceMs, detectLanguage, editorWorkerPath, getOrCreateHighlighter, registerMonacoThemes, uniqueWorkerPaths, useMonaco, workerPathByLabel } from "./preloadMonacoWorkers.shared-BRnjKKQj.js";
|
|
2
2
|
|
|
3
3
|
//#region src/ensureMonacoWorkers.ts
|
|
4
4
|
function ensureMonacoWorkers() {
|
package/dist/index.legacy.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_preloadMonacoWorkers_shared = require('./preloadMonacoWorkers.shared-
|
|
1
|
+
const require_preloadMonacoWorkers_shared = require('./preloadMonacoWorkers.shared-C0_StL1Z.cjs');
|
|
2
2
|
const monaco_editor_esm_vs_basic_languages_cpp_cpp = require_preloadMonacoWorkers_shared.__toESM(require("monaco-editor/esm/vs/basic-languages/cpp/cpp"));
|
|
3
3
|
const monaco_editor_esm_vs_basic_languages_javascript_javascript = require_preloadMonacoWorkers_shared.__toESM(require("monaco-editor/esm/vs/basic-languages/javascript/javascript"));
|
|
4
4
|
const monaco_editor_esm_vs_basic_languages_powershell_powershell = require_preloadMonacoWorkers_shared.__toESM(require("monaco-editor/esm/vs/basic-languages/powershell/powershell"));
|
package/dist/index.legacy.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RevealStrategy, clearHighlighterCache, defaultRevealDebounceMs, detectLanguage, getOrCreateHighlighter, monaco_shim_exports, processedLanguage, registerMonacoThemes, useMonaco, workerPathByLabel } from "./preloadMonacoWorkers.shared-
|
|
1
|
+
import { RevealStrategy, clearHighlighterCache, defaultRevealDebounceMs, detectLanguage, getOrCreateHighlighter, monaco_shim_exports, processedLanguage, registerMonacoThemes, useMonaco, workerPathByLabel } from "./preloadMonacoWorkers.shared-BRnjKKQj.js";
|
|
2
2
|
import { conf, language } from "monaco-editor/esm/vs/basic-languages/cpp/cpp";
|
|
3
3
|
import { conf as conf$1, language as language$1 } from "monaco-editor/esm/vs/basic-languages/javascript/javascript";
|
|
4
4
|
import { conf as conf$2, language as language$2 } from "monaco-editor/esm/vs/basic-languages/powershell/powershell";
|