mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-20 00:03:21 +00:00
fix: improve native runtime with axios support
This commit is contained in:
@@ -304,6 +304,7 @@ enum LoaderMode {
|
||||
Bun,
|
||||
BunBundle,
|
||||
NodeBundle,
|
||||
BrowserBundle,
|
||||
}
|
||||
async fn build_loader(
|
||||
job_dir: &str,
|
||||
@@ -373,7 +374,10 @@ plugin(p)
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
} else if mode == LoaderMode::BunBundle || mode == LoaderMode::NodeBundle {
|
||||
} else if mode == LoaderMode::BunBundle
|
||||
|| mode == LoaderMode::NodeBundle
|
||||
|| mode == LoaderMode::BrowserBundle
|
||||
{
|
||||
write_file(
|
||||
&job_dir,
|
||||
"node_builder.ts",
|
||||
@@ -402,8 +406,10 @@ if (!bo.success) {{
|
||||
loader,
|
||||
if mode == LoaderMode::BunBundle {
|
||||
"bun"
|
||||
} else {
|
||||
} else if mode == LoaderMode::NodeBundle {
|
||||
"node"
|
||||
} else {
|
||||
"browser"
|
||||
}
|
||||
),
|
||||
)
|
||||
@@ -598,6 +604,8 @@ pub async fn prebundle_script(
|
||||
script_path,
|
||||
if annotation.nodejs_mode {
|
||||
LoaderMode::NodeBundle
|
||||
} else if annotation.native_mode {
|
||||
LoaderMode::BrowserBundle
|
||||
} else {
|
||||
LoaderMode::BunBundle
|
||||
},
|
||||
@@ -978,6 +986,8 @@ try {{
|
||||
&job.script_path(),
|
||||
if annotation.nodejs_mode {
|
||||
LoaderMode::NodeBundle
|
||||
} else if annotation.native_mode {
|
||||
LoaderMode::BrowserBundle
|
||||
} else {
|
||||
LoaderMode::BunBundle
|
||||
},
|
||||
|
||||
@@ -29,6 +29,7 @@ globalThis.atob = base64.atob;
|
||||
globalThis.btoa = base64.btoa;
|
||||
globalThis.fetch = fetch.fetch;
|
||||
globalThis.Request = request.Request;
|
||||
globalThis.Response = response.Response;
|
||||
globalThis.Blob = file.Blob;
|
||||
globalThis.URL = url.URL;
|
||||
globalThis.FormData = formData.FormData;
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
import Popover from './Popover.svelte'
|
||||
import ResourceEditorDrawer from './ResourceEditorDrawer.svelte'
|
||||
|
||||
export let lang: SupportedLanguage | undefined
|
||||
export let lang: SupportedLanguage | 'bunnative' | undefined
|
||||
export let editor: Editor | undefined
|
||||
export let websocketAlive: {
|
||||
pyright: boolean
|
||||
@@ -87,6 +87,7 @@
|
||||
'go',
|
||||
'deno',
|
||||
'bun',
|
||||
'bunnative',
|
||||
'nativets',
|
||||
'php'
|
||||
].includes(lang ?? '')
|
||||
@@ -97,6 +98,7 @@
|
||||
'go',
|
||||
'deno',
|
||||
'bun',
|
||||
'bunnative',
|
||||
'nativets',
|
||||
'php'
|
||||
].includes(lang ?? '')
|
||||
@@ -107,6 +109,7 @@
|
||||
'go',
|
||||
'deno',
|
||||
'bun',
|
||||
'bunnative',
|
||||
'nativets',
|
||||
'php'
|
||||
].includes(lang ?? '')
|
||||
@@ -316,7 +319,7 @@
|
||||
if (!editor) return
|
||||
if (lang == 'deno') {
|
||||
editor.insertAtCursor(`Deno.env.get('${name}')`)
|
||||
} else if (lang === 'bun' || lang == 'nativets') {
|
||||
} else if (lang === 'bun' || lang === 'bunnative' || lang == 'nativets') {
|
||||
editor.insertAtCursor(`process.env["${name}"]`)
|
||||
} else if (lang == 'python3') {
|
||||
if (!editor.getCode().includes('import os')) {
|
||||
@@ -354,7 +357,7 @@
|
||||
editor.insertAtBeginning(`import * as wmill from "npm:windmill-client@1"\n`)
|
||||
}
|
||||
editor.insertAtCursor(`(await wmill.getVariable('${path}'))`)
|
||||
} else if (lang === 'bun') {
|
||||
} else if (lang === 'bun' || lang === 'bunnative') {
|
||||
const code = editor.getCode()
|
||||
if (!code.includes(`import * as wmill from`)) {
|
||||
editor.insertAtBeginning(`import * as wmill from "windmill-client"\n`)
|
||||
@@ -424,7 +427,7 @@ $var = json_decode(curl_exec($ch));`)
|
||||
editor.insertAtBeginning(`import * as wmill from "npm:windmill-client@1"\n`)
|
||||
}
|
||||
editor.insertAtCursor(`(await wmill.getResource('${path}'))`)
|
||||
} else if (lang === 'bun') {
|
||||
} else if (lang === 'bun' || lang === 'bunnative') {
|
||||
const code = editor.getCode()
|
||||
if (!code.includes(`import * as wmill from`)) {
|
||||
editor.insertAtBeginning(`import * as wmill from "windmill-client"\n`)
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
import HighlightTheme from './HighlightTheme.svelte'
|
||||
|
||||
export let code: string = ''
|
||||
export let language: Script['language'] | 'frontend' | undefined
|
||||
export let language: Script['language'] | 'bunnative' | 'frontend' | undefined
|
||||
export let lines = false
|
||||
|
||||
function getLang(lang: Script['language'] | 'frontend' | undefined) {
|
||||
function getLang(lang: Script['language'] | 'bunnative' | 'frontend' | undefined) {
|
||||
switch (lang) {
|
||||
case 'python3':
|
||||
return python
|
||||
@@ -29,6 +29,8 @@
|
||||
return typescript
|
||||
case 'bun':
|
||||
return typescript
|
||||
case 'bunnative':
|
||||
return typescript
|
||||
case 'go':
|
||||
return go
|
||||
case 'bash':
|
||||
|
||||
@@ -37,13 +37,17 @@
|
||||
|
||||
// props
|
||||
export let iconOnly: boolean = false
|
||||
export let lang: SupportedLanguage | 'frontend' | undefined
|
||||
export let lang: SupportedLanguage | 'bunnative' | 'frontend' | undefined
|
||||
export let editor: Editor | SimpleEditor | undefined
|
||||
export let diffEditor: DiffEditor | undefined
|
||||
export let inlineScript = false
|
||||
export let args: Record<string, any>
|
||||
export let transformer = false
|
||||
|
||||
$: if (lang == 'bunnative') {
|
||||
lang = 'bun'
|
||||
}
|
||||
|
||||
// state
|
||||
let funcDesc = ''
|
||||
let trimmedDesc = ''
|
||||
@@ -71,6 +75,7 @@
|
||||
if (mode === 'edit') {
|
||||
await copilot(
|
||||
{
|
||||
// @ts-ignore
|
||||
language: transformer && lang === 'frontend' ? 'transformer' : lang!,
|
||||
description: trimmedDesc,
|
||||
code: editor?.getCode() || '',
|
||||
@@ -84,6 +89,7 @@
|
||||
} else {
|
||||
await copilot(
|
||||
{
|
||||
// @ts-ignore
|
||||
language: transformer && lang === 'frontend' ? 'transformer' : lang!,
|
||||
description: trimmedDesc,
|
||||
dbSchema: dbSchema,
|
||||
|
||||
@@ -574,7 +574,7 @@ export function initialCode(
|
||||
}
|
||||
|
||||
export function getResetCode(
|
||||
language: SupportedLanguage | undefined,
|
||||
language: SupportedLanguage | 'bunnative' | undefined,
|
||||
kind: Script['kind'] | undefined,
|
||||
subkind:
|
||||
| 'pgsql'
|
||||
@@ -595,6 +595,8 @@ export function getResetCode(
|
||||
return NATIVETS_INIT_CODE_CLEAR
|
||||
} else if (language === 'bun') {
|
||||
return BUN_INIT_CODE_CLEAR
|
||||
} else if (language === 'bunnative') {
|
||||
return BUNNATIVE_INIT_CODE
|
||||
} else {
|
||||
return initialCode(language, kind, subkind)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user