diff --git a/.github/workflow/main.yml b/.github/workflow/main.yml new file mode 100644 index 0000000..c59e42c --- /dev/null +++ b/.github/workflow/main.yml @@ -0,0 +1,19 @@ +on: + push: + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: denoland/setup-deno@v1 + with: + deno-version: 1.x + - uses: oven-sh/setup-bun@v1 + with: + bun-version: 1.x + - uses: actions/setup-node@v4 + with: + node-version: 22.x + - run: deno task ci \ No newline at end of file diff --git a/.gitignore b/.gitignore index c6bba59..3f9c9d3 100644 --- a/.gitignore +++ b/.gitignore @@ -128,3 +128,21 @@ dist .yarn/build-state.yml .yarn/install-state.gz .pnp.* + +# Deno +coverage + +# NPM packages +.npmrc +*.mjs +node_modules +package.json +package-lock.json +pnpm-lock.yaml +bun.lockb + +# Vercel +.vercel + +# Docs +docs \ No newline at end of file diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile new file mode 100644 index 0000000..7805ffb --- /dev/null +++ b/.gitpod.Dockerfile @@ -0,0 +1,17 @@ +FROM gitpod/workspace-full:latest + +# Install custom tools, runtime, etc. using apt-get +# For example, the command below would install "bastet" - a command line tetris clone: +# +# RUN sudo apt-get -q update && # sudo apt-get install -yq bastet && # sudo rm -rf /var/lib/apt/lists/* +# +# More information: https://www.gitpod.io/docs/config-docker/ + +RUN curl -fsSL https://deno.land/x/install/install.sh | sh +RUN /home/gitpod/.deno/bin/deno completions bash > /home/gitpod/.bashrc.d/90-deno && \ + echo 'export DENO_INSTALL="/home/gitpod/.deno"' >> /home/gitpod/.bashrc.d/90-deno && \ + echo 'export PATH="$DENO_INSTALL/bin:$PATH"' >> /home/gitpod/.bashrc.d/90-deno + +RUN curl -fsSL https://bun.sh/install | bash +RUN echo 'export BUN_INSTALL="/home/gitpod/.bun"' >> /home/gitpod/.bashrc.d/600-bun | bash && \ + echo 'export PATH="$BUN_INSTALL/bin:$PATH"' >> /home/gitpod/.bashrc.d/600-bun | bash \ No newline at end of file diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000..4dd5f45 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,25 @@ +image: + file: .gitpod.Dockerfile + +# List the ports you want to expose and what to do when they are served. See https://www.gitpod.io/docs/43_config_ports/ +ports: + - port: 4321 + onOpen: notify + - port: 3000 + onOpen: notify + +# List the start up tasks. You can start them in parallel in multiple terminals. See https://www.gitpod.io/docs/44_config_start_tasks/ +tasks: + - init: > + nvm install && + npm install -g pnpm && + pnpm install + command: > + nvm install && + npm install -g pnpm && + pnpm install + +vscode: + extensions: + - esbenp.prettier-vscode + - denoland.vscode-deno \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..8fdd954 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 \ No newline at end of file