/buildkit-js

Frequently used tools for building JavaScript/TypeScript projects

Primary LanguageShellApache License 2.0Apache-2.0

Build status Download

JavaScript buildkit - frequently used compile tools for standardization across our projects.

See Turbo Bob for more details.

Tool versions are selected to closely match AWS Lambda to try to guarantee dev/prod parity.

Version pinning

NPM doesn't support our use case of installing global dependencies from package.json, so we to specify the node_modules to install in our Dockerfile instead. It'd be painful without package.json to update the packages so we have to compromise and get the latest packages (= not pin versions).

Effectively the versions will be pinned though by the virtue of our Docker image immutability.

Why do we want to do this: if we have multiple projects wanting to use the same kind of infrastructure that this base image delivers, it'd be painful to manage all the base stuff separately in each project (like NPM tries to force us into).

Contains

  • Node.js (with NPM and Yarn)
  • aws-sdk if developing for Lambda (because Lambda has it integrated as well)
  • TypeScript compiler & some @types
  • Prettier to standardize code formatting
  • tslint for static analysis
  • Build script to standardize build process across projects
  • Standardized TypeScript/tslint/Prettier configuration for ensuring highest possible quality code