mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +00:00
11dd4118ce
* implement single line pin * make panic-safe * use pin even if multiple modules imported withing single statement * add repins and make imports respect pins * keep all pins * Allow multiple pins * add comments + handle stuff more safely * fix fully qualified imports * remove ignore * sort nested * apply unique to output requirements list * fix typo * remove mut * update sqlx * sort imports * sort imports * fix formatter and format * feat: add ruby support * fix * update sqlx * add ruby to flake.nix Signed-off-by: pyranota <pyra@duck.com> * upgrade par_install_language_dependencies helper rename fields + allow passing custom payload Signed-off-by: pyranota <pyra@duck.com> * change migrations Signed-off-by: pyranota <pyra@duck.com> * make full pipeline work! Signed-off-by: pyranota <pyra@duck.com> * do a bit fixing * stage Signed-off-by: pyranota <pyra@duck.com> * add ruby in dockerfiles Signed-off-by: pyranota <pyra@duck.com> * implement auto-require + 'windmill/inline' Signed-off-by: pyranota <pyra@duck.com> * create 'windmill/inline' only if does not exist Signed-off-by: pyranota <pyra@duck.com> * add nsjail Signed-off-by: pyranota <pyra@duck.com> * update global settings Signed-off-by: pyranota <pyra@duck.com> * add ruby icon * generate lockfile on deploy (but broken) Signed-off-by: pyranota <pyra@duck.com> * fix(frontend): display deployed script lockfile and other info Signed-off-by: pyranota <pyra@duck.com> * feat: add mini-wmill client Methods: - get_resource - get_variable Additionally add shortcuts on frontend Signed-off-by: pyranota <pyra@duck.com> * add nit warning Signed-off-by: pyranota <pyra@duck.com> * support private repos credentials Signed-off-by: pyranota <pyra@duck.com> * fix compilation error Signed-off-by: pyranota <pyra@duck.com> * found rustc bug + refactor universal installer Signed-off-by: pyranota <pyra@duck.com> * more refactor + fixes Signed-off-by: pyranota <pyra@duck.com> * bug fixing + polishing Signed-off-by: pyranota <pyra@duck.com> * cleanup Signed-off-by: pyranota <pyra@duck.com> * change 'windmill/inline' Signed-off-by: pyranota <pyra@duck.com> * delegate env_clear to universal installer Signed-off-by: pyranota <pyra@duck.com> * update init script Signed-off-by: pyranota <pyra@duck.com> * add cli support Signed-off-by: pyranota <pyra@duck.com> * unhardcode frontend Signed-off-by: pyranota <pyra@duck.com> * fix cli Signed-off-by: pyranota <pyra@duck.com> * fix init script Signed-off-by: pyranota <pyra@duck.com> * make it work on ms windows Signed-off-by: pyranota <pyra@duck.com> * do not clean env in the end Signed-off-by: pyranota <pyra@duck.com> * fix windows (again) Signed-off-by: pyranota <pyra@duck.com> * include PROXY_ENVS (untested) Signed-off-by: pyranota <pyra@duck.com> * feat: self-signed certs + proxy support (tested) Signed-off-by: pyranota <pyra@duck.com> * flake: pin ruby to 3.4 * merge follow-ups Signed-off-by: pyranota <pyra@duck.com> * remove obsolete libc crate Signed-off-by: pyranota <pyra@duck.com> * cleanup parser Signed-off-by: pyranota <pyra@duck.com> * fix java ci Signed-off-by: pyranota <pyra@duck.com> * cleanup Signed-off-by: pyranota <pyra@duck.com> * fix nits Signed-off-by: pyranota <pyra@duck.com> * Update backend/windmill-worker/src/universal_pkg_installer.rs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update backend/windmill-worker/src/ruby_executor.rs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * add nsjail for lock stage Signed-off-by: pyranota <pyra@duck.com> * fix merge Signed-off-by: pyranota <pyra@duck.com> * Update common.rs * regen windmill-api-client Signed-off-by: pyranota <pyra@duck.com> * fix tests Signed-off-by: pyranota <pyra@duck.com> * fix tests again Signed-off-by: pyranota <pyra@duck.com> * reference published ruby parser Signed-off-by: pyranota <pyra@duck.com> --------- Signed-off-by: pyranota <pyra@duck.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
137 lines
2.1 KiB
TypeScript
137 lines
2.1 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"
|
|
`,
|
|
duckdb: `SELECT 'Hello world' AS message`,
|
|
|
|
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");
|
|
}
|
|
}
|
|
`,
|
|
ruby: `
|
|
def main a, b, c
|
|
puts a, b, c
|
|
end
|
|
`,
|
|
// for related places search: ADD_NEW_LANG
|
|
};
|