|
|
|
#!/usr/bin/env node
|
|
|
|
|
|
|
|
// Packages
|
|
|
|
const chalk = require('chalk');
|
|
|
|
const table = require('text-table');
|
|
|
|
const minimist = require('minimist');
|
|
|
|
const ms = require('ms');
|
|
|
|
|
|
|
|
// Ours
|
|
|
|
const strlen = require('../lib/strlen');
|
|
|
|
const cfg = require('../lib/cfg');
|
|
|
|
const { handleError, error } = require('../lib/error');
|
|
|
|
const NowSecrets = require('../lib/secrets');
|
|
|
|
const login = require('../lib/login');
|
|
|
|
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', 'base64'],
|
|
|
|
alias: {
|
|
|
|
help: 'h',
|
|
|
|
config: 'c',
|
|
|
|
debug: 'd',
|
|
|
|
base64: 'b',
|
|
|
|
token: 't'
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
const subcommand = argv._[0];
|
|
|
|
|
|
|
|
// Options
|
|
|
|
const help = () => {
|
|
|
|
console.log(
|
|
|
|
`
|
|
|
|
${chalk.bold(`${logo} now secrets`)} <ls | add | rename | rm> <secret>
|
|
|
|
|
|
|
|
${chalk.dim('Options:')}
|
|
|
|
|
|
|
|
-h, --help Output usage information
|
|
|
|
-b, --base64 Treat value as base64-encoded
|
|
|
|
-c ${chalk.bold.underline('FILE')}, --config=${chalk.bold.underline('FILE')} Config file
|
|
|
|
-d, --debug Debug mode [off]
|
|
|
|
-t ${chalk.bold.underline('TOKEN')}, --token=${chalk.bold.underline('TOKEN')} Login token
|
|
|
|
|
|
|
|
${chalk.dim('Examples:')}
|
|
|
|
|
|
|
|
${chalk.gray('–')} Lists all your secrets:
|
|
|
|
|
|
|
|
${chalk.cyan('$ now secrets ls')}
|
|
|
|
|
|
|
|
${chalk.gray('–')} Adds a new secret:
|
|
|
|
|
|
|
|
${chalk.cyan('$ now secrets add my-secret "my value"')}
|
|
|
|
|
|
|
|
${chalk.gray('–')} Once added, a secret's value can't be retrieved in plaintext anymore
|
|
|
|
${chalk.gray('–')} If the secret's value is more than one word, wrap it in quotes
|
|
|
|
${chalk.gray('–')} Actually, when in doubt, wrap your value in quotes
|
|
|
|
|
|
|
|
${chalk.gray('–')} Exposes a secret as an env variable:
|
|
|
|
|
|
|
|
${chalk.cyan(`$ now -e MY_SECRET=${chalk.bold('@my-secret')}`)}
|
|
|
|
|
|
|
|
Notice the ${chalk.cyan.bold('`@`')} symbol which makes the value a secret reference.
|
|
|
|
|
|
|
|
${chalk.gray('–')} Renames a secret:
|
|
|
|
|
|
|
|
${chalk.cyan(`$ now secrets rename my-secret my-renamed-secret`)}
|
|
|
|
|
|
|
|
${chalk.gray('–')} Removes a secret:
|
|
|
|
|
|
|
|
${chalk.cyan(`$ now secrets rm my-secret`)}
|
|
|
|
`
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
// 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);
|
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
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
await run({token, config});
|
|
|
|
} catch (err) {
|
|
|
|
handleError(err);
|
|
|
|
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 secrets = new NowSecrets({apiUrl, token, debug, currentTeam });
|
|
|
|
const args = argv._.slice(1);
|
|
|
|
const start = Date.now();
|
|
|
|
|
|
|
|
if (subcommand === 'ls' || subcommand === 'list') {
|
|
|
|
if (args.length !== 0) {
|
|
|
|
error(
|
|
|
|
`Invalid number of arguments. Usage: ${chalk.cyan('`now secret ls`')}`
|
|
|
|
);
|
|
|
|
return exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
const list = await secrets.ls();
|
|
|
|
const elapsed = ms(new Date() - start);
|
|
|
|
|
|
|
|
console.log(
|
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
|
|
|
`> ${list.length} secret${list.length === 1 ? '' : 's'} found under ${
|
|
|
|
chalk.bold(
|
|
|
|
(currentTeam && currentTeam.slug) || user.username || user.email
|
|
|
|
)
|
|
|
|
} ${chalk.gray(`[${elapsed}]`)}`
|
|
|
|
);
|
|
|
|
|
|
|
|
if (list.length > 0) {
|
|
|
|
const cur = Date.now();
|
|
|
|
const header = [['', 'id', 'name', 'created'].map(s => chalk.dim(s))];
|
|
|
|
const out = table(
|
|
|
|
header.concat(
|
|
|
|
list.map(secret => {
|
|
|
|
return [
|
|
|
|
'',
|
|
|
|
secret.uid,
|
|
|
|
chalk.bold(secret.name),
|
|
|
|
chalk.gray(ms(cur - new Date(secret.created)) + ' ago')
|
|
|
|
];
|
|
|
|
})
|
|
|
|
),
|
|
|
|
{
|
|
|
|
align: ['l', 'r', 'l', 'l'],
|
|
|
|
hsep: ' '.repeat(2),
|
|
|
|
stringLength: strlen
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
if (out) {
|
|
|
|
console.log('\n' + out + '\n');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return secrets.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (subcommand === 'rm' || subcommand === 'remove') {
|
|
|
|
if (args.length !== 1) {
|
|
|
|
error(
|
|
|
|
`Invalid number of arguments. Usage: ${chalk.cyan('`now secret rm <id | name>`')}`
|
|
|
|
);
|
|
|
|
return exit(1);
|
|
|
|
}
|
|
|
|
const list = await secrets.ls();
|
|
|
|
const theSecret = list.filter(secret => {
|
|
|
|
return secret.uid === args[0] || secret.name === args[0];
|
|
|
|
})[0];
|
|
|
|
|
|
|
|
if (theSecret) {
|
|
|
|
const yes = await readConfirmation(theSecret);
|
|
|
|
if (!yes) {
|
|
|
|
error('User abort');
|
|
|
|
return exit(0);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
error(`No secret found by id or name "${args[0]}"`);
|
|
|
|
return exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
const secret = await secrets.rm(args[0]);
|
|
|
|
const elapsed = ms(new Date() - start);
|
|
|
|
console.log(
|
|
|
|
`${chalk.cyan('> Success!')} Secret ${chalk.bold(secret.name)} ${chalk.gray(`(${secret.uid})`)} removed ${chalk.gray(`[${elapsed}]`)}`
|
|
|
|
);
|
|
|
|
return secrets.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (subcommand === 'rename') {
|
|
|
|
if (args.length !== 2) {
|
|
|
|
error(
|
|
|
|
`Invalid number of arguments. Usage: ${chalk.cyan('`now secret rename <old-name> <new-name>`')}`
|
|
|
|
);
|
|
|
|
return exit(1);
|
|
|
|
}
|
|
|
|
const secret = await secrets.rename(args[0], args[1]);
|
|
|
|
const elapsed = ms(new Date() - start);
|
|
|
|
console.log(
|
|
|
|
`${chalk.cyan('> Success!')} Secret ${chalk.bold(secret.oldName)} ${chalk.gray(`(${secret.uid})`)} renamed to ${chalk.bold(args[1])} ${chalk.gray(`[${elapsed}]`)}`
|
|
|
|
);
|
|
|
|
return secrets.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (subcommand === 'add' || subcommand === 'set') {
|
|
|
|
if (args.length !== 2) {
|
|
|
|
error(
|
|
|
|
`Invalid number of arguments. Usage: ${chalk.cyan('`now secret add <name> <value>`')}`
|
|
|
|
);
|
|
|
|
|
|
|
|
if (args.length > 2) {
|
|
|
|
const example = chalk.cyan(`$ now secret add ${args[0]}`);
|
|
|
|
console.log(
|
|
|
|
`> If your secret has spaces, make sure to wrap it in quotes. Example: \n ${example} `
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
return exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
const [name, value_] = args;
|
|
|
|
let value;
|
|
|
|
|
|
|
|
if (argv.base64) {
|
|
|
|
value = { base64: value_ };
|
|
|
|
} else {
|
|
|
|
value = value_;
|
|
|
|
}
|
|
|
|
|
|
|
|
const secret = await secrets.add(name, value);
|
|
|
|
const elapsed = ms(new Date() - start);
|
|
|
|
|
|
|
|
console.log(
|
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
|
|
|
`${chalk.cyan('> Success!')} Secret ${chalk.bold(name.toLowerCase())} ${chalk.gray(`(${secret.uid})`)} added (${
|
|
|
|
chalk.bold(
|
|
|
|
(currentTeam && currentTeam.slug) || user.username || user.email
|
|
|
|
)
|
|
|
|
}) ${chalk.gray(`[${elapsed}]`)}`
|
|
|
|
);
|
|
|
|
return secrets.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
error('Please specify a valid subcommand: ls | add | rename | rm');
|
|
|
|
help();
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
process.on('uncaughtException', err => {
|
|
|
|
handleError(err);
|
|
|
|
exit(1);
|
|
|
|
});
|
|
|
|
|
|
|
|
function readConfirmation(secret) {
|
|
|
|
return new Promise(resolve => {
|
|
|
|
const time = chalk.gray(ms(new Date() - new Date(secret.created)) + ' ago');
|
|
|
|
const tbl = table([[secret.uid, chalk.bold(secret.name), time]], {
|
|
|
|
align: ['l', 'r', 'l'],
|
|
|
|
hsep: ' '.repeat(6)
|
|
|
|
});
|
|
|
|
|
|
|
|
process.stdout.write(
|
|
|
|
'> The following secret will be removed permanently\n'
|
|
|
|
);
|
|
|
|
process.stdout.write(' ' + tbl + '\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().toLowerCase() === 'y');
|
|
|
|
})
|
|
|
|
.resume();
|
|
|
|
});
|
|
|
|
}
|