mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +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
65 lines
2.2 KiB
Plaintext
65 lines
2.2 KiB
Plaintext
ARG RUST_IMAGE=rust:1.80-slim-bookworm
|
|
ARG PYTHON_IMAGE=python:3.11.4-slim-bookworm
|
|
|
|
|
|
FROM ${RUST_IMAGE} as builder
|
|
|
|
RUN apt-get update && apt-get install -y git libssl-dev pkg-config
|
|
|
|
RUN apt-get -y update \
|
|
&& apt-get install -y \
|
|
curl
|
|
|
|
ENV SQLX_OFFLINE=true
|
|
|
|
|
|
RUN mkdir -p /frontend/build
|
|
RUN apt-get update \
|
|
&& apt-get install -y ca-certificates tzdata libpq5 cmake unzip\
|
|
make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
|
libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libxml2-dev \
|
|
libxmlsec1-dev libffi-dev liblzma-dev mecab-ipadic-utf8 libgdbm-dev libc6-dev git libprotobuf-dev libnl-route-3-dev \
|
|
libv8-dev nodejs npm clang libclang-dev\
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
RUN wget https://golang.org/dl/go1.21.5.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
|
|
ENV PATH="${PATH}:/usr/local/go/bin"
|
|
ENV GO_PATH=/usr/local/go/bin/go
|
|
|
|
# UV
|
|
RUN curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.4.18/uv-installer.sh | sh && mv /usr/local/cargo/bin/uv /usr/local/bin/uv
|
|
|
|
ENV TZ=Etc/UTC
|
|
|
|
ENV PYTHON_VERSION 3.11.4
|
|
|
|
# Python
|
|
RUN wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
|
|
&& tar -xf Python-${PYTHON_VERSION}.tgz && cd Python-${PYTHON_VERSION}/ && ./configure --enable-optimizations \
|
|
&& make -j 4 && make install
|
|
|
|
RUN /usr/local/bin/python3 -m pip install pip-tools
|
|
|
|
# Bun
|
|
COPY --from=oven/bun:1.2.4 /usr/local/bin/bun /usr/bin/bun
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
# Deno
|
|
RUN curl -Lsf https://github.com/denoland/deno/releases/download/v2.0.2/deno-x86_64-unknown-linux-gnu.zip -o deno.zip
|
|
# RUN [ "$TARGETPLATFORM" == "linux/arm64" ] && curl -Lsf https://github.com/denoland/deno/releases/download/v2.0.0/deno-aarch64-unknown-linux-gnu.zip -o deno.zip || true
|
|
RUN unzip deno.zip && rm deno.zip && mv deno /usr/bin/deno
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y postgresql-client --allow-unauthenticated
|
|
|
|
RUN rustup component add rustfmt
|
|
|
|
# C#
|
|
COPY --from=bitnami/dotnet-sdk:9.0.101-debian-12-r0 /opt/bitnami/dotnet-sdk /opt/dotnet-sdk
|
|
RUN ln -s /opt/dotnet-sdk/bin/dotnet /usr/bin/dotnet
|
|
|
|
# Nushell
|
|
COPY --from=ghcr.io/nushell/nushell:0.101.0-bookworm /usr/bin/nu /usr/bin/nu
|