@appland/appmap 3.75.1 → 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 (41) hide show
  1. package/CHANGELOG.md +18 -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 -47
  9. package/built/cmds/prune/pruneAppMap.js.map +1 -1
  10. package/built/cmds/sequenceDiagram.js +13 -3
  11. package/built/cmds/sequenceDiagram.js.map +1 -1
  12. package/built/depends.js +1 -1
  13. package/built/depends.js.map +1 -1
  14. package/built/fingerprint/canonicalize.js +0 -3
  15. package/built/fingerprint/canonicalize.js.map +1 -1
  16. package/built/fingerprint/fingerprintDirectoryCommand.js +2 -1
  17. package/built/fingerprint/fingerprintDirectoryCommand.js.map +1 -1
  18. package/built/fingerprint/fingerprintQueue.js +2 -2
  19. package/built/fingerprint/fingerprintQueue.js.map +1 -1
  20. package/built/fingerprint/fingerprinter.js +18 -29
  21. package/built/fingerprint/fingerprinter.js.map +1 -1
  22. package/built/html/appmap.js +83 -80
  23. package/built/html/appmap.js.map +4 -4
  24. package/built/html/sequenceDiagram.js +83 -80
  25. package/built/html/sequenceDiagram.js.map +4 -4
  26. package/built/lib/fileSizeFilter.js +26 -0
  27. package/built/lib/fileSizeFilter.js.map +1 -0
  28. package/built/lib/filterAppMap.js +9 -0
  29. package/built/lib/filterAppMap.js.map +1 -0
  30. package/built/lib/flattenMetadata.js +1 -1
  31. package/built/lib/serveAndOpen.js +3 -3
  32. package/built/lib/serveAndOpen.js.map +1 -1
  33. package/built/lib/sqlErrorLog.js +24 -0
  34. package/built/lib/sqlErrorLog.js.map +1 -0
  35. package/package.json +1 -1
  36. package/built/fingerprint/canonicalize/info.js +0 -48
  37. package/built/fingerprint/canonicalize/info.js.map +0 -1
  38. package/built/fingerprint/canonicalize/trace.js +0 -51
  39. package/built/fingerprint/canonicalize/trace.js.map +0 -1
  40. package/built/fingerprint/canonicalize/update.js +0 -67
  41. package/built/fingerprint/canonicalize/update.js.map +0 -1
@@ -5,14 +5,11 @@ const algorithms = {
5
5
  classes: require('./canonicalize/classes'),
6
6
  httpClientRequests: require('./canonicalize/httpClientRequests'),
7
7
  httpServerRequests: require('./canonicalize/httpServerRequests'),
8
- info: require('./canonicalize/info'),
9
8
  labels: require('./canonicalize/labels'),
10
9
  packages: require('./canonicalize/packages'),
11
10
  packageDependencies: require('./canonicalize/packageDependencies'),
12
11
  sqlNormalized: require('./canonicalize/sqlNormalized'),
13
12
  sqlTables: require('./canonicalize/sqlTables'),
14
- trace: require('./canonicalize/trace'),
15
- update: require('./canonicalize/update'),
16
13
  };
17
14
  /* eslint-enable global-require */
18
15
  function httpServerRequestsOnly(appmap) {
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../src/fingerprint/canonicalize.js"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,MAAM,UAAU,GAAG;IACjB,iBAAiB,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC9D,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC,mCAAmC,CAAC;IAChE,kBAAkB,EAAE,OAAO,CAAC,mCAAmC,CAAC;IAChE,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAClE,aAAa,EAAE,OAAO,CAAC,8BAA8B,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAC9C,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC;CACzC,CAAC;AACF,kCAAkC;AAElC,SAAS,sBAAsB,CAAC,MAAM;IACpC,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAClC,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC7C,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACtD;QAED,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAChD,sBAAsB,CAAC,GAAG,EAAE,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,2DAA2D;QAC3D,OAAO,MAAM,CAAC;KACf;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,aAAa,EAAE,MAAM;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,aAAa,EAAE,CAAC,CAAC;KACzE;IAED,qFAAqF;IACrF,sFAAsF;IACtF,uFAAuF;IACvF,sFAAsF;IACtF,yBAAyB;IACzB,OAAO,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,UAAU;IACV,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../src/fingerprint/canonicalize.js"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,MAAM,UAAU,GAAG;IACjB,iBAAiB,EAAE,OAAO,CAAC,kCAAkC,CAAC;IAC9D,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC,mCAAmC,CAAC;IAChE,kBAAkB,EAAE,OAAO,CAAC,mCAAmC,CAAC;IAChE,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,CAAC,oCAAoC,CAAC;IAClE,aAAa,EAAE,OAAO,CAAC,8BAA8B,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC,0BAA0B,CAAC;CAC/C,CAAC;AACF,kCAAkC;AAElC,SAAS,sBAAsB,CAAC,MAAM;IACpC,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAClC,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC7C,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACtD;QAED,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAChD,sBAAsB,CAAC,GAAG,EAAE,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,2DAA2D;QAC3D,OAAO,MAAM,CAAC;KACf;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,aAAa,EAAE,MAAM;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,aAAa,EAAE,CAAC,CAAC;KACzE;IAED,qFAAqF;IACrF,sFAAsF;IACtF,uFAAuF;IACvF,sFAAsF;IACtF,yBAAyB;IACzB,OAAO,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,UAAU;IACV,YAAY;CACb,CAAC"}
@@ -16,7 +16,8 @@ class FingerprintDirectoryCommand {
16
16
  count += 1;
17
17
  return fpQueue.push(file);
18
18
  });
19
- await fpQueue.process();
19
+ if (count > 0)
20
+ await fpQueue.process();
20
21
  return count;
21
22
  }
22
23
  async files(fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprintDirectoryCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintDirectoryCommand.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAE/D,MAAM,2BAA2B;IAC/B,YAAY,SAAS;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7D;QAED,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE;QACZ,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC"}
1
+ {"version":3,"file":"fingerprintDirectoryCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintDirectoryCommand.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAE/D,MAAM,2BAA2B;IAC/B,YAAY,SAAS;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7D;QAED,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE;QACZ,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC"}
@@ -10,11 +10,11 @@ function isNodeError(error, code) {
10
10
  return error instanceof Error && (!code || error.code === code);
11
11
  }
12
12
  class FingerprintQueue {
13
- constructor(size = 2, printCanonicalAppMaps = true) {
13
+ constructor(size = 2) {
14
14
  this.size = size;
15
15
  this.pending = new Set();
16
16
  // eslint-disable-next-line no-use-before-define
17
- this.handler = new fingerprinter_1.default(printCanonicalAppMaps);
17
+ this.handler = new fingerprinter_1.default();
18
18
  this.queue = (0, async_1.queue)(async (appmapFileName) => {
19
19
  try {
20
20
  await this.handler.fingerprint(appmapFileName);
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprintQueue.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintQueue.ts"],"names":[],"mappings":";;;;;AAAA,iCAA2C;AAC3C,4EAAoD;AACpD,oEAA4C;AAE5C,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAChD,OAAO,KAAK,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,IAAK,KAA+B,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,MAAqB,gBAAgB;IAKnC,YAAoB,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;QAAtC,SAAI,GAAJ,IAAI,CAAI;QAFpB,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAGlC,gDAAgD;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAA,aAAK,EAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YAC1C,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAChD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,wBAAwB,cAAc,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,KAAK,YAAY,2BAAiB,EAAE;oBACtC,OAAO,CAAC,IAAI,CACV;wBACE,YAAY,KAAK,CAAC,OAAO,EAAE;wBAC3B,yFAAyF;qBAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;iBACH;qBAAM,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;iBAClE;;oBAAM,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AA3CD,mCA2CC"}
1
+ {"version":3,"file":"fingerprintQueue.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintQueue.ts"],"names":[],"mappings":";;;;;AAAA,iCAA2C;AAC3C,4EAAoD;AACpD,oEAA4C;AAE5C,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAChD,OAAO,KAAK,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,IAAK,KAA+B,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,MAAqB,gBAAgB;IAKnC,YAAoB,OAAO,CAAC;QAAR,SAAI,GAAJ,IAAI,CAAI;QAFpB,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAGlC,gDAAgD;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAA,aAAK,EAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YAC1C,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAChD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,wBAAwB,cAAc,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,KAAK,YAAY,2BAAiB,EAAE;oBACtC,OAAO,CAAC,IAAI,CACV;wBACE,YAAY,KAAK,CAAC,OAAO,EAAE;wBAC3B,yFAAyF;qBAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;iBACH;qBAAM,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;iBAClE;;oBAAM,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AA3CD,mCA2CC"}
@@ -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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"}