-
Notifications
You must be signed in to change notification settings - Fork 3
/
prompts.js
93 lines (89 loc) · 2.07 KB
/
prompts.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
const licensesInformation = require('spdx-license-list/spdx-simple.json')
const locales = require('./utils/locales');
const { regions, timezones, defaultTimezone } = require('./utils/timezoneHelpers');
const licenses = licensesInformation.map(name => ({
name,
value: name
}));
const scriptTypes = ['standalone', 'docs', 'sheets', 'slides', 'forms', 'webapp', 'api'].map(name => ({
name,
value: name
}));
let defTimezone = 'Etc/GMT';
module.exports = [
{
type: 'list',
name: 'locale',
message: 'Select locale',
choices: locales,
default: 'pt-br',
group: 'Locale'
},
{
type: 'confirm',
name: 'createScript',
message: 'Create new script?',
default: true,
group: 'Clasp'
},
{
type: 'input',
name: 'scriptId',
when: answer => !answer.createScript,
message: 'Inform script Id:',
validate: input => /^[\w-]{57}$/.test(input),
group: 'Clasp'
},
{
type: 'list',
name: 'scriptType',
when: answer => answer.createScript,
message: 'Select script type',
choices: scriptTypes,
default: 'standalone',
group: 'Clasp'
},
{
type: 'list',
name: 'region',
when: answer => answer.createScript,
message: 'Select a region',
validate: input => !!input,
default: defaultTimezone.replace(/\/.+$/, ''),
choices: regions,
pageSize: 10
},
{
type: 'list',
name: 'timeZone',
when: answer => answer.createScript && answer.region,
message: 'Select a timezone',
validate: input => !!input,
default: defaultTimezone,
choices: answers => timezones(answers.region),
pageSize: 10,
},
{
type: 'confirm',
name: 'addLicense',
message: 'Add license?',
default: false,
group: 'License'
},
{
type: 'list',
name: 'licenseName',
when: answer => answer.addLicense,
message: 'Choose a license:',
choices: licenses,
default: 'MIT',
group: 'License'
},
{
type: 'input',
name: 'copyrightHolders',
when: answer => answer.addLicense,
message: 'Enter copyright holders:',
group: 'License'
}
];