@canseyran/create-ts-cli-app
Version:
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 environ
114 lines (76 loc) โข 2.98 kB
Markdown
# ๐ 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:
- [Chalk](https://www.npmjs.com/package/chalk): For styling command-line output.
- [Commander](https://www.npmjs.com/package/commander): For parsing command-line arguments.
- [Inquirer](https://www.npmjs.com/package/inquirer): For creating interactive command-line prompts.
## โ๏ธ Prerequisites
- **Node.js**: Version 20 or higher.
## ๐ Getting Started
To create a new project, run the following command:
```sh
npx @canseyran/create-ts-cli-app <project-directory>
```
Replace \`<project-directory>\` with your desired project folder name.
### ๐ ๏ธ Example usage
```sh
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.
```sh
npm start
```
- **Build**: Bundle your project into a single JavaScript file using Webpack.
```sh
npm run build
```
- **Link**: Symlink the bundled executable into the global / node environment
```sh
npm link
```
- **Development Mode**: Watch for changes and recompile automatically.
```sh
npm run dev
```
- **Run Tests**: Execute your unit tests with Vitest.
```sh
npm test
```
- **Watch Tests**: Run your tests in watch mode.
```sh
npm run test:watch
```
- **Format Code**: Format your code with Prettier.
```sh
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.