mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +00:00
59740c0478
* feat: add nu (nushell) support * add worker tests * deactivate tables and non-any types below top-level full support will come in V1 for V0 it's better to keep things minimal and simple * add syntax highlighting used python's grammar, since nushell isn't supported by monaco nor svelte-highlights for V1 nu will get it`s own grammar * add logo * partially implement plugin support * change logo + ability to deploy + nsjail draft * static variables + get_resource + get_variable * lsp/dev.nu + initial nu lsp (not working yet) * make it work with nsjail * nullguard * Much more flexible signature parsing and better error-messages * add init script * rename nulsp to nu * install nu to dockerfile * fix merge * implement Default for MainArgSignature * stage NU_CACHE_DIR * improve dockerfiles * dev.nu for parser-wasm + flake.nix * update code for windows * add nushell to flake * upload Cargo.lock * make build.sh work on nixos * build wasm cli parsers * add docs to README_DEV.md * add helper script docker/dev.nu * improve docker/dev.nu * fix windows * commit frontend/package(lock).json * update cargo.lock * correctly update cargo.lock * remove lsp * update flake.nix to include svelte server and nushell * Revert base.sql to main * remove PLUGIN_USE_RE * make CARGO_PATH private * add nu to cli * Change flags to build wasm-nu-parser * remove flake.nix from parser-wasm * update wasm-build target * remove unused import * add cli support for nu * update github workflows * wasm-build 0.17 -> 0.19 * update build script * update cargo.lock * Fix typographical error * start working on java * do java boilerplate * implement parser for java * update Cargo.lock * update ENV_SETTINGS * use published nu parser * update package.lock * java is S3 + Caching enabled * install nsjail backup * commit v0 * fix nsjail * v0.1 * rewrite parser in tree-sitter * implement parser from scratch * polishing * change init script to match new parser * fix imports * fix cli build * fix cli build * refactor install phase * implement .valid.windmill atomic verification * implement java init functionality * remove quick-xml * fix windows not recognizing 'mvn' * create empty settings.xml if there is no config provided * clean up * change default settings.xml * change classpath format for windows * docs to helper * java copy bin cache instead of symlink * remove comments * merge * fix package.json * fix package.json 2 * minor fixing * migrate to Coursier * update misc * Http(s) Proxy + CA certs * remove unused .wasm * make requirements insensitive to spaces * update handle_child refs * rework save_cache for directories * fix s3 bug * compile .wasm for cli * remove uuid import * fix compilation * use reference * fix zero-dep failure * removing unsafe stuff * remove unneeded imports * revert: we still need winapi * remove nix store from nsjail * do not create cache_nomount * add java to dnt * remove duplicated dependency in init script * fix typos * fix CI * use published parser
131 lines
2.0 KiB
TypeScript
131 lines
2.0 KiB
TypeScript
import { SchemaProperty } from "./common.ts";
|
|
|
|
export interface ScriptMetadata {
|
|
summary: string;
|
|
description: string;
|
|
lock: string | string[];
|
|
is_template?: boolean;
|
|
kind: string;
|
|
schema: {
|
|
$schema: string;
|
|
type: string;
|
|
properties: { [name: string]: SchemaProperty };
|
|
required: string[];
|
|
};
|
|
}
|
|
|
|
export function defaultScriptMetadata(): ScriptMetadata {
|
|
return {
|
|
summary: "",
|
|
description: "",
|
|
lock: "",
|
|
kind: "script",
|
|
schema: {
|
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
type: "object",
|
|
properties: {},
|
|
required: [],
|
|
},
|
|
};
|
|
}
|
|
|
|
export const scriptBootstrapCode = {
|
|
python3: `def main():
|
|
return "Hello world"
|
|
`,
|
|
|
|
nativets: `export async function main() {
|
|
return "Hello world";
|
|
}
|
|
`,
|
|
|
|
bun: `export async function main() {
|
|
return "Hello world";
|
|
}
|
|
`,
|
|
|
|
deno: `export async function main() {
|
|
return "Hello world";
|
|
}
|
|
`,
|
|
|
|
go: `package inner
|
|
func main() (interface{}, error) {
|
|
return "Hello world", nil
|
|
}
|
|
`,
|
|
|
|
mysql: `SELECT 'Hello world' AS message
|
|
`,
|
|
|
|
bigquery: `SELECT 'Hello world' AS message
|
|
`,
|
|
|
|
snowflake: `SELECT 'Hello world' AS message
|
|
`,
|
|
|
|
mssql: `SELECT 'Hello world' AS message
|
|
`,
|
|
|
|
graphql: `query() {
|
|
demo() {}
|
|
}`,
|
|
|
|
postgresql: `SELECT 'Hello world' AS message
|
|
`,
|
|
|
|
bash: `echo "Hello world"
|
|
`,
|
|
|
|
oracledb: `SELECT 'Hello world' AS message`,
|
|
powershell: `Write-Output "Hello world"`,
|
|
|
|
php: `<?php
|
|
function main() {
|
|
return "Hello world";
|
|
}
|
|
`,
|
|
|
|
csharp: `class Script
|
|
{
|
|
public static void Main()
|
|
{
|
|
Console.WriteLine("Hello World");
|
|
}
|
|
}
|
|
`,
|
|
nu: `
|
|
def main [] {
|
|
print "Hello World"
|
|
}
|
|
`,
|
|
|
|
rust: `fn main() -> Result<(), String> {
|
|
println!("Hello World");
|
|
Ok(())
|
|
}
|
|
`,
|
|
|
|
ansible: `---
|
|
inventory:
|
|
- resource_type: ansible_inventory
|
|
---
|
|
- name: Echo
|
|
hosts: 127.0.0.1
|
|
connection: local
|
|
|
|
tasks:
|
|
- name: Print debug message
|
|
debug:
|
|
msg: "Hello, world!"
|
|
`,
|
|
java: `
|
|
public class Main {
|
|
public static void main() {
|
|
System.out.println("Hello World");
|
|
}
|
|
}
|
|
`,
|
|
// KJQXZ
|
|
};
|