@canseyran/create-ts-cli-app v1.0.6
๐ Create TypeScript CLI App
Create TypeScript CLI App is a simple and efficient tool to set up a Node.js TypeScript project with minimal hassle. It comes pre-configured with essential tools and libraries, allowing you to focus on writing your code rather than setting up your environment.
โจ Features
- ๐ Single File Output: Webpack bundles your project into a single JavaScript file with a shebang (
#!/usr/bin/env node). This allows for easy integration and sharing without needing to install npm packages. - ๐ท TypeScript: Ensures type safety and improves code quality.
- ๐ ESLint: Maintains code quality by identifying and fixing problems in your JavaScript code.
- ๐ Prettier: Ensures consistent code formatting.
- ๐งช Unit Testing: Set up with Vitest to ensure your code is tested and reliable.
- ๐ ๏ธ CLI Tools: Includes popular npm packages for creating CLI apps:
โ๏ธ Prerequisites
- Node.js: Version 20 or higher.
๐ Getting Started
To create a new project, run the following command:
npx @canseyran/create-ts-cli-app <project-directory>Replace `` with your desired project folder name.
๐ ๏ธ Example usage
npx @canseyran/create-ts-cli-app random-trivia-app
cd random-trivia-app
npm run build
npm link # Symlinks the script to global/node environment
random-trivia-app fetch # Use symlinked cli tool globally๐ Available Commands
Once your project is set up, you can use the following npm scripts:
Start: Run the main TypeScript file.
npm startBuild: Bundle your project into a single JavaScript file using Webpack.
npm run buildLink: Symlink the bundled executable into the global / node environment
npm linkDevelopment Mode: Watch for changes and recompile automatically.
npm run devRun Tests: Execute your unit tests with Vitest.
npm testWatch Tests: Run your tests in watch mode.
npm run test:watchFormat Code: Format your code with Prettier.
npm run format
๐ Project Structure
After setup, your project structure will look like this:
<project-directory>
โโโ README.md
โโโ eslint.config.mjs
โโโ package.json
โโโ src
โ โโโ main.test.ts
โ โโโ main.ts
โโโ tsconfig.json
โโโ vitest.config.ts
โโโ webpack.config.js๐ค Contributing
Contributions are welcome! Please open an issue or submit a pull request for any changes or improvements.
๐ License
This project is licensed under the MIT License.