Skip to content

Latest commit

Β 

History

History
113 lines (76 loc) Β· 2.92 KB

File metadata and controls

113 lines (76 loc) Β· 2.92 KB

πŸš€ 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: For styling command-line output.
    • Commander: For parsing command-line arguments.
    • 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:

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 start
  • Build: Bundle your project into a single JavaScript file using Webpack.

    npm run build
  • Link: Symlink the bundled executable into the global / node environment

    npm link
  • Development Mode: Watch for changes and recompile automatically.

    npm run dev
  • Run Tests: Execute your unit tests with Vitest.

    npm test
  • Watch Tests: Run your tests in watch mode.

    npm run test:watch
  • Format 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.