npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

trans-var-cli

v0.1.1

Published

CLI application development template using unbuild as a build tool.

Downloads

143

Readme

CLI Unbuild Template

This is a CLI application project template with TypeScript as the main development language and unbuild as the packaging and building tool. It allows you to quickly set up a CLI application project without the need for watch and build. You do not need to use any other build tools to monitor the ts code construction.

English | 简体中文

Prerequisites

requires Node.js version 18+, 20+

Using Templates

Create Template Locally

When executing the creation command, you can specify the project name and template name through options.

# npm 7+, extra double-dash is needed:
npm create ts-frame@latest my-cli-app -- --template cli-unbuild

# yarn
yarn create ts-frame my-cli-app --template cli-unbuild

# pnpm
pnpm create ts-frame my-cli-app --template cli-unbuild

# Bun
bun create ts-frame my-cli-app --template cli-unbuild

Install dependencies.

cd my-cli-project
npm install

Development

By default, when you run npm run dev, unbuild will be used to stub the dist folder. You can learn about this mode at jiti. Even if you modify the code, there is no need to execute the dev command again or use other build tools' watch mode to recompile the ts code. When you need to modify the configuration of unbuild, you can do other configurations for it in the file named build.config.ts.

  • Development Mode
npm run dev
  • Build Production Environment Code
npm run build
  • Output Build Artifacts with Sourcemap to Out Folder
npm run build:out
  • Type Check.
npm run typecheck

Debugging Program Execution

As I use VSCode to develop CLI applications, a corresponding debug configuration file .vscode/launch.json is provided. When you need to debug this project, first add breakpoints and then press F5 key to start Debugger mode. The Debugger mode will automatically exit when your CLI application finishes executing.

[!TIP]

When running in Debugger mode, artifacts used for debugging are outputted under directory 'out'. After that, your application will automatically start running.

Global Link Package:

You can also create a global link for this package so that it's easier for you test or debug code using real environment:

npm link

Afterwards, you can execute command "hello-cli" at any path under all terminals of your operating system which corresponds with value of option "bin" in file "package.json" under this project.

When you no longer need this global link anymore, manually remove it by executing below command under project directory:

npm unlink -g

Solutions

In order to facilitate smooth development of scaffold applications , I have thoughtfully supplemented some solutions that may be needed during scaffold application development . These third-party libraries can help achieve more powerful , practical and beautiful scaffold applications . They have been practically applied and tested in this project template , so feel free  to use them :

  • commander.js - Complete node.js command line solution .

  • kolorist - A micro-library that adds color support on standard input/output .

  • prompts - Lightweight , beautiful and friendly interactive prompt tool .

  • ora - Provides friendly loading animation effects (requires installation as Dependencies)

  • citty - Elegant CLI builder.

Dependency Description

When your third-party library is installed as DevDependencies during development , these dependencies will be packaged into production environment codes after executing ' npm run build '. If program works abnormally after installing via such way and building completed afterwards , try installing them as production environment dependencies(Dependencies). They won't be packaged into production environment codes when installed as production environment dependencies.