This foundational base serves as a single source of truth to kickstart any TypeScript project, whether it's a template, a full-scale application, or a microservice. Consider it a "Lego block" in your development process, providing a standardized, efficient, and versatile starting point for various TypeScript-based projects.
- Standardized Project Structure: Organized directories for source code, tests, and configuration.
- TypeScript Support: Fully configured TypeScript environment with source maps for easier debugging.
- Code Quality Tools: Integrated ESLint and Prettier for consistent code formatting and quality.
- Testing Framework: Jest setup for unit testing, including support for TypeScript.
- Debugging: Configurations for debugging the application and tests in VS Code.
- Environment Variables: dotenv setup for managing environment configuration.
- TypeScript Declaration Files: Automatic generation of TypeScript declaration files.
-
src/
: The source code of the application. -
tests/
: Unit tests for the application. -
dist/
: Compiled JavaScript files and source maps. -
.vscode/
: VS Code configurations for debugging. -
node_modules/
: npm packages (not tracked in version control). -
tsconfig.json
: TypeScript compiler options. -
package.json
: Project metadata and scripts. -
.eslintrc.js
: ESLint rules for code quality. -
.prettierrc
: Prettier configuration for code formatting. -
.env
: Environment variables (not tracked in version control).
Clone the repository and install dependencies:
npm install
Compile TypeScript to JavaScript:
npm run build
Run the compiled JavaScript application:
npm start
Run unit tests with Jest:
npm test
-
Application Debugging: Debug the application using:
npm run debug
-
Test Debugging: Debug tests with breakpoints:
npm run debug:test
-
Linting: Lint your code for potential errors:
npm run lint
-
Formatting: Automatically format your code using Prettier:
npm run format
Generate a test coverage report with Jest:
npm test -- --coverage
Contributions are welcome. Please read CONTRIBUTING.md for details on our code of conduct and the submission process.
This project is licensed under the [LICENSE NAME] - see the LICENSE.md file for details.