/vbz-maps

Primary LanguageJavaScript

NodeJS - TypeScript Starter Kit

code style: prettier

This NodeJS + TypeScript starter kit is a zero-config codebase that lets you start writing code immediately. Includes:

  • TypeScript or just regular ol' JavaScript
  • Jest for testing
  • Prettier for formatting
  • ESLint for linting
  • Basic config and build scripts

Creating a project

Create the project by using npx:

npx comes with npm 5.2+ and higher

npx @postlight/node-typescript-starter-kit my-awesome-project

cd my-awesome-project

Install dependencies using either yarn or npm

yarn install

#  or

npm install

And you can directly start coding!

startekit

Starter Kit Documentation

Development

For development, we'll assume you're using yarn, but if you're using npm instead, adjust the commands appropriately (namely, replace yarn with npm run).

For running an individual .ts file:

yarn ts-node <file.ts>

For development mode:

yarn nodemon

nodemon will automatically restart the application when file changes are detected. This is useful if the tool you're building executes code when run.

Linting

yarn lint

VSCode Users should add this to their workspace settings to integrate JS/TS Linting in general:

  "eslint.validate": [
    "javascript",
    "typescript",
  ]

Running tests

Run all tests:

yarn test

Run and watch all tests:

yarn test:watch

Building the App

yarn build

Building your app with CircleCI

Having already pushed your project to your favorite git-repository hosting service, you're one click away from integrating your app with CircleCI.

  • Login to CircleCI
  • On the left side menu, press Add Projects.
  • Pinpoint your project and press Set Up Project.
  • Choose Linux as the OS and Node as the language.
  • Press Start Building, and you're all set! 🎉

CircleCI ensures that every commit is checked for errors before merging. This basic setup runs yarn lint, yarn test, and yarn build.

What's Included?

Your environment will have everything you need to build a modern NodeJS - Typescript application

  • Typescript Support

  • Jest unit testing

  • ESLint and Prettier configs

  • CircleCI configs

  • Pre-commit hooks


    A micro project from your friends at Postlight Labs