Skip to content

🌿 Minimal example of Bazel rules for TypeScript

Notifications You must be signed in to change notification settings

flolu/aspect-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌿 aspect-typescript

Minimal example of Bazel rules for TypeScript

Features

  • Import internal dependencies with @org/
  • Intellisense for VSCode
  • Fast compilation with SWC
  • Run tests with Jest
  • Build Docker image from app
  • Deploy app to Kubernetes cluster
  • Run tests in GitHub Action

Usage

Requirements

  • Linux
  • Node.js
  • pnpm (npm install -g pnpm)
  • Bazelisk (npm install -g @bazel/bazelisk)
  • Buildifier (npm install -g @bazel/buildifier)

Setup

  • pnpm i (Install Node dependencies)

Commands

  • bazel build //... (Build everything)
  • bazel test //... (Test everything)
  • bazel run //app:bin (Run app)
  • bazel run //app:image (Build docker image)
  • docker run --rm -it -p 3000:3000 bazel/app:image (Run docker image)
  • bazel run //:kubernetes.apply (Deploy app to Kubernetes cluster)