@qduc/term2 0.9.1 → 0.9.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/dist/components/input/PopupManager.d.ts +1 -1
- package/dist/components/input/PopupManager.d.ts.map +1 -1
- package/dist/components/input/insertions.d.ts +1 -1
- package/dist/components/input/insertions.d.ts.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.d.ts +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.js +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.d.ts +8 -0
- package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -0
- package/dist/components/message/CodeContextSearchRenderer.js +49 -0
- package/dist/components/message/CodeContextSearchRenderer.js.map +1 -0
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +27 -242
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/GrepRenderer.d.ts +8 -0
- package/dist/components/message/GrepRenderer.d.ts.map +1 -0
- package/dist/components/message/GrepRenderer.js +94 -0
- package/dist/components/message/GrepRenderer.js.map +1 -0
- package/dist/components/message/ReadFileRenderer.d.ts +8 -0
- package/dist/components/message/ReadFileRenderer.d.ts.map +1 -0
- package/dist/components/message/ReadFileRenderer.js +53 -0
- package/dist/components/message/ReadFileRenderer.js.map +1 -0
- package/dist/components/message/WebFetchRenderer.d.ts +8 -0
- package/dist/components/message/WebFetchRenderer.d.ts.map +1 -0
- package/dist/components/message/WebFetchRenderer.js +46 -0
- package/dist/components/message/WebFetchRenderer.js.map +1 -0
- package/dist/components/message/WebSearchRenderer.d.ts +8 -0
- package/dist/components/message/WebSearchRenderer.d.ts.map +1 -0
- package/dist/components/message/WebSearchRenderer.js +35 -0
- package/dist/components/message/WebSearchRenderer.js.map +1 -0
- package/dist/components/message/useCommandVisibility.d.ts +9 -0
- package/dist/components/message/useCommandVisibility.d.ts.map +1 -0
- package/dist/components/message/useCommandVisibility.js +25 -0
- package/dist/components/message/useCommandVisibility.js.map +1 -0
- package/dist/debug-test.d.ts +2 -0
- package/dist/debug-test.d.ts.map +1 -0
- package/dist/debug-test.js +18 -0
- package/dist/debug-test.js.map +1 -0
- package/dist/env-setup.js +1 -0
- package/dist/env-setup.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts +26 -0
- package/dist/hooks/settings-completion-config.d.ts.map +1 -0
- package/dist/hooks/settings-completion-config.js +129 -0
- package/dist/hooks/settings-completion-config.js.map +1 -0
- package/dist/hooks/settings-completion-logic.d.ts +9 -0
- package/dist/hooks/settings-completion-logic.d.ts.map +1 -0
- package/dist/hooks/settings-completion-logic.js +82 -0
- package/dist/hooks/settings-completion-logic.js.map +1 -0
- package/dist/hooks/use-selection.js +1 -1
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts +3 -17
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +4 -199
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +2 -10
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +18 -235
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +2 -29
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/services/settings/setting-schema-utils.d.ts +19 -0
- package/dist/services/settings/setting-schema-utils.d.ts.map +1 -0
- package/dist/services/settings/setting-schema-utils.js +91 -0
- package/dist/services/settings/setting-schema-utils.js.map +1 -0
- package/dist/services/settings/settings-schema.d.ts +9 -6
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +4 -0
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +1 -0
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/types/message.d.ts +1 -1
- package/dist/types/message.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +4 -4
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts +1 -0
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js +4 -3
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.js +1 -0
- package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts +15 -0
- package/dist/utils/value-suggestions.d.ts.map +1 -0
- package/dist/utils/value-suggestions.js +266 -0
- package/dist/utils/value-suggestions.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { scoreSubsequence } from './subsequence-filter.js';
|
|
2
|
+
import { resolveSettingAtPath, unwrapSchema } from '../services/settings/setting-schema-utils.js';
|
|
3
|
+
const MAX_RESULTS = 10;
|
|
4
|
+
// Curated suggestions for settings where the schema alone can't express them:
|
|
5
|
+
// - Provider fields are `z.string()`, but users benefit from knowing which providers exist.
|
|
6
|
+
// - Temperature / auto-approve model have opinionated presets, not enum values.
|
|
7
|
+
// - Some enum/boolean fields carry custom descriptions that enrich the UX.
|
|
8
|
+
const VALUE_SUGGESTIONS_BY_KEY = {
|
|
9
|
+
'agent.mentorProvider': [
|
|
10
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
11
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
12
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
13
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
14
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
15
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
16
|
+
],
|
|
17
|
+
'agent.subagentExplorerProvider': [
|
|
18
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
19
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
20
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
21
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
22
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
23
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
24
|
+
],
|
|
25
|
+
'agent.subagentWorkerProvider': [
|
|
26
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
27
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
28
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
29
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
30
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
31
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
32
|
+
],
|
|
33
|
+
'agent.subagentResearcherProvider': [
|
|
34
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
35
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
36
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
37
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
38
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
39
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
40
|
+
],
|
|
41
|
+
'agent.autoApproveProvider': [
|
|
42
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
43
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
44
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
45
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
46
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
47
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
48
|
+
],
|
|
49
|
+
'tools.editHealingProvider': [
|
|
50
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
51
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
52
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
53
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
54
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
55
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
56
|
+
],
|
|
57
|
+
'logging.logLevel': [{ value: 'debug' }, { value: 'info' }, { value: 'warn' }, { value: 'error' }],
|
|
58
|
+
'agent.useFlexServiceTier': [
|
|
59
|
+
{ value: 'true', description: 'Enable Flex Service Tier (lower cost)' },
|
|
60
|
+
{ value: 'false', description: 'Use standard service tier' },
|
|
61
|
+
],
|
|
62
|
+
'agent.provider': [
|
|
63
|
+
{ value: 'openai', description: 'OpenAI official API' },
|
|
64
|
+
{ value: 'openrouter', description: 'OpenRouter.ai' },
|
|
65
|
+
{ value: 'openai-compatible', description: 'Local models/Ollama' },
|
|
66
|
+
{ value: 'anthropic', description: 'Anthropic Claude' },
|
|
67
|
+
{ value: 'google', description: 'Google Gemini' },
|
|
68
|
+
{ value: 'codex', description: 'ChatGPT Codex (OAuth)' },
|
|
69
|
+
],
|
|
70
|
+
'agent.autoApproveModel': [
|
|
71
|
+
{ value: 'gpt-4o-mini', description: 'OpenAI fast model' },
|
|
72
|
+
{ value: 'claude-3-haiku-20240307', description: 'Anthropic fast model' },
|
|
73
|
+
{ value: 'gemini-1.5-flash', description: 'Google fast model' },
|
|
74
|
+
],
|
|
75
|
+
'agent.temperature': [
|
|
76
|
+
{ value: '0', description: 'Deterministic' },
|
|
77
|
+
{ value: '0.2' },
|
|
78
|
+
{ value: '0.7' },
|
|
79
|
+
{ value: '1' },
|
|
80
|
+
{ value: '1.2' },
|
|
81
|
+
{ value: '2', description: 'Most random' },
|
|
82
|
+
],
|
|
83
|
+
'shell.timeout': [
|
|
84
|
+
{ value: '60000', description: '60s' },
|
|
85
|
+
{ value: '120000', description: '120s' },
|
|
86
|
+
{ value: '300000', description: '5m' },
|
|
87
|
+
],
|
|
88
|
+
'shell.maxOutputLines': [{ value: '200' }, { value: '500' }, { value: '1000' }],
|
|
89
|
+
'shell.maxOutputChars': [{ value: '20000' }, { value: '50000' }, { value: '100000' }],
|
|
90
|
+
'ui.historySize': [{ value: '50' }, { value: '100' }, { value: '200' }],
|
|
91
|
+
'ui.displayMode': [
|
|
92
|
+
{ value: 'standard', description: 'Standard output (full details)' },
|
|
93
|
+
{ value: 'concise', description: 'Concise output (no reasoning, one-line tool calls)' },
|
|
94
|
+
],
|
|
95
|
+
'agent.maxTurns': [{ value: '10' }, { value: '20' }, { value: '50' }],
|
|
96
|
+
'agent.retryAttempts': [{ value: '1' }, { value: '2' }, { value: '3' }],
|
|
97
|
+
'agent.transport': [
|
|
98
|
+
{ value: 'websocket', description: 'WebSocket transport with response chaining' },
|
|
99
|
+
{ value: 'http', description: 'HTTP transport with full-history requests' },
|
|
100
|
+
],
|
|
101
|
+
'ssh.port': [{ value: '22', description: 'Default SSH port' }],
|
|
102
|
+
'shell.autoApproveMode': [
|
|
103
|
+
{ value: 'off', description: 'Disabled' },
|
|
104
|
+
{ value: 'advisory', description: 'LLM provides safety analysis' },
|
|
105
|
+
{ value: 'auto', description: 'Full auto-approval (CAUTION)' },
|
|
106
|
+
],
|
|
107
|
+
'sandbox.readPolicy': [
|
|
108
|
+
{
|
|
109
|
+
value: 'standard',
|
|
110
|
+
description: 'Sandboxed commands can read anywhere except known credential paths (~/.ssh, ~/.aws, ~/.kube, etc.)',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
value: 'strict',
|
|
114
|
+
description: 'Sandboxed commands can only read the workspace, temp dir, and system tooling paths (cannot read home dir, /etc, /var)',
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
'webSearch.provider': [
|
|
118
|
+
{ value: 'tavily', description: 'Tavily Search API' },
|
|
119
|
+
{ value: 'exa', description: 'Exa (formerly Metaphor) Search API' },
|
|
120
|
+
],
|
|
121
|
+
'app.searchViaShell': [
|
|
122
|
+
{ value: 'auto', description: 'Auto-enable for gpt-5 models' },
|
|
123
|
+
{ value: 'on', description: 'Always use shell commands (ripgrep/find) for search' },
|
|
124
|
+
{ value: 'off', description: 'Always use built-in search tools' },
|
|
125
|
+
],
|
|
126
|
+
'shell.useRtkCompression': [
|
|
127
|
+
{ value: 'true', description: 'Enable RTK compression (downloaded automatically if needed)' },
|
|
128
|
+
{ value: 'false', description: 'Use normal shell output' },
|
|
129
|
+
],
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Extract enum values from a Zod schema as value-suggestion entries.
|
|
133
|
+
* Returns empty array if the schema is not an enum type.
|
|
134
|
+
*
|
|
135
|
+
* Zod v3: def.type === 'enum', def.values is string[]
|
|
136
|
+
* Zod v4: def.type === 'enum', def.entries is Record<string, string>
|
|
137
|
+
*/
|
|
138
|
+
function suggestFromEnum(schema) {
|
|
139
|
+
if (!schema)
|
|
140
|
+
return [];
|
|
141
|
+
const def = (schema?._def ?? schema?.def);
|
|
142
|
+
if (def?.type !== 'enum')
|
|
143
|
+
return [];
|
|
144
|
+
// Zod v4: def.entries is Record<string, string>
|
|
145
|
+
if (def.entries && typeof def.entries === 'object' && !Array.isArray(def.entries)) {
|
|
146
|
+
return Object.values(def.entries).map((v) => ({ value: v }));
|
|
147
|
+
}
|
|
148
|
+
// Zod v3: def.values is string[]
|
|
149
|
+
if (Array.isArray(def.values)) {
|
|
150
|
+
return def.values.map((v) => ({ value: v }));
|
|
151
|
+
}
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Extract boolean suggestions from a Zod schema.
|
|
156
|
+
* Returns empty array if the schema is not a boolean type.
|
|
157
|
+
*/
|
|
158
|
+
function suggestFromBoolean(_schema) {
|
|
159
|
+
return [{ value: 'true' }, { value: 'false' }];
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Auto-generate value suggestions by introspecting the Zod schema for a setting.
|
|
163
|
+
*
|
|
164
|
+
* - `z.enum([...])` → one suggestion per enum value
|
|
165
|
+
* - `z.boolean()` (including `.optional()`, `.default()`, `.transform()`) → true/false
|
|
166
|
+
* - Other types → empty array (no auto-suggestion)
|
|
167
|
+
*/
|
|
168
|
+
function autoSuggestFromSchema(key) {
|
|
169
|
+
const schema = resolveSettingAtPath(key);
|
|
170
|
+
if (!schema)
|
|
171
|
+
return [];
|
|
172
|
+
const unwrapped = unwrapSchema(schema);
|
|
173
|
+
if (!unwrapped)
|
|
174
|
+
return [];
|
|
175
|
+
const def = unwrapped._def ?? unwrapped.def;
|
|
176
|
+
if (!def)
|
|
177
|
+
return [];
|
|
178
|
+
const typeName = def.type ?? def.typeName;
|
|
179
|
+
// Handle enum: Zod v3/v4 both use type === 'enum'
|
|
180
|
+
if (typeName === 'enum') {
|
|
181
|
+
return suggestFromEnum(unwrapped);
|
|
182
|
+
}
|
|
183
|
+
// Handle boolean: Zod v3/v4 both use type === 'boolean'
|
|
184
|
+
if (typeName === 'boolean') {
|
|
185
|
+
return suggestFromBoolean(unwrapped);
|
|
186
|
+
}
|
|
187
|
+
return [];
|
|
188
|
+
}
|
|
189
|
+
// Type guard for isNumberSetting / isStringSetting (kept for backward compat).
|
|
190
|
+
export function isStringSetting(key) {
|
|
191
|
+
return isSettingType(key, 'string');
|
|
192
|
+
}
|
|
193
|
+
export function isNumberSetting(key) {
|
|
194
|
+
return isSettingType(key, 'number');
|
|
195
|
+
}
|
|
196
|
+
function isSettingType(key, expectedType) {
|
|
197
|
+
const schema = resolveSettingAtPath(key);
|
|
198
|
+
if (!schema)
|
|
199
|
+
return false;
|
|
200
|
+
const unwrapped = unwrapSchema(schema);
|
|
201
|
+
if (!unwrapped)
|
|
202
|
+
return false;
|
|
203
|
+
// In Zod v4, number/string checks are on the base schema, not wrappers.
|
|
204
|
+
// .int(), .positive() etc. add checks but keep the schema as ZodNumber.
|
|
205
|
+
const def = unwrapped._def;
|
|
206
|
+
return def?.type === expectedType;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Build value suggestions for a setting key.
|
|
210
|
+
*
|
|
211
|
+
* Returns curated hardcoded suggestions when available, otherwise falls back to
|
|
212
|
+
* auto-generated suggestions derived from the Zod schema (enum values, boolean).
|
|
213
|
+
*/
|
|
214
|
+
export function buildSettingValueSuggestions(key) {
|
|
215
|
+
// If we have curated suggestions, use them (they may include descriptions,
|
|
216
|
+
// custom ordering, or non-schema data like known provider list).
|
|
217
|
+
if (VALUE_SUGGESTIONS_BY_KEY[key]) {
|
|
218
|
+
return VALUE_SUGGESTIONS_BY_KEY[key];
|
|
219
|
+
}
|
|
220
|
+
// Otherwise derive from schema: enum values → suggestions, boolean → true/false.
|
|
221
|
+
return autoSuggestFromSchema(key);
|
|
222
|
+
}
|
|
223
|
+
export function filterSettingValueSuggestionsByQuery(suggestions, query, maxResults = MAX_RESULTS, key) {
|
|
224
|
+
const trimmed = query.trim();
|
|
225
|
+
if (!trimmed) {
|
|
226
|
+
return suggestions.slice(0, maxResults);
|
|
227
|
+
}
|
|
228
|
+
const scoredResults = suggestions
|
|
229
|
+
.map((item) => {
|
|
230
|
+
const valueScore = scoreSubsequence(trimmed, item.value);
|
|
231
|
+
const descriptionScore = item.description ? scoreSubsequence(trimmed, item.description) : -Infinity;
|
|
232
|
+
// Reward value match more than description match
|
|
233
|
+
const weightedValue = valueScore === -Infinity ? -Infinity : valueScore * 2;
|
|
234
|
+
const weightedDescription = descriptionScore === -Infinity ? -Infinity : descriptionScore;
|
|
235
|
+
const score = Math.max(weightedValue, weightedDescription);
|
|
236
|
+
return { item, score };
|
|
237
|
+
})
|
|
238
|
+
.filter(({ score }) => score !== -Infinity)
|
|
239
|
+
.sort((a, b) => b.score - a.score);
|
|
240
|
+
const results = scoredResults.map((r) => r.item);
|
|
241
|
+
// For number settings, if the query itself is a valid number and not already
|
|
242
|
+
// in the results as an exact match, add it as a "Custom value" option.
|
|
243
|
+
if (key && isSettingType(key, 'number') && trimmed && !results.some((r) => r.value === trimmed)) {
|
|
244
|
+
const numValue = Number(trimmed);
|
|
245
|
+
if (!isNaN(numValue)) {
|
|
246
|
+
// Add to the START of results so it's the default choice
|
|
247
|
+
// when typing a custom value.
|
|
248
|
+
results.unshift({
|
|
249
|
+
value: trimmed,
|
|
250
|
+
description: 'Custom value',
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// For string settings without predefined suggestions, allow free-form input.
|
|
255
|
+
if (key && isSettingType(key, 'string') && trimmed && !results.some((r) => r.value === trimmed)) {
|
|
256
|
+
const hasPredefined = (VALUE_SUGGESTIONS_BY_KEY[key]?.length ?? 0) > 0;
|
|
257
|
+
if (!hasPredefined) {
|
|
258
|
+
results.unshift({
|
|
259
|
+
value: trimmed,
|
|
260
|
+
description: 'Custom value',
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return results.slice(0, maxResults);
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=value-suggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-suggestions.js","sourceRoot":"","sources":["../../source/utils/value-suggestions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qduc/term2",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "A terminal-based AI assistant that can help you get things done on your computer",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "qduc",
|
|
@@ -101,7 +101,11 @@
|
|
|
101
101
|
"vitest": "^4.1.9"
|
|
102
102
|
},
|
|
103
103
|
"lint-staged": {
|
|
104
|
-
"*.{js,jsx,ts,tsx
|
|
104
|
+
"*.{js,jsx,ts,tsx}": [
|
|
105
|
+
"eslint --fix",
|
|
106
|
+
"prettier --write"
|
|
107
|
+
],
|
|
108
|
+
"*.{md,json}": "prettier --write"
|
|
105
109
|
},
|
|
106
110
|
"scripts": {
|
|
107
111
|
"start": "node dist/cli.js",
|