mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 16:02:14 +00:00
a3faea16e7
* 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 * update Cargo.lock * update ENV_SETTINGS * use published nu parser * update package.lock * 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 * merge * update wasm * use MiniPulledJob * update cli * change cli wasm schema * change cli * update deno.json * make wasm modules load lazily * regenerate parsers * remove leftover * update cargo.lock * clean up dnt.ts * add docs to cli/test.nu * add schema validation option * add Nu to try_validate_schema * reference frontend to new parser version
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
const getEnv = (key: string) => {
|
|
return Deno.env.get(key)
|
|
};
|
|
|
|
const baseUrl = getEnv("BASE_INTERNAL_URL") ?? getEnv("BASE_URL") ?? "http://localhost:8000";
|
|
const baseUrlApi = (baseUrl ?? '') + "/api";
|
|
|
|
import type { ApiRequestOptions } from './ApiRequestOptions.ts';
|
|
|
|
type Headers = Record<string, string>;
|
|
type Middleware<T> = (value: T) => T | Promise<T>;
|
|
type Resolver<T> = (options: ApiRequestOptions<T>) => Promise<T>;
|
|
|
|
export class Interceptors<T> {
|
|
_fns: Middleware<T>[];
|
|
|
|
constructor() {
|
|
this._fns = [];
|
|
}
|
|
|
|
eject(fn: Middleware<T>): void {
|
|
const index = this._fns.indexOf(fn);
|
|
if (index !== -1) {
|
|
this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];
|
|
}
|
|
}
|
|
|
|
use(fn: Middleware<T>): void {
|
|
this._fns = [...this._fns, fn];
|
|
}
|
|
}
|
|
|
|
export type OpenAPIConfig = {
|
|
BASE: string;
|
|
CREDENTIALS: 'include' | 'omit' | 'same-origin';
|
|
ENCODE_PATH?: ((path: string) => string) | undefined;
|
|
HEADERS?: Headers | Resolver<Headers> | undefined;
|
|
PASSWORD?: string | Resolver<string> | undefined;
|
|
TOKEN?: string | Resolver<string> | undefined;
|
|
USERNAME?: string | Resolver<string> | undefined;
|
|
VERSION: string;
|
|
WITH_CREDENTIALS: boolean;
|
|
interceptors: {
|
|
request: Interceptors<RequestInit>;
|
|
response: Interceptors<Response>;
|
|
};
|
|
};
|
|
|
|
export const OpenAPI: OpenAPIConfig = {
|
|
BASE: baseUrlApi,
|
|
CREDENTIALS: 'include',
|
|
ENCODE_PATH: undefined,
|
|
HEADERS: undefined,
|
|
PASSWORD: undefined,
|
|
TOKEN: getEnv("WM_TOKEN"),
|
|
USERNAME: undefined,
|
|
VERSION: '1.477.1',
|
|
WITH_CREDENTIALS: true,
|
|
interceptors: {
|
|
request: new Interceptors(),
|
|
response: new Interceptors(),
|
|
},
|
|
}; |