/Node-TypeScript-Starter

A solid foundation for building modern Node.js applications with TypeScript, sink included.

Primary LanguageJavaScriptMIT LicenseMIT

Banner

A solid foundation for building modern Node.js applications with TypeScript, sink included.

GitHub Sponsors GitHub Discord Mastodon Follow

Features ✨

  • Pre-configured TypeScript setup
  • Package management with NPM
  • Build and Development scripts with watch mode
  • Linting with ESLint and Prettier
    • Essential ESLint plugins for improved code quality
  • Unit testing with Vitest
  • Automated dependency-free .env injection
  • Auto-build with prepare script
  • Dockerfile for production deployment
  • Docker Compose for local development
  • GitHub Actions for CI/CD

Getting Started 🌱

  • Clone or download this repository to start a new Node.js project
  • Run npm install to install all dependencies
  • Create a .env file in the root of your project if needed
  • Start the development server by running npm run start:dev
  • Build your awesome Node.js application with TypeScript!

Use The Template 🧩

Use this repository as the template for your next project or try it out now in a codespace!

Available Scripts 📜

  • npm run env:load: Loads environment variables from the .env file
  • npm run clean: Cleans the project by removing the dist directory
  • npm run build: Builds the TypeScript project, outputting ES modules
  • npm run start: Runs the compiled JavaScript application
  • npm run start:dev: Starts the development server with live-reloading
  • npm run format: Formats your code using Prettier
  • npm run lint: Runs ESLint to check for code quality issues
  • npm run lint:fix: Automatically fixes code quality issues using ESLint
  • npm run test: Runs unit tests with Vitest
  • npm run coverage: Generates a c8 code coverage report
  • npm run docker:build: Builds a Docker image for production deployment
  • npm run docker:run: Runs the Docker image in a container

Contributing 🤝

Feel free to contribute to this project by opening issues or submitting pull requests. We appreciate any feedback and improvements to make this starter even better!

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.


Happy coding! 🎉