@typespec/playground 0.15.0-dev.4 → 0.15.0-dev.5
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/dist/react/index.js
CHANGED
|
@@ -2598,20 +2598,34 @@ var Playground = (props) => {
|
|
|
2598
2598
|
props.samples
|
|
2599
2599
|
]);
|
|
2600
2600
|
const compileIdRef = useRef(0);
|
|
2601
|
+
const isCompilingRef = useRef(false);
|
|
2602
|
+
const pendingRecompileRef = useRef(false);
|
|
2603
|
+
const doCompileRef = useRef(() => Promise.resolve());
|
|
2601
2604
|
const doCompile = useCallback(async () => {
|
|
2605
|
+
if (isCompilingRef.current) {
|
|
2606
|
+
pendingRecompileRef.current = true;
|
|
2607
|
+
return;
|
|
2608
|
+
}
|
|
2602
2609
|
const currentContent = typespecModel.getValue();
|
|
2603
2610
|
const typespecCompiler = host.compiler;
|
|
2604
2611
|
const compileId = ++compileIdRef.current;
|
|
2612
|
+
isCompilingRef.current = true;
|
|
2605
2613
|
setIsCompiling(true);
|
|
2606
2614
|
let state;
|
|
2607
2615
|
try {
|
|
2608
2616
|
state = await compile(host, currentContent, selectedEmitter, compilerOptions);
|
|
2609
2617
|
} catch (error) {
|
|
2610
2618
|
console.error("Compilation failed", error);
|
|
2611
|
-
|
|
2612
|
-
} finally {
|
|
2619
|
+
isCompilingRef.current = false;
|
|
2613
2620
|
setIsCompiling(false);
|
|
2621
|
+
if (pendingRecompileRef.current) {
|
|
2622
|
+
pendingRecompileRef.current = false;
|
|
2623
|
+
doCompileRef.current();
|
|
2624
|
+
}
|
|
2625
|
+
return;
|
|
2614
2626
|
}
|
|
2627
|
+
isCompilingRef.current = false;
|
|
2628
|
+
setIsCompiling(false);
|
|
2615
2629
|
if (compileId !== compileIdRef.current) return;
|
|
2616
2630
|
if ("program" in state && state.program.hasError() && state.outputFiles.length === 0 && lastSuccessfulOutputRef.current.length > 0) {
|
|
2617
2631
|
setIsOutputStale(true);
|
|
@@ -2639,12 +2653,19 @@ var Playground = (props) => {
|
|
|
2639
2653
|
updateDiagnosticsForCodeFixes(typespecCompiler, []);
|
|
2640
2654
|
editor.setModelMarkers(typespecModel, "owner", []);
|
|
2641
2655
|
}
|
|
2656
|
+
if (pendingRecompileRef.current) {
|
|
2657
|
+
pendingRecompileRef.current = false;
|
|
2658
|
+
doCompileRef.current();
|
|
2659
|
+
}
|
|
2642
2660
|
}, [
|
|
2643
2661
|
host,
|
|
2644
2662
|
selectedEmitter,
|
|
2645
2663
|
compilerOptions,
|
|
2646
2664
|
typespecModel
|
|
2647
2665
|
]);
|
|
2666
|
+
useEffect(() => {
|
|
2667
|
+
doCompileRef.current = doCompile;
|
|
2668
|
+
}, [doCompile]);
|
|
2648
2669
|
const currentEmitterOptions = selectedEmitter ? props.emitterOptions?.[selectedEmitter] : void 0;
|
|
2649
2670
|
useEffect(() => {
|
|
2650
2671
|
const debouncer = debounce(() => doCompile(), currentEmitterOptions?.debounce ?? 200);
|
|
@@ -2760,7 +2781,7 @@ var Playground = (props) => {
|
|
|
2760
2781
|
editorOptions: props.editorOptions,
|
|
2761
2782
|
viewers: props.viewers,
|
|
2762
2783
|
fileViewers: selectedEmitter ? props.emitterViewers?.[selectedEmitter] : void 0,
|
|
2763
|
-
highlightChanges: currentEmitterOptions?.newChangeDiff,
|
|
2784
|
+
highlightChanges: currentEmitterOptions?.newChangeDiff ?? true,
|
|
2764
2785
|
selectedViewer,
|
|
2765
2786
|
onViewerChange: onSelectedViewerChange,
|
|
2766
2787
|
viewerState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../../../src/react/playground.tsx"],"names":[],"mappings":"AAGA,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAoB,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIrF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE3C,oCAAoC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE3D;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAE1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE7C,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../../../src/react/playground.tsx"],"names":[],"mappings":"AAGA,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAoB,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIrF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE3C,oCAAoC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE3D;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAE1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE7C,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAqWzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typespec-editor.d.ts","sourceRoot":"","sources":["../../../src/react/typespec-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,eAAe,CAAC;AAC9C,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"typespec-editor.d.ts","sourceRoot":"","sources":["../../../src/react/typespec-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,eAAe,CAAC;AAC9C,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,uBAAuB,CAAC;AAG/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,oCAAoC,CAAC;CACvD;AAED,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,CAejE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,wBAAwB,CAAC;CAC1C,CA8CA,CAAC"}
|
package/dist/style.css
CHANGED
|
@@ -287,6 +287,10 @@
|
|
|
287
287
|
margin: 0;
|
|
288
288
|
line-height: 1.4;
|
|
289
289
|
}
|
|
290
|
+
/* Monaco decoration class (must be a plain global selector) */
|
|
291
|
+
.playground-changed-line {
|
|
292
|
+
background-color: rgba(0, 180, 0, 0.15);
|
|
293
|
+
}
|
|
290
294
|
._settings_1yvpj_1 {
|
|
291
295
|
display: flex;
|
|
292
296
|
flex-direction: column;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/playground",
|
|
3
|
-
"version": "0.15.0-dev.
|
|
3
|
+
"version": "0.15.0-dev.5",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec playground UI components.",
|
|
6
6
|
"homepage": "https://typespec.io",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"debounce": "^3.0.0",
|
|
75
75
|
"lzutf8": "0.6.3",
|
|
76
76
|
"monaco-editor": "^0.55.1",
|
|
77
|
-
"react": "^19.2.
|
|
78
|
-
"react-dom": "^19.2.
|
|
77
|
+
"react": "^19.2.5",
|
|
78
|
+
"react-dom": "^19.2.5",
|
|
79
79
|
"react-error-boundary": "^6.1.1",
|
|
80
80
|
"swagger-ui-dist": "^5.32.2",
|
|
81
81
|
"vscode-languageserver": "^9.0.1",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"rimraf": "^6.1.3",
|
|
103
103
|
"storybook": "^10.3.5",
|
|
104
104
|
"typescript": "~6.0.2",
|
|
105
|
-
"vite": "^8.0.
|
|
105
|
+
"vite": "^8.0.8",
|
|
106
106
|
"vite-plugin-checker": "^0.12.0",
|
|
107
107
|
"vite-plugin-dts": "4.5.4",
|
|
108
108
|
"vitest": "^4.1.3",
|