Browse Source

Automatically migrate the old configuration file (#794)

* Automatically migrate the old configuration file

* Fixed git.io links

* credentials.json => auth.json

* Let the user know

* Removed trailing dot
master
Leo Lamprecht 7 years ago
committed by GitHub
parent
commit
c1b6b819ae
  1. 2
      readme.md
  2. 33
      src/get-default-auth-cfg.js
  3. 30
      src/get-default-cfg.js
  4. 1
      src/get-now-dir.js
  5. 5
      src/get-welcome.js
  6. 22
      src/now.js

2
readme.md

@ -162,7 +162,7 @@ directory upon first running.
There, two files can be found:
- `config.json`
- `credentials.json`
- `auth.json`
## Implementation notes

33
src/get-default-auth-cfg.js

@ -1,7 +1,28 @@
const getDefaultAuthCfg = () => ({
_:
'This is your Now credentials file. DON\'T SHARE! More: https://git.io/v7dds',
credentials: []
})
// Native
const { join } = require('path')
const { homedir } = require('os')
module.exports = getDefaultAuthCfg
// Packages
const { readJSON } = require('fs-extra')
module.exports = async () => {
let migrated = false
const config = {
_: 'This is your Now credentials file. DON\'T SHARE! More: https://git.io/v5ECz',
credentials: []
}
try {
const {token} = await readJSON(join(homedir(), '.now.json'))
config.credentials.push({
provider: 'sh',
token
})
migrated = true
} catch (err) {}
return {config, migrated}
}

30
src/get-default-cfg.js

@ -1,6 +1,26 @@
const getDefaultCfg = () => ({
_:
'This is your Now config file. See `now config help`. More: https://git.io/v7dds'
})
// Native
const { join } = require('path')
const { homedir } = require('os')
module.exports = getDefaultCfg
// Packages
const { readJSON } = require('fs-extra')
module.exports = async () => {
let migrated = false
const config = {
_: 'This is your Now config file. See `now config help`. More: https://git.io/v5ECz'
}
try {
const sh = await readJSON(join(homedir(), '.now.json'))
delete sh.lastUpdate
delete sh.token
Object.assign(config, { sh })
migrated = true
} catch (err) {}
return {config, migrated}
}

1
src/get-now-dir.js

@ -1,3 +1,4 @@
// Native
const { homedir } = require('os')
const { join } = require('path')

5
src/get-welcome.js

@ -1,7 +1,10 @@
// Packages
const { gray, bold } = require('chalk')
// Utilities
const cmd = require('./util/output/cmd')
const li = require('./util/output/list-item')
const link = require('./util/output/link')
const { gray, bold } = require('chalk')
// prettier-disable
const getWelcome = (currentProvider, providers) =>

22
src/now.js

@ -2,17 +2,19 @@
//@flow
// Native
const { join } = require('path')
const { join, basename } = require('path')
// Packages
const debug = require('debug')('now:main')
const { existsSync } = require('fs-extra')
const mkdirp = require('mkdirp-promise')
const mri = require('mri')
const chalk = require('chalk')
// Utilities
const error = require('./util/output/error')
const param = require('./util/output/param')
const info = require('./util/output/info')
const getWelcome = require('./get-welcome')
const getNowDir = require('./get-now-dir')
const getDefaultCfg = require('./get-default-cfg')
@ -79,6 +81,7 @@ const main = async (argv_) => {
}
}
let migrated = false
let configExists
try {
@ -122,7 +125,11 @@ const main = async (argv_) => {
return
}
} else {
config = getDefaultCfg()
const results = await getDefaultCfg()
config = results.config
migrated = results.migrated
try {
configFiles.writeToConfigFile(config)
} catch (err) {
@ -213,7 +220,10 @@ const main = async (argv_) => {
return
}
} else {
authConfig = getDefaultAuthCfg()
const results = await getDefaultAuthCfg()
authConfig = results.config
migrated = results.migrated
try {
configFiles.writeToAuthConfigFile(authConfig)
@ -229,6 +239,12 @@ const main = async (argv_) => {
}
}
// Let the user know we migrated the config
if (migrated) {
const directory = chalk.grey(join('~', basename(NOW_DIR)))
console.log(info(`Your credentials and configuration were migrated to ${directory}`))
}
// the context object to supply to the providers or the commands
const ctx = {
config,

Loading…
Cancel
Save