specweave 2.2.1 → 2.2.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/.claude-plugin/marketplace.json +2 -2
- package/CLAUDE.md +21 -36
- package/dist/src/cli/dispatcher.d.ts +1 -1
- package/dist/src/cli/dispatcher.js +1 -1
- package/dist/src/cli/helpers/init/instruction-file-merger.js +2 -2
- package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -1
- package/dist/src/core/auto/completion-evaluator.d.ts +1 -1
- package/dist/src/core/auto/completion-evaluator.js +1 -1
- package/dist/src/core/fabric/security-judge.d.ts.map +1 -1
- package/dist/src/core/fabric/security-judge.js +37 -5
- package/dist/src/core/fabric/security-judge.js.map +1 -1
- package/dist/src/core/llm/index.d.ts +1 -1
- package/dist/src/core/llm/index.js +1 -1
- package/dist/src/core/llm/model-capabilities.d.ts +79 -0
- package/dist/src/core/llm/model-capabilities.d.ts.map +1 -0
- package/dist/src/core/llm/model-capabilities.js +157 -0
- package/dist/src/core/llm/model-capabilities.js.map +1 -0
- package/dist/src/core/llm/provider-factory.js +1 -1
- package/dist/src/core/llm/providers/anthropic-provider.d.ts +1 -0
- package/dist/src/core/llm/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/src/core/llm/providers/anthropic-provider.js +38 -11
- package/dist/src/core/llm/providers/anthropic-provider.js.map +1 -1
- package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -1
- package/dist/src/core/llm/providers/bedrock-provider.js +10 -5
- package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -1
- package/dist/src/core/llm/providers/claude-code-provider.js +1 -1
- package/dist/src/core/llm/types.d.ts +20 -1
- package/dist/src/core/llm/types.d.ts.map +1 -1
- package/dist/src/core/llm/types.js.map +1 -1
- package/dist/src/core/skill-gen/signal-collector.js +1 -1
- package/dist/src/core/skill-gen/signal-collector.js.map +1 -1
- package/dist/src/core/skill-gen/suggestion-engine.js +1 -1
- package/dist/src/core/skill-gen/suggestion-engine.js.map +1 -1
- package/dist/src/core/skill-gen/types.d.ts +1 -1
- package/dist/src/core/skill-gen/types.d.ts.map +1 -1
- package/dist/src/core/skill-refine/haiku-diff.d.ts +25 -2
- package/dist/src/core/skill-refine/haiku-diff.d.ts.map +1 -1
- package/dist/src/core/skill-refine/haiku-diff.js +18 -5
- package/dist/src/core/skill-refine/haiku-diff.js.map +1 -1
- package/dist/src/core/skills/skill-judge.d.ts +16 -17
- package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
- package/dist/src/core/skills/skill-judge.js +39 -36
- package/dist/src/core/skills/skill-judge.js.map +1 -1
- package/dist/src/dashboard/server/data/cost-aggregator.d.ts.map +1 -1
- package/dist/src/dashboard/server/data/cost-aggregator.js +2 -0
- package/dist/src/dashboard/server/data/cost-aggregator.js.map +1 -1
- package/dist/src/utils/pricing-constants.d.ts +1 -1
- package/dist/src/utils/pricing-constants.d.ts.map +1 -1
- package/dist/src/utils/pricing-constants.js +3 -1
- package/dist/src/utils/pricing-constants.js.map +1 -1
- package/package.json +2 -2
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/.lint/skill-lint.test.ts +104 -92
- package/plugins/specweave/skills/team/agents/_protocol.md +8 -52
- package/plugins/specweave/skills/team/agents/backend.md +2 -5
- package/plugins/specweave/skills/team/agents/brainstorm-advocate.md +4 -2
- package/plugins/specweave/skills/team/agents/brainstorm-critic.md +4 -2
- package/plugins/specweave/skills/team/agents/brainstorm-pragmatist.md +4 -2
- package/plugins/specweave/skills/team/agents/database.md +0 -2
- package/plugins/specweave/skills/team/agents/testing.md +0 -2
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts +0 -32
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/ado-repo-cloning.js +0 -157
- package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +0 -1
- package/dist/src/cli/helpers/init/api-docs-config.d.ts +0 -67
- package/dist/src/cli/helpers/init/api-docs-config.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/api-docs-config.js +0 -426
- package/dist/src/cli/helpers/init/api-docs-config.js.map +0 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts +0 -42
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +0 -261
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +0 -1
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +0 -45
- package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/brownfield-analysis.js +0 -431
- package/dist/src/cli/helpers/init/brownfield-analysis.js.map +0 -1
- package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts +0 -55
- package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/claude-settings-lsp.js +0 -270
- package/dist/src/cli/helpers/init/claude-settings-lsp.js.map +0 -1
- package/dist/src/cli/helpers/init/multi-project-folders.d.ts +0 -15
- package/dist/src/cli/helpers/init/multi-project-folders.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/multi-project-folders.js +0 -43
- package/dist/src/cli/helpers/init/multi-project-folders.js.map +0 -1
- package/dist/src/cli/helpers/init/plugin-install-flags.d.ts +0 -114
- package/dist/src/cli/helpers/init/plugin-install-flags.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/plugin-install-flags.js +0 -202
- package/dist/src/cli/helpers/init/plugin-install-flags.js.map +0 -1
- package/dist/src/cli/helpers/init/prompt-flow.d.ts +0 -59
- package/dist/src/cli/helpers/init/prompt-flow.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/prompt-flow.js +0 -127
- package/dist/src/cli/helpers/init/prompt-flow.js.map +0 -1
- package/dist/src/cli/helpers/init/testing-config.d.ts +0 -69
- package/dist/src/cli/helpers/init/testing-config.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/testing-config.js +0 -433
- package/dist/src/cli/helpers/init/testing-config.js.map +0 -1
- package/dist/src/cli/helpers/init/umbrella-cloning.d.ts +0 -39
- package/dist/src/cli/helpers/init/umbrella-cloning.d.ts.map +0 -1
- package/dist/src/cli/helpers/init/umbrella-cloning.js +0 -121
- package/dist/src/cli/helpers/init/umbrella-cloning.js.map +0 -1
- package/plugins/specweave/.lint/skill-lint.ts +0 -51
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Streamlined prompt flow for init command
|
|
3
|
-
*
|
|
4
|
-
* Orchestrates the minimal set of questions needed:
|
|
5
|
-
* 1. Provider auto-detect → confirm/prompt if not found
|
|
6
|
-
* 2. Credentials auto-detect → prompt if not found
|
|
7
|
-
* 3. Multi-repo expansion (only for org-level providers like ADO)
|
|
8
|
-
* 4. Tracker auto-suggest from provider → confirm/select
|
|
9
|
-
* 5. Tracker credentials (only if tracker differs from provider)
|
|
10
|
-
*
|
|
11
|
-
* No greenfield/brownfield question — handled by isGreenfield() post-hoc.
|
|
12
|
-
* No mono/multi-repo taxonomy — emerges from "add more repos?" context.
|
|
13
|
-
*
|
|
14
|
-
* Part of 0200-init-two-phase-redesign (T-004)
|
|
15
|
-
*/
|
|
16
|
-
import type { ProviderInfo } from './provider-detection.js';
|
|
17
|
-
export interface TrackerInfo {
|
|
18
|
-
type: 'github-issues' | 'jira' | 'ado-boards' | 'none';
|
|
19
|
-
name: string;
|
|
20
|
-
}
|
|
21
|
-
export interface PromptFlowContext {
|
|
22
|
-
targetDir: string;
|
|
23
|
-
language: string;
|
|
24
|
-
isCI: boolean;
|
|
25
|
-
existingConfig?: Record<string, any>;
|
|
26
|
-
}
|
|
27
|
-
export interface PromptFlowResult {
|
|
28
|
-
provider: ProviderInfo | null;
|
|
29
|
-
credentials: string | null;
|
|
30
|
-
tracker: TrackerInfo;
|
|
31
|
-
trackerCredentials?: Record<string, string>;
|
|
32
|
-
additionalRepos: string[];
|
|
33
|
-
}
|
|
34
|
-
export interface PromptCallbacks {
|
|
35
|
-
confirmTracker(suggested: TrackerInfo): Promise<boolean>;
|
|
36
|
-
selectTracker(): Promise<TrackerInfo>;
|
|
37
|
-
promptCredentials(providerType: string): Promise<string>;
|
|
38
|
-
promptTrackerCredentials(trackerType: string): Promise<Record<string, string>>;
|
|
39
|
-
confirmAddRepos(org: string): Promise<boolean>;
|
|
40
|
-
selectRepos(org: string, providerType: string): Promise<string[]>;
|
|
41
|
-
selectProvider(): Promise<ProviderInfo | null>;
|
|
42
|
-
}
|
|
43
|
-
export interface PromptFlowDeps {
|
|
44
|
-
detectProvider(targetDir: string): ProviderInfo | null;
|
|
45
|
-
detectCredentials(targetDir: string, provider: string): string | null;
|
|
46
|
-
prompts: PromptCallbacks;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Suggest a tracker based on the detected provider.
|
|
50
|
-
*/
|
|
51
|
-
export declare function suggestTracker(provider: ProviderInfo | null): TrackerInfo;
|
|
52
|
-
/**
|
|
53
|
-
* Run the streamlined prompt flow.
|
|
54
|
-
*
|
|
55
|
-
* In interactive mode, asks only the minimal questions needed.
|
|
56
|
-
* In CI mode, auto-detects everything and skips all prompts.
|
|
57
|
-
*/
|
|
58
|
-
export declare function runPromptFlow(ctx: PromptFlowContext, deps: PromptFlowDeps): Promise<PromptFlowResult>;
|
|
59
|
-
//# sourceMappingURL=prompt-flow.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-flow.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/prompt-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,cAAc,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACvD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtE,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,WAAW,CAWzE;AAyBD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAqE3B"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Streamlined prompt flow for init command
|
|
3
|
-
*
|
|
4
|
-
* Orchestrates the minimal set of questions needed:
|
|
5
|
-
* 1. Provider auto-detect → confirm/prompt if not found
|
|
6
|
-
* 2. Credentials auto-detect → prompt if not found
|
|
7
|
-
* 3. Multi-repo expansion (only for org-level providers like ADO)
|
|
8
|
-
* 4. Tracker auto-suggest from provider → confirm/select
|
|
9
|
-
* 5. Tracker credentials (only if tracker differs from provider)
|
|
10
|
-
*
|
|
11
|
-
* No greenfield/brownfield question — handled by isGreenfield() post-hoc.
|
|
12
|
-
* No mono/multi-repo taxonomy — emerges from "add more repos?" context.
|
|
13
|
-
*
|
|
14
|
-
* Part of 0200-init-two-phase-redesign (T-004)
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Suggest a tracker based on the detected provider.
|
|
18
|
-
*/
|
|
19
|
-
export function suggestTracker(provider) {
|
|
20
|
-
if (!provider)
|
|
21
|
-
return { type: 'none', name: 'None' };
|
|
22
|
-
switch (provider.provider) {
|
|
23
|
-
case 'github':
|
|
24
|
-
return { type: 'github-issues', name: 'GitHub Issues' };
|
|
25
|
-
case 'ado':
|
|
26
|
-
return { type: 'ado-boards', name: 'Azure DevOps Boards' };
|
|
27
|
-
default:
|
|
28
|
-
return { type: 'none', name: 'None' };
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Check if separate tracker credentials are needed.
|
|
33
|
-
* Not needed when tracker matches provider (creds are reused).
|
|
34
|
-
*/
|
|
35
|
-
function needsTrackerCredentials(provider, tracker) {
|
|
36
|
-
if (tracker.type === 'none')
|
|
37
|
-
return false;
|
|
38
|
-
if (!provider)
|
|
39
|
-
return true;
|
|
40
|
-
if (provider.provider === 'github' && tracker.type === 'github-issues')
|
|
41
|
-
return false;
|
|
42
|
-
if (provider.provider === 'ado' && tracker.type === 'ado-boards')
|
|
43
|
-
return false;
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Extract existing tracker config from a previously saved config.json.
|
|
48
|
-
*/
|
|
49
|
-
function getExistingTracker(existingConfig) {
|
|
50
|
-
const tracker = existingConfig?.sync?.tracker;
|
|
51
|
-
if (tracker?.type && tracker?.name) {
|
|
52
|
-
return { type: tracker.type, name: tracker.name };
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Run the streamlined prompt flow.
|
|
58
|
-
*
|
|
59
|
-
* In interactive mode, asks only the minimal questions needed.
|
|
60
|
-
* In CI mode, auto-detects everything and skips all prompts.
|
|
61
|
-
*/
|
|
62
|
-
export async function runPromptFlow(ctx, deps) {
|
|
63
|
-
const result = {
|
|
64
|
-
provider: null,
|
|
65
|
-
credentials: null,
|
|
66
|
-
tracker: { type: 'none', name: 'None' },
|
|
67
|
-
additionalRepos: [],
|
|
68
|
-
};
|
|
69
|
-
// CI mode: auto-detect everything, no prompts
|
|
70
|
-
if (ctx.isCI) {
|
|
71
|
-
result.provider = deps.detectProvider(ctx.targetDir);
|
|
72
|
-
if (result.provider) {
|
|
73
|
-
result.credentials = deps.detectCredentials(ctx.targetDir, result.provider.provider);
|
|
74
|
-
}
|
|
75
|
-
result.tracker = suggestTracker(result.provider);
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
|
-
// Step 1: Detect or prompt for provider
|
|
79
|
-
result.provider = deps.detectProvider(ctx.targetDir);
|
|
80
|
-
if (!result.provider) {
|
|
81
|
-
result.provider = await deps.prompts.selectProvider();
|
|
82
|
-
}
|
|
83
|
-
// Step 2: Detect or prompt for credentials
|
|
84
|
-
if (result.provider) {
|
|
85
|
-
result.credentials = deps.detectCredentials(ctx.targetDir, result.provider.provider);
|
|
86
|
-
if (!result.credentials) {
|
|
87
|
-
result.credentials = await deps.prompts.promptCredentials(result.provider.provider);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
// Step 3: Multi-repo expansion (only for org-level providers)
|
|
91
|
-
// GitHub has owner (user/org ambiguous) → skip expansion
|
|
92
|
-
// ADO has explicit organization → offer expansion
|
|
93
|
-
if (result.provider?.organization) {
|
|
94
|
-
const org = result.provider.organization;
|
|
95
|
-
const addMore = await deps.prompts.confirmAddRepos(org);
|
|
96
|
-
if (addMore) {
|
|
97
|
-
result.additionalRepos = await deps.prompts.selectRepos(org, result.provider.provider);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Step 4: Tracker suggestion
|
|
101
|
-
// Use existing config tracker if re-initializing, otherwise auto-suggest
|
|
102
|
-
const existingTracker = getExistingTracker(ctx.existingConfig);
|
|
103
|
-
const suggested = existingTracker || suggestTracker(result.provider);
|
|
104
|
-
if (suggested.type !== 'none') {
|
|
105
|
-
// We have a suggestion — confirm it
|
|
106
|
-
const confirmed = await deps.prompts.confirmTracker(suggested);
|
|
107
|
-
if (confirmed) {
|
|
108
|
-
result.tracker = suggested;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// User declined suggestion — let them pick
|
|
112
|
-
result.tracker = await deps.prompts.selectTracker();
|
|
113
|
-
if (needsTrackerCredentials(result.provider, result.tracker)) {
|
|
114
|
-
result.trackerCredentials = await deps.prompts.promptTrackerCredentials(result.tracker.type);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
// No suggestion available — must select
|
|
120
|
-
result.tracker = await deps.prompts.selectTracker();
|
|
121
|
-
if (needsTrackerCredentials(result.provider, result.tracker)) {
|
|
122
|
-
result.trackerCredentials = await deps.prompts.promptTrackerCredentials(result.tracker.type);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return result;
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=prompt-flow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-flow.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/prompt-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testing configuration prompts
|
|
3
|
-
* Handles test mode selection and coverage targets
|
|
4
|
-
*/
|
|
5
|
-
import type { TestMode } from './types.js';
|
|
6
|
-
import type { SupportedLanguage } from '../../../core/i18n/types.js';
|
|
7
|
-
import { WIZARD_BACK } from './wizard-navigation.js';
|
|
8
|
-
/**
|
|
9
|
-
* Get the default coverage target based on the selected test mode.
|
|
10
|
-
* TDD mode defaults to 90%, test-after to 80%, manual/none to 0%.
|
|
11
|
-
*/
|
|
12
|
-
export declare function getCoverageDefault(testMode: TestMode): number;
|
|
13
|
-
/**
|
|
14
|
-
* Get translated strings for testing configuration
|
|
15
|
-
*/
|
|
16
|
-
export declare function getTestingStrings(language: SupportedLanguage): {
|
|
17
|
-
header: string;
|
|
18
|
-
subheader: string;
|
|
19
|
-
guidance: string;
|
|
20
|
-
tddHint: string;
|
|
21
|
-
testAfterHint: string;
|
|
22
|
-
manualHint: string;
|
|
23
|
-
noneHint: string;
|
|
24
|
-
selectApproach: string;
|
|
25
|
-
tddOption: string;
|
|
26
|
-
testAfterOption: string;
|
|
27
|
-
manualOption: string;
|
|
28
|
-
noneOption: string;
|
|
29
|
-
selectCoverage: string;
|
|
30
|
-
coverageNone: string;
|
|
31
|
-
coverage50: string;
|
|
32
|
-
coverage70: string;
|
|
33
|
-
coverage80: string;
|
|
34
|
-
coverage90: string;
|
|
35
|
-
coverage100: string;
|
|
36
|
-
coverageCustom: string;
|
|
37
|
-
enterCustom: string;
|
|
38
|
-
coverageValidation: string;
|
|
39
|
-
selectedTesting: string;
|
|
40
|
-
selectedCoverage: string;
|
|
41
|
-
noCoverageTarget: string;
|
|
42
|
-
configNotFound: string;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Result of testing configuration
|
|
46
|
-
*/
|
|
47
|
-
export interface TestingConfigResult {
|
|
48
|
-
testMode: TestMode;
|
|
49
|
-
coverageTarget: number;
|
|
50
|
-
/** Signal to go back to previous step */
|
|
51
|
-
goBack?: typeof WIZARD_BACK;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Prompt user for testing configuration
|
|
55
|
-
*
|
|
56
|
-
* @param language - Language for translations
|
|
57
|
-
* @returns Testing configuration
|
|
58
|
-
*/
|
|
59
|
-
export declare function promptTestingConfig(language?: SupportedLanguage): Promise<TestingConfigResult>;
|
|
60
|
-
/**
|
|
61
|
-
* Update config.json with testing configuration
|
|
62
|
-
*
|
|
63
|
-
* @param targetDir - Project directory
|
|
64
|
-
* @param testMode - Selected test mode
|
|
65
|
-
* @param coverageTarget - Selected coverage target
|
|
66
|
-
* @param language - Language for translations
|
|
67
|
-
*/
|
|
68
|
-
export declare function updateConfigWithTesting(targetDir: string, testMode: TestMode, coverageTarget: number, language?: SupportedLanguage): void;
|
|
69
|
-
//# sourceMappingURL=testing-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing-config.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/testing-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAyC,MAAM,wBAAwB,CAAC;AAE5F;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAM7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAgQA;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,WAAW,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,GAAE,iBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsH1G;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,iBAAwB,GACjC,IAAI,CA+BN"}
|