#!/usr/bin/env node
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
// Native
const { resolve } = require ( 'path' ) ;
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
// Packages
const chalk = require ( 'chalk' ) ;
const minimist = require ( 'minimist' ) ;
const table = require ( 'text-table' ) ;
const ms = require ( 'ms' ) ;
// Ours
const login = require ( '../lib/login' ) ;
const cfg = require ( '../lib/cfg' ) ;
const { error } = require ( '../lib/error' ) ;
const toHost = require ( '../lib/to-host' ) ;
const strlen = require ( '../lib/strlen' ) ;
const NowDomains = require ( '../lib/domains' ) ;
const exit = require ( '../lib/utils/exit' ) ;
const logo = require ( '../lib/utils/output/logo' ) ;
const argv = minimist ( process . argv . slice ( 2 ) , {
string : [ 'config' , 'token' ] ,
boolean : [ 'help' , 'debug' , 'external' , 'force' ] ,
alias : {
help : 'h' ,
config : 'c' ,
debug : 'd' ,
external : 'e' ,
force : 'f' ,
token : 't'
}
} ) ;
const subcommand = argv . _ [ 0 ] ;
// Options
const help = ( ) => {
console . log (
`
$ { chalk . bold ( ` ${ logo } now domains ` ) } < ls | add | rm | buy > < domain >
$ { chalk . dim ( 'Options:' ) }
- h , -- help Output usage information
- c $ { chalk . bold . underline ( 'FILE' ) } , -- config = $ { chalk . bold . underline ( 'FILE' ) } Config file
- d , -- debug Debug mode [ off ]
- e , -- external Use external DNS server
- f , -- force Skip DNS verification
- t $ { chalk . bold . underline ( 'TOKEN' ) } , -- token = $ { chalk . bold . underline ( 'TOKEN' ) } Login token
$ { chalk . dim ( 'Examples:' ) }
$ { chalk . gray ( '–' ) } Lists all your domains :
$ { chalk . cyan ( '$ now domains ls' ) }
$ { chalk . gray ( '–' ) } Buy a new domain :
$ { chalk . cyan ( ` $ now domains buy ${ chalk . underline ( 'domain-name.com' ) } ` ) }
$ { chalk . gray ( '–' ) } Adds a domain name :
$ { chalk . cyan ( ` $ now domains add ${ chalk . underline ( 'domain-name.com' ) } ` ) }
Make sure the domain ' s DNS nameservers are at least 2 of these :
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'california.zeit.world' ) } $ { chalk . dim ( '173.255.215.107' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'london.zeit.world' ) } $ { chalk . dim ( '178.62.47.76' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'newark.zeit.world' ) } $ { chalk . dim ( '173.255.231.87' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'amsterdam.zeit.world' ) } $ { chalk . dim ( '188.226.197.55' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'dallas.zeit.world' ) } $ { chalk . dim ( '173.192.101.194' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'paris.zeit.world' ) } $ { chalk . dim ( '37.123.115.172' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'singapore.zeit.world' ) } $ { chalk . dim ( '119.81.97.170' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'sydney.zeit.world' ) } $ { chalk . dim ( '52.64.171.200' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'frankfurt.zeit.world' ) } $ { chalk . dim ( '91.109.245.139' ) }
$ { chalk . gray ( '–' ) } $ { chalk . underline ( 'iowa.zeit.world' ) } $ { chalk . dim ( '23.236.59.22' ) }
$ { chalk . yellow ( 'NOTE:' ) } running $ { chalk . dim ( '`now alias`' ) } will automatically register your domain
if it 's configured with these nameservers (no need to ${chalk.dim(' ` domain add ` ' ) } ) .
For more details head to $ { chalk . underline ( 'https://zeit.world' ) } .
$ { chalk . gray ( '–' ) } Removing a domain :
$ { chalk . cyan ( '$ now domain rm my-app.com' ) }
or
$ { chalk . cyan ( '$ now domain rm domainId' ) }
To get the list of domain ids , use $ { chalk . dim ( '`now domains ls`' ) } .
$ { chalk . gray ( '–' ) } Adding and verifying a domain name using zeit . world nameservers :
$ { chalk . cyan ( '$ now domain add my-app.com' ) }
The command will tell you if the domain was verified succesfully . In case the domain was not verified succesfully you should retry adding the domain after some time .
$ { chalk . gray ( '–' ) } Adding and verifying a domain name using an external nameserver :
$ { chalk . cyan ( '$ now domain add -e my-app.com' ) }
and follow the verification instructions if requested . Finally , rerun the same command after completing the verification step .
`
) ;
} ;
// Options
const debug = argv . debug ;
const apiUrl = argv . url || 'https://api.zeit.co' ;
if ( argv . config ) {
cfg . setConfigFile ( argv . config ) ;
}
if ( argv . help || ! subcommand ) {
help ( ) ;
exit ( 0 ) ;
} else {
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
Promise . resolve ( ) . then ( async ( ) => {
const config = await cfg . read ( ) ;
let token ;
try {
token = argv . token || config . token || ( await login ( apiUrl ) ) ;
} catch ( err ) {
error ( ` Authentication error – ${ err . message } ` ) ;
exit ( 1 ) ;
}
try {
await run ( { token , config } ) ;
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
} catch ( err ) {
if ( err . userError ) {
error ( err . message ) ;
} else {
error ( ` Unknown error: ${ err } \n ${ err . stack } ` ) ;
}
exit ( 1 ) ;
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
}
} ) ;
}
async function run ( { token , config : { currentTeam , user } } ) {
const domain = new NowDomains ( { apiUrl , token , debug , currentTeam } ) ;
const args = argv . _ . slice ( 1 ) ;
switch ( subcommand ) {
case 'ls' :
case 'list' : {
if ( args . length !== 0 ) {
error ( 'Invalid number of arguments' ) ;
return exit ( 1 ) ;
}
const start_ = new Date ( ) ;
const domains = await domain . ls ( ) ;
domains . sort ( ( a , b ) => new Date ( b . created ) - new Date ( a . created ) ) ;
const current = new Date ( ) ;
const header = [
[ '' , 'id' , 'dns' , 'domain' , 'verified' , 'created' ] . map ( s =>
chalk . dim ( s )
)
] ;
const out = domains . length === 0
? null
: table (
header . concat (
domains . map ( domain => {
const ns = domain . isExternal ? 'external' : 'zeit.world' ;
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
const url = chalk . bold ( domain . name ) ;
const time = chalk . gray (
ms ( current - new Date ( domain . created ) ) + ' ago'
) ;
return [ '' , domain . uid , ns , url , domain . verified , time ] ;
} )
) ,
{
align : [ 'l' , 'r' , 'l' , 'l' , 'l' , 'l' ] ,
hsep : ' ' . repeat ( 2 ) ,
stringLength : strlen
}
) ;
const elapsed_ = ms ( new Date ( ) - start_ ) ;
console . log (
` > ${ domains . length } domain ${ domains . length === 1 ? '' : 's' } found under ${ chalk . bold ( ( currentTeam && currentTeam . slug ) || user . username || user . email ) } ${ chalk . gray ( ` [ ${ elapsed_ } ] ` ) } `
) ;
if ( out ) {
console . log ( '\n' + out + '\n' ) ;
}
break ;
}
case 'rm' :
case 'remove' : {
if ( args . length !== 1 ) {
error ( 'Invalid number of arguments' ) ;
return exit ( 1 ) ;
}
const _ target = String ( args [ 0 ] ) ;
if ( ! _ target ) {
const err = new Error ( 'No domain specified' ) ;
err . userError = true ;
throw err ;
}
const _ domains = await domain . ls ( ) ;
const _ domain = findDomain ( _ target , _ domains ) ;
if ( ! _ domain ) {
const err = new Error (
` Domain not found by " ${ _ target } ". Run ${ chalk . dim ( '`now domains ls`' ) } to see your domains. `
) ;
err . userError = true ;
throw err ;
}
try {
const confirmation = ( await readConfirmation (
domain ,
_ domain ,
_ domains
) ) . toLowerCase ( ) ;
if ( confirmation !== 'y' && confirmation !== 'yes' ) {
console . log ( '\n> Aborted' ) ;
process . exit ( 0 ) ;
}
const start = new Date ( ) ;
await domain . rm ( _ domain . name ) ;
const elapsed = ms ( new Date ( ) - start ) ;
console . log (
` ${ chalk . cyan ( '> Success!' ) } Domain ${ chalk . bold ( _ domain . uid ) } removed [ ${ elapsed } ] `
) ;
} catch ( err ) {
error ( err ) ;
exit ( 1 ) ;
}
break ;
}
case 'add' :
case 'set' : {
if ( args . length !== 1 ) {
error ( 'Invalid number of arguments' ) ;
return exit ( 1 ) ;
}
const start = new Date ( ) ;
const name = String ( args [ 0 ] ) ;
const { uid , code , created , verified } = await domain . add (
name ,
argv . force ,
argv . external
) ;
const elapsed = ms ( new Date ( ) - start ) ;
if ( created ) {
console . log (
` ${ chalk . cyan ( '> Success!' ) } Domain ${ chalk . bold ( chalk . underline ( name ) ) } ${ chalk . dim ( ` ( ${ uid } ) ` ) } added [ ${ elapsed } ] `
) ;
} else if ( verified ) {
console . log (
` ${ chalk . cyan ( '> Success!' ) } Domain ${ chalk . bold ( chalk . underline ( name ) ) } ${ chalk . dim ( ` ( ${ uid } ) ` ) } verified [ ${ elapsed } ] `
) ;
} else if ( code === 'not_modified' ) {
console . log (
` ${ chalk . cyan ( '> Success!' ) } Domain ${ chalk . bold ( chalk . underline ( name ) ) } ${ chalk . dim ( ` ( ${ uid } ) ` ) } already exists [ ${ elapsed } ] `
) ;
} else {
console . log (
'> Verification required: Please rerun this command after some time'
) ;
}
break ;
}
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
case 'buy' : {
await require ( resolve ( __ dirname , 'domains' , 'buy.js' ) ) ( {
domains : domain ,
args ,
currentTeam ,
user
} ) ;
Add `logs`, `teams`, `switch`, `scale`, new `ls` and much more (#468)
* Feature/teams (#25)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* Feature/domains (#26)
* Add the skeleton of `now teams`
* Add support for "complex" command aliases
This adds the ability to set, for example, `now switch` as an alias for `now teams switch`.
Subsequent commands and arguments are taken into account: `now switch zeit --debug` will be parsed to `now teams switch zeit --debug`.
* `now switch` => `now teams switch`
* Extract `rightPad`
* Extract `eraseLines`
* Extract `✓`
* Text input: add `valid` option
* Text input: add `forceLowerCase` option
* Add preliminary `now teams add`
* Make the linter happy
* Extract `> NOTE: ...`
* Add missing labels
* Fix typos
* Add missing parameters
* Change the section label after inviting all specified team mates
* Call the API after each email submission
* Show the elapsed time after each `inviteUser` api call
* Handle user aborts
* We don't need `args` for `now teams add`
* Add missing `await`
* Extract regex
* `process.exit()` => `exit(1)`
* `prompt-bool` is an `input` util, not an `output` one
* Add the ability to delete a key from the config file
* Add `fatal-error`
* Add `now teams invite`
* This shouldn't be black
* Save the username in `~/.now.json` upon login
* Save the token and userId instead of token and email
* Fix typo
* Save more info about the user to `~/.now.json` upon login
* `~/.now.json`: Persist the current time when login in
* Add `user` helper
* `user.userId` => `user.id`
* Tweak code organization
* Add caching system to `.now.json`
* Automatically switch to a team after its creation
* Introduce the concept of `inactive` teams
* Use bold for `payment method`
* Remove duplicated code
* Add line breaks
* Auto complete with the first match
* Remove placeholder stuff
* Add the user's email to the list of suggestions
* FIx bad merge
* Add `now switch`
* Make `now teams invite` more reliable and faster
* Shut up XO
* Improve autocompletion
* Fix TypeError
* Make stuff pretty
* Not sure how this got overwritten
* `prompt-bool` is an `input` util, not an `output` one
* Make stuff pretty
* Not sure how this got overwritten
* Add domains.status, price and buy
* Add `now domains buy`
* Add the ability to buy a domain when running `now alias`
* Logs (#27)
* Added `logs` sub command
* add missing dependencies
* use utils/output/logo
* logs: fix wrong reference
* logs: fix buffer time
* sort build logs (#19)
* logs: use lib/logs
* lib/logs: fix
* logs: resolve url to id
* logs: default to follow
* logs: don't resolve URL to id
* logs: revert to default unfollow
* logs: add since option and until option
* logs: fix default number of logs
* fix logs auth
* logs: listen ready event
* logs: new endpoint
* log: remove v query param
* logs: default to not include access logs
* fix styles of now-logs
* logs: remove relative time
* Fix bad merge conflict
* Add `now scale` (#28)
* Inital drafts fro `now-scale`
* More final draft
* sketch new `now ls` format
* Add sketch for `now ls --all`
* Placeholder for `now scale ls`
* "Prettify" and improve scale command
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Adopt to now-list api changes
* Improve now-list --all colors
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Add now scale ls
Signed-off-by: Jarmo Isotalo <jamo@isotalo.fi>
* Prettify
* Show auto correctly
* Add partial match scale for now alias
* Make alias to match scale before uptading alias and presumably a bunch of unrelated style changes
* Replace spinners with help text
* Make the list :nice:
* Make now-list great again
* Final touches
* Allow --all only when app is defined
* Add progress tracking to scale
* Correctly use --all for > 0 deployments found [1s] and improve scale info ux
* Show --all info if we are hiding stuff
* Fixes
* Refactor scale info and unfreeze
* Fixes
* Proper progress bar
* Fix bad merge
* Fix auth for now-scale
* logs: fix reading config
* Fix reference
* Small ux tweaks
* Improve now alias ux
* Fix a ton of lint errors
* Fix scaling up and alias ux
* Fix lint errors + prettify
* Make `bin/now-scale.js` available via `now scale`
* Fix errornous syntax for domains list
* And use correct header for domains list
* Update now-scale help to match new spec
* `await` for `cfg.read()` on `cfg.remove()`
* Update scale command
* Cleanu
p
* Fetch the teams from the api on teams.ls()
Plus prettier shit
* Run prettier hooks manually
* Make `now switch` perfect
* Rm unused variables
* Lint
* Ruin ux but lint
* Consume `POST /teams`
* Consume `PATCH /teams/:id`
* Fix/teams support (#29)
* Add teams support for lib/index.js
* Consume `POST /teams/:id/members`
* Make `now teams create` and `now teams invite` perfect
* Add a way to not send `?teamId` if necessary
* Add `?teamId=${currentTeam.id}` support to all comamnds and subcommands
* Display the username only if it's available
* Consume the preoduction endpoits for domain purchase
* Fix typo
* Fix grammar
* Fix grammar
* Remove useless require
* Display the user name/team slug on creation/list commands
* Remove use of old, now undefined variable
* Show domains in bold on `now domains ls`
* `user.userId` => `user.uid`
* Remove console.log
* Show a better messsage upon unexpected `domains.buy()` error
* typo
* Consume new `/plan` API and fix plan check
* Update `now upgrade` – consume new APIs and expose new plans
* Fix `now ugprade` info message
* `now cc`: consume new APIs and fix error messages
* Add team/user context to `now alias` when buying a domain
* Fix wording on `now domains buy`
* Add stamp to domain purchase
* Improve scale ux
* Remove ToS prompt upon login
* Fix `prompt-bool` trailing issues
* Remove useless `require`
* Allow `now switch <username>`
* Make `now help` better
* This shouldn't be here
* Make `now switch` incredible
* Remove old stuff from ~/.now.json
* Add comments
* `now team` => `now teams`
* 5.0.0
* Fix linter
* Fix DNS
* Parse subdomain
* FIx lint
* drop IDs for certs
* Make now ls look nice also when noTTY
* Make now list look nice when colors are not supported
* Mane certs ls look nice when we have no colers
* Now ls --all can also take uniq url as a parameter
* Improve now ls --all
* Now ls -all takes alias as an argument
8 years ago
break ;
}
default :
error ( 'Please specify a valid subcommand: ls | add | rm' ) ;
help ( ) ;
exit ( 1 ) ;
}
domain . close ( ) ;
}
async function readConfirmation ( domain , _ domain ) {
return new Promise ( resolve => {
const time = chalk . gray (
ms ( new Date ( ) - new Date ( _ domain . created ) ) + ' ago'
) ;
const tbl = table (
[ [ _ domain . uid , chalk . underline ( ` https:// ${ _ domain . name } ` ) , time ] ] ,
{ align : [ 'l' , 'r' , 'l' ] , hsep : ' ' . repeat ( 6 ) }
) ;
process . stdout . write (
'> The following domain will be removed permanently\n'
) ;
process . stdout . write ( ' ' + tbl + '\n' ) ;
if ( _ domain . aliases . length > 0 ) {
process . stdout . write (
` > ${ chalk . yellow ( 'Warning!' ) } This domain's ` +
` ${ chalk . bold ( _ domain . aliases . length + ' alias' + ( _ domain . aliases . length === 1 ? '' : 'es' ) ) } ` +
` will be removed. Run ${ chalk . dim ( '`now alias ls`' ) } to list. \n `
) ;
}
process . stdout . write (
` ${ chalk . bold . red ( '> Are you sure?' ) } ${ chalk . gray ( '[y/N] ' ) } `
) ;
process . stdin
. on ( 'data' , d => {
process . stdin . pause ( ) ;
resolve ( d . toString ( ) . trim ( ) ) ;
} )
. resume ( ) ;
} ) ;
}
function findDomain ( val , list ) {
return list . find ( d => {
if ( d . uid === val ) {
if ( debug ) {
console . log ( ` > [debug] matched domain ${ d . uid } by uid ` ) ;
}
return true ;
}
// Match prefix
if ( d . name === toHost ( val ) ) {
if ( debug ) {
console . log ( ` > [debug] matched domain ${ d . uid } by name ${ d . name } ` ) ;
}
return true ;
}
return false ;
} ) ;
}