doc-detective-common 4.0.0-beta.0-dev.7 → 4.0.0-beta.0-dev.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/detectTests.d.ts +17 -22
- package/dist/detectTests.d.ts.map +1 -1
- package/dist/detectTests.js +81 -4
- package/dist/detectTests.js.map +1 -1
- package/dist/fileTypes.d.ts +35 -0
- package/dist/fileTypes.d.ts.map +1 -0
- package/dist/fileTypes.js +293 -0
- package/dist/fileTypes.js.map +1 -0
- package/dist/index.cjs +7288 -162
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas/schemas.json +6786 -0
- package/dist/types/generated/step_v3.d.ts +288 -0
- package/dist/types/generated/step_v3.d.ts.map +1 -1
- package/dist/types/generated/test_v3.d.ts +576 -0
- package/dist/types/generated/test_v3.d.ts.map +1 -1
- package/package.json +8 -7
- package/dist/schemas/checkLink_v3.schema.json +0 -145
- package/dist/schemas/click_v3.schema.json +0 -252
- package/dist/schemas/config_v3.schema.json +0 -16470
- package/dist/schemas/context_v3.schema.json +0 -374
- package/dist/schemas/dragAndDrop_v3.schema.json +0 -496
- package/dist/schemas/find_v3.schema.json +0 -1349
- package/dist/schemas/goTo_v3.schema.json +0 -419
- package/dist/schemas/httpRequest_v3.schema.json +0 -994
- package/dist/schemas/loadCookie_v3.schema.json +0 -228
- package/dist/schemas/loadVariables_v3.schema.json +0 -9
- package/dist/schemas/openApi_v3.schema.json +0 -162
- package/dist/schemas/record_v3.schema.json +0 -101
- package/dist/schemas/report_v3.schema.json +0 -16826
- package/dist/schemas/resolvedTests_v3.schema.json +0 -33331
- package/dist/schemas/runCode_v3.schema.json +0 -222
- package/dist/schemas/runShell_v3.schema.json +0 -236
- package/dist/schemas/saveCookie_v3.schema.json +0 -245
- package/dist/schemas/screenshot_v3.schema.json +0 -681
- package/dist/schemas/sourceIntegration_v3.schema.json +0 -50
- package/dist/schemas/spec_v3.schema.json +0 -16630
- package/dist/schemas/step_v3.schema.json +0 -7317
- package/dist/schemas/stopRecord_v3.schema.json +0 -12
- package/dist/schemas/test_v3.schema.json +0 -15863
- package/dist/schemas/type_v3.schema.json +0 -244
- package/dist/schemas/wait_v3.schema.json +0 -41
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default file type definitions for Doc Detective.
|
|
3
|
+
* These are pure data definitions with no Node.js dependencies,
|
|
4
|
+
* shared by both core and vscode extension.
|
|
5
|
+
*/
|
|
6
|
+
const defaultFileTypesBase = {
|
|
7
|
+
asciidoc_1_0: {
|
|
8
|
+
name: "asciidoc",
|
|
9
|
+
extensions: ["adoc", "asciidoc", "asc"],
|
|
10
|
+
inlineStatements: {
|
|
11
|
+
testStart: ["\\/\\/\\s+\\(\\s*test\\s+([\\s\\S]*?)\\s*\\)"],
|
|
12
|
+
testEnd: ["\\/\\/\\s+\\(\\s*test end\\s*\\)"],
|
|
13
|
+
ignoreStart: ["\\/\\/\\s+\\(\\s*test ignore start\\s*\\)"],
|
|
14
|
+
ignoreEnd: ["\\/\\/\\s+\\(\\s*test ignore end\\s*\\)"],
|
|
15
|
+
step: ["\\/\\/\\s+\\(\\s*step\\s+([\\s\\S]*?)\\s*\\)"],
|
|
16
|
+
},
|
|
17
|
+
markup: [],
|
|
18
|
+
},
|
|
19
|
+
dita_1_0: {
|
|
20
|
+
name: "dita",
|
|
21
|
+
extensions: ["dita", "ditamap", "xml"],
|
|
22
|
+
inlineStatements: {
|
|
23
|
+
testStart: [
|
|
24
|
+
"<\\?doc-detective\\s+test([\\s\\S]*?)\\?>",
|
|
25
|
+
"<!--\\s*test([\\s\\S]+?)-->",
|
|
26
|
+
],
|
|
27
|
+
testEnd: [
|
|
28
|
+
"<\\?doc-detective\\s+test\\s+end\\s*\\?>",
|
|
29
|
+
"<!--\\s*test end([\\s\\S]+?)-->",
|
|
30
|
+
],
|
|
31
|
+
ignoreStart: [
|
|
32
|
+
"<\\?doc-detective\\s+test\\s+ignore\\s+start\\s*\\?>",
|
|
33
|
+
"<!--\\s*test ignore\\s+start\\s*-->",
|
|
34
|
+
],
|
|
35
|
+
ignoreEnd: [
|
|
36
|
+
"<\\?doc-detective\\s+test\\s+ignore\\s+end\\s*\\?>",
|
|
37
|
+
"<!--\\s*test ignore\\s+end\\s*-->",
|
|
38
|
+
],
|
|
39
|
+
step: [
|
|
40
|
+
"<\\?doc-detective\\s+step\\s+([\\s\\S]*?)\\s*\\?>",
|
|
41
|
+
"<!--\\s*step([\\s\\S]+?)-->",
|
|
42
|
+
'<data\\s+name="step"\\s*>([\\s\\S]*?)<\\/data>',
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
markup: [
|
|
46
|
+
{
|
|
47
|
+
name: "clickUiControl",
|
|
48
|
+
regex: [
|
|
49
|
+
"(?:[Cc]lick|[Tt]ap|[Ss]elect|[Pp]ress|[Cc]hoose)\\s+(?:the\\s+)?<uicontrol>([^<]+)<\\/uicontrol>",
|
|
50
|
+
],
|
|
51
|
+
actions: ["click"],
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "typeIntoUiControl",
|
|
55
|
+
regex: [
|
|
56
|
+
"(?:[Tt]ype|[Ee]nter|[Ii]nput)\\s+<userinput>([^<]+)<\\/userinput>\\s+(?:in|into)(?:\\s+the)?\\s+<uicontrol>([^<]+)<\\/uicontrol>",
|
|
57
|
+
],
|
|
58
|
+
actions: [
|
|
59
|
+
{
|
|
60
|
+
type: {
|
|
61
|
+
keys: "$1",
|
|
62
|
+
selector: "$2",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "navigateToXref",
|
|
69
|
+
regex: [
|
|
70
|
+
'(?:[Nn]avigate\\s+to|[Oo]pen|[Gg]o\\s+to|[Vv]isit|[Bb]rowse\\s+to)\\s+<xref\\s+[^>]*href="(https?:\\/\\/[^"]+)"[^>]*>',
|
|
71
|
+
],
|
|
72
|
+
actions: ["goTo"],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "findUiControl",
|
|
76
|
+
regex: ["<uicontrol>([^<]+)<\\/uicontrol>"],
|
|
77
|
+
actions: ["find"],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "verifyWindowTitle",
|
|
81
|
+
regex: ["<wintitle>([^<]+)<\\/wintitle>"],
|
|
82
|
+
actions: ["find"],
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "checkExternalXref",
|
|
86
|
+
regex: [
|
|
87
|
+
'<xref\\s+[^>]*scope="external"[^>]*href="(https?:\\/\\/[^"]+)"[^>]*>',
|
|
88
|
+
'<xref\\s+[^>]*href="(https?:\\/\\/[^"]+)"[^>]*scope="external"[^>]*>',
|
|
89
|
+
],
|
|
90
|
+
actions: ["checkLink"],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "checkHyperlink",
|
|
94
|
+
regex: ['<xref\\s+href="(https?:\\/\\/[^"]+)"[^>]*>'],
|
|
95
|
+
actions: ["checkLink"],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: "checkLinkElement",
|
|
99
|
+
regex: ['<link\\s+href="(https?:\\/\\/[^"]+)"[^>]*>'],
|
|
100
|
+
actions: ["checkLink"],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "clickOnscreenText",
|
|
104
|
+
regex: [
|
|
105
|
+
"\\b(?:[Cc]lick|[Tt]ap|[Ll]eft-click|[Cc]hoose|[Ss]elect|[Cc]heck)\\b\\s+<b>((?:(?!<\\/b>).)+)<\\/b>",
|
|
106
|
+
],
|
|
107
|
+
actions: ["click"],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "findOnscreenText",
|
|
111
|
+
regex: ["<b>((?:(?!<\\/b>).)+)<\\/b>"],
|
|
112
|
+
actions: ["find"],
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "goToUrl",
|
|
116
|
+
regex: [
|
|
117
|
+
'\\b(?:[Gg]o\\s+to|[Oo]pen|[Nn]avigate\\s+to|[Vv]isit|[Aa]ccess|[Pp]roceed\\s+to|[Ll]aunch)\\b\\s+<xref\\s+href="(https?:\\/\\/[^"]+)"[^>]*>',
|
|
118
|
+
],
|
|
119
|
+
actions: ["goTo"],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "typeText",
|
|
123
|
+
regex: ['\\b(?:[Pp]ress|[Ee]nter|[Tt]ype)\\b\\s+"([^"]+)"'],
|
|
124
|
+
actions: ["type"],
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
html_1_0: {
|
|
129
|
+
name: "html",
|
|
130
|
+
extensions: ["html", "htm"],
|
|
131
|
+
inlineStatements: {
|
|
132
|
+
testStart: ["<!--\\s*test\\s+?([\\s\\S]*?)\\s*-->"],
|
|
133
|
+
testEnd: ["<!--\\s*test end\\s*([\\s\\S]*?)\\s*-->"],
|
|
134
|
+
ignoreStart: ["<!--\\s*test ignore start\\s*-->"],
|
|
135
|
+
ignoreEnd: ["<!--\\s*test ignore end\\s*-->"],
|
|
136
|
+
step: ["<!--\\s*step\\s+?([\\s\\S]*?)\\s*-->"],
|
|
137
|
+
},
|
|
138
|
+
markup: [],
|
|
139
|
+
},
|
|
140
|
+
markdown_1_0: {
|
|
141
|
+
name: "markdown",
|
|
142
|
+
extensions: ["md", "markdown", "mdx"],
|
|
143
|
+
inlineStatements: {
|
|
144
|
+
testStart: [
|
|
145
|
+
"{\\/\\*\\s*test\\s+?([\\s\\S]*?)\\s*\\*\\/}",
|
|
146
|
+
"<!--\\s*test\\s*([\\s\\S]*?)\\s*-->",
|
|
147
|
+
"\\[comment\\]:\\s+#\\s+\\(test\\s*(.*?)\\s*\\)",
|
|
148
|
+
"\\[comment\\]:\\s+#\\s+\\(test start\\s*(.*?)\\s*\\)",
|
|
149
|
+
"\\[comment\\]:\\s+#\\s+'test\\s*(.*?)\\s*'",
|
|
150
|
+
"\\[comment\\]:\\s+#\\s+'test start\\s*(.*?)\\s*'",
|
|
151
|
+
'\\[comment\\]:\\s+#\\s+"test\\s*((?:[^"\\\\]|\\\\.)*)\\s*"',
|
|
152
|
+
'\\[comment\\]:\\s+#\\s+"test start\\s*((?:[^"\\\\]|\\\\.)*)\\s*"',
|
|
153
|
+
],
|
|
154
|
+
testEnd: [
|
|
155
|
+
"{\\/\\*\\s*test end\\s*\\*\\/}",
|
|
156
|
+
"<!--\\s*test end\\s*([\\s\\S]*?)\\s*-->",
|
|
157
|
+
"\\[comment\\]:\\s+#\\s+\\(test end\\)",
|
|
158
|
+
"\\[comment\\]:\\s+#\\s+'test end'",
|
|
159
|
+
'\\[comment\\]:\\s+#\\s+"test end"',
|
|
160
|
+
],
|
|
161
|
+
ignoreStart: [
|
|
162
|
+
"{\\/\\*\\s*test ignore start\\s*\\*\\/}",
|
|
163
|
+
"<!--\\s*test ignore start\\s*-->",
|
|
164
|
+
"\\[comment\\]:\\s+#\\s+\\(test ignore start\\)",
|
|
165
|
+
"\\[comment\\]:\\s+#\\s+'test ignore start'",
|
|
166
|
+
'\\[comment\\]:\\s+#\\s+"test ignore start"',
|
|
167
|
+
],
|
|
168
|
+
ignoreEnd: [
|
|
169
|
+
"{\\/\\*\\s*test ignore end\\s*\\*\\/}",
|
|
170
|
+
"<!--\\s*test ignore end\\s*-->",
|
|
171
|
+
"\\[comment\\]:\\s+#\\s+\\(test ignore end\\)",
|
|
172
|
+
"\\[comment\\]:\\s+#\\s+'test ignore end'",
|
|
173
|
+
'\\[comment\\]:\\s+#\\s+"test ignore end"',
|
|
174
|
+
],
|
|
175
|
+
step: [
|
|
176
|
+
"{\\/\\*\\s*step\\s+?([\\s\\S]*?)\\s*\\*\\/}",
|
|
177
|
+
"<!--\\s*step\\s*([\\s\\S]*?)\\s*-->",
|
|
178
|
+
"\\[comment\\]:\\s+#\\s+\\(step\\s*(.*?)\\s*\\)",
|
|
179
|
+
"\\[comment\\]:\\s+#\\s+'step\\s*(.*?)\\s*'",
|
|
180
|
+
'\\[comment\\]:\\s+#\\s+"step\\s*((?:[^"\\\\]|\\\\.)*)\\s*"',
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
markup: [
|
|
184
|
+
{
|
|
185
|
+
name: "checkHyperlink",
|
|
186
|
+
regex: [
|
|
187
|
+
'(?<!\\!)\\[[^\\]]+\\]\\(\\s*(https?:\\/\\/[^\\s)]+)(?:\\s+"[^"]*")?\\s*\\)',
|
|
188
|
+
],
|
|
189
|
+
actions: ["checkLink"],
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: "clickOnscreenText",
|
|
193
|
+
regex: [
|
|
194
|
+
"\\b(?:[Cc]lick|[Tt]ap|[Ll]eft-click|[Cc]hoose|[Ss]elect|[Cc]heck)\\b\\s+\\*\\*((?:(?!\\*\\*).)+)\\*\\*",
|
|
195
|
+
],
|
|
196
|
+
actions: ["click"],
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
name: "findOnscreenText",
|
|
200
|
+
regex: ["\\*\\*((?:(?!\\*\\*).)+)\\*\\*"],
|
|
201
|
+
actions: ["find"],
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: "goToUrl",
|
|
205
|
+
regex: [
|
|
206
|
+
'\\b(?:[Gg]o\\s+to|[Oo]pen|[Nn]avigate\\s+to|[Vv]isit|[Aa]ccess|[Pp]roceed\\s+to|[Ll]aunch)\\b\\s+\\[[^\\]]+\\]\\(\\s*(https?:\\/\\/[^\\s)]+)(?:\\s+"[^"]*")?\\s*\\)',
|
|
207
|
+
],
|
|
208
|
+
actions: ["goTo"],
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: "screenshotImage",
|
|
212
|
+
regex: [
|
|
213
|
+
'!\\[[^\\]]*\\]\\(\\s*([^\\s)]+)(?:\\s+"[^"]*")?\\s*\\)\\s*\\{(?=[^}]*\\.screenshot)[^}]*\\}',
|
|
214
|
+
],
|
|
215
|
+
actions: ["screenshot"],
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: "typeText",
|
|
219
|
+
regex: ['\\b(?:[Pp]ress|[Ee]nter|[Tt]ype)\\b\\s+"([^"]+)"'],
|
|
220
|
+
actions: ["type"],
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: "httpRequestFormat",
|
|
224
|
+
regex: [
|
|
225
|
+
"```(?:http)?\\r?\\n([A-Z]+)\\s+([^\\s]+)(?:\\s+HTTP\\/[\\d.]+)?\\r?\\n((?:[^\\s]+:\\s+[^\\s]+\\r?\\n)*)?(?:\\s+([\\s\\S]*?)\\r?\\n+)?```",
|
|
226
|
+
],
|
|
227
|
+
actions: [
|
|
228
|
+
{
|
|
229
|
+
httpRequest: {
|
|
230
|
+
method: "$1",
|
|
231
|
+
url: "$2",
|
|
232
|
+
request: {
|
|
233
|
+
headers: "$3",
|
|
234
|
+
body: "$4",
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: "runCode",
|
|
242
|
+
regex: [
|
|
243
|
+
"```(bash|python|py|javascript|js)(?![^\\r\\n]*testIgnore)[^\\r\\n]*\\r?\\n([\\s\\S]*?)\\r?\\n```",
|
|
244
|
+
],
|
|
245
|
+
actions: [
|
|
246
|
+
{
|
|
247
|
+
unsafe: true,
|
|
248
|
+
runCode: {
|
|
249
|
+
language: "$1",
|
|
250
|
+
code: "$2",
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
},
|
|
257
|
+
};
|
|
258
|
+
/**
|
|
259
|
+
* Default file type definitions, including keyword aliases.
|
|
260
|
+
* Keys include both versioned names (e.g. "markdown_1_0") and
|
|
261
|
+
* short aliases (e.g. "markdown").
|
|
262
|
+
*/
|
|
263
|
+
export const defaultFileTypes = {
|
|
264
|
+
...defaultFileTypesBase,
|
|
265
|
+
markdown: defaultFileTypesBase.markdown_1_0,
|
|
266
|
+
asciidoc: defaultFileTypesBase.asciidoc_1_0,
|
|
267
|
+
html: defaultFileTypesBase.html_1_0,
|
|
268
|
+
dita: defaultFileTypesBase.dita_1_0,
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* Infers a file type from content when no file type or extension is available.
|
|
272
|
+
* Checks for DITA XML, HTML, and AsciiDoc markers before defaulting to Markdown.
|
|
273
|
+
*/
|
|
274
|
+
export function detectFileTypeFromContent(content) {
|
|
275
|
+
const trimmed = content.trimStart();
|
|
276
|
+
// DITA: XML declaration or DOCTYPE with DITA-specific root elements
|
|
277
|
+
if (trimmed.startsWith("<?xml") || trimmed.startsWith("<!DOCTYPE")) {
|
|
278
|
+
if (/<!DOCTYPE\s+(?:topic|map|concept|task|reference|dita|bookmap)\b|<(?:dita|topic|map|concept|task|reference|bookmap)[\s>]/i.test(content)) {
|
|
279
|
+
return defaultFileTypes.dita;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// HTML: DOCTYPE html or <html> tag
|
|
283
|
+
if (/<!DOCTYPE\s+html\b/i.test(trimmed) || /<html[\s>]/i.test(trimmed)) {
|
|
284
|
+
return defaultFileTypes.html;
|
|
285
|
+
}
|
|
286
|
+
// AsciiDoc: = Document Title or :attribute: entries, without Markdown # headings
|
|
287
|
+
if (/^= \S/m.test(content) && !/^#{1,6} /m.test(content)) {
|
|
288
|
+
return defaultFileTypes.asciidoc;
|
|
289
|
+
}
|
|
290
|
+
// Default to Markdown
|
|
291
|
+
return defaultFileTypes.markdown;
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=fileTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileTypes.js","sourceRoot":"","sources":["../src/fileTypes.ts"],"names":[],"mappings":"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"}
|