-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
questions.js
173 lines (173 loc) · 5.04 KB
/
questions.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
module.exports = [
{
message: 'App or Plugin?',
choices: [
{title: 'App', hint: 'A normal single page application in Aurelia'},
{value: 'plugin', title: 'Plugin', hint: 'An Aurelia plugin project'}
]
},
{
message: 'Which bundler would you like to use?',
choices: [
{if: '!plugin', value: 'webpack', title: 'Webpack', hint: 'A powerful and popular bundler for modern JavaScript apps.'},
{value: 'cli-bundler', title: "CLI's built-in bundler with an AMD module loader", hint: 'Provides similar capabilities but with much simpler configuration.'}
]
},
{
if: 'cli-bundler',
message: 'Which AMD module loader would you like to use?',
choices: [{
value: 'requirejs',
title: 'RequireJS',
hint: 'RequireJS is a mature and stable module loader for JavaScript.'
}, {
value: 'alameda',
title: 'Alameda',
hint: 'Alameda is a modern version of RequireJS using promises and native es6 features (modern browsers only).',
if: '!plugin'
}]
},
{
message: 'What platform are you targeting?',
choices: [{
value: 'web',
title: 'Web',
hint: 'The default web platform setup.'
}, {
value: 'dotnet-core',
title: '.NET Core',
hint: 'A powerful, patterns-based way to build dynamic websites with .NET Core.',
if: '!plugin'
}]
},
{
message: 'What transpiler would you like to use?',
choices: [
{value: 'babel', title: 'Babel', hint: 'An open source, standards-compliant ES2015 and ESNext transpiler.'},
{value: 'typescript', title: 'TypeScript', hint: 'An open source, ESNext superset that adds optional strong typing.'}
]
},
{
message: 'How would you like to setup your HTML template?',
choices: [{
title: 'None',
hint: 'No markup processing'
}, {
value: 'htmlmin',
title: 'Minified with htmlmin',
hint: 'Removes comments and whitespace between block level elements such as div, blockquote, p, header, footer ...etc.'
}]
},
{
message: 'What css preprocessor would you like to use?',
choices: [{
title: 'None',
hint: 'Use standard CSS with no pre-processor.'
}, {
value: 'less',
title: 'Less',
hint: 'Extends the CSS language, adding features that allow variables, mixins, functions and many other techniques.'
}, {
value: 'sass',
title: 'Sass',
hint: 'A mature, stable, and powerful professional grade CSS extension.'
}, {
value: 'stylus',
title: 'Stylus',
hint: 'Expressive, dynamic and robust CSS.'
}]
},
{
message: 'Do you want to add PostCSS processing',
choices: [{
title: 'None',
hint: 'No PostCSS processing'
}, {
value: 'postcss',
title: 'Yes',
hint: 'With autoprefixer, postcss-url to inline image/font resources, cssnano to minify',
if: 'cli-bundler'
}, {
value: 'postcss',
title: 'Yes',
hint: 'With autoprefixer, plus cssnano to minify',
// don't need postcss-url for webpack, as webpack's css-loader does similar work
if: 'webpack'
}]
},
{
message: 'Which unit test runner would you like to use?',
choices: [{
title: 'None',
hint: 'No unit testing'
}, {
value: 'jest',
title: 'Jest',
hint: 'Unit testing with Jest'
}, {
// karma is too difficult for webpack v5
if: '!webpack',
value: 'karma',
title: 'Karma Jasmine',
hint: 'Unit testing with Karma and Jasmine'
}]
},
{
if: '!plugin',
message: 'Would you like to configure e2e integration testing?',
choices: [{
title: 'None',
hint: 'Skip e2e testing.'
}, {
value: 'playwright',
title: 'Playwright',
hint: "Integration testing with Playwright."
}]
},
{
message: 'What is your default code editor?',
choices: [{
title: 'None',
hint: 'Skip any editor specific options.'
}, {
value: 'vscode',
title: 'Visual Studio Code',
hint: 'Code editing. Redefined. Free. Open source. Runs everywhere.'
}]
},
{
if: '!plugin',
message: 'Which features do you want to scaffold into your project?',
choices: [{
value: 'scaffold-minimum',
title: 'Minimum',
hint: 'Just a bare minimum Aurelia app.'
}, {
value: 'scaffold-navigation',
title: 'Navigation App',
hint: 'Add a router and some sample routes, Bootstrap v4 and Font Awesome v5.'
}]
},
{
if: 'plugin',
message: 'Which features do you want to scaffold into your Aurelia plugin project?',
choices: [{
value: 'plugin-scaffold-minimum',
title: 'None',
hint: 'Just a bare minimum Aurelia plugin with one custom element.'
}, {
value: 'plugin-scaffold-basic',
title: 'Basic',
hint: 'Show examples for custom element, attribute, value converter and binding behavior.'
}]
},
{
if: '!plugin',
message: 'Would you like to add a Dockerfile?',
choices: [{
title: 'No'
}, {
value: 'docker', title: 'Yes'
}]
}
];