@appland/appmap 3.140.1 → 3.141.0
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/CHANGELOG.md +16 -0
- package/built/cmds/index/index.js +1 -1
- package/built/cmds/index/index.js.map +1 -1
- package/built/cmds/index/rpc.js +2 -1
- package/built/cmds/index/rpc.js.map +1 -1
- package/built/docs/appmap-docs.md +27 -0
- package/built/docs/get-started-with-appmap/add-appmap-to-your-code-editor.md +98 -0
- package/built/docs/get-started-with-appmap/index.md +20 -0
- package/built/docs/get-started-with-appmap/making-appmap-data.md +151 -0
- package/built/docs/get-started-with-appmap/navie-ai-quickstart.md +73 -0
- package/built/docs/guides/exporting-appmap-diagrams.md +1 -1
- package/built/docs/guides/handling-large-appmap-diagrams.md +1 -1
- package/built/docs/guides/index.md +3 -1
- package/built/docs/{navie/using-navie.md → guides/navie-best-practices.md} +20 -14
- package/built/docs/guides/navigating-code-objects.md +67 -0
- package/built/docs/guides/openapi.md +1 -1
- package/built/docs/guides/reading-sql-in-appmap-diagrams.md +1 -1
- package/built/docs/guides/refine-appmap-data.md +1 -1
- package/built/docs/guides/reverse-engineering.md +2 -2
- package/built/docs/guides/runtime-code-review.md +1 -1
- package/built/docs/guides/{configuring-analysis.md → using-appmap-analysis.md} +53 -5
- package/built/docs/guides/using-appmap-diagrams.md +2 -2
- package/built/docs/integrations/atlassian-confluence.md +1 -1
- package/built/docs/navie/bring-your-own-model.md +148 -12
- package/built/docs/navie/how-navie-works.md +1 -1
- package/built/docs/navie/index.md +1 -3
- package/built/docs/reference/appmap-java.md +1 -1
- package/built/docs/reference/appmap-python.md +46 -20
- package/built/fulltext/FileIndex.js +51 -17
- package/built/fulltext/FileIndex.js.map +1 -1
- package/built/fulltext/listGitProjectFIles.js +42 -18
- package/built/fulltext/listGitProjectFIles.js.map +1 -1
- package/built/fulltext/listProjectFiles.js +5 -5
- package/built/fulltext/listProjectFiles.js.map +1 -1
- package/built/fulltext/queryKeywords.js +1 -1
- package/built/fulltext/queryKeywords.js.map +1 -1
- package/built/fulltext/querySymbols.js +58 -0
- package/built/fulltext/querySymbols.js.map +1 -0
- package/built/html/appmap.js +5 -2
- package/built/html/appmap.js.map +2 -2
- package/built/html/sequenceDiagram.js +5 -2
- package/built/html/sequenceDiagram.js.map +2 -2
- package/built/lib/handleWorkingDirectory.js +2 -2
- package/built/lib/handleWorkingDirectory.js.map +1 -1
- package/built/rpc/configuration.js +2 -0
- package/built/rpc/configuration.js.map +1 -1
- package/built/telemetry.js +4 -7
- package/built/telemetry.js.map +1 -1
- package/package.json +1 -2
- package/built/docs/navie/byok/intellij.md +0 -35
- package/built/docs/navie/byok/vs-code.md +0 -115
|
@@ -36,7 +36,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
36
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
|
-
var
|
|
39
|
+
var _FileIndex_insert;
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.filterFiles = exports.buildFileIndex = exports.restoreFileIndex = exports.FileIndex = void 0;
|
|
42
42
|
const promises_1 = require("node:fs/promises");
|
|
@@ -49,14 +49,18 @@ const listProjectFiles_1 = __importDefault(require("./listProjectFiles"));
|
|
|
49
49
|
const queryKeywords_1 = __importDefault(require("./queryKeywords"));
|
|
50
50
|
const telemetry_1 = require("../telemetry");
|
|
51
51
|
const listGitProjectFIles_1 = __importDefault(require("./listGitProjectFIles"));
|
|
52
|
+
const querySymbols_1 = __importDefault(require("./querySymbols"));
|
|
52
53
|
class FileIndex {
|
|
53
54
|
constructor(database) {
|
|
54
55
|
this.database = database;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
this.indexDirectory = this.database.transaction((directory, fileNames, options, offset, limit) => {
|
|
57
|
+
const startIndex = offset !== null && offset !== void 0 ? offset : 0;
|
|
58
|
+
const endIndex = limit ? Math.min(startIndex + limit, fileNames.length) : fileNames.length;
|
|
59
|
+
for (let i = startIndex; i < endIndex; i++) {
|
|
60
|
+
const fileName = fileNames[i];
|
|
61
|
+
this.indexFile(directory, fileName, options);
|
|
58
62
|
}
|
|
59
|
-
})
|
|
63
|
+
});
|
|
60
64
|
_FileIndex_insert.set(this, void 0);
|
|
61
65
|
this.database.exec(`CREATE VIRTUAL TABLE files USING fts5(directory UNINDEXED, file_name UNINDEXED, terms, tokenize = 'porter unicode61')`);
|
|
62
66
|
this.database.pragma('journal_mode = OFF');
|
|
@@ -80,23 +84,50 @@ class FileIndex {
|
|
|
80
84
|
score: row.score,
|
|
81
85
|
}));
|
|
82
86
|
}
|
|
83
|
-
async indexDirectories(directories) {
|
|
87
|
+
async indexDirectories(directories, batchSize = 100) {
|
|
84
88
|
for (const directory of directories) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
fileNames =
|
|
89
|
+
try {
|
|
90
|
+
const startTime = new Date().getTime();
|
|
91
|
+
const gitState = await telemetry_1.Git.state(directory);
|
|
92
|
+
const fileNames = gitState === telemetry_1.GitState.Ok
|
|
93
|
+
? await (0, listGitProjectFIles_1.default)(directory)
|
|
94
|
+
: await (0, listProjectFiles_1.default)(directory);
|
|
95
|
+
const filteredFileNames = await filterFiles(directory, fileNames);
|
|
96
|
+
const options = {
|
|
97
|
+
allowGenericParsing: fileNames.length < 15000,
|
|
98
|
+
allowSymbols: fileNames.length < 15000,
|
|
99
|
+
};
|
|
100
|
+
if ((0, utils_1.verbose)()) {
|
|
101
|
+
if (options.allowSymbols) {
|
|
102
|
+
console.log('Symbol parsing is enabled.');
|
|
103
|
+
console.log(`Generic symbol parsing is ${options.allowGenericParsing ? 'enabled.' : 'disabled.'}`);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
console.log('Symbol parsing is disabled.');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
for (let i = 0; i < filteredFileNames.length; i += batchSize) {
|
|
110
|
+
this.indexDirectory(directory, filteredFileNames, options, i, batchSize);
|
|
111
|
+
// yield to the event loop after each chunk
|
|
112
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
113
|
+
}
|
|
114
|
+
const endTime = new Date().getTime();
|
|
115
|
+
console.log(`Indexed ${fileNames.length} files in ${directory} in ${endTime - startTime}ms`);
|
|
89
116
|
}
|
|
90
|
-
|
|
91
|
-
|
|
117
|
+
catch (error) {
|
|
118
|
+
console.error(`Error processing directory ${directory}:`, error);
|
|
92
119
|
}
|
|
93
|
-
__classPrivateFieldGet(this, _FileIndex_indexDirectory, "f").call(this, directory, await filterFiles(directory, fileNames));
|
|
94
120
|
}
|
|
95
121
|
}
|
|
96
|
-
indexFile(directory, filePath) {
|
|
122
|
+
indexFile(directory, filePath, options = {}) {
|
|
123
|
+
const { allowGenericParsing = true, allowSymbols = true } = options;
|
|
97
124
|
const fileNameTokens = filePath.split(node_path_1.default.sep);
|
|
98
125
|
try {
|
|
99
|
-
|
|
126
|
+
let terms = (0, queryKeywords_1.default)(fileNameTokens).join(' ');
|
|
127
|
+
if (allowSymbols) {
|
|
128
|
+
const symbols = (0, querySymbols_1.default)(node_path_1.default.join(directory, filePath), allowGenericParsing);
|
|
129
|
+
terms += ` ${(0, queryKeywords_1.default)(symbols).sort().join(' ')}`;
|
|
130
|
+
}
|
|
100
131
|
if ((0, utils_1.verbose)())
|
|
101
132
|
console.log(`Indexing file path ${filePath} with terms ${terms}`);
|
|
102
133
|
__classPrivateFieldGet(this, _FileIndex_insert, "f").run(directory, filePath, terms);
|
|
@@ -108,7 +139,7 @@ class FileIndex {
|
|
|
108
139
|
}
|
|
109
140
|
}
|
|
110
141
|
exports.FileIndex = FileIndex;
|
|
111
|
-
|
|
142
|
+
_FileIndex_insert = new WeakMap();
|
|
112
143
|
function restoreFileIndex(indexFileName) {
|
|
113
144
|
(0, assert_1.default)((0, fs_1.existsSync)(indexFileName), `Index file ${indexFileName} does not exist`);
|
|
114
145
|
const database = new better_sqlite3_1.default(indexFileName);
|
|
@@ -182,6 +213,8 @@ const BINARY_FILE_EXTENSIONS = [
|
|
|
182
213
|
'class',
|
|
183
214
|
'so',
|
|
184
215
|
'dll',
|
|
216
|
+
'dylib',
|
|
217
|
+
'o',
|
|
185
218
|
'exe',
|
|
186
219
|
'min.js',
|
|
187
220
|
'min.css',
|
|
@@ -189,7 +222,8 @@ const BINARY_FILE_EXTENSIONS = [
|
|
|
189
222
|
async function filterFiles(directory, fileNames) {
|
|
190
223
|
const result = [];
|
|
191
224
|
for (const fileName of fileNames) {
|
|
192
|
-
|
|
225
|
+
const fileExtension = node_path_1.default.extname(fileName).toLowerCase();
|
|
226
|
+
if (BINARY_FILE_EXTENSIONS.some((ext) => ext === fileExtension))
|
|
193
227
|
continue;
|
|
194
228
|
try {
|
|
195
229
|
const stats = await (0, promises_1.stat)((0, node_path_1.join)(directory, fileName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileIndex.js","sourceRoot":"","sources":["../../src/fulltext/FileIndex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwC;AACxC,uDAAuC;AAEvC,oEAAqC;AACrC,oDAA4B;AAC5B,2BAAgC;AAEhC,oCAAmC;AACnC,0EAAkD;AAClD,oEAA4C;AAC5C,4CAA6C;AAC7C,gFAAwD;
|
|
1
|
+
{"version":3,"file":"FileIndex.js","sourceRoot":"","sources":["../../src/fulltext/FileIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const executeCommand_1 = require("../lib/executeCommand");
|
|
4
3
|
const utils_1 = require("../utils");
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const exec = (0, util_1.promisify)(node_child_process_1.exec);
|
|
5
7
|
// Run git ls-files and git status to get a list of all git-managed files. By doing it this way,
|
|
6
8
|
// we automatically apply any .gitignore rules.
|
|
7
9
|
async function listGitProjectFiles(directory) {
|
|
8
10
|
const lsFiles = async () => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
try {
|
|
12
|
+
const { stdout } = await exec('git ls-files', {
|
|
13
|
+
cwd: directory,
|
|
14
|
+
maxBuffer: 1024 ** 2 * 20, // 20 MB
|
|
15
|
+
});
|
|
16
|
+
if ((0, utils_1.verbose)())
|
|
17
|
+
console.log(stdout);
|
|
18
|
+
return stdout.split('\n').filter(Boolean);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
if ((0, utils_1.verbose)()) {
|
|
22
|
+
console.error('`git ls-files` failed');
|
|
23
|
+
console.error(e);
|
|
24
|
+
}
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
11
27
|
};
|
|
12
28
|
const statusFiles = async () => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
try {
|
|
30
|
+
const { stdout } = await exec('git status --porcelain', {
|
|
31
|
+
cwd: directory,
|
|
32
|
+
maxBuffer: 1024 ** 2 * 20, // 20 MB
|
|
33
|
+
});
|
|
34
|
+
if ((0, utils_1.verbose)())
|
|
35
|
+
console.log(stdout);
|
|
36
|
+
return stdout
|
|
37
|
+
.split('\n')
|
|
38
|
+
.map((line) => {
|
|
39
|
+
const [, fileName] = line.split(' ');
|
|
40
|
+
return fileName;
|
|
41
|
+
})
|
|
42
|
+
.filter(Boolean);
|
|
25
43
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
44
|
+
catch (e) {
|
|
45
|
+
if ((0, utils_1.verbose)()) {
|
|
46
|
+
console.error('`git status --porcelain` failed');
|
|
47
|
+
console.error(e);
|
|
48
|
+
}
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
return Array.from(new Set([...(await lsFiles()), ...(await statusFiles())]));
|
|
29
53
|
}
|
|
30
54
|
exports.default = listGitProjectFiles;
|
|
31
55
|
//# sourceMappingURL=listGitProjectFIles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listGitProjectFIles.js","sourceRoot":"","sources":["../../src/fulltext/listGitProjectFIles.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"listGitProjectFIles.js","sourceRoot":"","sources":["../../src/fulltext/listGitProjectFIles.ts"],"names":[],"mappings":";;AAAA,oCAAmC;AACnC,2DAAoD;AACpD,+BAAiC;AAEjC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,yBAAM,CAAC,CAAC;AAE/B,gGAAgG;AAChG,+CAA+C;AAChC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACjE,MAAM,OAAO,GAAG,KAAK,IAAuB,EAAE;QAC5C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;gBAC5C,GAAG,EAAE,SAAS;gBACd,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ;aACpC,CAAC,CAAC;YAEH,IAAI,IAAA,eAAO,GAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEnC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAA,eAAO,GAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClB;YACD,OAAO,EAAE,CAAC;SACX;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAAuB,EAAE;QAChD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE;gBACtD,GAAG,EAAE,SAAS;gBACd,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ;aACpC,CAAC,CAAC;YAEH,IAAI,IAAA,eAAO,GAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEnC,OAAO,MAAM;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC,CAAC;SACpB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAA,eAAO,GAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClB;YACD,OAAO,EAAE,CAAC;SACX;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AA9CD,sCA8CC"}
|
|
@@ -17,19 +17,19 @@ async function listProjectFiles(directory, fileLimit = DEFAULT_PROJECT_FILE_LIMI
|
|
|
17
17
|
// Perform a breadth-first traversal of a directory, collecting all non-binary files and
|
|
18
18
|
// applying the directory ignore list.
|
|
19
19
|
const processDir = async (dir) => {
|
|
20
|
-
const queue = [
|
|
20
|
+
const queue = ['.'];
|
|
21
21
|
while (queue.length > 0 && files.length < fileLimit) {
|
|
22
22
|
const currentDir = queue.shift();
|
|
23
23
|
(0, assert_1.default)(currentDir, 'queue should not be empty');
|
|
24
|
-
const entries = await (0, promises_1.readdir)(currentDir, { withFileTypes: true });
|
|
24
|
+
const entries = await (0, promises_1.readdir)((0, path_1.join)(dir, currentDir), { withFileTypes: true });
|
|
25
25
|
for (const entry of entries) {
|
|
26
|
-
const
|
|
26
|
+
const path = currentDir === '.' ? entry.name : (0, path_1.join)(currentDir, entry.name);
|
|
27
27
|
if (entry.isDirectory()) {
|
|
28
28
|
if (!ignoreDirectory(entry.name))
|
|
29
|
-
queue.push(
|
|
29
|
+
queue.push(path);
|
|
30
30
|
}
|
|
31
31
|
else
|
|
32
|
-
files.push(
|
|
32
|
+
files.push(path);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listProjectFiles.js","sourceRoot":"","sources":["../../src/fulltext/listProjectFiles.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,0CAAsC;AACtC,+BAAsC;AAEtC,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAExF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,0DAA0D;AAC1D,2FAA2F;AAC3F,oBAAoB;AACL,KAAK,UAAU,gBAAgB,CAC5C,SAAiB,EACjB,SAAS,GAAG,0BAA0B;IAEtC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;IAElC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1E,wFAAwF;IACxF,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE;YACnD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,IAAA,gBAAM,EAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"listProjectFiles.js","sourceRoot":"","sources":["../../src/fulltext/listProjectFiles.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,0CAAsC;AACtC,+BAAsC;AAEtC,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAExF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,0DAA0D;AAC1D,2FAA2F;AAC3F,oBAAoB;AACL,KAAK,UAAU,gBAAgB,CAC5C,SAAiB,EACjB,SAAS,GAAG,0BAA0B;IAEtC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAU,CAAC;IAElC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1E,wFAAwF;IACxF,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE;YACnD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,IAAA,gBAAM,EAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,WAAI,EAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,MAAM,IAAI,GAAG,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5E,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;oBACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpD;;oBAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAE5B,OAAO,KAAK,CAAC;AACf,CAAC;AA7BD,mCA6BC"}
|
|
@@ -35,7 +35,7 @@ function queryKeywords(words) {
|
|
|
35
35
|
.map((word) => sanitizeKeyword(word || ''))
|
|
36
36
|
.flat()
|
|
37
37
|
.filter(Boolean)
|
|
38
|
-
.map((word) => (0, splitCamelized_1.splitCamelized)(word).split(/[\
|
|
38
|
+
.map((word) => (0, splitCamelized_1.splitCamelized)(word).split(/[\s_]+/g))
|
|
39
39
|
.flat()
|
|
40
40
|
.map((str) => str.trim())
|
|
41
41
|
.filter(Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryKeywords.js","sourceRoot":"","sources":["../../src/fulltext/queryKeywords.ts"],"names":[],"mappings":";;AAAA,0DAAuD;AAEvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,GAAG;IACH,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,OAAe,EAAY,EAAE,CACpD,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAErD,SAAwB,aAAa,CAAC,KAAoC;IACxE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;SAC1C,IAAI,EAAE;SACN,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"queryKeywords.js","sourceRoot":"","sources":["../../src/fulltext/queryKeywords.ts"],"names":[],"mappings":";;AAAA,0DAAuD;AAEvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,GAAG;IACH,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,OAAe,EAAY,EAAE,CACpD,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAErD,SAAwB,aAAa,CAAC,KAAoC;IACxE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;SAC1C,IAAI,EAAE;SACN,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACpD,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;SAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAXD,gCAWC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SymbolRegexes = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
exports.SymbolRegexes = {
|
|
6
|
+
cs: /(((interface|class|enum|struct)\s+(?<symbol1>\w+))|((\s|^)(?!using|try|catch|if|while|do|for|switch)(?<!#define\s+?)(?<symbol2>[\w~$]+)\s*?\([^;)]*?\)[\w\s\d<>[\].:\n]*?{))/g,
|
|
7
|
+
cpp: /(((struct|enum|union|class)\s+(?<symbol1>\w+)\s*?\{)|(}\s*?(?<symbol2>\w+)\s*?;)|((\s|^)(?!try|catch|if|while|do|for|switch)(?<!#define\s+?)(?<symbol3>[\w~$]+)\s*?\([^;)]*?\)[\w\s\d<>[\].:\n]*?{))/g,
|
|
8
|
+
rs: /(struct|enum|union|trait|type|fn)\s+(?<symbol1>[\w\p{L}]+)/gu,
|
|
9
|
+
go: /((type\s+(?<symbol1>[\w\p{L}]+))|(func\s+?(\(.*?\)\s*?)?(?<symbol2>[\w\p{L}]+)\s*?\())/gu,
|
|
10
|
+
rb: /(((class|module)\s+(?<symbol1>\w+))|(def\s+?(?<symbol2>\w+)))/g,
|
|
11
|
+
py: /(class|def)\s+(?<symbol1>\w+)/g,
|
|
12
|
+
java: /(((class|@?interface|enum)\s+(?<symbol1>[\w$]+))|((\s|^)(?!try|catch|if|while|do|for|switch)(?<symbol2>[\w$]+)\s*?\([^;)]*?\)[\w\s\d<>[\].:\n]*?{))/g,
|
|
13
|
+
ts: /(((class|interface|enum|type|function)\s+(?<symbol1>[#$\w\p{L}]+))|((\s|^)(?!using|try|catch|if|while|do|for|switch)(?<symbol2>[#$\w\p{L}]+)\s*?\([^;)]*?\)[\w\s<>[\].:\n]*?\{)|((?<symbol3>[#$\w\p{L}]+)\s*?(=|:)\s*?\(.*?\)\s*?=>))/gu,
|
|
14
|
+
kt: /(((class|typealias)\s+(?<symbol1>[\w_]+))|(fun\s+?(<.+?>\s+)?(.*?\.)?(?<symbol2>\w+)))/g,
|
|
15
|
+
php: /(class|trait|function)\s+(?<symbol1>[\w_$]+)/g,
|
|
16
|
+
};
|
|
17
|
+
const genericSymbolRegex = /(((^|\s)(?!using|try|catch|if|while|do|for|switch)(?<symbol1>[#$\w\p{L}~]+)\s*?\(([^;)])*?\)[\w\s<>[\].:\n]*?\{)|(^(?!.*?(?:#|\/\/|"|')).*?(interface|class|enum|struct|union|trait|type(alias|def)?|fu?nc?(tion)?|module|def)\s+?(?<symbol2>[#$\w\p{L}]+))|((?<symbol3>[#$\w\p{L}~]+)\s*?=\s*?[\w\s<>[\].:\n]*?\{))/gmu;
|
|
18
|
+
// Define aliases for common file extensions
|
|
19
|
+
['js', 'jsx', 'ts', 'tsx', 'vue', 'svelte'].forEach((ext) => {
|
|
20
|
+
exports.SymbolRegexes[ext] = exports.SymbolRegexes.ts;
|
|
21
|
+
});
|
|
22
|
+
['c', 'cc', 'cxx', 'h', 'hpp', 'cpp', 'hxx'].forEach((ext) => {
|
|
23
|
+
exports.SymbolRegexes[ext] = exports.SymbolRegexes.cpp;
|
|
24
|
+
});
|
|
25
|
+
function getMatches(source, regex) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
const results = [];
|
|
28
|
+
const matches = source.matchAll(regex);
|
|
29
|
+
for (const match of matches) {
|
|
30
|
+
const { groups } = match;
|
|
31
|
+
const symbol = (_b = (_a = groups === null || groups === void 0 ? void 0 : groups.symbol1) !== null && _a !== void 0 ? _a : groups === null || groups === void 0 ? void 0 : groups.symbol2) !== null && _b !== void 0 ? _b : groups === null || groups === void 0 ? void 0 : groups.symbol3;
|
|
32
|
+
if (symbol)
|
|
33
|
+
results.push(symbol);
|
|
34
|
+
}
|
|
35
|
+
return results;
|
|
36
|
+
}
|
|
37
|
+
function querySymbols(path, allowGeneric = true) {
|
|
38
|
+
var _a;
|
|
39
|
+
const fileExtension = (_a = path.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
40
|
+
let regex = allowGeneric ? genericSymbolRegex : undefined;
|
|
41
|
+
if (fileExtension && fileExtension in exports.SymbolRegexes) {
|
|
42
|
+
regex = exports.SymbolRegexes[fileExtension];
|
|
43
|
+
}
|
|
44
|
+
if (regex) {
|
|
45
|
+
try {
|
|
46
|
+
// readFileSync performs 2x faster than its async counterpart in this case.
|
|
47
|
+
const content = (0, fs_1.readFileSync)(path, 'utf-8');
|
|
48
|
+
return getMatches(content, regex);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.warn(`Error reading file ${path}`);
|
|
52
|
+
console.warn(error);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
exports.default = querySymbols;
|
|
58
|
+
//# sourceMappingURL=querySymbols.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querySymbols.js","sourceRoot":"","sources":["../../src/fulltext/querySymbols.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAErB,QAAA,aAAa,GAA2B;IACnD,EAAE,EAAE,+KAA+K;IACnL,GAAG,EAAE,uMAAuM;IAC5M,EAAE,EAAE,8DAA8D;IAClE,EAAE,EAAE,0FAA0F;IAC9F,EAAE,EAAE,gEAAgE;IACpE,EAAE,EAAE,gCAAgC;IACpC,IAAI,EAAE,sJAAsJ;IAC5J,EAAE,EAAE,yOAAyO;IAC7O,EAAE,EAAE,yFAAyF;IAC7F,GAAG,EAAE,+CAA+C;CACrD,CAAC;AAEF,MAAM,kBAAkB,GACtB,yTAAyT,CAAC;AAE5T,4CAA4C;AAC5C,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;IAC1D,qBAAa,CAAC,GAAG,CAAC,GAAG,qBAAa,CAAC,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;IAC3D,qBAAa,CAAC,GAAG,CAAC,GAAG,qBAAa,CAAC,GAAG,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa;;IAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;QACrE,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAwB,YAAY,CAAC,IAAY,EAAE,YAAY,GAAG,IAAI;;IACpE,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,CAAC;IAE3D,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,IAAI,aAAa,IAAI,aAAa,IAAI,qBAAa,EAAE;QACnD,KAAK,GAAG,qBAAa,CAAC,aAAa,CAAC,CAAC;KACtC;IAED,IAAI,KAAK,EAAE;QACT,IAAI;YACF,2EAA2E;YAC3E,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrB;KACF;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AApBD,+BAoBC"}
|
package/built/html/appmap.js
CHANGED
|
@@ -394,7 +394,7 @@ ${this.actionSpec.elapsedTimeMs} ms`:""}`:""},parameters(){return this.currentEv
|
|
|
394
394
|
`)])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("p",[e._v("Add the following line of code to the "),r("strong",[e._v("top of your Gemfile")]),e._v(".")])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("p",[e._v(`
|
|
395
395
|
Finally, run the configuration bootstrapper to automatically create an
|
|
396
396
|
`),r("i",[e._v("appmap.yml")]),e._v(` file for this project.
|
|
397
|
-
`)])}]},void 0,{name:"RubyInstructions",components:{VCodeSnippet:qb},props:{ctaButtonType:{type:String,default:"primary"}}},void 0,!1,void 0,!1,void 0,void 0,void 0),qse=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e._m(0),e._v(" "),r("section",[e._m(1),e._v(" "),r("div",[r("v-code-snippet",{attrs:{"clipboard-text":"pip install appmap",kind:e.ctaButtonType}})],1),e._v(" "),r("div",[r("div",{staticClass:"center-block"},[e._v("or")]),e._v(" "),r("v-code-snippet",{attrs:{"clipboard-text":"pipenv install --dev appmap",kind:e.ctaButtonType}})],1),e._v(" "),r("div",[r("div",{staticClass:"center-block"},[e._v("or")]),e._v(" "),r("v-code-snippet",{attrs:{"clipboard-text":"poetry add --dev appmap",kind:e.ctaButtonType}})],1)]),e._v(" "),r("section",[r("h3",[e._v("Configure AppMap")]),e._v(" "),e._m(
|
|
397
|
+
`)])}]},void 0,{name:"RubyInstructions",components:{VCodeSnippet:qb},props:{ctaButtonType:{type:String,default:"primary"}}},void 0,!1,void 0,!1,void 0,void 0,void 0),qse=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e._m(0),e._v(" "),r("section",[e._m(1),e._v(" "),r("div",[r("v-code-snippet",{attrs:{"clipboard-text":"pip install --require-virtualenv appmap",kind:e.ctaButtonType}}),e._v(" "),e._m(2)],1),e._v(" "),r("div",[r("div",{staticClass:"center-block"},[e._v("or")]),e._v(" "),r("v-code-snippet",{attrs:{"clipboard-text":"pipenv install --dev appmap",kind:e.ctaButtonType}})],1),e._v(" "),r("div",[r("div",{staticClass:"center-block"},[e._v("or")]),e._v(" "),r("v-code-snippet",{attrs:{"clipboard-text":"poetry add --dev appmap",kind:e.ctaButtonType}})],1)]),e._v(" "),r("section",[r("h3",[e._v("Configure AppMap")]),e._v(" "),e._m(3),e._v(" "),r("v-code-snippet",{attrs:{"clipboard-text":"python -c 'import appmap'",kind:e.ctaButtonType}})],1)])},staticRenderFns:[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("section",[e._v(`
|
|
398
398
|
Manual installation is a good option if:
|
|
399
399
|
|
|
400
400
|
`),r("ol",[r("li",[e._v(`
|
|
@@ -402,9 +402,12 @@ ${this.actionSpec.elapsedTimeMs} ms`:""}`:""},parameters(){return this.currentEv
|
|
|
402
402
|
`)]),e._v(" "),r("li",[e._v(`
|
|
403
403
|
You want to install `),r("code",{staticClass:"inline"},[e._v("appmap")]),e._v(` from outside of the code editor.
|
|
404
404
|
`)])])])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("h3",[e._v("Add the "),r("code",{staticClass:"inline"},[e._v("appmap")]),e._v(" package to your project")])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("p",[e._v(`
|
|
405
|
+
Note that this requires that you create and activate a
|
|
406
|
+
`),r("a",{attrs:{href:"https://docs.python.org/3/library/venv.html"}},[e._v("virtual environment")]),e._v(`.
|
|
407
|
+
`)])},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("p",[e._v(`
|
|
405
408
|
Finalize the installation by running the command below. An `),r("i",[e._v("appmap.yml")]),e._v(` configuration
|
|
406
409
|
file will automatically be created in the current working directory.
|
|
407
|
-
`)])}]},function(e){e&&e("data-v-
|
|
410
|
+
`)])}]},function(e){e&&e("data-v-b97511f6_0",{source:".center-block[data-v-b97511f6]{display:flex;justify-content:center;margin:1em}",map:void 0,media:void 0})},{name:"PythonInstructions",components:{VCodeSnippet:qb},props:{ctaButtonType:{type:String,default:"primary"}}},"data-v-b97511f6",!1,void 0,!1,J,void 0,void 0),Ot,ks,xb={functional:!0,render(e,t){let{_c:r,_v:n,data:i,children:a=[]}=t,{class:o,staticClass:s,style:l,staticStyle:c,attrs:u={},...d}=i;return r("svg",{class:[o,s],style:[l,c],attrs:Object.assign({viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},u),...d},a.concat([r("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M15 8A7 7 0 111 8a7 7 0 0114 0zM7.993 3.301l.207.409.367.726.002.005 2.116 4.472 1 2.114.152.323H10.52l-.06-.13-.61-1.31-.195-.42-.001-.002-1.663-3.679-.634 1.322L6.32 9.486v.003h-.001l-.396.86v.002l-.39.865-.06.134H4.16l.154-.323L7.445 4.44V4.44l.35-.726.198-.413z",fill:"#fff"}})]))}},kN={functional:!0,render(e,t){let{_c:r,_v:n,data:i,children:a=[]}=t,{class:o,staticClass:s,style:l,staticStyle:c,attrs:u={},...d}=i;return r("svg",{class:[o,s],style:[l,c],attrs:Object.assign({viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},u),...d},a.concat([r("g",{attrs:{"clip-path":"url(#clip0_168_1364)"}},[r("path",{attrs:{d:"M8 15A7 7 0 108 1a7 7 0 000 14z",fill:"#E13ECB"}}),r("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.2 3.71l-.207-.409-.198.413-.35.726-3.133 6.587-.153.323h1.314l.06-.134.389-.865v-.001l.396-.86.001-.004 1.04-2.355.633-1.322 1.663 3.679v.002l.195.42.61 1.31.06.13h1.317l-.153-.323-.999-2.114L8.57 4.44l-.002-.005L8.2 3.71z",fill:"#fff"}})]),r("defs",[r("clipPath",{attrs:{id:"clip0_168_1364"}},[r("path",{attrs:{fill:"#fff",transform:"translate(1 1)",d:"M0 0h14v14H0z"}})])])]))}},d$e={functional:!0,render(e,t){let{_c:r,_v:n,data:i,children:a=[]}=t,{class:o,staticClass:s,style:l,staticStyle:c,attrs:u={},...d}=i;return r("svg",{class:[o,s],style:[l,c],attrs:Object.assign({width:"61",height:"61",fill:"none",xmlns:"http://www.w3.org/2000/svg"},u),...d},a.concat([r("path",{staticClass:"segment",attrs:{"data-index":"0",d:"M61 29a30 30 0 00-3.941-14.864C54.476 9.608 49.987 5.831 45.5 3.178 41.013.524 36.212.082 31 0c-5.212-.082-8.932.666-13.5 3.178L20 7.5l2.5 4c2.918-1.604 5.471-1.552 8.801-1.5 3.33.052 6.588.808 9.455 2.504a19.165 19.165 0 016.892 7C49.298 22.397 50 25.67 50 29h11z",fill:"#585858"}}),r("path",{staticClass:"segment",attrs:{"data-index":"1",d:"M16.5 56.875C21 59.5 26.154 60.564 31.366 60.5c5.213-.064 10.319-.987 14.815-3.625a30 30 0 0010.826-10.92C59.605 41.435 60.982 37.213 61 32H50c-.012 3.33-.726 5.667-2.386 8.554a19.164 19.164 0 01-6.916 6.976c-2.872 1.685-6.002 2.93-9.332 2.97-3.33.04-6.953-.386-9.866-2l-5 8.375z",fill:"#585858"}}),r("path",{staticClass:"segment",attrs:{"data-index":"2",d:"M15 4.5c-4.514 2.606-8.272 5.863-10.902 10.364a30 30 0 00-.311 29.726C6.322 49.145 9.54 52.8 14 55.5l5.5-8.5c-2.849-1.725-4.627-4.77-6.246-7.68a19.166 19.166 0 01.199-18.99c1.68-2.875 4.163-5.665 7.047-7.33L15 4.5z",fill:"#585858"}}),r("path",{staticClass:"check",attrs:{fill:"#585858",d:"M19.934 30l8.658 7.304-1.934 2.293L18 32.293z"}}),r("path",{staticClass:"check",attrs:{fill:"#585858",d:"M43.878 20.964l-16.61 19.188L25 38.188l16.61-19.187z"}})]))}};(function(e){e[e.NotStarted=0]="NotStarted",e[e.InProgress=1]="InProgress",e[e.Completed=2]="Completed",e[e.NumStatuses=3]="NumStatuses"})(Ot||(Ot={})),function(e){e[e.ProjectPicker=0]="ProjectPicker",e[e.RecordAppMaps=1]="RecordAppMaps",e[e.Navie=2]="Navie",e[e.NumSteps=3]="NumSteps"}(ks||(ks={}));var Yse=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"status-message",attrs:{"data-cy":"status"}},[r("div",{class:e.progressBarClasses},[r("ProgressIndicator",{attrs:{"data-cy":"status-indicator"}})],1),e._v(" "),r("div",{staticClass:"status-message__body"},[r("p",{class:e.headerClasses,attrs:{"data-cy":"header"}},[r(e.header,{tag:"component"})],1),e._v(" "),e.prompt&&!e.allComplete?r("p",{staticClass:"status-message__prompt",attrs:{"data-cy":"prompt"}},[e.currentStepComplete&&!e.shouldGoBack?[e._v(" Next step: ")]:e._e(),e._v(" "),e.shouldGoBack?[r("a",{attrs:{href:"#","data-cy":"go-back"},on:{click:function(n){return n.preventDefault(),e.$root.$emit("status-jump",e.nextStep)}}},[e._v(`
|
|
408
411
|
Go back
|
|
409
412
|
`)]),e._v(`
|
|
410
413
|
and
|