specweave 0.14.0 β 0.15.1
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 +58 -9
- package/bin/specweave.js +65 -0
- package/dist/cli/commands/migrate-to-profiles.d.ts.map +1 -1
- package/dist/cli/commands/migrate-to-profiles.js +0 -2
- package/dist/cli/commands/migrate-to-profiles.js.map +1 -1
- package/dist/core/sync/folder-mapper.d.ts.map +1 -1
- package/dist/core/sync/folder-mapper.js +70 -35
- package/dist/core/sync/folder-mapper.js.map +1 -1
- package/dist/core/sync/profile-validator.d.ts.map +1 -1
- package/dist/core/sync/profile-validator.js +35 -90
- package/dist/core/sync/profile-validator.js.map +1 -1
- package/dist/core/types/sync-profile.d.ts +101 -155
- package/dist/core/types/sync-profile.d.ts.map +1 -1
- package/dist/core/types/sync-profile.js +46 -22
- package/dist/core/types/sync-profile.js.map +1 -1
- package/dist/utils/env-multi-project-parser.d.ts.map +1 -1
- package/dist/utils/env-multi-project-parser.js +0 -2
- package/dist/utils/env-multi-project-parser.js.map +1 -1
- package/dist/utils/project-mapper.d.ts +19 -1
- package/dist/utils/project-mapper.d.ts.map +1 -1
- package/dist/utils/project-mapper.js +7 -4
- package/dist/utils/project-mapper.js.map +1 -1
- package/dist/utils/spec-splitter.d.ts +7 -0
- package/dist/utils/spec-splitter.d.ts.map +1 -1
- package/dist/utils/spec-splitter.js +20 -2
- package/dist/utils/spec-splitter.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +40 -7
- package/plugins/specweave-ado/lib/ado-multi-project-sync.ts +49 -7
- package/plugins/specweave-github/hooks/hooks.json +0 -11
- package/plugins/specweave-github/lib/github-multi-project-sync.js +58 -5
- package/plugins/specweave-github/lib/github-multi-project-sync.ts +80 -4
- package/plugins/specweave-jira/lib/jira-multi-project-sync.js +30 -5
- package/plugins/specweave-jira/lib/jira-multi-project-sync.ts +34 -5
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# SpecWeave
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **1 Senior Developer = Full Engineering Team**
|
|
4
|
+
|
|
5
|
+
The framework that turns solo builders into unicorn-level engineering teams.
|
|
4
6
|
|
|
5
7
|
[](https://opensource.org/licenses/MIT)
|
|
6
8
|
[](https://github.com/anton-abyzov/specweave/actions/workflows/test.yml)
|
|
@@ -23,6 +25,42 @@
|
|
|
23
25
|
|
|
24
26
|
---
|
|
25
27
|
|
|
28
|
+
## π¦ The Solo Builder Revolution
|
|
29
|
+
|
|
30
|
+
**The Truth Nobody Talks About:**
|
|
31
|
+
- **Stripe:** Started with 2 engineers
|
|
32
|
+
- **Instagram:** 1 engineer (Kevin Systrom) until 100M users
|
|
33
|
+
- **WhatsApp:** 32 engineers serving 450M users (14M users per engineer!)
|
|
34
|
+
- **Plaid:** 3 founding engineers built a $13B company
|
|
35
|
+
|
|
36
|
+
**What they had that you don't:**
|
|
37
|
+
- Enterprise-grade documentation processes
|
|
38
|
+
- Architecture decision records (ADRs)
|
|
39
|
+
- Living runbooks and operational docs
|
|
40
|
+
- Spec-driven development discipline
|
|
41
|
+
|
|
42
|
+
**With SpecWeave:**
|
|
43
|
+
- β
**You get ALL of that** - automatically
|
|
44
|
+
- β
**You ARE the full team** - PM + Architect + QA + DevOps + Tech Writer
|
|
45
|
+
- β
**You CAN build unicorns** - solo, with enterprise-grade quality
|
|
46
|
+
|
|
47
|
+
### What This Replaces:
|
|
48
|
+
|
|
49
|
+
| Role | Annual Cost | SpecWeave Replacement |
|
|
50
|
+
|------|-------------|----------------------|
|
|
51
|
+
| Product Manager | $150K | Auto-generated PRDs + User Stories |
|
|
52
|
+
| System Architect | $180K | Auto-generated ADRs + HLD |
|
|
53
|
+
| Tech Writer | $100K | Living docs auto-sync |
|
|
54
|
+
| QA Lead | $130K | BDD tests embedded |
|
|
55
|
+
| DevOps Engineer | $150K | Production runbooks included |
|
|
56
|
+
| **Total Team Cost** | **$710K/year** | **$0** (free framework) |
|
|
57
|
+
|
|
58
|
+
**ROI:** βΎοΈ (infinite)
|
|
59
|
+
|
|
60
|
+
**You're not hiring a team. You're automating one.** π
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
26
64
|
## If You Get Hit By A Bus
|
|
27
65
|
|
|
28
66
|
Your startup dies with you.
|
|
@@ -53,21 +91,32 @@ But for solo devs and small teams? Impossible to maintain manually.
|
|
|
53
91
|
|
|
54
92
|
---
|
|
55
93
|
|
|
56
|
-
## SpecWeave: Enterprise Standards,
|
|
94
|
+
## SpecWeave: Enterprise Standards, Solo Builder Capability
|
|
57
95
|
|
|
58
|
-
|
|
96
|
+
**The Power Formula:**
|
|
97
|
+
```
|
|
98
|
+
1 Senior + SpecWeave + Claude Code = Full Engineering Team
|
|
99
|
+
```
|
|
59
100
|
|
|
101
|
+
Living documentation that updates automatically after every task.
|
|
60
102
|
The same processes Fortune 500 uses. Without the team. Without the manual work.
|
|
61
103
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
β
**
|
|
104
|
+
### For Juniors:
|
|
105
|
+
- β
**Code like seniors** - Enterprise patterns from day one
|
|
106
|
+
- β
**Think like architects** - ADRs teach you system design
|
|
107
|
+
- β
**Test like QA leads** - BDD embedded in every task
|
|
65
108
|
|
|
66
|
-
|
|
109
|
+
### For Seniors:
|
|
110
|
+
- β
**Build like unicorns** - Solo founder β Unicorn-level product
|
|
111
|
+
- β
**Ship enterprise-grade** - Pass SOC2, land Fortune 500 deals
|
|
112
|
+
- β
**Replace entire teams** - PM + Architect + QA + DevOps + Tech Writer
|
|
67
113
|
|
|
68
|
-
|
|
114
|
+
### For CTOs:
|
|
115
|
+
- β
**Manage without meetings** - Docs are source of truth
|
|
116
|
+
- β
**Scale without chaos** - Standards enforced automatically
|
|
117
|
+
- β
**Audit-ready always** - ISO, SOC2, compliance built-in
|
|
69
118
|
|
|
70
|
-
**AI speed + Enterprise reliability =
|
|
119
|
+
**AI speed + Enterprise reliability + Solo capability = Infinite leverage** π
|
|
71
120
|
|
|
72
121
|
---
|
|
73
122
|
|
package/bin/specweave.js
CHANGED
|
@@ -113,6 +113,69 @@ program
|
|
|
113
113
|
await statusCommand(options);
|
|
114
114
|
});
|
|
115
115
|
|
|
116
|
+
// Status line command - Display current increment progress
|
|
117
|
+
program
|
|
118
|
+
.command('status-line')
|
|
119
|
+
.description('Display current increment status line')
|
|
120
|
+
.option('--json', 'Output JSON format')
|
|
121
|
+
.option('--clear', 'Clear status line cache')
|
|
122
|
+
.option('--config <path>', 'Path to config file')
|
|
123
|
+
.action(async (options) => {
|
|
124
|
+
const { registerStatusLineCommand } = await import('../dist/cli/commands/status-line.js');
|
|
125
|
+
const tempProgram = new Command();
|
|
126
|
+
registerStatusLineCommand(tempProgram);
|
|
127
|
+
// Execute action manually since we need the temp program
|
|
128
|
+
const manager = await import('../dist/core/status-line/status-line-manager.js').then(m => m.StatusLineManager);
|
|
129
|
+
const StatusLineManager = manager;
|
|
130
|
+
const path = await import('path');
|
|
131
|
+
const fs = await import('fs');
|
|
132
|
+
|
|
133
|
+
const rootDir = process.cwd();
|
|
134
|
+
let config = {};
|
|
135
|
+
|
|
136
|
+
if (options.config) {
|
|
137
|
+
const configPath = path.resolve(options.config);
|
|
138
|
+
if (fs.existsSync(configPath)) {
|
|
139
|
+
const configContent = fs.readFileSync(configPath, 'utf8');
|
|
140
|
+
const fullConfig = JSON.parse(configContent);
|
|
141
|
+
config = fullConfig.statusLine || {};
|
|
142
|
+
}
|
|
143
|
+
} else {
|
|
144
|
+
const defaultConfigPath = path.join(rootDir, '.specweave/config.json');
|
|
145
|
+
if (fs.existsSync(defaultConfigPath)) {
|
|
146
|
+
const configContent = fs.readFileSync(defaultConfigPath, 'utf8');
|
|
147
|
+
const fullConfig = JSON.parse(configContent);
|
|
148
|
+
config = fullConfig.statusLine || {};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const statusManager = new StatusLineManager(rootDir, config);
|
|
153
|
+
|
|
154
|
+
if (options.clear) {
|
|
155
|
+
statusManager.clearCache();
|
|
156
|
+
console.log('β
Status line cache cleared');
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (options.json) {
|
|
161
|
+
const cache = statusManager.getCacheData();
|
|
162
|
+
if (!cache) {
|
|
163
|
+
console.log(JSON.stringify({ error: 'No active increment' }, null, 2));
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
console.log(JSON.stringify(cache, null, 2));
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const statusLine = statusManager.render();
|
|
171
|
+
if (!statusLine) {
|
|
172
|
+
console.log('No active increment');
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
console.log(statusLine);
|
|
177
|
+
});
|
|
178
|
+
|
|
116
179
|
// Check discipline command - Validate increment discipline
|
|
117
180
|
program
|
|
118
181
|
.command('check-discipline')
|
|
@@ -184,6 +247,8 @@ program.on('--help', () => {
|
|
|
184
247
|
console.log(' $ specweave list --installed # Show installed components');
|
|
185
248
|
console.log(' $ specweave status # Show all increments status');
|
|
186
249
|
console.log(' $ specweave status --verbose # Show detailed increment info');
|
|
250
|
+
console.log(' $ specweave status-line # Display current increment progress');
|
|
251
|
+
console.log(' $ specweave status-line --json # Output progress as JSON');
|
|
187
252
|
console.log(' $ specweave pause 0007 --reason "blocked" # Pause increment 0007');
|
|
188
253
|
console.log(' $ specweave resume 0007 # Resume increment 0007');
|
|
189
254
|
console.log(' $ specweave abandon 0007 --reason "obsolete" # Abandon increment 0007');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-to-profiles.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA0K1B;
|
|
1
|
+
{"version":3,"file":"migrate-to-profiles.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA0K1B;AA2ND,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
|
|
@@ -300,7 +300,6 @@ function createJiraProfile(config) {
|
|
|
300
300
|
config: {
|
|
301
301
|
domain: config.domain,
|
|
302
302
|
projectKey: config.projectKey,
|
|
303
|
-
issueType: 'Epic',
|
|
304
303
|
},
|
|
305
304
|
timeRange: {
|
|
306
305
|
default: '1M',
|
|
@@ -320,7 +319,6 @@ function createAdoProfile(config) {
|
|
|
320
319
|
config: {
|
|
321
320
|
organization: config.organization,
|
|
322
321
|
project: config.project,
|
|
323
|
-
workItemType: 'Epic',
|
|
324
322
|
},
|
|
325
323
|
timeRange: {
|
|
326
324
|
default: '1M',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-to-profiles.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate-to-profiles.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-to-profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-mapper.d.ts","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EAIZ,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"folder-mapper.d.ts","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EAIZ,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAyDxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoDf"}
|
|
@@ -20,45 +20,58 @@ export function getSpecsFoldersForProfile(profile) {
|
|
|
20
20
|
const folders = [];
|
|
21
21
|
if (profile.provider === 'ado') {
|
|
22
22
|
const config = profile.config;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
// v0.13.0+ architecture
|
|
24
|
+
if (config.projects && config.projects.length > 0) {
|
|
25
|
+
// Multiple projects β multiple folders
|
|
26
|
+
for (const project of config.projects) {
|
|
27
|
+
const folderName = slugify(project);
|
|
28
|
+
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (config.areaPaths && config.areaPaths.length > 0) {
|
|
32
|
+
// Single project + area paths β multiple folders
|
|
33
|
+
for (const areaPath of config.areaPaths) {
|
|
34
|
+
const folderName = slugify(areaPath);
|
|
27
35
|
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
28
36
|
}
|
|
29
37
|
}
|
|
30
38
|
else {
|
|
31
|
-
// Single project
|
|
32
|
-
const folderName = slugify(config.project);
|
|
39
|
+
// Single project β default folder
|
|
40
|
+
const folderName = slugify(config.project || 'default');
|
|
33
41
|
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
34
42
|
}
|
|
35
43
|
}
|
|
36
44
|
else if (profile.provider === 'jira') {
|
|
37
45
|
const config = profile.config;
|
|
38
|
-
|
|
46
|
+
// v0.13.0+ architecture
|
|
47
|
+
if (config.projects && config.projects.length > 0) {
|
|
39
48
|
// Multiple projects β multiple folders
|
|
40
|
-
for (const projectKey of config.projects
|
|
41
|
-
const folderName = slugify(projectKey);
|
|
42
|
-
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else if (config.strategy === 'shared-project-with-components') {
|
|
46
|
-
// Components β multiple folders
|
|
47
|
-
for (const component of config.components || []) {
|
|
48
|
-
const folderName = slugify(component); // "Frontend" β "frontend"
|
|
49
|
+
for (const projectKey of config.projects) {
|
|
50
|
+
const folderName = slugify(projectKey);
|
|
49
51
|
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
else {
|
|
53
|
-
//
|
|
55
|
+
// Single project β single folder
|
|
54
56
|
const folderName = slugify(config.projectKey || 'default');
|
|
55
57
|
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
else if (profile.provider === 'github') {
|
|
59
61
|
const config = profile.config;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
// v0.13.0+ architecture
|
|
63
|
+
if (config.repos && config.repos.length > 0) {
|
|
64
|
+
// Multiple repos β multiple folders
|
|
65
|
+
for (const repo of config.repos) {
|
|
66
|
+
const folderName = slugify(repo);
|
|
67
|
+
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// Single repo β single folder
|
|
72
|
+
const folderName = slugify(config.repo || 'default');
|
|
73
|
+
folders.push(`.specweave/docs/internal/specs/${folderName}`);
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
76
|
return folders;
|
|
64
77
|
}
|
|
@@ -137,32 +150,54 @@ export function getFolderNameFromAreaPath(areaPath) {
|
|
|
137
150
|
export function getTeamFromFolder(profile, folderName) {
|
|
138
151
|
if (profile.provider === 'ado') {
|
|
139
152
|
const config = profile.config;
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
153
|
+
// v0.13.0+: Check projects[]
|
|
154
|
+
const projects = config.projects || [];
|
|
155
|
+
for (const project of projects) {
|
|
156
|
+
if (slugify(project) === folderName) {
|
|
157
|
+
return project;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// v0.13.0+: Check areaPaths[]
|
|
161
|
+
const areaPaths = config.areaPaths || [];
|
|
162
|
+
for (const areaPath of areaPaths) {
|
|
163
|
+
if (slugify(areaPath) === folderName) {
|
|
164
|
+
return areaPath;
|
|
144
165
|
}
|
|
145
166
|
}
|
|
146
167
|
}
|
|
147
168
|
else if (profile.provider === 'jira') {
|
|
148
169
|
const config = profile.config;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
170
|
+
// v0.13.0+: Check projects[]
|
|
171
|
+
const projects = config.projects || [];
|
|
172
|
+
for (const projectKey of projects) {
|
|
173
|
+
if (slugify(projectKey) === folderName) {
|
|
174
|
+
return projectKey;
|
|
155
175
|
}
|
|
156
176
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
177
|
+
// Fallback to projectKey
|
|
178
|
+
if (config.projectKey && slugify(config.projectKey) === folderName) {
|
|
179
|
+
return config.projectKey;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else if (profile.provider === 'github') {
|
|
183
|
+
const config = profile.config;
|
|
184
|
+
// v0.13.0+: Check repos[]
|
|
185
|
+
const repos = config.repos || [];
|
|
186
|
+
for (const repo of repos) {
|
|
187
|
+
if (slugify(repo) === folderName) {
|
|
188
|
+
return repo;
|
|
163
189
|
}
|
|
164
190
|
}
|
|
191
|
+
// Fallback to single repo
|
|
192
|
+
if (config.repo && slugify(config.repo) === folderName) {
|
|
193
|
+
return config.repo;
|
|
194
|
+
}
|
|
165
195
|
}
|
|
166
196
|
return null;
|
|
167
197
|
}
|
|
198
|
+
// NOTE: The following was removed in v0.13.0+ migration:
|
|
199
|
+
// - config.teams (ADO): Use projects[] or areaPaths[] instead
|
|
200
|
+
// - config.strategy (Jira): Removed, use intelligent mapping
|
|
201
|
+
// - config.components (Jira): Use projects[] instead
|
|
202
|
+
// Please update any code that still references these fields.
|
|
168
203
|
//# sourceMappingURL=folder-mapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-mapper.js","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAoB;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAmB,CAAC;QAE3C,IAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"folder-mapper.js","sourceRoot":"","sources":["../../../src/core/sync/folder-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-validator.d.ts","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"profile-validator.d.ts","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,CAyC9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,uBAAuB,CAmD5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB,CAiBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,uBAAuB,CAwCjF"}
|
|
@@ -22,61 +22,22 @@ export function validateJiraConfig(config) {
|
|
|
22
22
|
if (!config.domain || config.domain.trim().length === 0) {
|
|
23
23
|
errors.push('Jira domain is required');
|
|
24
24
|
}
|
|
25
|
-
// Strategy
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
// NOTE: Strategy-based validation temporarily disabled (v0.13.0+ migration in progress)
|
|
26
|
+
// TODO: Update validation to match new v0.13.0 architecture (intelligent/custom strategies)
|
|
27
|
+
// Basic validation: domain + either projectKey or projects[]
|
|
28
|
+
if (!config.projectKey && (!config.projects || config.projects.length === 0)) {
|
|
29
|
+
errors.push('Either projectKey (single project) or projects[] (multiple projects) is required');
|
|
30
|
+
}
|
|
31
|
+
// Validate project keys if provided
|
|
32
|
+
if (config.projects && config.projects.length > 0) {
|
|
33
|
+
const invalidProjects = config.projects.filter((p) => !/^[A-Z][A-Z0-9]*$/.test(p));
|
|
34
|
+
if (invalidProjects.length > 0) {
|
|
35
|
+
errors.push(`Invalid Jira project keys: ${invalidProjects.join(', ')} (must be uppercase alphanumeric, e.g., FRONTEND, QA)`);
|
|
31
36
|
}
|
|
32
|
-
return { valid: errors.length === 0, errors, warnings };
|
|
33
37
|
}
|
|
34
|
-
// Validate
|
|
35
|
-
if (config.
|
|
36
|
-
|
|
37
|
-
errors.push('projects[] is required for project-per-team strategy');
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
// Validate project keys (must be uppercase alphanumeric)
|
|
41
|
-
const invalidProjects = config.projects.filter((p) => !/^[A-Z][A-Z0-9]*$/.test(p));
|
|
42
|
-
if (invalidProjects.length > 0) {
|
|
43
|
-
errors.push(`Invalid Jira project keys: ${invalidProjects.join(', ')} (must be uppercase alphanumeric, e.g., FRONTEND, QA)`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Cannot have projectKey or components with this strategy
|
|
47
|
-
if (config.projectKey) {
|
|
48
|
-
errors.push('projectKey is not allowed with project-per-team strategy (use projects[] instead)');
|
|
49
|
-
}
|
|
50
|
-
if (config.components) {
|
|
51
|
-
errors.push('components[] is not allowed with project-per-team strategy');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Validate shared-project-with-components strategy
|
|
55
|
-
if (config.strategy === 'shared-project-with-components') {
|
|
56
|
-
if (!config.projectKey || config.projectKey.trim().length === 0) {
|
|
57
|
-
errors.push('projectKey is required for shared-project-with-components strategy');
|
|
58
|
-
}
|
|
59
|
-
else if (!/^[A-Z][A-Z0-9]*$/.test(config.projectKey)) {
|
|
60
|
-
errors.push(`Invalid Jira project key: ${config.projectKey} (must be uppercase alphanumeric, e.g., PRODUCT)`);
|
|
61
|
-
}
|
|
62
|
-
if (!config.components || config.components.length === 0) {
|
|
63
|
-
errors.push('components[] is required for shared-project-with-components strategy');
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
// Validate component names (no empty strings)
|
|
67
|
-
const emptyComponents = config.components.filter((c) => !c.trim());
|
|
68
|
-
if (emptyComponents.length > 0) {
|
|
69
|
-
errors.push('Component names cannot be empty');
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// Cannot have projects[] with this strategy
|
|
73
|
-
if (config.projects) {
|
|
74
|
-
errors.push('projects[] is not allowed with shared-project-with-components strategy (use components[] instead)');
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// Warnings
|
|
78
|
-
if (config.strategy === 'project-per-team' && config.projects && config.projects.length > 10) {
|
|
79
|
-
warnings.push(`Large number of projects (${config.projects.length}). Consider using shared-project-with-components strategy for better manageability.`);
|
|
38
|
+
// Validate single projectKey if provided
|
|
39
|
+
if (config.projectKey && !/^[A-Z][A-Z0-9]*$/.test(config.projectKey)) {
|
|
40
|
+
errors.push(`Invalid Jira project key: ${config.projectKey} (must be uppercase alphanumeric, e.g., PRODUCT)`);
|
|
80
41
|
}
|
|
81
42
|
return {
|
|
82
43
|
valid: errors.length === 0,
|
|
@@ -103,49 +64,33 @@ export function validateAdoConfig(config) {
|
|
|
103
64
|
if (!config.organization || config.organization.trim().length === 0) {
|
|
104
65
|
errors.push('ADO organization is required');
|
|
105
66
|
}
|
|
106
|
-
//
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
67
|
+
// NOTE: teams[] validation removed in v0.13.0 (deprecated field)
|
|
68
|
+
// TODO: Update validation to match new v0.13.0 architecture (projects[], areaPaths[])
|
|
69
|
+
// Validate project (optional in v0.13.0+ - can have projects[] instead)
|
|
70
|
+
if (!config.project && (!config.projects || config.projects.length === 0)) {
|
|
71
|
+
errors.push('Either project (single) or projects[] (multiple) is required');
|
|
72
|
+
}
|
|
73
|
+
// Validate projects[] if provided
|
|
74
|
+
if (config.projects && config.projects.length > 0) {
|
|
75
|
+
const emptyProjects = config.projects.filter((p) => !p.trim());
|
|
76
|
+
if (emptyProjects.length > 0) {
|
|
77
|
+
errors.push('Project names cannot be empty');
|
|
114
78
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const emptyTeams = config.teams.filter((t) => !t.trim());
|
|
118
|
-
if (emptyTeams.length > 0) {
|
|
119
|
-
errors.push('Team names cannot be empty');
|
|
120
|
-
}
|
|
121
|
-
// Check for duplicate team names
|
|
122
|
-
const uniqueTeams = new Set(config.teams);
|
|
123
|
-
if (uniqueTeams.size !== config.teams.length) {
|
|
124
|
-
errors.push('Duplicate team names detected');
|
|
125
|
-
}
|
|
79
|
+
if (config.projects.length > 10) {
|
|
80
|
+
warnings.push(`Large number of projects (${config.projects.length}). Consider using custom query for complex filtering.`);
|
|
126
81
|
}
|
|
127
82
|
}
|
|
128
|
-
// Validate areaPaths (
|
|
129
|
-
if (config.areaPaths && config.
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
for (const folder of teamFolders) {
|
|
134
|
-
if (!areaPathFolders.has(folder)) {
|
|
135
|
-
warnings.push(`Missing Area Path for team folder "${folder}". It will be auto-generated.`);
|
|
136
|
-
}
|
|
83
|
+
// Validate areaPaths[] if provided (Pattern 3: Single project + area paths)
|
|
84
|
+
if (config.areaPaths && config.areaPaths.length > 0) {
|
|
85
|
+
const emptyPaths = config.areaPaths.filter((p) => !p.trim());
|
|
86
|
+
if (emptyPaths.length > 0) {
|
|
87
|
+
errors.push('Area path names cannot be empty');
|
|
137
88
|
}
|
|
138
|
-
//
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
warnings.push(`Area Path for "${folder}" does not match any team. It will be ignored.`);
|
|
142
|
-
}
|
|
89
|
+
// areaPaths should only be used with single project (not projects[])
|
|
90
|
+
if (config.projects && config.projects.length > 0) {
|
|
91
|
+
warnings.push('areaPaths[] should be used with single project, not projects[]. Use projects[] for multiple projects.');
|
|
143
92
|
}
|
|
144
93
|
}
|
|
145
|
-
// Warnings
|
|
146
|
-
if (config.teams && config.teams.length > 20) {
|
|
147
|
-
warnings.push(`Large number of teams (${config.teams.length}). Consider splitting into multiple ADO projects.`);
|
|
148
|
-
}
|
|
149
94
|
return {
|
|
150
95
|
valid: errors.length === 0,
|
|
151
96
|
errors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-validator.js","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"profile-validator.js","sourceRoot":"","sources":["../../../src/core/sync/profile-validator.ts"],"names":[],"mappings":"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"}
|