"cmdy" is a node js cmd argument framework that looks like the docker cli tool.
- root and sub commands
- differend cmd callbacks
- state and value flags
- own flags
- global gflas
- premade or custom help function/generator
- cmd groups
- value flags with types
- default values
- aliases
- shorthand
npm i cmdy
import { Flag, parseCmd, CmdDefinition } from "../src/index"
const force: Flag = {
name: "force",
description: "The force flag",
}
const port: Flag = {
name: "port",
description: "The port flag",
shorthand: "p",
types: ["number"]
}
const verbose: Flag = {
name: "verbose",
description: "The verbose flag",
shorthand: "V",
}
const version: Flag = {
name: "version",
description: "The verbose flag",
alias: ["v", "ve", "ver", "vers", "versi", "versio"],
shorthand: "v",
}
const ps: CmdDefinition = {
name: "ps",
description: "The ps command",
flags: [
port
],
allowUnknownArgs: true,
exe: async (res) => console.log("ps: ", res.cmd.name + "\nres-data:\n", res.flags, res.valueFlags)
}
const start: CmdDefinition = {
name: "start",
description: "The start command",
flags: [
port
],
exe: async (res) => console.log("start: ", res.cmd.name + "\nres-data:\n", res.flags, res.valueFlags)
}
const stop: CmdDefinition = {
name: "stop",
description: "The stop command",
flags: [
force
],
exe: async (res) => console.log("stop: ", res.cmd.name + "\nres-data:\n", res.flags, res.valueFlags)
}
const root: CmdDefinition = {
name: "testcmd",
description: "The root testcmd command",
cmds: [
start,
stop,
ps,
],
flags: [
version
],
//exe: async () => console.log("asdasdd")
}
parseCmd({
cmd: root,
globalFlags: [
verbose
]
}).exe()
The npm scripts are made for linux but can also work on mac and windows.
You can run npm scripts in the project folder like this:
npm run <scriptname>
Here is an example:
npm run test
You can find all npm scripts in the package.json
file.
This is a list of the most important npm scripts:
- test // test the app
- build // build the app
- exec // run the app
- start // build and run the app
Like this example you can run all npm scripts in watch mode:
npm run start:watch
-
- fork the project
-
- implement your idea
-
- create a pull/merge request
// please create seperated forks for different kind of featues/ideas/structure changes/implementations
cya ;3
by majo418