|
3 | 3 | var Khaos = require('khaos-patched') |
4 | 4 | var metadata = require('read-metadata') |
5 | 5 | var download = require('download-github-repo') |
6 | | -var logger = require('../lib/logger') |
7 | 6 | var program = require('commander') |
8 | 7 | var exists = require('fs').existsSync |
9 | 8 | var join = require('path').join |
10 | 9 | var resolve = require('path').resolve |
11 | 10 | var rm = require('rimraf').sync |
12 | 11 | var uid = require('uid') |
13 | 12 | var chalk = require('chalk') |
| 13 | +var logger = require('../lib/logger') |
| 14 | +var getGitUser = require('../lib/git-user') |
14 | 15 |
|
15 | 16 | /** |
16 | 17 | * Usage. |
@@ -125,24 +126,33 @@ function options (dir) { |
125 | 126 | var opts = exists(file) |
126 | 127 | ? metadata.sync(file) |
127 | 128 | : {} |
128 | | - defaultName(opts) |
| 129 | + |
| 130 | + setDefault(opts, 'name', name) |
| 131 | + |
| 132 | + var author = getGitUser() |
| 133 | + if (author) { |
| 134 | + setDefault(opts, 'author', author) |
| 135 | + } |
| 136 | + |
129 | 137 | return opts |
130 | 138 | } |
131 | 139 |
|
132 | 140 | /** |
133 | | - * Automatically infer the default project name |
| 141 | + * Set the default value for a schema key |
134 | 142 | * |
135 | 143 | * @param {Object} opts |
| 144 | + * @param {String} key |
| 145 | + * @param {String} val |
136 | 146 | */ |
137 | 147 |
|
138 | | -function defaultName (opts) { |
| 148 | +function setDefault (opts, key, val) { |
139 | 149 | var schema = opts.schema || (opts.schema = {}) |
140 | | - if (!schema.name || typeof schema.name !== 'object') { |
141 | | - schema.name = { |
| 150 | + if (!schema[key] || typeof schema[key] !== 'object') { |
| 151 | + schema[key] = { |
142 | 152 | 'type': 'string', |
143 | | - 'default': name |
| 153 | + 'default': val |
144 | 154 | } |
145 | 155 | } else { |
146 | | - schema.name['default'] = name |
| 156 | + schema[key]['default'] = val |
147 | 157 | } |
148 | 158 | } |
0 commit comments