|
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