mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-22 00:01:34 +00:00
fix: monaco editor fixes
This commit is contained in:
Generated
+51
-78
@@ -14,7 +14,7 @@
|
||||
"highlight.js": "^11.5.1",
|
||||
"monaco-editor": "^0.33.0",
|
||||
"monaco-editor-workers": "^0.33.0",
|
||||
"monaco-languageclient": "2.0.2",
|
||||
"monaco-languageclient": "2.1.0",
|
||||
"vscode-ws-jsonrpc": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -23,7 +23,7 @@
|
||||
"@sveltejs/kit": "next",
|
||||
"@tailwindcss/forms": "^0.5.1",
|
||||
"@tailwindcss/typography": "^0.5.3",
|
||||
"@types/vscode": "^1.69.0",
|
||||
"@types/vscode": "~1.67.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.31.0",
|
||||
"@typescript-eslint/parser": "^5.31.0",
|
||||
"@zerodevx/svelte-toast": "^0.7.2",
|
||||
@@ -474,9 +474,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/vscode": {
|
||||
"version": "1.69.0",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "1.67.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz",
|
||||
"integrity": "sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "5.31.0",
|
||||
@@ -2644,26 +2645,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/monaco-languageclient": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-2.0.2.tgz",
|
||||
"integrity": "sha512-r9Zm6IrVuoJI/9BT8avCXkOXqWApvwQ/f1R9d5ZJHkDHUae/iOYvu9LLQHkMdsG4ilPfDsWoGTN51EVUAHtppw==",
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-2.1.0.tgz",
|
||||
"integrity": "sha512-Ps+G97MH8p/T7dk7NqJnDgub6x2+SiAmFR6rjUyJ2qdSGUNgg310bPD521rEPUTNKGfP7VwBggFjcnoGGCi0vg==",
|
||||
"dependencies": {
|
||||
"glob-to-regexp": "0.4.1",
|
||||
"vscode": "npm:@codingame/monaco-vscode-api@^1.68.4",
|
||||
"vscode-jsonrpc": "8.0.1",
|
||||
"vscode-languageclient": "8.0.1",
|
||||
"vscode": "npm:@codingame/monaco-vscode-api@~1.67.20",
|
||||
"vscode-jsonrpc": "8.0.2",
|
||||
"vscode-languageclient": "8.0.2",
|
||||
"vscode-languageserver-textdocument": "1.0.5",
|
||||
"vscode-uri": "3.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/monaco-languageclient/node_modules/vscode-jsonrpc": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz",
|
||||
"integrity": "sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ==",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mri": {
|
||||
"version": "1.2.0",
|
||||
"dev": true,
|
||||
@@ -4679,9 +4672,9 @@
|
||||
},
|
||||
"node_modules/vscode": {
|
||||
"name": "@codingame/monaco-vscode-api",
|
||||
"version": "1.68.7",
|
||||
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.68.7.tgz",
|
||||
"integrity": "sha512-pJ5ukCDNrHh6rgE0GnGWXVWdE9T8UWqM0mju3LfDQ5iP6NjxEQsBmZsb+lEtzPGWwv5y/WWchztMzoW0qF/Z4Q==",
|
||||
"version": "1.67.20",
|
||||
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.67.20.tgz",
|
||||
"integrity": "sha512-3+swJLtpNWmn2hsnVFv/qbLuQLt+FlaDLgcK0PgYwWVIJn2FjO48a0+ke8ZYS/tiqZxJgJSk+y6hdohgZo7n0g==",
|
||||
"dependencies": {
|
||||
"monaco-editor": "^0.33.0"
|
||||
}
|
||||
@@ -4695,33 +4688,25 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageclient": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.1.tgz",
|
||||
"integrity": "sha512-9XoE+HJfaWvu7Y75H3VmLo5WLCtsbxEgEhrLPqwt7eyoR49lUIyyrjb98Yfa50JCMqF2cePJAEVI6oe2o1sIhw==",
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz",
|
||||
"integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==",
|
||||
"dependencies": {
|
||||
"minimatch": "^3.0.4",
|
||||
"semver": "^7.3.5",
|
||||
"vscode-languageserver-protocol": "3.17.1"
|
||||
"vscode-languageserver-protocol": "3.17.2"
|
||||
},
|
||||
"engines": {
|
||||
"vscode": "^1.67.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver-protocol": {
|
||||
"version": "3.17.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz",
|
||||
"integrity": "sha512-BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg==",
|
||||
"version": "3.17.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz",
|
||||
"integrity": "sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==",
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": "8.0.1",
|
||||
"vscode-languageserver-types": "3.17.1"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver-protocol/node_modules/vscode-jsonrpc": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz",
|
||||
"integrity": "sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ==",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
"vscode-jsonrpc": "8.0.2",
|
||||
"vscode-languageserver-types": "3.17.2"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver-textdocument": {
|
||||
@@ -4729,9 +4714,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vscode-languageserver-types": {
|
||||
"version": "3.17.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz",
|
||||
"integrity": "sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ=="
|
||||
"version": "3.17.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz",
|
||||
"integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA=="
|
||||
},
|
||||
"node_modules/vscode-uri": {
|
||||
"version": "3.0.3",
|
||||
@@ -5114,7 +5099,9 @@
|
||||
}
|
||||
},
|
||||
"@types/vscode": {
|
||||
"version": "1.69.0",
|
||||
"version": "1.67.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz",
|
||||
"integrity": "sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==",
|
||||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/eslint-plugin": {
|
||||
@@ -6461,23 +6448,16 @@
|
||||
}
|
||||
},
|
||||
"monaco-languageclient": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-2.0.2.tgz",
|
||||
"integrity": "sha512-r9Zm6IrVuoJI/9BT8avCXkOXqWApvwQ/f1R9d5ZJHkDHUae/iOYvu9LLQHkMdsG4ilPfDsWoGTN51EVUAHtppw==",
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-2.1.0.tgz",
|
||||
"integrity": "sha512-Ps+G97MH8p/T7dk7NqJnDgub6x2+SiAmFR6rjUyJ2qdSGUNgg310bPD521rEPUTNKGfP7VwBggFjcnoGGCi0vg==",
|
||||
"requires": {
|
||||
"glob-to-regexp": "0.4.1",
|
||||
"vscode": "npm:@codingame/monaco-vscode-api@^1.68.4",
|
||||
"vscode-jsonrpc": "8.0.1",
|
||||
"vscode-languageclient": "8.0.1",
|
||||
"vscode": "npm:@codingame/monaco-vscode-api@~1.67.20",
|
||||
"vscode-jsonrpc": "8.0.2",
|
||||
"vscode-languageclient": "8.0.2",
|
||||
"vscode-languageserver-textdocument": "1.0.5",
|
||||
"vscode-uri": "3.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz",
|
||||
"integrity": "sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"mri": {
|
||||
@@ -7655,9 +7635,9 @@
|
||||
}
|
||||
},
|
||||
"vscode": {
|
||||
"version": "npm:@codingame/monaco-vscode-api@1.68.7",
|
||||
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.68.7.tgz",
|
||||
"integrity": "sha512-pJ5ukCDNrHh6rgE0GnGWXVWdE9T8UWqM0mju3LfDQ5iP6NjxEQsBmZsb+lEtzPGWwv5y/WWchztMzoW0qF/Z4Q==",
|
||||
"version": "npm:@codingame/monaco-vscode-api@1.67.20",
|
||||
"resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.67.20.tgz",
|
||||
"integrity": "sha512-3+swJLtpNWmn2hsnVFv/qbLuQLt+FlaDLgcK0PgYwWVIJn2FjO48a0+ke8ZYS/tiqZxJgJSk+y6hdohgZo7n0g==",
|
||||
"requires": {
|
||||
"monaco-editor": "^0.33.0"
|
||||
}
|
||||
@@ -7668,38 +7648,31 @@
|
||||
"integrity": "sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ=="
|
||||
},
|
||||
"vscode-languageclient": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.1.tgz",
|
||||
"integrity": "sha512-9XoE+HJfaWvu7Y75H3VmLo5WLCtsbxEgEhrLPqwt7eyoR49lUIyyrjb98Yfa50JCMqF2cePJAEVI6oe2o1sIhw==",
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz",
|
||||
"integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==",
|
||||
"requires": {
|
||||
"minimatch": "^3.0.4",
|
||||
"semver": "^7.3.5",
|
||||
"vscode-languageserver-protocol": "3.17.1"
|
||||
"vscode-languageserver-protocol": "3.17.2"
|
||||
}
|
||||
},
|
||||
"vscode-languageserver-protocol": {
|
||||
"version": "3.17.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz",
|
||||
"integrity": "sha512-BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg==",
|
||||
"version": "3.17.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz",
|
||||
"integrity": "sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==",
|
||||
"requires": {
|
||||
"vscode-jsonrpc": "8.0.1",
|
||||
"vscode-languageserver-types": "3.17.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz",
|
||||
"integrity": "sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ=="
|
||||
}
|
||||
"vscode-jsonrpc": "8.0.2",
|
||||
"vscode-languageserver-types": "3.17.2"
|
||||
}
|
||||
},
|
||||
"vscode-languageserver-textdocument": {
|
||||
"version": "1.0.5"
|
||||
},
|
||||
"vscode-languageserver-types": {
|
||||
"version": "3.17.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz",
|
||||
"integrity": "sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ=="
|
||||
"version": "3.17.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz",
|
||||
"integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA=="
|
||||
},
|
||||
"vscode-uri": {
|
||||
"version": "3.0.3"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"@sveltejs/kit": "next",
|
||||
"@tailwindcss/forms": "^0.5.1",
|
||||
"@tailwindcss/typography": "^0.5.3",
|
||||
"@types/vscode": "^1.69.0",
|
||||
"@types/vscode": "~1.67.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.31.0",
|
||||
"@typescript-eslint/parser": "^5.31.0",
|
||||
"@zerodevx/svelte-toast": "^0.7.2",
|
||||
@@ -59,7 +59,7 @@
|
||||
"highlight.js": "^11.5.1",
|
||||
"monaco-editor": "^0.33.0",
|
||||
"monaco-editor-workers": "^0.33.0",
|
||||
"monaco-languageclient": "2.0.2",
|
||||
"monaco-languageclient": "2.1.0",
|
||||
"vscode-ws-jsonrpc": "^1.0.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,28 @@
|
||||
<script lang="ts">
|
||||
import { browser, dev } from '$app/env'
|
||||
import { page } from '$app/stores'
|
||||
import { buildExtraLib, sendUserToast } from '$lib/utils'
|
||||
import type monaco from 'monaco-editor'
|
||||
import { sendUserToast } from '$lib/utils'
|
||||
|
||||
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'
|
||||
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'
|
||||
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'
|
||||
|
||||
import * as monaco from 'monaco-editor'
|
||||
|
||||
import type { DocumentUri, MessageTransports } from 'monaco-languageclient'
|
||||
import { createEventDispatcher, onDestroy, onMount } from 'svelte'
|
||||
import { buildWorkerDefinition } from 'monaco-editor-workers'
|
||||
|
||||
import { StandaloneServices } from 'vscode/services'
|
||||
import getMessageServiceOverride from 'vscode/service-override/messages'
|
||||
|
||||
StandaloneServices.initialize({
|
||||
...getMessageServiceOverride(document.body)
|
||||
})
|
||||
|
||||
let divEl: HTMLDivElement | null = null
|
||||
let editor: monaco.editor.IStandaloneCodeEditor
|
||||
|
||||
export let deno = false
|
||||
export let lang = deno ? 'typescript' : 'python'
|
||||
export let code: string = ''
|
||||
@@ -20,12 +31,12 @@
|
||||
export let formatAction: (() => void) | undefined = undefined
|
||||
export let automaticLayout = true
|
||||
export let websocketAlive = { pyright: false, black: false, deno: false }
|
||||
export let extraLib: string = lang == 'typescript' && !deno ? buildExtraLib() : ''
|
||||
export let extraLibPath: string = 'file:///node_modules/@types/windmill/index.d.ts'
|
||||
export let extraLib: string = ''
|
||||
export let extraLibPath: string = ''
|
||||
|
||||
let websockets: WebSocket[] = []
|
||||
let websocketInterval: NodeJS.Timer | undefined
|
||||
let lastWsAttempt: Date | undefined
|
||||
let lastWsAttempt: Date = new Date()
|
||||
let nbWsAttempt = 0
|
||||
let uri: string = ''
|
||||
let disposeMethod: () => void | undefined
|
||||
@@ -92,14 +103,12 @@
|
||||
export async function reloadWebsocket() {
|
||||
closeWebsockets()
|
||||
if (lang == 'python' || deno) {
|
||||
// install Monaco language client services
|
||||
const { MonacoLanguageClient } = await import('monaco-languageclient')
|
||||
const { CloseAction, ErrorAction } = await import('vscode-languageclient')
|
||||
const vscode = await import('vscode')
|
||||
|
||||
const { toSocket, WebSocketMessageReader, WebSocketMessageWriter } = await import(
|
||||
'vscode-ws-jsonrpc'
|
||||
)
|
||||
const vscode = await import('vscode')
|
||||
|
||||
const { RequestType } = await import('vscode-jsonrpc')
|
||||
|
||||
@@ -156,18 +165,8 @@
|
||||
const writer = new WebSocketMessageWriter(socket)
|
||||
const languageClient = createLanguageClient({ reader, writer }, name, options)
|
||||
languageClient.start()
|
||||
lastWsAttempt = undefined
|
||||
lastWsAttempt = new Date()
|
||||
nbWsAttempt = 0
|
||||
reader.onClose(() => {
|
||||
try {
|
||||
languageClient.stop()
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
}
|
||||
})
|
||||
socket.onClose((_code, _reason) => {
|
||||
websocketAlive[name] = false
|
||||
})
|
||||
if (name == 'deno') {
|
||||
vscode.commands.getCommands().then((v) => {
|
||||
if (!v.includes('deno.cache')) {
|
||||
@@ -180,6 +179,16 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
reader.onClose(() => {
|
||||
try {
|
||||
languageClient.stop()
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
}
|
||||
})
|
||||
socket.onClose((_code, _reason) => {
|
||||
websocketAlive[name] = false
|
||||
})
|
||||
|
||||
websocketAlive[name] = true
|
||||
}
|
||||
@@ -281,7 +290,6 @@
|
||||
}
|
||||
|
||||
async function loadMonaco() {
|
||||
const monaco = await import('monaco-editor')
|
||||
if (lang == 'python') {
|
||||
monaco.languages.register({
|
||||
id: 'python',
|
||||
@@ -303,6 +311,7 @@
|
||||
}
|
||||
uri = `file:///${path}`
|
||||
const model = monaco.editor.createModel(code, lang, monaco.Uri.parse(uri))
|
||||
|
||||
model.updateOptions({ tabSize: 4, insertSpaces: true })
|
||||
editor = monaco.editor.create(divEl as HTMLDivElement, {
|
||||
model: model,
|
||||
@@ -365,16 +374,20 @@
|
||||
noSyntaxValidation: true
|
||||
})
|
||||
} else {
|
||||
monaco.languages.typescript.typescriptDefaults.addExtraLib(extraLib, extraLibPath)
|
||||
if (extraLib != '' && extraLibPath != '') {
|
||||
monaco.languages.typescript.typescriptDefaults.addExtraLib(extraLib, extraLibPath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (lang == 'python' || deno) {
|
||||
const { MonacoServices } = await import('monaco-languageclient')
|
||||
|
||||
MonacoServices.install()
|
||||
}
|
||||
// install Monaco language client services
|
||||
|
||||
reloadWebsocket()
|
||||
reloadWebsocket()
|
||||
}
|
||||
|
||||
return () => {
|
||||
if (editor) {
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
$: shouldPick = mod.value.path === '' && mod.value.language === undefined
|
||||
$: pickableProperties = getPickableProperties($flowStore?.schema, args, $previewResults, mode, i)
|
||||
$: extraLib = buildExtraLib(
|
||||
schemaToTsType($flowStore?.schema),
|
||||
i === 0 ? schemaToTsType($flowStore?.schema) : objectToTsType($previewResults[i])
|
||||
)
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@ export function mapUserToUserExt(user: User): UserExt {
|
||||
}
|
||||
}
|
||||
|
||||
export function buildExtraLib(previousResultType?: string): string {
|
||||
export function buildExtraLib(flowInput: string, previousResultType?: string): string {
|
||||
return `
|
||||
/**
|
||||
* get variable (including secret) at path
|
||||
@@ -297,7 +297,7 @@ export function step(n: number): any;
|
||||
/**
|
||||
* flow input as an object
|
||||
*/
|
||||
export const flow_input: any;
|
||||
export const flow_input: ${previousResultType};
|
||||
|
||||
/**
|
||||
* previous result as an object
|
||||
|
||||
@@ -26,7 +26,7 @@ const config = {
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
path: "path-browserify",
|
||||
path: "path-browserify"
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user