63 Commits

Author SHA1 Message Date
HugoCasa 254c3cf8ef feat: preprocessor refactor (#5629)
* feat: preprocessor refactor

* nit

* oneOf kind support + new capture format + fix build

* fix build

* fix build

* update preprocessor templates

* cache runnable version info

* update ee ref

* update hub scripts && ee ref
2025-05-09 09:50:01 +02:00
pyranota f3ed108e43 nit: replace KJQXZ with more meaningful notation (#5547)
* nit: replace `KJQXZ` with more meaningful notation

Originally this string is located in all places, where modification is needed in order to add new language support

* relative -> related

* revert shebang in substitue.sh

* remove '}'
2025-04-02 21:03:04 +00:00
pyranota 59740c0478 feat: add java support (#5458)
* 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
2025-03-27 15:12:55 +01:00
pyranota a3faea16e7 feat: add nu-lang support (#5217)
* 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
2025-03-20 16:45:21 +01:00
Ruben Fiszel 3bc891a0dd fix compile 2025-02-26 19:23:55 +01:00
HugoCasa 28558e674f feat: parse script for preprocessor/no_main_func on deploy (#5292)
* feat: parse script for preprocessor/no_main_func on deploy

* fix substitute for linux
2025-02-14 15:42:18 +01:00
wendrul 5df05d5f0f nix: Update flake for C# and oracle + add flake for building parsers (#5167) 2025-01-29 18:06:53 +01:00
wendrul 77d825540f feat: add oracle db support on ee (#5062) 2025-01-14 21:21:24 +01:00
wendrul c85d2a4957 feat: add C# support (#4908)
* Add csharp stuff and merge after the rewrite

    * Add csharp, boilerplate + minimal execution
    * Add initial parser
    * Frontend + wasm export of the tree sitter parser
    * Arg spread and use cache

* More types and req parsing

* Add logo

* Parse async and void to fit the wrapper to the main sig

* Csharp editor resource and var buttons

* Lockfile generation

* Add default parsing using serde_json::from_str

* Update init code for c#

* Nsjail for c#

* Remove c_variadic feature

* Remove unused imports

* Add c_variadic only for wasm32 assembly

* Fix c# test

* Add dotnet to the images

* Update dockerfiles

* Update dockerfile again

* Touch Dockerfile

* npm install c# parser

* Add opt mount in nsjail

* Update ee repo ref

* Add csharp to backend image for tests

* Add setting to set nuget package

* Windows compatibility

* Disable csharp test

* ADd feature flag
2024-12-13 00:29:01 +01:00
wendrul 08ae91e6dd feat: add static variable and resources support to ansible (#4435)
* Add static variable and resources to ansible

* Add wasm parser to cli

* Fix pulling of resources, rs and playbooks

* Remove unused import, add publish pkg-yaml

* Update package.json

* Update generate-metadata

* Fix null fields being serialized in script metadata

* npm install
2024-09-25 15:05:53 +02:00
HugoCasa ae8f29a4cb feat: http routing (#4339)
* feat: http routing

* all

* feat: improve UI

* final stuff

* fix: sqlx

* fix: nit

* fix: nits

* fix: error handler display

* fix: routes panel perms

* all

* fix: improve ability to paste from macos in vscode extension

* fix lock-write for deno

* all

* cleaning

* fix

* cli preprocessor

* nits

* nits

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-09-20 15:38:38 +02:00
wendrul b0cb1e0b27 feat: ansible playbook support (#4399)
* Ansible execution and parsing

* Working collections and pip dependencies

* Remove unused vars

* File resources logic for ansible

* Make frontend for ansible and resource file

* Format file

* Change naming of file resource and inventory fields

* Add autocomplete for file extension resource creation

* Add endpoint to list file formats for resource types

* Add CLI functionality to pull/push file resources

* Add beta tag to ansible

* Add Full image dockerfiles containing ansible

* Prepare sqlx

* Update cargo.lock

* Update ansible path

* Remove unused imports

* Add back import removed by rust-analyzer

* Improve ansible init code

* Prepare sqlx

* Change dockerfile to make the full windmill image

* Remove old dockerfile

* Improve autocomplete file resource extension select

* Remove comment

* Validate file extension

* Add icons to text file resources

* Remove editability of file resource types

* Remove unused import

* Missing space

* Add yaml parser
2024-09-19 00:21:15 +02:00
Ruben Fiszel 91bd6f73d2 fix(cli): update CLI schema parsers to latest 2024-09-16 11:28:24 +02:00
wendrul 91d328b132 feat: add rust (#4253)
* Add rust on frontend

* Add parser for rust

* Handle rust job execution

* Main has to return a result that is serializable

* Update parser: parse many rust types

* Rust parser dependencies

* Frontend wasm parser

* Add windmill parser rust to windmill parser wasm (temporarily)

* Add rust as a tag on worker__default

* Change init code for rust

* Cleanup rust_executor.rs

* Remove tree-sitter dep and fix unused imports

* Add lockfile and build logic

* Add cargo and rustup to windmill image

* Fix env var to work on docker image and dev env

* modify package.json

* Deps after parser publish

* Add stashed migration

* Unify rust versions

* Add error message when php or cargo are not present to use another image

* Error message conditionally on feature flag

* all ci/cd changes

* all ci/cd changes

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-08-30 17:01:04 +02:00
wendrul 858f63344f split script argument and dependency parser packages to lighten initial load of the script editor (#4287)
* Add feature flags to split parsers into different pkgs

* Split wasm parser imports

* Use regex-lite, reorganize the parser split

* Update imports to the new wasm parser split

* Remove panic system on wasm and simplify snake case convert logic

* Adapt new imports

* Fix to_snake_case + fix tests

* Adapt wasm test dependencies

* Add publish script

* Fix publish script

* Publish script relative to script location

* pkg diff + publish

* Fix TS WASM import + add pakcage lock

* Fix lint

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-08-28 13:26:55 +02:00
HugoCasa 2b9b4eedc3 feat: multi sql statement with pg fix (#4134)
* Revert "Revert "feat: multi statement sql (#4104)" (#4133)"

This reverts commit c578f05e2d.

* fix: sort pg args
2024-07-26 09:23:39 +02:00
Ruben Fiszel c578f05e2d Revert "feat: multi statement sql (#4104)" (#4133)
This reverts commit 5bc0e96171.
2024-07-26 01:24:03 +02:00
HugoCasa 5bc0e96171 feat: multi statement sql (#4104)
* feat: multi statement pg

* fix: add other flavors

* feat: make pg params start at 1 and sequential

* fix: improve sql statement parsing

* add tests

* fix: allow no semi in last statement

* fix: merge conflict

* fix: minor improvement

* fix: parser version
2024-07-25 20:46:04 +02:00
Ruben Fiszel a07070d084 fix: update parsers for CLI 2024-07-22 20:25:56 +02:00
Ruben Fiszel 7b724f1394 feat: dynamic select (#4110) 2024-07-22 13:53:32 +02:00
HugoCasa 6b8dbb6e28 chore: publish oneOf parser improvement (#4091)
* chore: publish oneOf parser improvement

* fix: indent
2024-07-17 11:16:26 +02:00
HugoCasa c986ccb261 fix: make gql params optional by default + use default value if undefined (#4003)
* fix: make gql params optional by default + use default value if undefined

* fix: tests

* fix: improve tests
2024-07-01 16:25:26 +02:00
HugoCasa 008db4c054 fix: non-ASCII support in parsers (#3986) 2024-06-26 19:36:11 +02:00
HugoCasa 6da5e15903 feat: add support for bytea in pg (#3926)
* feat: add support for bytea in pg

* fix: editor nits
2024-06-18 17:38:46 +02:00
HugoCasa 13c8d3f492 feat: oneOf inputs (#3893)
* feat: oneOf input for typescript

* feat: oneOf order and light form

* feat: oneOf UI builder
2024-06-17 21:35:46 +02:00
HugoCasa a79e09d65f feat: improve parsers when no main func (#3805)
* feat: improve parsers when no main func

* chore: update parser version
2024-05-23 20:36:16 +02:00
HugoCasa f7f7a6d85f feat: add php (#3725)
* feat: add php

* fix: nsjail + frontend build
2024-05-15 08:12:11 +02:00
HugoCasa e8905b2734 feat: pg add json support (#3620) 2024-04-26 13:28:15 +02:00
HugoCasa b1ae732df0 fix: support all pg types from db studio (#3613)
* fix: support all pg types from db studio

* chore: parser pkg frontend update
2024-04-25 17:32:06 +02:00
Ruben Fiszel 7714221f3e feat: large log disk and distributed storage compaction 2024-03-23 10:55:29 +01:00
HugoCasa c03c73797b fix: pg timstamptz param (#3364) 2024-03-06 12:50:01 +01:00
Ruben Fiszel 14154d2e79 feat: workflow as code for typescript 2024-03-05 23:14:04 +01:00
Ruben Fiszel ff3aa8ab06 feat: workflow as code v0 2024-03-04 20:19:34 +01:00
HugoCasa 1ee45a1f7d feat: allow to pin database in sql scripts (#3304) 2024-02-27 19:59:52 +01:00
HugoCasa 8782ab3503 chore: publish parser with pwsh datetime (#3303) 2024-02-27 16:37:42 +01:00
lfanew 99335de925 PowerShell datetime & tests (#3299)
* Added pwsh datetime type supp and basic tests

* Added more comprehensive pwsh tests

* Removed unused vars in test string

Visual only change to make test code string
less confusing

---------

Co-authored-by: HugoCasa <hugo@casademont.ch>
2024-02-27 15:30:34 +01:00
Ruben Fiszel 3420faae45 fix: parse wmill.S3Object as S3Object 2024-02-24 19:36:19 +01:00
Ruben Fiszel 3f657861fa fix(frontend): improve handling of optional enums 2024-02-21 12:25:10 +01:00
Guillaume Bouvignies 33788f6361 feat: add script bootstrap and script generate-metadata CLI commands (#3007)
* feat: add script bootstrap and script generate-metadata CLI commands

* Address PR comments on code
2024-01-16 18:25:51 +01:00
Ruben Fiszel 45a794b1b3 feat: add support for multiselect in python 2024-01-10 13:12:20 +01:00
Ruben Fiszel 1a0a3ba07d feat: bun automatic type acquisition in frontend directly (#2884)
* foo

* ata

* done

* remove bun from lsp

* update all
2023-12-20 12:52:01 +01:00
Ruben Fiszel d37d8c5836 fix: fix s3 test connection 2023-12-14 02:51:53 +01:00
HugoCasa 825448e1f1 feat: add mysql datetime (#2808)
* feat: mysql datetime support

* feat: nits
2023-12-08 00:14:08 +01:00
HugoCasa 6e138528dd feat: mysql named params (#2805) 2023-12-07 18:55:14 +01:00
HugoCasa 13547a6399 fix: string or enum (#2752) 2023-12-01 16:07:16 +01:00
HugoCasa 2fe623cf6b feat: add sql server (#2604)
* feat: add sql server

* feat: mssql test, db schema, AI

* chore: update to latest parser

* fix: clean mssql executor
2023-11-10 11:16:13 +01:00
Ruben Fiszel affaf57250 update rust-python to 3.0 (#2499) 2023-10-24 09:26:36 +02:00
Ruben Fiszel da842a05a1 fix: windmill_status_code script now properly return + script bash default arg 2023-10-21 02:32:47 +02:00
HugoCasa 9002a0e05a fix: add numeric, array and date types (#2379)
* fix: add numeric, array and date types

* fix: update parser npm
2023-10-05 09:13:56 +02:00
Ruben Fiszel ff3e8e6cf8 feat: eval v2, blazing fast eval triggered only upon the right changes (#2164)
* progress

* progress

* progress

* add suggestions to frontend scripts

* all eval

* remove onlyStatic

* handle better conversions

* handle better conversions

* remove variable picker

* fix pen positioning

* fix v1
2023-08-23 19:50:35 +02:00