This is a skeleton project for building applications using Node.js, Express, and TypeScript. It comes pre-configured with essential tools and libraries, including TypeScript, ESLint, Prettier, Jest, and Docker, to help you get started quickly and maintain code quality.
- TypeScript for type safety
- Express for building web applications
- ESLint for linting and code quality
- Prettier for code formatting
- Jest for testing
- Docker for containerization
Before you begin, ensure you have the following installed:
- Node Version Manager (nvm) (to manage Node.js versions)
- Docker (latest version)
- Install nvm (if you haven't already):
Follow the instructions in the nvm repository to install nvm.
- Clone the repository:
git clone https://github.com/gvre/skeletos.git
- Navigate to the project directory:
cd skeletos
- Install Node.js using nvm:
nvm install
- Install the dependencies:
npm install
The TypeScript configuration is located in tsconfig.json
. It includes settings for compiling TypeScript using strict rules.
ESLint is configured in eslint.config.js
. It helps maintain code quality by enforcing coding standards. You can customize the rules as needed.
Prettier is configured in .prettierrc
. It ensures consistent code formatting across the project. You can adjust the settings to fit your preferences.
Jest is configured in jest.config.js
. It is set up for testing TypeScript files.
The project includes a Dockerfile
for containerization. This allows you to build and run your application in a Docker container.
The following scripts are available in package.json
:
npm run build
: Compiles the TypeScript files to do syntax checking.npm run start
: Starts the application in production mode.npm run dev
: Starts the application in development mode with hot reloading.npm run test
: Runs the Jest test suite.npm run lint
: Runs ESLint to checknpm run lint:circular
: Runs Madge to check for circular dependencies.npm run lint:all
: Runs ESLint and Madge.