@appland/appmap 3.76.0 → 3.77.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/built/cli.js +4 -179
  3. package/built/cli.js.map +1 -1
  4. package/built/cmds/openapi.js +4 -23
  5. package/built/cmds/openapi.js.map +1 -1
  6. package/built/cmds/prune/prune.js +8 -7
  7. package/built/cmds/prune/prune.js.map +1 -1
  8. package/built/cmds/prune/pruneAppMap.js +13 -48
  9. package/built/cmds/prune/pruneAppMap.js.map +1 -1
  10. package/built/depends.js +1 -1
  11. package/built/depends.js.map +1 -1
  12. package/built/fingerprint/canonicalize.js +0 -3
  13. package/built/fingerprint/canonicalize.js.map +1 -1
  14. package/built/fingerprint/fingerprintDirectoryCommand.js +2 -1
  15. package/built/fingerprint/fingerprintDirectoryCommand.js.map +1 -1
  16. package/built/fingerprint/fingerprintQueue.js +2 -2
  17. package/built/fingerprint/fingerprintQueue.js.map +1 -1
  18. package/built/fingerprint/fingerprinter.js +18 -29
  19. package/built/fingerprint/fingerprinter.js.map +1 -1
  20. package/built/html/appmap.js +83 -80
  21. package/built/html/appmap.js.map +4 -4
  22. package/built/html/sequenceDiagram.js +83 -80
  23. package/built/html/sequenceDiagram.js.map +4 -4
  24. package/built/lib/fileSizeFilter.js +26 -0
  25. package/built/lib/fileSizeFilter.js.map +1 -0
  26. package/built/lib/filterAppMap.js +2 -5
  27. package/built/lib/filterAppMap.js.map +1 -1
  28. package/built/lib/flattenMetadata.js +1 -1
  29. package/built/lib/sqlErrorLog.js +24 -0
  30. package/built/lib/sqlErrorLog.js.map +1 -0
  31. package/package.json +1 -1
  32. package/built/fingerprint/canonicalize/info.js +0 -48
  33. package/built/fingerprint/canonicalize/info.js.map +0 -1
  34. package/built/fingerprint/canonicalize/trace.js +0 -51
  35. package/built/fingerprint/canonicalize/trace.js.map +0 -1
  36. package/built/fingerprint/canonicalize/update.js +0 -67
  37. package/built/fingerprint/canonicalize/update.js.map +0 -1
  38. package/built/lib/deserializeFilter.js +0 -16
  39. package/built/lib/deserializeFilter.js.map +0 -1
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const crypto_1 = require("crypto");
6
+ exports.VERSION = void 0;
7
7
  const path_1 = require("path");
8
8
  const graceful_fs_1 = __importDefault(require("graceful-fs"));
9
9
  const util_1 = require("util");
@@ -18,9 +18,14 @@ const renameFile = (0, util_1.promisify)(graceful_fs_1.default.rename);
18
18
  /**
19
19
  * CHANGELOG
20
20
  *
21
+ * # 1.2.0
22
+ *
23
+ * * Drop fingerprint fields, as these are no longer used by downstream tools.
24
+ * Canonicalization via sequence diagram is now the preferred mechanism.
25
+ *
21
26
  * # 1.1.4
22
27
  *
23
- * Add missing status_code to normalized AppMaps.
28
+ * * Add missing status_code to normalized AppMaps.
24
29
  *
25
30
  * # 1.1.3
26
31
  *
@@ -42,14 +47,13 @@ const renameFile = (0, util_1.promisify)(graceful_fs_1.default.rename);
42
47
  * * Fix handling of parent assignment in normalization.
43
48
  * * sql can contain the analysis (action, tables, columns), and/or the normalized query string.
44
49
  */
45
- const VERSION = '1.1.4';
50
+ exports.VERSION = '1.2.0';
46
51
  const MAX_APPMAP_SIZE = 50 * 1000 * 1000;
47
52
  class Fingerprinter extends events_1.default {
48
- constructor(printCanonicalAppMaps) {
49
- super();
50
- this.printCanonicalAppMaps = printCanonicalAppMaps;
53
+ constructor() {
54
+ super(...arguments);
51
55
  /**
52
- * Whether to check if the version of existing fingerprints is up to date.
56
+ * Whether to check if the version of the existing index is up to date.
53
57
  * When watching files for changes, it can be set to false after the initial
54
58
  * pass to avoid re-reading the same 'version' files over and over.
55
59
  */
@@ -57,21 +61,21 @@ class Fingerprinter extends events_1.default {
57
61
  }
58
62
  async fingerprint(appMapFileName) {
59
63
  if ((0, utils_1.verbose)()) {
60
- console.log(`Fingerprinting ${appMapFileName}`);
64
+ console.log(`Indexing ${appMapFileName}`);
61
65
  }
62
66
  const index = new appmapIndex_1.default(appMapFileName);
63
67
  if (!(await index.initialize())) {
64
68
  return;
65
69
  }
66
- if ((!this.checkVersion || (await index.versionUpToDate(VERSION))) &&
70
+ if ((!this.checkVersion || (await index.versionUpToDate(exports.VERSION))) &&
67
71
  (await index.indexUpToDate())) {
68
72
  if ((0, utils_1.verbose)()) {
69
- console.log('Fingerprint is up to date. Skipping...');
73
+ console.log('Index is up to date. Skipping...');
70
74
  }
71
75
  return;
72
76
  }
73
- if ((await index.appmapFileSize()) > MAX_APPMAP_SIZE)
74
- throw new fileTooLargeError_1.default(appMapFileName, await index.appmapFileSize(), MAX_APPMAP_SIZE);
77
+ if (index.appmapFileSize() > MAX_APPMAP_SIZE)
78
+ throw new fileTooLargeError_1.default(appMapFileName, index.appmapFileSize(), MAX_APPMAP_SIZE);
75
79
  const appmapData = await index.loadAppMapData();
76
80
  if (!appmapData)
77
81
  return;
@@ -79,34 +83,19 @@ class Fingerprinter extends events_1.default {
79
83
  if (!appmapDataWithoutMetadata)
80
84
  return;
81
85
  delete appmapDataWithoutMetadata.metadata;
82
- const appmapDigest = (0, crypto_1.createHash)('sha256')
83
- .update(JSON.stringify(appmapDataWithoutMetadata, null, 2))
84
- .digest('hex');
85
- const fingerprints = [];
86
- appmapData.metadata.fingerprints = fingerprints;
87
86
  const appmap = (0, models_1.buildAppMap)(appmapData).normalize().build();
88
87
  await index.mkdir_p();
89
88
  await Promise.all(Object.keys(canonicalize_1.algorithms).map(async (algorithmName) => {
90
89
  const canonicalForm = (0, canonicalize_1.canonicalize)(algorithmName, appmap);
91
90
  const canonicalJSON = JSON.stringify(canonicalForm, null, 2);
92
- if (this.printCanonicalAppMaps) {
93
- await index.writeFileAtomic(`canonical.${algorithmName}.json`, canonicalJSON);
94
- }
95
- const fingerprintDigest = (0, crypto_1.createHash)('sha256').update(canonicalJSON).digest('hex');
96
- fingerprints.push({
97
- appmap_digest: appmapDigest,
98
- canonicalization_algorithm: algorithmName,
99
- digest: fingerprintDigest,
100
- fingerprint_algorithm: 'sha256',
101
- });
91
+ await index.writeFileAtomic(`canonical.${algorithmName}.json`, canonicalJSON);
102
92
  }));
103
- appmapData.metadata.fingerprints.sort((a, b) => a.canonicalization_algorithm.localeCompare(b.canonicalization_algorithm));
104
93
  const tempAppMapFileName = (0, path_1.join)(index.indexDir, 'appmap.tmp');
105
94
  await index.writeFileAtomic((0, path_1.basename)(tempAppMapFileName), JSON.stringify(appmap, null, 2));
106
95
  const appMapIndexedAt = await (0, utils_1.mtime)(tempAppMapFileName);
107
96
  (0, assert_1.default)(appMapIndexedAt, `${tempAppMapFileName} should always exist and be a readable file`);
108
97
  await Promise.all([
109
- index.writeFileAtomic('version', VERSION),
98
+ index.writeFileAtomic('version', exports.VERSION),
110
99
  index.writeFileAtomic('classMap.json', JSON.stringify(appmap.classMap, null, 2)),
111
100
  index.writeFileAtomic('metadata.json', JSON.stringify(appmap.metadata, null, 2)),
112
101
  index.writeFileAtomic('mtime', `${appMapIndexedAt}`),
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.ts"],"names":[],"mappings":"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"}