@gian-tiaga/eda 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/lib/install.js +64 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -64,19 +64,29 @@ eda init
|
|
|
64
64
|
version: 1
|
|
65
65
|
|
|
66
66
|
defaults:
|
|
67
|
+
# true | false
|
|
67
68
|
strict: false
|
|
69
|
+
# normal | short | ask_each_time
|
|
68
70
|
plan_size: normal
|
|
71
|
+
# after_each_phase | tdd_each_phase | end_of_plan | ask_each_time
|
|
72
|
+
test_strategy: ask_each_time
|
|
73
|
+
# debug_precise | standard | ask_each_time
|
|
74
|
+
logging_strategy: ask_each_time
|
|
69
75
|
|
|
70
76
|
automate:
|
|
77
|
+
# true | false
|
|
71
78
|
include_plans: false
|
|
72
79
|
|
|
73
80
|
review:
|
|
81
|
+
# true | false
|
|
74
82
|
include_code_quality: true
|
|
75
83
|
```
|
|
76
84
|
|
|
77
85
|
Что означают настройки:
|
|
78
86
|
- `defaults.strict` — включает strict-режим по умолчанию для `eda-explore`, `eda-plan` и `eda-review`.
|
|
79
87
|
- `defaults.plan_size` — размер плана для `eda-plan`: `normal`, `short` или `ask_each_time`.
|
|
88
|
+
- `defaults.test_strategy` — стратегия тестов для `eda-plan`: `after_each_phase`, `tdd_each_phase`, `end_of_plan` или `ask_each_time`.
|
|
89
|
+
- `defaults.logging_strategy` — стратегия логирования для `eda-plan`: `debug_precise`, `standard` или `ask_each_time`.
|
|
80
90
|
- `automate.include_plans` — добавляет `docs/plans/` в обычный запуск `eda-automate`.
|
|
81
91
|
- `review.include_code_quality` — добавляет в `eda-review` проверку качества кода и отдельного мета-ревьюера `quality-check`.
|
|
82
92
|
|
package/lib/install.js
CHANGED
|
@@ -17,6 +17,8 @@ const RETIRED_SKILLS = ['eda-research'];
|
|
|
17
17
|
const DEFAULT_SETTINGS = {
|
|
18
18
|
strict: false,
|
|
19
19
|
planSize: 'normal',
|
|
20
|
+
testStrategy: 'ask_each_time',
|
|
21
|
+
loggingStrategy: 'ask_each_time',
|
|
20
22
|
includePlans: false,
|
|
21
23
|
includeCodeQuality: true
|
|
22
24
|
};
|
|
@@ -51,6 +53,38 @@ const PLAN_SIZE_CHOICES = [
|
|
|
51
53
|
name: 'Спрашивать размер плана каждый раз'
|
|
52
54
|
}
|
|
53
55
|
];
|
|
56
|
+
const TEST_STRATEGY_CHOICES = [
|
|
57
|
+
{
|
|
58
|
+
value: 'after_each_phase',
|
|
59
|
+
name: 'Писать и запускать тесты после каждой фазы'
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
value: 'tdd_each_phase',
|
|
63
|
+
name: 'В каждой фазе сначала тесты, затем код'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
value: 'end_of_plan',
|
|
67
|
+
name: 'Писать тесты в конце плана отдельной фазой'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
value: 'ask_each_time',
|
|
71
|
+
name: 'Спрашивать стратегию тестов каждый раз'
|
|
72
|
+
}
|
|
73
|
+
];
|
|
74
|
+
const LOGGING_STRATEGY_CHOICES = [
|
|
75
|
+
{
|
|
76
|
+
value: 'standard',
|
|
77
|
+
name: 'Стандартные info / warning / error по необходимости'
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
value: 'debug_precise',
|
|
81
|
+
name: 'Подробные debug-логи на важных шагах'
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
value: 'ask_each_time',
|
|
85
|
+
name: 'Спрашивать стратегию логирования каждый раз'
|
|
86
|
+
}
|
|
87
|
+
];
|
|
54
88
|
|
|
55
89
|
export async function init({ cwd, input = process.stdin, output = process.stdout }) {
|
|
56
90
|
const targets = await askTargets({ input, output });
|
|
@@ -117,9 +151,29 @@ export async function askSettings({ input = process.stdin, output = process.stdo
|
|
|
117
151
|
output
|
|
118
152
|
});
|
|
119
153
|
|
|
154
|
+
const testStrategy = await select({
|
|
155
|
+
message: 'Какую стратегию тестов eda-plan использовать по умолчанию?',
|
|
156
|
+
choices: TEST_STRATEGY_CHOICES,
|
|
157
|
+
default: DEFAULT_SETTINGS.testStrategy
|
|
158
|
+
}, {
|
|
159
|
+
input,
|
|
160
|
+
output
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
const loggingStrategy = await select({
|
|
164
|
+
message: 'Какую стратегию логирования eda-plan использовать по умолчанию?',
|
|
165
|
+
choices: LOGGING_STRATEGY_CHOICES,
|
|
166
|
+
default: DEFAULT_SETTINGS.loggingStrategy
|
|
167
|
+
}, {
|
|
168
|
+
input,
|
|
169
|
+
output
|
|
170
|
+
});
|
|
171
|
+
|
|
120
172
|
return {
|
|
121
173
|
strict: selected.includes('strict'),
|
|
122
174
|
planSize,
|
|
175
|
+
testStrategy,
|
|
176
|
+
loggingStrategy,
|
|
123
177
|
includePlans: selected.includes('includePlans'),
|
|
124
178
|
includeCodeQuality: selected.includes('includeCodeQuality')
|
|
125
179
|
};
|
|
@@ -158,6 +212,8 @@ async function ensureSettings(cwd, { input = process.stdin, output = process.std
|
|
|
158
212
|
const settingsPath = path.join(cwd, SETTINGS_RELATIVE_PATH);
|
|
159
213
|
if (await fileExists(settingsPath)) {
|
|
160
214
|
output.write(`Настройки уже есть: ${SETTINGS_RELATIVE_PATH}\n`);
|
|
215
|
+
output.write('Существующий файл не перезаписываю. Актуальный формат:\n\n');
|
|
216
|
+
output.write(formatSettings(DEFAULT_SETTINGS));
|
|
161
217
|
return;
|
|
162
218
|
}
|
|
163
219
|
|
|
@@ -171,13 +227,21 @@ function formatSettings(settings) {
|
|
|
171
227
|
return `version: 1
|
|
172
228
|
|
|
173
229
|
defaults:
|
|
230
|
+
# true | false
|
|
174
231
|
strict: ${settings.strict ? 'true' : 'false'}
|
|
232
|
+
# normal | short | ask_each_time
|
|
175
233
|
plan_size: ${settings.planSize}
|
|
234
|
+
# after_each_phase | tdd_each_phase | end_of_plan | ask_each_time
|
|
235
|
+
test_strategy: ${settings.testStrategy}
|
|
236
|
+
# debug_precise | standard | ask_each_time
|
|
237
|
+
logging_strategy: ${settings.loggingStrategy}
|
|
176
238
|
|
|
177
239
|
automate:
|
|
240
|
+
# true | false
|
|
178
241
|
include_plans: ${settings.includePlans ? 'true' : 'false'}
|
|
179
242
|
|
|
180
243
|
review:
|
|
244
|
+
# true | false
|
|
181
245
|
include_code_quality: ${settings.includeCodeQuality ? 'true' : 'false'}
|
|
182
246
|
`;
|
|
183
247
|
}
|
package/package.json
CHANGED