specweave 0.28.15 → 0.28.19
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/bin/specweave.js +1 -1
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +6 -11
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.js +6 -11
- package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +19 -0
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +380 -0
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -0
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +92 -0
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js +349 -0
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
- package/dist/src/cli/commands/import-external.d.ts.map +1 -1
- package/dist/src/cli/commands/import-external.js +12 -7
- package/dist/src/cli/commands/import-external.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +138 -23
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts +65 -0
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js +278 -0
- package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts +64 -0
- package/dist/src/cli/helpers/issue-tracker/jira-board-selection.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js +251 -0
- package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js.map +1 -0
- package/dist/src/core/ac-test-validator-cli.js +4 -1
- package/dist/src/core/ac-test-validator-cli.js.map +1 -1
- package/dist/src/core/ac-test-validator.d.ts.map +1 -1
- package/dist/src/core/ac-test-validator.js +4 -1
- package/dist/src/core/ac-test-validator.js.map +1 -1
- package/dist/src/core/qa/qa-runner.js +7 -10
- package/dist/src/core/qa/qa-runner.js.map +1 -1
- package/dist/src/core/types/increment-metadata.d.ts +75 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.d.ts +137 -5
- package/dist/src/core/types/sync-profile.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.js +63 -0
- package/dist/src/core/types/sync-profile.js.map +1 -1
- package/dist/src/importers/external-importer.d.ts +25 -0
- package/dist/src/importers/external-importer.d.ts.map +1 -1
- package/dist/src/importers/github-importer.d.ts.map +1 -1
- package/dist/src/importers/github-importer.js +5 -3
- package/dist/src/importers/github-importer.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts +51 -0
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +39 -12
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/init/repo/types.d.ts +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +72 -3
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +142 -16
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/locales/de/cli.json +14 -0
- package/dist/src/locales/es/cli.json +14 -0
- package/dist/src/locales/fr/cli.json +14 -0
- package/dist/src/locales/ja/cli.json +14 -0
- package/dist/src/locales/ko/cli.json +14 -0
- package/dist/src/locales/pt/cli.json +14 -0
- package/dist/src/locales/ru/cli.json +14 -0
- package/dist/src/locales/zh/cli.json +14 -0
- package/dist/src/utils/chalk-fallback.d.ts +38 -0
- package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
- package/dist/src/utils/chalk-fallback.js +118 -0
- package/dist/src/utils/chalk-fallback.js.map +1 -0
- package/dist/src/utils/project-id-generator.d.ts +127 -0
- package/dist/src/utils/project-id-generator.d.ts.map +1 -0
- package/dist/src/utils/project-id-generator.js +228 -0
- package/dist/src/utils/project-id-generator.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/agents/AGENTS-INDEX.md +9 -7
- package/plugins/specweave/agents/pm/AGENT.md +202 -0
- package/plugins/specweave/commands/specweave-import-external.md +5 -3
- package/plugins/specweave/commands/specweave-qa.md +9 -9
- package/plugins/specweave/commands/specweave-save.md +531 -193
- package/plugins/specweave/commands/specweave-sync-docs.md +6 -2
- package/plugins/specweave/commands/specweave-validate.md +8 -7
- package/plugins/specweave/hooks/pre-task-completion.sh +35 -17
- package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.d.ts +16 -0
- package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js +121 -0
- package/plugins/specweave/lib/vendor/core/ac-test-validator-cli.js.map +1 -0
- package/plugins/specweave/lib/vendor/core/ac-test-validator.d.ts +111 -0
- package/plugins/specweave/lib/vendor/core/ac-test-validator.js +295 -0
- package/plugins/specweave/lib/vendor/core/ac-test-validator.js.map +1 -0
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +75 -0
- package/plugins/specweave/lib/vendor/utils/chalk-fallback.d.ts +38 -0
- package/plugins/specweave/lib/vendor/utils/chalk-fallback.js +118 -0
- package/plugins/specweave/lib/vendor/utils/chalk-fallback.js.map +1 -0
- package/plugins/specweave/lib/vendor/utils/fs-native.d.ts +179 -0
- package/plugins/specweave/lib/vendor/utils/fs-native.js +319 -0
- package/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -0
- package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
- package/plugins/specweave/skills/docs-updater/SKILL.md +61 -0
- package/plugins/specweave/skills/increment-planner/SKILL.md +10 -335
- package/plugins/specweave/skills/increment-planner/templates/metadata.json +13 -0
- package/plugins/specweave/skills/increment-planner/templates/plan.md +50 -0
- package/plugins/specweave/skills/increment-planner/templates/spec-multi-project.md +86 -0
- package/plugins/specweave/skills/increment-planner/templates/spec-single-project.md +50 -0
- package/plugins/specweave/skills/increment-planner/templates/tasks-multi-project.md +86 -0
- package/plugins/specweave/skills/increment-planner/templates/tasks-single-project.md +48 -0
- package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +18 -0
- package/plugins/specweave-ado/commands/specweave-ado-import-areas.md +358 -0
- package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +1 -0
- package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +1 -0
- package/plugins/specweave-core/skills/code-quality/SKILL.md +1 -0
- package/plugins/specweave-core/skills/design-patterns/SKILL.md +1 -0
- package/plugins/specweave-core/skills/software-architecture/SKILL.md +1 -0
- package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +14 -10
- package/plugins/specweave-github/commands/specweave-github-sync.md +57 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +86 -0
- package/plugins/specweave-github/lib/github-feature-sync.ts +6 -11
- package/plugins/specweave-github/lib/github-increment-sync-cli.js +343 -0
- package/plugins/specweave-github/lib/github-increment-sync-cli.ts +484 -0
- package/plugins/specweave-github/lib/increment-issue-builder.js +368 -0
- package/plugins/specweave-github/lib/increment-issue-builder.ts +471 -0
- package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +19 -24
- package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +15 -23
- package/plugins/specweave-jira/commands/specweave-jira-import-boards.md +331 -0
- package/plugins/specweave-ml/agents/data-scientist/AGENT.md +16 -20
- package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +18 -19
- package/plugins/specweave-ml/skills/{ml-pipeline-workflow → mlops-dag-builder}/SKILL.md +18 -14
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +129 -0
- package/plugins/specweave-ui/skills/browser-automation/SKILL.md +1 -1
- package/plugins/specweave-ui/skills/ui-testing/SKILL.md +10 -122
- package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +0 -70
- package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/epic-content-builder.js +0 -258
- package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +0 -83
- package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.js +0 -466
- package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +0 -1
- package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +0 -705
- package/plugins/specweave-github/lib/epic-content-builder.js +0 -265
- package/plugins/specweave-github/lib/epic-content-builder.ts +0 -376
- package/plugins/specweave-github/lib/github-epic-sync.js +0 -488
- package/plugins/specweave-github/lib/github-epic-sync.ts +0 -715
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Increment Issue Builder - Generate GitHub issues from increment spec.md
|
|
3
|
+
*
|
|
4
|
+
* For brownfield projects without full living docs structure,
|
|
5
|
+
* this builder extracts User Stories and ACs directly from spec.md
|
|
6
|
+
* and generates properly formatted GitHub issues.
|
|
7
|
+
*
|
|
8
|
+
* Correct format: [FS-XXX][US-YYY] User Story Title
|
|
9
|
+
* With ACs as checkable items in issue body.
|
|
10
|
+
*
|
|
11
|
+
* @see ADR-0143 (GitHub Issue Format)
|
|
12
|
+
*/
|
|
13
|
+
import { readFile } from 'fs/promises';
|
|
14
|
+
import { existsSync } from 'fs';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
import * as yaml from 'yaml';
|
|
17
|
+
export class IncrementIssueBuilder {
|
|
18
|
+
constructor(incrementPath, projectRoot) {
|
|
19
|
+
this.incrementPath = incrementPath;
|
|
20
|
+
this.projectRoot = projectRoot;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse increment spec.md and extract all data
|
|
24
|
+
*/
|
|
25
|
+
async parse() {
|
|
26
|
+
const specPath = path.join(this.incrementPath, 'spec.md');
|
|
27
|
+
if (!existsSync(specPath)) {
|
|
28
|
+
throw new Error(`spec.md not found at ${specPath}`);
|
|
29
|
+
}
|
|
30
|
+
const content = await readFile(specPath, 'utf-8');
|
|
31
|
+
// Extract YAML frontmatter
|
|
32
|
+
const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
33
|
+
if (!frontmatterMatch) {
|
|
34
|
+
throw new Error('spec.md missing YAML frontmatter');
|
|
35
|
+
}
|
|
36
|
+
const frontmatter = yaml.parse(frontmatterMatch[1]);
|
|
37
|
+
const bodyContent = content.slice(frontmatterMatch[0].length).trim();
|
|
38
|
+
// Extract main title
|
|
39
|
+
const titleMatch = bodyContent.match(/^#\s+(.+)$/m);
|
|
40
|
+
const title = titleMatch ? titleMatch[1].trim() : frontmatter.increment;
|
|
41
|
+
// Extract problem statement
|
|
42
|
+
const problemStatement = this.extractSection(bodyContent, 'Problem Statement');
|
|
43
|
+
// Extract user stories
|
|
44
|
+
const userStories = this.extractUserStories(bodyContent);
|
|
45
|
+
// Extract out of scope
|
|
46
|
+
const outOfScopeSection = this.extractSection(bodyContent, 'Out of Scope');
|
|
47
|
+
const outOfScope = outOfScopeSection
|
|
48
|
+
.split('\n')
|
|
49
|
+
.filter(line => line.startsWith('-'))
|
|
50
|
+
.map(line => line.replace(/^-\s*/, '').trim());
|
|
51
|
+
// Extract tasks from tasks.md
|
|
52
|
+
const tasks = await this.extractTasks();
|
|
53
|
+
return {
|
|
54
|
+
frontmatter,
|
|
55
|
+
title,
|
|
56
|
+
problemStatement,
|
|
57
|
+
userStories,
|
|
58
|
+
tasks,
|
|
59
|
+
outOfScope,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Extract tasks from tasks.md
|
|
64
|
+
*/
|
|
65
|
+
async extractTasks() {
|
|
66
|
+
const tasksPath = path.join(this.incrementPath, 'tasks.md');
|
|
67
|
+
if (!existsSync(tasksPath)) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const content = await readFile(tasksPath, 'utf-8');
|
|
72
|
+
const tasks = [];
|
|
73
|
+
// Split by task headers: ### T-XXX: Title
|
|
74
|
+
const taskBlocks = content.split(/(?=###\s+T-\d+)/);
|
|
75
|
+
for (const block of taskBlocks) {
|
|
76
|
+
const headerMatch = block.match(/###\s+(T-\d+):\s*(.+)/);
|
|
77
|
+
if (!headerMatch)
|
|
78
|
+
continue;
|
|
79
|
+
const id = headerMatch[1];
|
|
80
|
+
const title = headerMatch[2].trim();
|
|
81
|
+
// Extract status: **Status**: [x] completed or **Status**: [ ] pending
|
|
82
|
+
const statusMatch = block.match(/\*\*Status\*\*:\s*\[([x\s])\]/i);
|
|
83
|
+
const completed = statusMatch ? statusMatch[1].toLowerCase() === 'x' : false;
|
|
84
|
+
// Extract user stories: **User Story**: US-001 or **Satisfies ACs**: AC-US1-01
|
|
85
|
+
const userStoryMatch = block.match(/\*\*User Story\*\*:\s*([^\n]+)/i);
|
|
86
|
+
const satisfiesMatch = block.match(/\*\*Satisfies ACs?\*\*:\s*([^\n]+)/i);
|
|
87
|
+
let userStories = [];
|
|
88
|
+
if (userStoryMatch) {
|
|
89
|
+
userStories = userStoryMatch[1].split(',').map(s => s.trim());
|
|
90
|
+
}
|
|
91
|
+
else if (satisfiesMatch) {
|
|
92
|
+
// Extract US IDs from AC IDs (AC-US1-01 → US-001)
|
|
93
|
+
const acIds = satisfiesMatch[1].split(',').map(s => s.trim());
|
|
94
|
+
const usIds = new Set();
|
|
95
|
+
for (const ac of acIds) {
|
|
96
|
+
const usMatch = ac.match(/AC-(US\d+)-/i);
|
|
97
|
+
if (usMatch) {
|
|
98
|
+
usIds.add(usMatch[1]);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
userStories = Array.from(usIds);
|
|
102
|
+
}
|
|
103
|
+
// Extract priority
|
|
104
|
+
const priorityMatch = block.match(/\*\*Priority\*\*:\s*(P\d)/i);
|
|
105
|
+
const priority = priorityMatch ? priorityMatch[1] : undefined;
|
|
106
|
+
tasks.push({
|
|
107
|
+
id,
|
|
108
|
+
title,
|
|
109
|
+
completed,
|
|
110
|
+
userStories,
|
|
111
|
+
priority,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return tasks;
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Extract a section by heading
|
|
122
|
+
*/
|
|
123
|
+
extractSection(content, heading) {
|
|
124
|
+
const regex = new RegExp(`##\\s+${heading}\\s*\\n([\\s\\S]*?)(?=\\n##\\s|$)`, 'i');
|
|
125
|
+
const match = content.match(regex);
|
|
126
|
+
return match ? match[1].trim() : '';
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Extract user stories from spec.md
|
|
130
|
+
*/
|
|
131
|
+
extractUserStories(content) {
|
|
132
|
+
const stories = [];
|
|
133
|
+
// Find User Stories section
|
|
134
|
+
const userStoriesSection = this.extractSection(content, 'User Stories');
|
|
135
|
+
if (!userStoriesSection) {
|
|
136
|
+
return stories;
|
|
137
|
+
}
|
|
138
|
+
// Split by ### US-XXX headers
|
|
139
|
+
const storyBlocks = userStoriesSection.split(/(?=###\s+US-\d+)/);
|
|
140
|
+
for (const block of storyBlocks) {
|
|
141
|
+
const headerMatch = block.match(/###\s+(US-\d+):\s*(.+)/);
|
|
142
|
+
if (!headerMatch)
|
|
143
|
+
continue;
|
|
144
|
+
const id = headerMatch[1];
|
|
145
|
+
const title = headerMatch[2].trim();
|
|
146
|
+
// Extract As a/I want/So that
|
|
147
|
+
const asAMatch = block.match(/\*\*As a\*\*\s+([^\n]+)/i);
|
|
148
|
+
const iWantMatch = block.match(/\*\*I want\*\*\s+([^\n]+)/i);
|
|
149
|
+
const soThatMatch = block.match(/\*\*So that\*\*\s+([^\n]+)/i);
|
|
150
|
+
// Extract Acceptance Criteria
|
|
151
|
+
const acceptanceCriteria = this.extractAcceptanceCriteria(block, id);
|
|
152
|
+
stories.push({
|
|
153
|
+
id,
|
|
154
|
+
title,
|
|
155
|
+
asA: asAMatch ? asAMatch[1].trim().replace(/,$/, '') : '',
|
|
156
|
+
iWant: iWantMatch ? iWantMatch[1].trim().replace(/,$/, '') : '',
|
|
157
|
+
soThat: soThatMatch ? soThatMatch[1].trim().replace(/\.$/, '') : '',
|
|
158
|
+
acceptanceCriteria,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
return stories;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Extract acceptance criteria from a user story block
|
|
165
|
+
*/
|
|
166
|
+
extractAcceptanceCriteria(block, userStoryId) {
|
|
167
|
+
const criteria = [];
|
|
168
|
+
// Pattern: - [x] **AC-US1-01**: Description or - [ ] **AC-US1-01**: Description
|
|
169
|
+
const acPattern = /-\s*\[([ x])\]\s*\*\*AC-(US\d+)-(\d+)\*\*:\s*(.+)/gi;
|
|
170
|
+
let match;
|
|
171
|
+
while ((match = acPattern.exec(block)) !== null) {
|
|
172
|
+
const completed = match[1].toLowerCase() === 'x';
|
|
173
|
+
const usNum = match[2];
|
|
174
|
+
const acNum = match[3];
|
|
175
|
+
const description = match[4].trim();
|
|
176
|
+
criteria.push({
|
|
177
|
+
id: `AC-${usNum}-${acNum}`,
|
|
178
|
+
description,
|
|
179
|
+
completed,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return criteria;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Build GitHub issue for a single user story
|
|
186
|
+
*/
|
|
187
|
+
buildUserStoryIssue(story, incrementData, githubRepo) {
|
|
188
|
+
const featureId = incrementData.frontmatter.feature_id || this.generateFeatureId(incrementData);
|
|
189
|
+
const incrementId = incrementData.frontmatter.increment;
|
|
190
|
+
// Title format: [FS-XXX][US-YYY] User Story Title
|
|
191
|
+
const title = `[${featureId}][${story.id}] ${story.title}`;
|
|
192
|
+
// Build body
|
|
193
|
+
let body = '';
|
|
194
|
+
// Header with metadata
|
|
195
|
+
body += `**Feature**: ${featureId}\n`;
|
|
196
|
+
body += `**Status**: ${incrementData.frontmatter.status || 'planning'}\n`;
|
|
197
|
+
body += `**Priority**: P1\n`;
|
|
198
|
+
body += `\n---\n\n`;
|
|
199
|
+
// User Story description
|
|
200
|
+
body += `## User Story\n\n`;
|
|
201
|
+
if (story.asA && story.iWant && story.soThat) {
|
|
202
|
+
body += `**As a** ${story.asA}\n`;
|
|
203
|
+
body += `**I want** ${story.iWant}\n`;
|
|
204
|
+
body += `**So that** ${story.soThat}\n\n`;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
body += `${story.title}\n\n`;
|
|
208
|
+
}
|
|
209
|
+
body += `---\n\n`;
|
|
210
|
+
// Acceptance Criteria (checkable!)
|
|
211
|
+
body += `## Acceptance Criteria\n\n`;
|
|
212
|
+
if (story.acceptanceCriteria.length > 0) {
|
|
213
|
+
const completed = story.acceptanceCriteria.filter(ac => ac.completed).length;
|
|
214
|
+
const total = story.acceptanceCriteria.length;
|
|
215
|
+
const percentage = total > 0 ? Math.round((completed / total) * 100) : 0;
|
|
216
|
+
body += `Progress: ${completed}/${total} criteria met (${percentage}%)\n\n`;
|
|
217
|
+
for (const ac of story.acceptanceCriteria) {
|
|
218
|
+
const checkbox = ac.completed ? '[x]' : '[ ]';
|
|
219
|
+
body += `- ${checkbox} **${ac.id}**: ${ac.description}\n`;
|
|
220
|
+
}
|
|
221
|
+
body += '\n';
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
body += `*No acceptance criteria defined*\n\n`;
|
|
225
|
+
}
|
|
226
|
+
body += `---\n\n`;
|
|
227
|
+
// Link to increment
|
|
228
|
+
body += `## Implementation\n\n`;
|
|
229
|
+
if (githubRepo) {
|
|
230
|
+
body += `**Increment**: [${incrementId}](https://github.com/${githubRepo}/tree/develop/.specweave/increments/${incrementId})\n\n`;
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
body += `**Increment**: ${incrementId}\n\n`;
|
|
234
|
+
}
|
|
235
|
+
body += `---\n\n`;
|
|
236
|
+
body += `🤖 Auto-synced by SpecWeave Increment Sync`;
|
|
237
|
+
// Labels
|
|
238
|
+
const labels = ['specweave', 'user-story'];
|
|
239
|
+
if (incrementData.frontmatter.type) {
|
|
240
|
+
labels.push(incrementData.frontmatter.type);
|
|
241
|
+
}
|
|
242
|
+
return { title, body, labels };
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Build GitHub issue for the entire increment (epic-style)
|
|
246
|
+
*/
|
|
247
|
+
buildIncrementIssue(incrementData, githubRepo) {
|
|
248
|
+
const featureId = incrementData.frontmatter.feature_id || this.generateFeatureId(incrementData);
|
|
249
|
+
const incrementId = incrementData.frontmatter.increment;
|
|
250
|
+
// Title format: [FS-XXX] Increment Title
|
|
251
|
+
const title = `[${featureId}] ${incrementData.title}`;
|
|
252
|
+
// Build body
|
|
253
|
+
let body = '';
|
|
254
|
+
// Header with metadata
|
|
255
|
+
body += `**Increment**: ${incrementId}\n`;
|
|
256
|
+
body += `**Status**: ${incrementData.frontmatter.status || 'planning'}\n`;
|
|
257
|
+
body += `**Priority**: P0 (Critical)\n`;
|
|
258
|
+
// Calculate progress
|
|
259
|
+
const totalACs = incrementData.userStories.reduce((sum, us) => sum + us.acceptanceCriteria.length, 0);
|
|
260
|
+
const completedACs = incrementData.userStories.reduce((sum, us) => sum + us.acceptanceCriteria.filter(ac => ac.completed).length, 0);
|
|
261
|
+
const percentage = totalACs > 0 ? Math.round((completedACs / totalACs) * 100) : 0;
|
|
262
|
+
body += `**Progress**: ${completedACs}/${totalACs} ACs (${percentage}%)\n`;
|
|
263
|
+
body += `\n---\n\n`;
|
|
264
|
+
// Overview
|
|
265
|
+
body += `## Overview\n\n`;
|
|
266
|
+
body += incrementData.problemStatement || incrementData.title;
|
|
267
|
+
body += `\n\n---\n\n`;
|
|
268
|
+
// User Stories with ACs
|
|
269
|
+
body += `## User Stories\n\n`;
|
|
270
|
+
for (const story of incrementData.userStories) {
|
|
271
|
+
const usCompleted = story.acceptanceCriteria.filter(ac => ac.completed).length;
|
|
272
|
+
const usTotal = story.acceptanceCriteria.length;
|
|
273
|
+
const usCheckbox = usCompleted === usTotal && usTotal > 0 ? '[x]' : '[ ]';
|
|
274
|
+
body += `### ${usCheckbox} ${story.id}: ${story.title}\n\n`;
|
|
275
|
+
if (story.asA && story.iWant && story.soThat) {
|
|
276
|
+
body += `> **As a** ${story.asA}, **I want** ${story.iWant}, **So that** ${story.soThat}\n\n`;
|
|
277
|
+
}
|
|
278
|
+
body += `**Acceptance Criteria:**\n`;
|
|
279
|
+
for (const ac of story.acceptanceCriteria) {
|
|
280
|
+
const checkbox = ac.completed ? '[x]' : '[ ]';
|
|
281
|
+
body += `- ${checkbox} **${ac.id}**: ${ac.description}\n`;
|
|
282
|
+
}
|
|
283
|
+
body += '\n';
|
|
284
|
+
}
|
|
285
|
+
body += `---\n\n`;
|
|
286
|
+
// Tasks section
|
|
287
|
+
if (incrementData.tasks.length > 0) {
|
|
288
|
+
body += `## Tasks\n\n`;
|
|
289
|
+
const completedTasks = incrementData.tasks.filter(t => t.completed).length;
|
|
290
|
+
const totalTasks = incrementData.tasks.length;
|
|
291
|
+
const taskPercentage = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;
|
|
292
|
+
body += `Progress: ${completedTasks}/${totalTasks} tasks (${taskPercentage}%)\n\n`;
|
|
293
|
+
for (const task of incrementData.tasks) {
|
|
294
|
+
const checkbox = task.completed ? '[x]' : '[ ]';
|
|
295
|
+
body += `- ${checkbox} **${task.id}**: ${task.title}\n`;
|
|
296
|
+
if (task.priority || task.userStories.length > 0) {
|
|
297
|
+
const parts = [];
|
|
298
|
+
if (task.priority)
|
|
299
|
+
parts.push(`Priority: ${task.priority}`);
|
|
300
|
+
if (task.userStories.length > 0)
|
|
301
|
+
parts.push(`User ${task.userStories.length === 1 ? 'Story' : 'Stories'}: ${task.userStories.join(', ')}`);
|
|
302
|
+
body += ` - ${parts.join(' | ')}\n`;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
body += '\n---\n\n';
|
|
306
|
+
}
|
|
307
|
+
// Links to increment files
|
|
308
|
+
body += `## SpecWeave Increment\n\n`;
|
|
309
|
+
if (githubRepo) {
|
|
310
|
+
body += `- **Spec**: [\`spec.md\`](https://github.com/${githubRepo}/blob/develop/.specweave/increments/${incrementId}/spec.md)\n`;
|
|
311
|
+
body += `- **Plan**: [\`plan.md\`](https://github.com/${githubRepo}/blob/develop/.specweave/increments/${incrementId}/plan.md)\n`;
|
|
312
|
+
body += `- **Tasks**: [\`tasks.md\`](https://github.com/${githubRepo}/blob/develop/.specweave/increments/${incrementId}/tasks.md)\n`;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
body += `- **Spec**: \`spec.md\`\n`;
|
|
316
|
+
body += `- **Plan**: \`plan.md\`\n`;
|
|
317
|
+
body += `- **Tasks**: \`tasks.md\`\n`;
|
|
318
|
+
}
|
|
319
|
+
body += `\n---\n\n`;
|
|
320
|
+
body += `🤖 Auto-synced by SpecWeave Increment Sync`;
|
|
321
|
+
// Labels
|
|
322
|
+
const labels = ['specweave', 'increment', 'enhancement'];
|
|
323
|
+
if (incrementData.frontmatter.type) {
|
|
324
|
+
labels.push(incrementData.frontmatter.type);
|
|
325
|
+
}
|
|
326
|
+
return { title, body, labels };
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Generate a feature ID if not present in frontmatter
|
|
330
|
+
* Uses date-based format: FS-YY-MM-DD
|
|
331
|
+
*/
|
|
332
|
+
generateFeatureId(incrementData) {
|
|
333
|
+
// Try to extract increment number
|
|
334
|
+
const incrementNum = incrementData.frontmatter.increment.match(/^(\d+)/)?.[1];
|
|
335
|
+
if (incrementNum) {
|
|
336
|
+
return `FS-${incrementNum.padStart(3, '0')}`;
|
|
337
|
+
}
|
|
338
|
+
// Fallback to date-based
|
|
339
|
+
const created = incrementData.frontmatter.created;
|
|
340
|
+
if (created) {
|
|
341
|
+
const match = created.match(/^(\d{4})-(\d{2})-(\d{2})/);
|
|
342
|
+
if (match) {
|
|
343
|
+
return `FS-${match[1].slice(2)}-${match[2]}-${match[3]}`;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return 'FS-UNKNOWN';
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=increment-issue-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"increment-issue-builder.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/increment-issue-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira Board Resolution for Hierarchical Sync
|
|
3
|
+
*
|
|
4
|
+
* Resolves board names to board IDs for use in JQL queries.
|
|
5
|
+
* Supports Jira Agile (Software) boards.
|
|
6
|
+
*/
|
|
7
|
+
import { JiraClient } from '../../../src/integrations/jira/jira-client.js';
|
|
8
|
+
/**
|
|
9
|
+
* Jira Board (Agile API)
|
|
10
|
+
*/
|
|
11
|
+
export interface JiraBoard {
|
|
12
|
+
id: number;
|
|
13
|
+
name: string;
|
|
14
|
+
type: 'scrum' | 'kanban' | 'simple';
|
|
15
|
+
self: string;
|
|
16
|
+
location?: {
|
|
17
|
+
projectId: number;
|
|
18
|
+
projectKey: string;
|
|
19
|
+
projectName: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Fetch all boards for a Jira project
|
|
24
|
+
*
|
|
25
|
+
* Uses Jira Agile REST API: GET /rest/agile/1.0/board?projectKeyOrId={projectKey}
|
|
26
|
+
*
|
|
27
|
+
* @param client JiraClient instance
|
|
28
|
+
* @param projectKey Jira project key (e.g., "PROJECT-A")
|
|
29
|
+
* @returns Array of boards in the project
|
|
30
|
+
*/
|
|
31
|
+
export declare function fetchBoardsForProject(client: JiraClient, projectKey: string): Promise<JiraBoard[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Resolve board names to board IDs
|
|
34
|
+
*
|
|
35
|
+
* @param client JiraClient instance
|
|
36
|
+
* @param projectKey Jira project key
|
|
37
|
+
* @param boardNames Array of board names to resolve
|
|
38
|
+
* @returns Map of board name → board ID
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveBoardNames(client: JiraClient, projectKey: string, boardNames: string[]): Promise<Map<string, number>>;
|
|
41
|
+
/**
|
|
42
|
+
* Get board IDs for a list of board names (helper function)
|
|
43
|
+
*
|
|
44
|
+
* @param client JiraClient instance
|
|
45
|
+
* @param projectKey Jira project key
|
|
46
|
+
* @param boardNames Array of board names
|
|
47
|
+
* @returns Array of board IDs (skips boards not found)
|
|
48
|
+
*/
|
|
49
|
+
export declare function getBoardIds(client: JiraClient, projectKey: string, boardNames: string[]): Promise<number[]>;
|
|
50
|
+
//# sourceMappingURL=jira-board-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira-board-resolver.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-board-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAmCtB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB9B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira Board Resolution for Hierarchical Sync
|
|
3
|
+
*
|
|
4
|
+
* Resolves board names to board IDs for use in JQL queries.
|
|
5
|
+
* Supports Jira Agile (Software) boards.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Fetch all boards for a Jira project
|
|
9
|
+
*
|
|
10
|
+
* Uses Jira Agile REST API: GET /rest/agile/1.0/board?projectKeyOrId={projectKey}
|
|
11
|
+
*
|
|
12
|
+
* @param client JiraClient instance
|
|
13
|
+
* @param projectKey Jira project key (e.g., "PROJECT-A")
|
|
14
|
+
* @returns Array of boards in the project
|
|
15
|
+
*/
|
|
16
|
+
export async function fetchBoardsForProject(client, projectKey) {
|
|
17
|
+
console.log(`🔍 Fetching boards for project: ${projectKey}`);
|
|
18
|
+
try {
|
|
19
|
+
// Access private baseUrl and getAuthHeader via reflection (not ideal but necessary)
|
|
20
|
+
const baseUrl = client.baseUrl;
|
|
21
|
+
const authHeader = client.getAuthHeader();
|
|
22
|
+
const url = `${baseUrl}/rest/agile/1.0/board?projectKeyOrId=${projectKey}`;
|
|
23
|
+
const response = await fetch(url, {
|
|
24
|
+
method: 'GET',
|
|
25
|
+
headers: {
|
|
26
|
+
'Authorization': authHeader,
|
|
27
|
+
'Content-Type': 'application/json',
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
if (!response.ok) {
|
|
31
|
+
const error = await response.text();
|
|
32
|
+
console.error(`❌ Failed to fetch boards for ${projectKey}:`, error);
|
|
33
|
+
throw new Error(`Jira API error: ${response.status} ${error}`);
|
|
34
|
+
}
|
|
35
|
+
const data = await response.json();
|
|
36
|
+
const boards = data.values || [];
|
|
37
|
+
console.log(`✅ Found ${boards.length} board(s) for project ${projectKey}`);
|
|
38
|
+
return boards;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error(`❌ Error fetching boards for ${projectKey}:`, error.message);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Resolve board names to board IDs
|
|
47
|
+
*
|
|
48
|
+
* @param client JiraClient instance
|
|
49
|
+
* @param projectKey Jira project key
|
|
50
|
+
* @param boardNames Array of board names to resolve
|
|
51
|
+
* @returns Map of board name → board ID
|
|
52
|
+
*/
|
|
53
|
+
export async function resolveBoardNames(client, projectKey, boardNames) {
|
|
54
|
+
if (!boardNames || boardNames.length === 0) {
|
|
55
|
+
return new Map();
|
|
56
|
+
}
|
|
57
|
+
const boards = await fetchBoardsForProject(client, projectKey);
|
|
58
|
+
const boardMap = new Map();
|
|
59
|
+
for (const boardName of boardNames) {
|
|
60
|
+
const board = boards.find((b) => b.name.toLowerCase() === boardName.toLowerCase());
|
|
61
|
+
if (board) {
|
|
62
|
+
boardMap.set(boardName, board.id);
|
|
63
|
+
console.log(`✅ Resolved board "${boardName}" → ID ${board.id}`);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
console.warn(`⚠️ Board "${boardName}" not found in project ${projectKey}`);
|
|
67
|
+
// Don't throw - just skip this board (user may have typo or board was deleted)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return boardMap;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get board IDs for a list of board names (helper function)
|
|
74
|
+
*
|
|
75
|
+
* @param client JiraClient instance
|
|
76
|
+
* @param projectKey Jira project key
|
|
77
|
+
* @param boardNames Array of board names
|
|
78
|
+
* @returns Array of board IDs (skips boards not found)
|
|
79
|
+
*/
|
|
80
|
+
export async function getBoardIds(client, projectKey, boardNames) {
|
|
81
|
+
const boardMap = await resolveBoardNames(client, projectKey, boardNames);
|
|
82
|
+
return Array.from(boardMap.values());
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=jira-board-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira-board-resolver.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-board-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-external.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAErD,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2LD;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"import-external.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAErD,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2LD;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoPjG"}
|
|
@@ -323,21 +323,26 @@ export async function importExternal(projectRoot, args) {
|
|
|
323
323
|
const itemsByRepo = groupItemsBySourceRepo(allItems);
|
|
324
324
|
const repoCount = itemsByRepo.size;
|
|
325
325
|
const allConverted = [];
|
|
326
|
+
// Enable global collision detection when multiple repos exist (umbrella mode)
|
|
327
|
+
const isUmbrellaMode = repoCount > 1;
|
|
326
328
|
for (const [repoKey, items] of itemsByRepo.entries()) {
|
|
327
329
|
// Determine project ID:
|
|
328
330
|
// - For multi-repo: use repo name (e.g., "sw-thumbnail-ab-be")
|
|
329
|
-
// - For single-repo/no sourceRepo:
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
: 'Converting items to living docs...';
|
|
331
|
+
// - For single-repo/no sourceRepo: use 'parent' (consistent structure)
|
|
332
|
+
// NOTE: We ALWAYS use a project folder now, never direct to specs/
|
|
333
|
+
const projectId = repoKey === '_default' ? 'parent' : repoKey;
|
|
334
|
+
conversionSpinner.text = `Converting items from ${projectId}...`;
|
|
334
335
|
// Create converter for this project/repo
|
|
335
336
|
const converter = new ItemConverter({
|
|
336
337
|
specsDir,
|
|
337
338
|
projectRoot,
|
|
338
339
|
enableFeatureAllocation: true,
|
|
339
340
|
enableDuplicateDetection: true,
|
|
341
|
+
// Always use project folder - 'parent' for single-repo, repo name for multi-repo
|
|
340
342
|
projectId,
|
|
343
|
+
// CRITICAL: Enable global collision detection in umbrella mode
|
|
344
|
+
// This prevents FS-001 in project-a colliding with FS-001E in project-b
|
|
345
|
+
enableGlobalCollisionDetection: isUmbrellaMode,
|
|
341
346
|
onDuplicateSkipped: (externalId, existingUsId) => {
|
|
342
347
|
console.log(chalk.dim(` ⏭️ Skipped duplicate: ${externalId} (already imported as ${existingUsId})`));
|
|
343
348
|
},
|
|
@@ -348,10 +353,10 @@ export async function importExternal(projectRoot, args) {
|
|
|
348
353
|
convertedCount = allConverted.length;
|
|
349
354
|
skippedCount = allItems.length - convertedCount;
|
|
350
355
|
if (repoCount > 1) {
|
|
351
|
-
conversionSpinner.succeed(`Converted ${convertedCount} items to living docs (${repoCount} project folders)`);
|
|
356
|
+
conversionSpinner.succeed(`Converted ${convertedCount} items to living docs (${repoCount} project folders, global collision detection enabled)`);
|
|
352
357
|
}
|
|
353
358
|
else {
|
|
354
|
-
conversionSpinner.succeed(`Converted ${convertedCount} items to living docs`);
|
|
359
|
+
conversionSpinner.succeed(`Converted ${convertedCount} items to living docs (specs/parent/)`);
|
|
355
360
|
}
|
|
356
361
|
}
|
|
357
362
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-external.js","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import-external.js","sourceRoot":"","sources":["../../../../src/cli/commands/import-external.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-import.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwC,iBAAiB,EAAgB,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"external-import.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwC,iBAAiB,EAAgB,MAAM,0CAA0C,CAAC;AAOjI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAiPrE;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAmI5B"}
|