@mcp-consultant-tools/azure-devops 30.0.0-beta.16 → 30.0.0-beta.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/build/services/sync-service.d.ts.map +1 -1
- package/build/services/sync-service.js +16 -12
- package/build/services/sync-service.js.map +1 -1
- package/build/sync/annotation-parser.d.ts +52 -0
- package/build/sync/annotation-parser.d.ts.map +1 -0
- package/build/sync/annotation-parser.js +83 -0
- package/build/sync/annotation-parser.js.map +1 -0
- package/build/sync/field-aliases.d.ts +35 -0
- package/build/sync/field-aliases.d.ts.map +1 -0
- package/build/sync/field-aliases.js +76 -0
- package/build/sync/field-aliases.js.map +1 -0
- package/build/sync/html-detection.d.ts +16 -65
- package/build/sync/html-detection.d.ts.map +1 -1
- package/build/sync/html-detection.js +63 -112
- package/build/sync/html-detection.js.map +1 -1
- package/build/sync/image-sync.d.ts +8 -5
- package/build/sync/image-sync.d.ts.map +1 -1
- package/build/sync/image-sync.js +18 -10
- package/build/sync/image-sync.js.map +1 -1
- package/build/sync/index.d.ts +4 -0
- package/build/sync/index.d.ts.map +1 -1
- package/build/sync/index.js +4 -0
- package/build/sync/index.js.map +1 -1
- package/build/sync/legacy-mappings.d.ts +37 -0
- package/build/sync/legacy-mappings.d.ts.map +1 -0
- package/build/sync/legacy-mappings.js +75 -0
- package/build/sync/legacy-mappings.js.map +1 -0
- package/build/sync/markdown-serializer.d.ts +52 -60
- package/build/sync/markdown-serializer.d.ts.map +1 -1
- package/build/sync/markdown-serializer.js +603 -603
- package/build/sync/markdown-serializer.js.map +1 -1
- package/build/sync/template-loader.d.ts +56 -0
- package/build/sync/template-loader.d.ts.map +1 -0
- package/build/sync/template-loader.js +138 -0
- package/build/sync/template-loader.js.map +1 -0
- package/build/sync/templates/bug.md +25 -0
- package/build/sync/templates/epic.md +23 -0
- package/build/sync/templates/feature.md +23 -0
- package/build/sync/templates/task.md +14 -0
- package/build/sync/templates/user-story.md +26 -0
- package/package.json +2 -2
|
@@ -1,147 +1,101 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HTML
|
|
2
|
+
* HTML detection for ADO large-text fields.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
export function getAdditionalFieldConfig() {
|
|
12
|
-
return {
|
|
13
|
-
howToTest: process.env.AZUREDEVOPS_SYNC_FIELD_HOW_TO_TEST || 'Custom.Howtotest',
|
|
14
|
-
deploymentInformation: process.env.AZUREDEVOPS_SYNC_FIELD_DEPLOYMENT_INFO || 'Custom.Deploymentinformation',
|
|
15
|
-
predeploymentSteps: process.env.AZUREDEVOPS_SYNC_FIELD_PREDEPLOY || 'Custom.7519d1bc-5305-4905-822b-2b380e61b154',
|
|
16
|
-
postdeploymentSteps: process.env.AZUREDEVOPS_SYNC_FIELD_POSTDEPLOY || 'Custom.abd6763f-a242-4938-85ed-bda419e34e7e',
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Human-readable names for additional fields (for display/logging)
|
|
4
|
+
* ADO supports both HTML and Markdown for long-text fields. Sync only
|
|
5
|
+
* works against markdown, so before pulling (or pushing) we auto-detect
|
|
6
|
+
* HTML and either convert it or report it as skipped.
|
|
7
|
+
*
|
|
8
|
+
* This module is intentionally generic — it no longer maintains a fixed
|
|
9
|
+
* list of "additional" custom fields. Callers pass in the refname list
|
|
10
|
+
* they care about (usually derived from the loaded template).
|
|
21
11
|
*/
|
|
22
|
-
export const ADDITIONAL_FIELD_DISPLAY_NAMES = {
|
|
23
|
-
howToTest: 'How to Test',
|
|
24
|
-
deploymentInformation: 'Deployment Information',
|
|
25
|
-
predeploymentSteps: 'Predeployment Steps',
|
|
26
|
-
postdeploymentSteps: 'Postdeployment Steps',
|
|
27
|
-
};
|
|
28
12
|
/**
|
|
29
|
-
*
|
|
30
|
-
* These are the standard ADO fields that can be set to markdown format.
|
|
13
|
+
* Standard ADO large-text fields with native markdown support.
|
|
31
14
|
*/
|
|
32
|
-
export const
|
|
15
|
+
export const STANDARD_LARGE_TEXT_FIELDS = [
|
|
33
16
|
'System.Description',
|
|
34
17
|
'Microsoft.VSTS.Common.AcceptanceCriteria',
|
|
35
18
|
'Microsoft.VSTS.TCM.ReproSteps',
|
|
36
19
|
];
|
|
37
20
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
21
|
+
* Return the list of large-text fields to check for a work item. Combines
|
|
22
|
+
* the standard set with any caller-supplied custom refnames (from the
|
|
23
|
+
* loaded template).
|
|
40
24
|
*/
|
|
41
|
-
export function getAllLargeTextFields() {
|
|
42
|
-
const
|
|
43
|
-
return [
|
|
44
|
-
...LARGE_TEXT_FIELDS,
|
|
45
|
-
config.howToTest,
|
|
46
|
-
config.deploymentInformation,
|
|
47
|
-
config.predeploymentSteps,
|
|
48
|
-
config.postdeploymentSteps,
|
|
49
|
-
];
|
|
25
|
+
export function getAllLargeTextFields(customRefnames = []) {
|
|
26
|
+
const set = new Set([...STANDARD_LARGE_TEXT_FIELDS, ...customRefnames]);
|
|
27
|
+
return [...set];
|
|
50
28
|
}
|
|
51
|
-
//
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// HTML detection (pattern-based heuristic)
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
52
32
|
const HTML_STRUCTURAL_PATTERNS = [
|
|
53
|
-
/<div[^>]*>/i,
|
|
54
|
-
/<p[^>]*>/i,
|
|
55
|
-
/<h[1-6][^>]*>/i,
|
|
56
|
-
/<strong[^>]*>/i,
|
|
57
|
-
/<em[^>]*>/i,
|
|
58
|
-
/<ul[^>]*>/i,
|
|
59
|
-
/<ol[^>]*>/i,
|
|
60
|
-
/<li[^>]*>/i,
|
|
61
|
-
/<table[^>]*>/i,
|
|
62
|
-
/<tr[^>]*>/i,
|
|
63
|
-
/<td[^>]*>/i,
|
|
64
|
-
/<span[^>]*>/i,
|
|
33
|
+
/<div[^>]*>/i,
|
|
34
|
+
/<p[^>]*>/i,
|
|
35
|
+
/<h[1-6][^>]*>/i,
|
|
36
|
+
/<strong[^>]*>/i,
|
|
37
|
+
/<em[^>]*>/i,
|
|
38
|
+
/<ul[^>]*>/i,
|
|
39
|
+
/<ol[^>]*>/i,
|
|
40
|
+
/<li[^>]*>/i,
|
|
41
|
+
/<table[^>]*>/i,
|
|
42
|
+
/<tr[^>]*>/i,
|
|
43
|
+
/<td[^>]*>/i,
|
|
44
|
+
/<span[^>]*>/i,
|
|
65
45
|
];
|
|
66
|
-
// Markdown patterns that indicate the content is already markdown
|
|
67
46
|
const MARKDOWN_PATTERNS = [
|
|
68
|
-
/^#{1,6}\s+/m,
|
|
69
|
-
/\*\*[^*]+\*\*/,
|
|
70
|
-
/^\s*[-*+]\s+/m,
|
|
71
|
-
/^\s*\d+\.\s+/m,
|
|
72
|
-
/\[.+?\]\(.+?\)/,
|
|
73
|
-
/```[\s\S]*?```/,
|
|
74
|
-
/`[^`]+`/,
|
|
75
|
-
/^\s*>\s+/m,
|
|
47
|
+
/^#{1,6}\s+/m,
|
|
48
|
+
/\*\*[^*]+\*\*/,
|
|
49
|
+
/^\s*[-*+]\s+/m,
|
|
50
|
+
/^\s*\d+\.\s+/m,
|
|
51
|
+
/\[.+?\]\(.+?\)/,
|
|
52
|
+
/```[\s\S]*?```/,
|
|
53
|
+
/`[^`]+`/,
|
|
54
|
+
/^\s*>\s+/m,
|
|
76
55
|
];
|
|
77
|
-
/**
|
|
78
|
-
* Check if content is HTML format (as opposed to markdown)
|
|
79
|
-
*
|
|
80
|
-
* @param content - The content string to check
|
|
81
|
-
* @returns true if content appears to be HTML, false if markdown or empty
|
|
82
|
-
*/
|
|
83
56
|
export function isHtmlContent(content) {
|
|
84
|
-
if (!content?.trim())
|
|
57
|
+
if (!content?.trim())
|
|
85
58
|
return false;
|
|
86
|
-
}
|
|
87
|
-
// If clear markdown syntax is present, treat as markdown (even if some inline HTML exists)
|
|
88
|
-
// This handles cases where users mix markdown with allowed inline HTML
|
|
89
59
|
for (const pattern of MARKDOWN_PATTERNS) {
|
|
90
|
-
if (pattern.test(content))
|
|
60
|
+
if (pattern.test(content))
|
|
91
61
|
return false;
|
|
92
|
-
}
|
|
93
62
|
}
|
|
94
|
-
// Check for structural HTML patterns that indicate this is HTML content
|
|
95
63
|
for (const pattern of HTML_STRUCTURAL_PATTERNS) {
|
|
96
|
-
if (pattern.test(content))
|
|
64
|
+
if (pattern.test(content))
|
|
97
65
|
return true;
|
|
98
|
-
}
|
|
99
66
|
}
|
|
100
|
-
// Default to markdown (plain text is valid markdown)
|
|
101
67
|
return false;
|
|
102
68
|
}
|
|
103
|
-
|
|
104
|
-
* Check field formats for a work item
|
|
105
|
-
*
|
|
106
|
-
* Primary fields (Description, Acceptance Criteria): If HTML, work item is not ready for sync.
|
|
107
|
-
* Secondary fields (How to Test, Deployment fields): If HTML, warn but allow sync (skip those fields).
|
|
108
|
-
*
|
|
109
|
-
* @param workItem - The work item object from ADO API
|
|
110
|
-
* @returns Object with field format information
|
|
111
|
-
*/
|
|
112
|
-
export function checkFieldFormats(workItem) {
|
|
69
|
+
export function checkFieldFormats(workItem, additionalRefnames = []) {
|
|
113
70
|
const fields = workItem.fields || {};
|
|
114
|
-
const fieldConfig = getAdditionalFieldConfig();
|
|
115
71
|
const description = fields['System.Description'] || '';
|
|
116
72
|
const acceptanceCriteria = fields['Microsoft.VSTS.Common.AcceptanceCriteria'] || '';
|
|
117
73
|
const reproSteps = fields['Microsoft.VSTS.TCM.ReproSteps'] || '';
|
|
118
74
|
const descriptionIsHtml = isHtmlContent(description);
|
|
119
75
|
const acceptanceCriteriaIsHtml = isHtmlContent(acceptanceCriteria);
|
|
120
76
|
const reproStepsIsHtml = isHtmlContent(reproSteps);
|
|
121
|
-
// Check additional fields
|
|
122
77
|
const warnings = [];
|
|
123
|
-
const additionalFields = {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const checkAdditionalField = (fieldName, configKey) => {
|
|
131
|
-
const content = fields[fieldName];
|
|
132
|
-
if (!content || !content.trim()) {
|
|
133
|
-
return 'not_present';
|
|
78
|
+
const additionalFields = {};
|
|
79
|
+
for (const refname of additionalRefnames) {
|
|
80
|
+
if (refname === 'System.Description' ||
|
|
81
|
+
refname === 'Microsoft.VSTS.Common.AcceptanceCriteria' ||
|
|
82
|
+
refname === 'Microsoft.VSTS.TCM.ReproSteps') {
|
|
83
|
+
// Covered by the dedicated slots above.
|
|
84
|
+
continue;
|
|
134
85
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
86
|
+
const content = fields[refname];
|
|
87
|
+
if (!content || (typeof content === 'string' && !content.trim())) {
|
|
88
|
+
additionalFields[refname] = 'not_present';
|
|
89
|
+
continue;
|
|
138
90
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
91
|
+
if (typeof content === 'string' && isHtmlContent(content)) {
|
|
92
|
+
warnings.push(`${refname} is HTML - will be skipped`);
|
|
93
|
+
additionalFields[refname] = 'html';
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
additionalFields[refname] = 'markdown';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
145
99
|
let reproStepsFormat = 'not_present';
|
|
146
100
|
if (reproSteps && reproSteps.trim()) {
|
|
147
101
|
reproStepsFormat = reproStepsIsHtml ? 'html' : 'markdown';
|
|
@@ -157,12 +111,9 @@ export function checkFieldFormats(workItem) {
|
|
|
157
111
|
descriptionLength: description.length,
|
|
158
112
|
acceptanceCriteriaLength: acceptanceCriteria.length,
|
|
159
113
|
reproStepsLength: reproSteps.length,
|
|
160
|
-
}
|
|
114
|
+
},
|
|
161
115
|
};
|
|
162
116
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Get human-readable conversion instructions
|
|
165
|
-
*/
|
|
166
117
|
export function getConversionInstructions() {
|
|
167
118
|
return `To convert HTML fields to markdown in Azure DevOps:
|
|
168
119
|
1. Open the work item in Azure DevOps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-detection.js","sourceRoot":"","sources":["../../src/sync/html-detection.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"html-detection.js","sourceRoot":"","sources":["../../src/sync/html-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,14 +63,17 @@ export interface PushImageResult {
|
|
|
63
63
|
manifest: AttachmentManifest;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* Apply image push processing to a parsed work item file's
|
|
66
|
+
* Apply image push processing to a parsed work item file's body fields.
|
|
67
|
+
* Iterates every refname in `bodyFieldMap`, so custom body fields (not just
|
|
68
|
+
* the historical Description/ReproSteps/AC/custom-four) get image handling.
|
|
67
69
|
* Mutates the parsed object in-place and persists the manifest.
|
|
68
70
|
*/
|
|
69
71
|
export declare function pushWorkItemImages(parsed: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
bodyFieldMap: Record<string, string>;
|
|
73
|
+
description?: string;
|
|
74
|
+
reproSteps?: string;
|
|
75
|
+
acceptanceCriteria?: string;
|
|
76
|
+
additionalFields?: any;
|
|
74
77
|
}, workItemId: number, project: string, syncFolder: string, service: ImageUploadService): Promise<PushImageResult>;
|
|
75
78
|
/**
|
|
76
79
|
* Append a manually-uploaded attachment to a work item's manifest.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-sync.d.ts","sourceRoot":"","sources":["../../src/sync/image-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EAQL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAa7B,UAAU,oBAAoB;IAC5B,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAED,UAAU,kBAAkB;IAC1B,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAwED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAqB1B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACpD,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsB1B;AAMD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAwHD
|
|
1
|
+
{"version":3,"file":"image-sync.d.ts","sourceRoot":"","sources":["../../src/sync/image-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EAQL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAa7B,UAAU,oBAAoB;IAC5B,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAED,UAAU,kBAAkB;IAC1B,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAwED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAqB1B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACpD,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsB1B;AAMD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAwHD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB,EACD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,eAAe,CAAC,CA2B1B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
package/build/sync/image-sync.js
CHANGED
|
@@ -225,21 +225,29 @@ async function processFieldImagesForPush(content, fieldName, project, workItemId
|
|
|
225
225
|
return rewriteImageSrcs(content, (src, _ado) => srcToFinalUrl.get(src) ?? null);
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
228
|
-
* Apply image push processing to a parsed work item file's
|
|
228
|
+
* Apply image push processing to a parsed work item file's body fields.
|
|
229
|
+
* Iterates every refname in `bodyFieldMap`, so custom body fields (not just
|
|
230
|
+
* the historical Description/ReproSteps/AC/custom-four) get image handling.
|
|
229
231
|
* Mutates the parsed object in-place and persists the manifest.
|
|
230
232
|
*/
|
|
231
233
|
export async function pushWorkItemImages(parsed, workItemId, project, syncFolder, service) {
|
|
232
234
|
const manifest = await readManifest(syncFolder, workItemId);
|
|
233
235
|
const result = { uploaded: 0, reused: 0, failed: [], manifest };
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
236
|
+
for (const [refname, value] of Object.entries(parsed.bodyFieldMap)) {
|
|
237
|
+
if (typeof value !== 'string' || !value)
|
|
238
|
+
continue;
|
|
239
|
+
parsed.bodyFieldMap[refname] = await processFieldImagesForPush(value, refname, project, workItemId, syncFolder, service, manifest, result);
|
|
240
|
+
}
|
|
241
|
+
// Keep the legacy convenience slots in sync with bodyFieldMap so downstream
|
|
242
|
+
// consumers that still read them (logs, diffs) see the updated content.
|
|
243
|
+
if (parsed.description !== undefined) {
|
|
244
|
+
parsed.description = parsed.bodyFieldMap['System.Description'] ?? '';
|
|
245
|
+
}
|
|
246
|
+
if (parsed.reproSteps !== undefined) {
|
|
247
|
+
parsed.reproSteps = parsed.bodyFieldMap['Microsoft.VSTS.TCM.ReproSteps'] ?? '';
|
|
248
|
+
}
|
|
249
|
+
if (parsed.acceptanceCriteria !== undefined) {
|
|
250
|
+
parsed.acceptanceCriteria = parsed.bodyFieldMap['Microsoft.VSTS.Common.AcceptanceCriteria'] ?? '';
|
|
243
251
|
}
|
|
244
252
|
if (result.uploaded > 0 || result.reused > 0 || manifest.attachments.length > 0) {
|
|
245
253
|
await writeManifest(syncFolder, manifest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-sync.js","sourceRoot":"","sources":["../../src/sync/image-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,GAGzB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAW,EAAE,QAAgB;IACxD,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,OAAO,GAAG,GAAG,GAAG,GAAG,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChE,CAAC;AA2BD;;;;;GAKG;AACH,KAAK,UAAU,kBAAkB,CAC/B,OAAe,EACf,SAAiB,EACjB,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,OAA6B,EAC7B,QAA4B,EAC5B,MAAuB;IAEvB,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAE7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE5D,0EAA0E;IAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,aAAc,CAAC;QAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QAE/F,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAEjF,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,kBAAkB,CAC9B,OAAO,EACP,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,QAAQ,EACZ,MAAM,EACN,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAC9B,CAAC;YACF,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,KAAK,GAA4B;gBACrC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,YAAY;gBACvB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,SAAS;aACjB,CAAC;YACF,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;AACnF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAa,EACb,OAAe,EACf,UAAkB,EAClB,OAA6B;IAE7B,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAY,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAoB,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;IAEnF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAC7E,CAAC;QACF,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,QAAoD,EACpD,OAAe,EACf,UAAkB,EAClB,OAA6B;IAE7B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAoB,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;IAEnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;YAAE,SAAS;QAEhD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CACrF,CAAC;QACF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;;gBACtC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC5B,GAAW,EACX,UAAkB,EAClB,UAAkB;IAElB,iCAAiC;IACjC,IAAI,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAErE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,QAAQ,EAAE,GAAG;YACb,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACxE,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,oEAAoE;IACpE,MAAM,QAAQ,GAAG,GAAG,UAAU,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAErC,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,yBAAyB,CACtC,OAAe,EACf,SAAiB,EACjB,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,OAA2B,EAC3B,QAA4B,EAC5B,MAAuB;IAEvB,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAE7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEtC,uEAAuE;IACvE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;QAE5B,kCAAkC;QAClC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,uCAAuC;QAEhE,gBAAgB;QAChB,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,yBAAyB,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtE,MAAM,eAAe,GAA4B;gBAC/C,IAAI,EAAE,QAAQ,CAAC,EAAE;gBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,SAAS,EAAE,QAAQ,CAAC,kBAAkB;gBACtC,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YACF,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACvC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAE7C,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;AAClF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"image-sync.js","sourceRoot":"","sources":["../../src/sync/image-sync.ts"],"names":[],"mappings":"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"}
|
package/build/sync/index.d.ts
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from './html-detection.js';
|
|
7
7
|
export * from './html-converter.js';
|
|
8
|
+
export * from './field-aliases.js';
|
|
9
|
+
export * from './annotation-parser.js';
|
|
10
|
+
export * from './legacy-mappings.js';
|
|
11
|
+
export * from './template-loader.js';
|
|
8
12
|
export * from './markdown-serializer.js';
|
|
9
13
|
export * from './file-utils.js';
|
|
10
14
|
export * from './git-utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
package/build/sync/index.js
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from './html-detection.js';
|
|
7
7
|
export * from './html-converter.js';
|
|
8
|
+
export * from './field-aliases.js';
|
|
9
|
+
export * from './annotation-parser.js';
|
|
10
|
+
export * from './legacy-mappings.js';
|
|
11
|
+
export * from './template-loader.js';
|
|
8
12
|
export * from './markdown-serializer.js';
|
|
9
13
|
export * from './file-utils.js';
|
|
10
14
|
export * from './git-utils.js';
|
package/build/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backwards-compatibility mapping for pre-annotation synced files.
|
|
3
|
+
*
|
|
4
|
+
* Files generated before the annotation-driven sync format have `#`-level
|
|
5
|
+
* section headings with no `<!-- ado-field: ... -->` comment. We can still
|
|
6
|
+
* parse them by matching known headings against a fixed refname table.
|
|
7
|
+
*
|
|
8
|
+
* Type-aware: Bug work items historically used `# Description` for what is
|
|
9
|
+
* semantically Repro Steps. After upgrade, a Bug's `# Description` section
|
|
10
|
+
* maps to `Microsoft.VSTS.TCM.ReproSteps`, not `System.Description`.
|
|
11
|
+
*/
|
|
12
|
+
export interface LegacyHeadingRule {
|
|
13
|
+
heading: string;
|
|
14
|
+
refname: string;
|
|
15
|
+
/** Optional type filter — if set, only applies when workItemType matches. */
|
|
16
|
+
typeFilter?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Ordered list of legacy heading → refname rules.
|
|
20
|
+
* First matching rule wins.
|
|
21
|
+
*
|
|
22
|
+
* Evaluated in order — bug-specific rules come before generic rules for
|
|
23
|
+
* the same heading.
|
|
24
|
+
*/
|
|
25
|
+
export declare const LEGACY_HEADING_RULES: LegacyHeadingRule[];
|
|
26
|
+
/**
|
|
27
|
+
* Resolve a legacy heading to an ADO refname given the work item type.
|
|
28
|
+
* Returns null if the heading has no known mapping (section stays local-only).
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveLegacyHeading(heading: string, workItemType: string): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Override the default custom-field refnames from env vars. Preserved so that
|
|
33
|
+
* existing installs relying on `AZUREDEVOPS_SYNC_FIELD_*` env vars still parse
|
|
34
|
+
* their legacy files correctly. New installs should use templates instead.
|
|
35
|
+
*/
|
|
36
|
+
export declare function applyLegacyEnvOverrides(): void;
|
|
37
|
+
//# sourceMappingURL=legacy-mappings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-mappings.d.ts","sourceRoot":"","sources":["../../src/sync/legacy-mappings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EAkBnD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQzF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAY9C"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backwards-compatibility mapping for pre-annotation synced files.
|
|
3
|
+
*
|
|
4
|
+
* Files generated before the annotation-driven sync format have `#`-level
|
|
5
|
+
* section headings with no `<!-- ado-field: ... -->` comment. We can still
|
|
6
|
+
* parse them by matching known headings against a fixed refname table.
|
|
7
|
+
*
|
|
8
|
+
* Type-aware: Bug work items historically used `# Description` for what is
|
|
9
|
+
* semantically Repro Steps. After upgrade, a Bug's `# Description` section
|
|
10
|
+
* maps to `Microsoft.VSTS.TCM.ReproSteps`, not `System.Description`.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Ordered list of legacy heading → refname rules.
|
|
14
|
+
* First matching rule wins.
|
|
15
|
+
*
|
|
16
|
+
* Evaluated in order — bug-specific rules come before generic rules for
|
|
17
|
+
* the same heading.
|
|
18
|
+
*/
|
|
19
|
+
export const LEGACY_HEADING_RULES = [
|
|
20
|
+
// Bug-specific: legacy bug files wrote repro steps under `# Description`.
|
|
21
|
+
{ heading: 'Description', refname: 'Microsoft.VSTS.TCM.ReproSteps', typeFilter: 'Bug' },
|
|
22
|
+
// Generic
|
|
23
|
+
{ heading: 'Description', refname: 'System.Description' },
|
|
24
|
+
{ heading: 'Repro Steps', refname: 'Microsoft.VSTS.TCM.ReproSteps' },
|
|
25
|
+
{ heading: 'Acceptance Criteria', refname: 'Microsoft.VSTS.Common.AcceptanceCriteria' },
|
|
26
|
+
// Deprecated custom fields — historically configurable via env vars
|
|
27
|
+
{ heading: 'How to Test', refname: 'Custom.Howtotest' },
|
|
28
|
+
{ heading: 'Deployment Information', refname: 'Custom.Deploymentinformation' },
|
|
29
|
+
{
|
|
30
|
+
heading: 'Predeployment Steps',
|
|
31
|
+
refname: 'Custom.7519d1bc-5305-4905-822b-2b380e61b154',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
heading: 'Postdeployment Steps',
|
|
35
|
+
refname: 'Custom.abd6763f-a242-4938-85ed-bda419e34e7e',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Resolve a legacy heading to an ADO refname given the work item type.
|
|
40
|
+
* Returns null if the heading has no known mapping (section stays local-only).
|
|
41
|
+
*/
|
|
42
|
+
export function resolveLegacyHeading(heading, workItemType) {
|
|
43
|
+
const normalized = heading.trim();
|
|
44
|
+
for (const rule of LEGACY_HEADING_RULES) {
|
|
45
|
+
if (rule.heading !== normalized)
|
|
46
|
+
continue;
|
|
47
|
+
if (rule.typeFilter && rule.typeFilter !== workItemType)
|
|
48
|
+
continue;
|
|
49
|
+
return rule.refname;
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Override the default custom-field refnames from env vars. Preserved so that
|
|
55
|
+
* existing installs relying on `AZUREDEVOPS_SYNC_FIELD_*` env vars still parse
|
|
56
|
+
* their legacy files correctly. New installs should use templates instead.
|
|
57
|
+
*/
|
|
58
|
+
export function applyLegacyEnvOverrides() {
|
|
59
|
+
const overrides = [
|
|
60
|
+
['How to Test', process.env.AZUREDEVOPS_SYNC_FIELD_HOW_TO_TEST],
|
|
61
|
+
['Deployment Information', process.env.AZUREDEVOPS_SYNC_FIELD_DEPLOYMENT_INFO],
|
|
62
|
+
['Predeployment Steps', process.env.AZUREDEVOPS_SYNC_FIELD_PREDEPLOY],
|
|
63
|
+
['Postdeployment Steps', process.env.AZUREDEVOPS_SYNC_FIELD_POSTDEPLOY],
|
|
64
|
+
];
|
|
65
|
+
for (const [heading, envValue] of overrides) {
|
|
66
|
+
if (!envValue)
|
|
67
|
+
continue;
|
|
68
|
+
const rule = LEGACY_HEADING_RULES.find((r) => r.heading === heading && !r.typeFilter);
|
|
69
|
+
if (rule)
|
|
70
|
+
rule.refname = envValue;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Apply env overrides once at module load.
|
|
74
|
+
applyLegacyEnvOverrides();
|
|
75
|
+
//# sourceMappingURL=legacy-mappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-mappings.js","sourceRoot":"","sources":["../../src/sync/legacy-mappings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,0EAA0E;IAC1E,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,UAAU,EAAE,KAAK,EAAE;IACvF,UAAU;IACV,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,EAAE;IACzD,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE;IACpE,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,0CAA0C,EAAE;IACvF,oEAAoE;IACpE,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACvD,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,8BAA8B,EAAE;IAC9E;QACE,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,6CAA6C;KACvD;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,6CAA6C;KACvD;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,YAAoB;IACxE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU;YAAE,SAAS;QAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,YAAY;YAAE,SAAS;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,SAAS,GAAwC;QACrD,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;QAC/D,CAAC,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;QAC9E,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QACrE,CAAC,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;KACxE,CAAC;IACF,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACtF,IAAI,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IACpC,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,uBAAuB,EAAE,CAAC"}
|