badges
logo A library to help you create type-safe CLI's fast and simple.
import {cli, option} from 'typed-cli';
import app from './app';
const {options} = cli({
options: {
env: option.oneOf(['dev', 'prod'] as const)
.alias('e')
.required()
.description('app environment'),
port: option.int
.alias('p')
.default(80)
.description('port'),
}
});
// port: number
// env: 'dev' | 'prod'
const {port, env} = options;
const DB_HOSTS = {
dev: 'localhost:1234',
prod: '1.2.3.4:9999',
} as const;
// Type safe!
// no "No index signature with a parameter of type 'string'" kind of errors
// because typeof env is 'dev' | 'prod'
app.run({
db: DB_HOSTS[env],
port
});
This code will behave like this:
You can test it without installing anything on your machine. Just go to the Demo(⚠️ it's about 20Mb of traffic). It has interactive terminal and code editor, you can change the samples and see how it reacts.
[Link to docs](link to docs)
MIT?
Generated using TypeDoc