New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gracey

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gracey - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

2

package.json
{
"name": "gracey",
"version": "1.0.0",
"version": "1.0.1",
"description": "Creates a CLI using a declarative approach (What you see is what you get)",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -17,2 +17,84 @@ # `GRACEY`

The concept of this package is 'what you write is what you get'.
The concept of this package is that 'what you write is what you get'. The sequence of your commands matters and you know how your users will interact with the CLI.
All commands that return *`this`* are chainable, which is a nice feeling.
Our examples will build the `@angular/cli` tool with the following commands:
``` typescript
ng generate component --flat folder/componentname
// or
ng g c -f folder/componentname
ng init --flat
```
### `class Program` or `class Alias`
The class to your program. Instanciate this once and start the chain of commands.
There is no constructor, so chain away!
``` typescript
const Program = new Gracey()
```
In this class, the abstraction is multiples and singles. You can change each into eachother. Action is the last thing that happens before the command node is reset.
1. `command()`
2. `option()`
3. `action()`
4. `commands()`
5. `options()`
6. `actions()`
7. `parse()`
8. `options?: {}`
#### Gracey().command(name: string)
``` typescript
// want a command?
const Program = new Gracey()
.command('generate', 'g')
// want a sub command?
const Program = new Gracey()
.command('generate', 'g')
.command('component', 'c')
```
#### Gracey().option()
``` typescript
// declaring 1 space in the process.argv per option
const Program = new Gracey()
.command('generate', 'g')
.command('component', 'c')
.option('-f', '--flat','Flattens the folder', { default: false })
// declaring 1 space in the process.argv per options (allows -fcd)
const Program = new Gracey()
.command('generate', 'g')
.command('component', 'c')
.options('flags', (option) => {
// create each option. It will be added into options array
option('-f', '--flat','Flattens the folder', { default: false })
option('-s', '--sass','Use SASS as default', { default: false })
})
```
#### Gracey().action()
``` typescript
const Program = new Gracey()
.command('generate', 'g')
.command('component', 'c')
.options('flags', (option) => {
option('-f', '--flat','Flattens the folder', { default: false })
option('-s', '--sass','Use SASS as default', { default: false })
})
// access all the things in Program
.actions((action, program) => {
// action handler for troubleshooting and you know what ya doing
action('run component', componentGenerator(program.options))
})
```
## TODO:
Have typescript intellisense all the stuff you've already put in and available in the program.options output, for example.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc