@appland/appmap 3.17.2 → 3.18.3
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 +30 -0
- package/built/appmap.html +1 -1
- package/built/main.js.LICENSE.txt +5 -5
- package/built/main.js.map +1 -1
- package/built/package.json +2 -2
- package/built/src/cmds/agentInstaller/agentInstaller.js +1 -1
- package/built/src/cmds/agentInstaller/agentInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/agentInstallerProcedure.js +1 -1
- package/built/src/cmds/agentInstaller/agentInstallerProcedure.js.map +1 -1
- package/built/src/cmds/agentInstaller/agentProcedure.js +6 -6
- package/built/src/cmds/agentInstaller/agentProcedure.js.map +1 -1
- package/built/src/cmds/agentInstaller/commandRunner.js +4 -4
- package/built/src/cmds/agentInstaller/commandRunner.js.map +1 -1
- package/built/src/cmds/agentInstaller/commandUtil.js +1 -1
- package/built/src/cmds/agentInstaller/commandUtil.js.map +1 -1
- package/built/src/cmds/agentInstaller/gradleInstaller.js +6 -6
- package/built/src/cmds/agentInstaller/gradleInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/install-agent.js +4 -4
- package/built/src/cmds/agentInstaller/install-agent.js.map +1 -1
- package/built/src/cmds/agentInstaller/javaBuildToolInstaller.js +3 -3
- package/built/src/cmds/agentInstaller/javaBuildToolInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/javaScriptAgentInstaller.js +7 -7
- package/built/src/cmds/agentInstaller/javaScriptAgentInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/mavenInstaller.js +5 -5
- package/built/src/cmds/agentInstaller/mavenInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/projectConfiguration.js +7 -7
- package/built/src/cmds/agentInstaller/projectConfiguration.js.map +1 -1
- package/built/src/cmds/agentInstaller/pythonAgentInstaller.js +8 -8
- package/built/src/cmds/agentInstaller/pythonAgentInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/rubyAgentInstaller.js +5 -5
- package/built/src/cmds/agentInstaller/rubyAgentInstaller.js.map +1 -1
- package/built/src/cmds/agentInstaller/sourceUtil.js +1 -1
- package/built/src/cmds/agentInstaller/sourceUtil.js.map +1 -1
- package/built/src/cmds/agentInstaller/status.js +2 -2
- package/built/src/cmds/agentInstaller/status.js.map +1 -1
- package/built/src/cmds/errors.js +1 -1
- package/built/src/cmds/errors.js.map +1 -1
- package/built/src/cmds/open/open.js +4 -4
- package/built/src/cmds/open/open.js.map +1 -1
- package/built/src/cmds/open/openers.js +3 -3
- package/built/src/cmds/open/openers.js.map +1 -1
- package/built/src/cmds/open/serveAndOpenAppMap.js +13 -13
- package/built/src/cmds/open/serveAndOpenAppMap.js.map +1 -1
- package/built/src/cmds/open/showAppMap.js +1 -1
- package/built/src/cmds/open/showAppMap.js.map +1 -1
- package/built/src/cmds/prune/prune.js +2 -2
- package/built/src/cmds/prune/prune.js.map +1 -1
- package/built/src/cmds/prune/pruneAppMap.js +1 -1
- package/built/src/cmds/prune/pruneAppMap.js.map +1 -1
- package/built/src/cmds/record/configureConnection.js +3 -3
- package/built/src/cmds/record/configureConnection.js.map +1 -1
- package/built/src/cmds/record/configureRemainingRequestOptions.js +1 -1
- package/built/src/cmds/record/configureRemainingRequestOptions.js.map +1 -1
- package/built/src/cmds/record/confirmProcessCharacteristics.js +3 -3
- package/built/src/cmds/record/confirmProcessCharacteristics.js.map +1 -1
- package/built/src/cmds/record/createRecording.js +5 -1
- package/built/src/cmds/record/createRecording.js.map +1 -1
- package/built/src/cmds/record/intro.js +1 -1
- package/built/src/cmds/record/intro.js.map +1 -1
- package/built/src/cmds/record/record.js +7 -7
- package/built/src/cmds/record/record.js.map +1 -1
- package/built/src/cmds/record/testConnection.js +1 -1
- package/built/src/cmds/record/testConnection.js.map +1 -1
- package/built/src/cmds/runCommand.js +1 -1
- package/built/src/cmds/runCommand.js.map +1 -1
- package/built/src/cmds/userInteraction.js +3 -3
- package/built/src/cmds/userInteraction.js.map +1 -1
- package/built/src/fingerprint/canonicalize/info.js +2 -2
- package/built/src/fingerprint/canonicalize/info.js.map +1 -1
- package/built/src/fingerprint/canonicalize/sqlNormalized.js +2 -2
- package/built/src/fingerprint/canonicalize/sqlNormalized.js.map +1 -1
- package/built/src/fingerprint/canonicalize/sqlTables.js +3 -3
- package/built/src/fingerprint/canonicalize/sqlTables.js.map +1 -1
- package/built/src/fingerprint/canonicalize/trace.js +4 -4
- package/built/src/fingerprint/canonicalize/trace.js.map +1 -1
- package/built/src/fingerprint/canonicalize/update.js +3 -3
- package/built/src/fingerprint/canonicalize/update.js.map +1 -1
- package/built/src/functionStats.js +4 -3
- package/built/src/functionStats.js.map +1 -1
- package/built/src/openapi/command.js +2 -2
- package/built/src/openapi/command.js.map +1 -1
- package/built/src/openapi/method.js +5 -44
- package/built/src/openapi/method.js.map +1 -1
- package/built/src/openapi/response.js +2 -2
- package/built/src/openapi/response.js.map +1 -1
- package/built/src/openapi/util.js +3 -1
- package/built/src/openapi/util.js.map +1 -1
- package/built/src/search/matchSpec.js +5 -5
- package/built/src/search/matchSpec.js.map +1 -1
- package/built/src/search/trigram.js +2 -2
- package/built/src/search/trigram.js.map +1 -1
- package/built/src/service/config/validator.js +5 -3
- package/built/src/service/config/validator.js.map +1 -1
- package/built/src/telemetry.js +5 -5
- package/built/src/telemetry.js.map +1 -1
- package/package.json +2 -2
- package/built/src/database.js +0 -172
- package/built/src/database.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAuC;AACvC,mCAA6D;AAC7D,uCAAyB;AACzB,kDAAgD;AAChD,6DAI6B;AAC7B,gDAAwB;AAExB,MAAM,MAAM,GAAG,IAAI,cAAI,EAAE,CAAC;AAC1B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC,CAAC;AAEH,0EAA0E;AAC1E,2EAA2E;AAC3E,6CAA6C;AAC7C,oEAAoE;AACpE,MAAM,mBAAmB,GAAG;IAC1B,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,kBAAkB;CACnB;KACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACrD,IAAI,CAAC,GAAG,CAAC,CAAC;AAEb,SAAS,YAAY;IACnB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAuB,CAAC;IAChE,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,eAAuC,CAAC;IAE5C,uDAAuD;IACvD,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAiB,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAuC;AACvC,mCAA6D;AAC7D,uCAAyB;AACzB,kDAAgD;AAChD,6DAI6B;AAC7B,gDAAwB;AAExB,MAAM,MAAM,GAAG,IAAI,cAAI,EAAE,CAAC;AAC1B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC,CAAC;AAEH,0EAA0E;AAC1E,2EAA2E;AAC3E,6CAA6C;AAC7C,oEAAoE;AACpE,MAAM,mBAAmB,GAAG;IAC1B,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,kBAAkB;CACnB;KACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACrD,IAAI,CAAC,GAAG,CAAC,CAAC;AAEb,SAAS,YAAY;IACnB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAuB,CAAC;IAChE,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,eAAuC,CAAC;IAE5C,uDAAuD;IACvD,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,sBAAiB,GAAE,CAAC;SACjD,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC;SAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACrD,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,eAAe,EAAE;QACpB,8BAA8B;QAC9B,eAAe,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;KACnC;IAED,MAAM,aAAa,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC;SACvC,MAAM,CAAC,eAA6B,CAAC;SACrC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEvC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,OAAO;IAIX;QACE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAuB,CAAC;QAChE,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAE3C,CAAC;QAEd,IACE,SAAS;YACT,iBAAiB;YACjB,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC5C;YACA,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;SACrC;aAAM;YACL,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAClD;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAAkB;QACxC,OAAO,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AAQD,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC;;GAEG;AACH,MAAM,cAAc,GAAG,CACrB,GAAkC,EACf,EAAE,CACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1C,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;IAC1E,IAAI,CAAC,KAAK,SAAS,EAAE;QACnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,MAAqB,SAAS;IAO5B,MAAM,KAAK,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,OAAO;;QAChB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAA,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC,QAAmB,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,MAAM;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,2EAA2E;YAC3E,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,GAAG,CAAC;YAEpD,2FAA2F;YAC3F,IAAA,2BAAW,EAAC,mBAAmB,CAAC;iBAC7B,sBAAsB,CAAC,KAAK,CAAC;iBAC7B,yBAAyB,CAAC,KAAK,CAAC;iBAChC,wBAAwB,CAAC,KAAK,CAAC;iBAC/B,0BAA0B,CAAC,KAAK,CAAC;iBACjC,uBAAuB,CAAC,KAAK,CAAC;iBAC9B,4BAA4B,CAAC,KAAK,CAAC;iBACnC,qBAAqB,CAAC,KAAK,CAAC;iBAC5B,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC;iBAChC,kBAAkB,CAAC,KAAK,CAAC;iBACzB,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG,IAAI,qCAAe,CAAC,mBAAmB,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;YACtE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,mBAAI,CAAC;YAC1D,MAAM,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;YAE7C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACvB;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAmB;QAClC,IAAI;YACF,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,UAAU,mBACd,eAAe,EAAE,mBAAI,EACrB,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE,EAC1B,wBAAwB,EAAE,EAAE,CAAC,OAAO,EAAE,EACtC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,EACxB,oBAAoB,EAAE,sBAAO,EAC7B,sBAAsB,EAAE,SAAS,CAAC,SAAS,EAC3C,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAC5C,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAC/C,qBAAqB,CACzB,CAAC;YAEF,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,GAAG,mBAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC5B,YAAY,EAAE,kBAAkB;gBAChC,UAAU;aACX,CAAC;YAEF,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7C;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACnC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1B,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;aAC1B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,8CAA8C;YAC9C,mEAAmE;YACnE,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,YAAY,KAAK,EAAE;oBACtB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACxB;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClB;aACF;SACF;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,oCAAoC;YACpC,wEAAwE;YACxE,gEAAgE;YAChE,EAAE;YACF,oEAAoE;YACpE,qBAAqB;YACrB,IAAI,MAAM,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC1B;SACF;aAAM;YACL,MAAM,EAAE,CAAC;SACV;IACH,CAAC;;AA5GH,4BA6GC;AA1GgB,eAAK,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC;AACzD,kBAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,SAAS,CAAC;AACvD,mBAAS,GAAG,YAAY,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.18.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/src/cli.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@appland/components": "1.23.0",
|
|
70
70
|
"@appland/diagrams": "1.5.1",
|
|
71
|
-
"@appland/models": "^1.
|
|
71
|
+
"@appland/models": "^1.14.1",
|
|
72
72
|
"@sidvind/better-ajv-errors": "^0.9.1",
|
|
73
73
|
"@types/moo": "^0.5.5",
|
|
74
74
|
"JSONStream": "^1.3.5",
|
package/built/src/database.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// @ts-ignore
|
|
3
|
-
const { normalizeSQL } = require('@appland/models');
|
|
4
|
-
// https://github.com/newrelic/newrelic-ruby-agent/blob/dev/lib/new_relic/agent/database/obfuscation_helpers.rb
|
|
5
|
-
// License: https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE
|
|
6
|
-
// Apache License 2.0
|
|
7
|
-
const COMPONENTS_REGEXP_MAP = {
|
|
8
|
-
single_quotes: /'(?:[^']|'')*?(?:\\'.*|'(?!'))/g,
|
|
9
|
-
double_quotes: /"(?:[^"]|"")*?(?:\\".*|"(?!"))/g,
|
|
10
|
-
dollar_quotes: /(\$(?!\d)[^$]*?\$).*?(?:\1|$)/g,
|
|
11
|
-
uuids: /\{?(?:[0-9a-fA-F]-*){32}\}?/g,
|
|
12
|
-
numeric_literals: /-?\b(?:[0-9]+\.)?[0-9]+([eE][+-]?[0-9]+)?\b/g,
|
|
13
|
-
boolean_literals: /\b(?:true|false|null)\b/gi,
|
|
14
|
-
hexadecimal_literals: /0x[0-9a-fA-F]+/g,
|
|
15
|
-
comments: /(?:#|--).*?(?=\r|\n|$)/gi,
|
|
16
|
-
multi_line_comments: /\/\*(?:[^/]|\/[^*])*?(?:\*\/|\/\*.*)/g,
|
|
17
|
-
oracle_quoted_strings: /q'\[.*?(?:\]'|$)|q'\{.*?(?:\}'|$)|q'<.*?(?:>'|$)|q'\(.*?(?:\)'|$)/g,
|
|
18
|
-
};
|
|
19
|
-
// We use these to check whether the query contains any quote characters
|
|
20
|
-
// after obfuscation. If so, that's a good indication that the original
|
|
21
|
-
// query was malformed, and so our obfuscation can't reliably find
|
|
22
|
-
// literals. In such a case, we'll replace the entire query with a
|
|
23
|
-
// placeholder.
|
|
24
|
-
const CLEANUP_REGEXP = {
|
|
25
|
-
mysql: /'|"|\/\*|\*\//,
|
|
26
|
-
mysql2: /'|"|\/\*|\*\//,
|
|
27
|
-
postgres: /'|\/\*|\*\/|\$(?!\?)/,
|
|
28
|
-
sqlite: /'|\/\*|\*\//,
|
|
29
|
-
cassandra: /'|\/\*|\*\//,
|
|
30
|
-
oracle: /'|\/\*|\*\//,
|
|
31
|
-
oracle_enhanced: /'|\/\*|\*\//,
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* @type {{string: string[]}}
|
|
35
|
-
*/
|
|
36
|
-
const DIALECT_COMPONENTS = {
|
|
37
|
-
// @ts-ignore
|
|
38
|
-
fallback: Object.keys(COMPONENTS_REGEXP_MAP),
|
|
39
|
-
mysql: [
|
|
40
|
-
'single_quotes',
|
|
41
|
-
'double_quotes',
|
|
42
|
-
'numeric_literals',
|
|
43
|
-
'boolean_literals',
|
|
44
|
-
'hexadecimal_literals',
|
|
45
|
-
'comments',
|
|
46
|
-
'multi_line_comments',
|
|
47
|
-
],
|
|
48
|
-
postgres: [
|
|
49
|
-
'single_quotes',
|
|
50
|
-
'dollar_quotes',
|
|
51
|
-
'uuids',
|
|
52
|
-
'numeric_literals',
|
|
53
|
-
'boolean_literals',
|
|
54
|
-
'comments',
|
|
55
|
-
'multi_line_comments',
|
|
56
|
-
],
|
|
57
|
-
sqlite: [
|
|
58
|
-
'single_quotes',
|
|
59
|
-
'numeric_literals',
|
|
60
|
-
'boolean_literals',
|
|
61
|
-
'hexadecimal_literals',
|
|
62
|
-
'comments',
|
|
63
|
-
'multi_line_comments',
|
|
64
|
-
],
|
|
65
|
-
oracle: [
|
|
66
|
-
'single_quotes',
|
|
67
|
-
'oracle_quoted_strings',
|
|
68
|
-
'numeric_literals',
|
|
69
|
-
'comments',
|
|
70
|
-
'multi_line_comments',
|
|
71
|
-
],
|
|
72
|
-
cassandra: [
|
|
73
|
-
'single_quotes',
|
|
74
|
-
'uuids',
|
|
75
|
-
'numeric_literals',
|
|
76
|
-
'boolean_literals',
|
|
77
|
-
'hexadecimal_literals',
|
|
78
|
-
'comments',
|
|
79
|
-
'multi_line_comments',
|
|
80
|
-
],
|
|
81
|
-
};
|
|
82
|
-
const PLACEHOLDER = '?';
|
|
83
|
-
function obfuscateSingleQuoteLiterals(sql) {
|
|
84
|
-
if (!COMPONENTS_REGEXP_MAP.single_quotes.test(sql)) {
|
|
85
|
-
return sql;
|
|
86
|
-
}
|
|
87
|
-
return sql.gsub(COMPONENTS_REGEXP_MAP.single_quotes, PLACEHOLDER);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* @param {string} dialect
|
|
91
|
-
* @returns {RegExp[]}
|
|
92
|
-
*/
|
|
93
|
-
function generateRegexp(dialect) {
|
|
94
|
-
const components = DIALECT_COMPONENTS[dialect];
|
|
95
|
-
// No Regexp.union in JS
|
|
96
|
-
return components.map((component) => COMPONENTS_REGEXP_MAP[component]);
|
|
97
|
-
}
|
|
98
|
-
const MYSQL_COMPONENTS_REGEXP = generateRegexp('mysql');
|
|
99
|
-
const POSTGRES_COMPONENTS_REGEXP = generateRegexp('postgres');
|
|
100
|
-
const SQLITE_COMPONENTS_REGEXP = generateRegexp('sqlite');
|
|
101
|
-
const ORACLE_COMPONENTS_REGEXP = generateRegexp('oracle');
|
|
102
|
-
const CASSANDRA_COMPONENTS_REGEXP = generateRegexp('cassandra');
|
|
103
|
-
const FALLBACK_REGEXP = generateRegexp('fallback');
|
|
104
|
-
function detectUnmatchedPairs(obfuscated, adapter) {
|
|
105
|
-
if (CLEANUP_REGEXP[adapter]) {
|
|
106
|
-
return CLEANUP_REGEXP[adapter].test(obfuscated);
|
|
107
|
-
}
|
|
108
|
-
return CLEANUP_REGEXP.mysql.test(obfuscated);
|
|
109
|
-
}
|
|
110
|
-
const FAILED_TO_OBFUSCATE_MESSAGE = 'Failed to obfuscate SQL query - quote characters remained after obfuscation';
|
|
111
|
-
/**
|
|
112
|
-
* Replaces literal query parameters with parameter symbols (e.g. '?');
|
|
113
|
-
*
|
|
114
|
-
* @param {string} sql
|
|
115
|
-
* @param {string} adapter
|
|
116
|
-
* @returns {string}
|
|
117
|
-
*/
|
|
118
|
-
function obfuscate(sql, adapter) {
|
|
119
|
-
/** @type {RegExp[]} */ let regexp;
|
|
120
|
-
switch (adapter) {
|
|
121
|
-
case 'mysql':
|
|
122
|
-
case 'mysql2':
|
|
123
|
-
regexp = MYSQL_COMPONENTS_REGEXP;
|
|
124
|
-
break;
|
|
125
|
-
case 'postgres':
|
|
126
|
-
regexp = POSTGRES_COMPONENTS_REGEXP;
|
|
127
|
-
break;
|
|
128
|
-
case 'sqlite':
|
|
129
|
-
regexp = SQLITE_COMPONENTS_REGEXP;
|
|
130
|
-
break;
|
|
131
|
-
case 'oracle':
|
|
132
|
-
case 'oracle_enhanced':
|
|
133
|
-
regexp = ORACLE_COMPONENTS_REGEXP;
|
|
134
|
-
break;
|
|
135
|
-
case 'cassandra':
|
|
136
|
-
regexp = CASSANDRA_COMPONENTS_REGEXP;
|
|
137
|
-
break;
|
|
138
|
-
default:
|
|
139
|
-
regexp = FALLBACK_REGEXP;
|
|
140
|
-
}
|
|
141
|
-
let obfuscated = sql;
|
|
142
|
-
// eslint-disable-next-line no-return-assign
|
|
143
|
-
regexp.forEach((re) => (obfuscated = obfuscated.replace(re, PLACEHOLDER)));
|
|
144
|
-
if (detectUnmatchedPairs(obfuscated, adapter)) {
|
|
145
|
-
obfuscated = FAILED_TO_OBFUSCATE_MESSAGE;
|
|
146
|
-
}
|
|
147
|
-
return obfuscated;
|
|
148
|
-
}
|
|
149
|
-
const QUERY_CACHE = {};
|
|
150
|
-
function analyzeQuery(
|
|
151
|
-
/** @type {import('./search/types').SQL | string} */ query) {
|
|
152
|
-
if (typeof query === 'string') {
|
|
153
|
-
// This is a problem because we don't know what SQL dialect to apply.
|
|
154
|
-
console.warn(`No database_type available for ${query}`);
|
|
155
|
-
return normalizeSQL(query);
|
|
156
|
-
}
|
|
157
|
-
const { sql, database_type: databaseType } = query;
|
|
158
|
-
if (sql && databaseType) {
|
|
159
|
-
const obfuscatedSQL = obfuscate(sql, databaseType);
|
|
160
|
-
const cachedResult = QUERY_CACHE[obfuscatedSQL];
|
|
161
|
-
if (cachedResult) {
|
|
162
|
-
return cachedResult;
|
|
163
|
-
}
|
|
164
|
-
const result = normalizeSQL(obfuscatedSQL);
|
|
165
|
-
QUERY_CACHE[obfuscatedSQL] = result;
|
|
166
|
-
return result;
|
|
167
|
-
}
|
|
168
|
-
console.warn(`sql or database_type not available for ${JSON.stringify(query)}`);
|
|
169
|
-
return normalizeSQL(sql);
|
|
170
|
-
}
|
|
171
|
-
module.exports = { analyzeQuery, obfuscate, obfuscateSingleQuoteLiterals };
|
|
172
|
-
//# sourceMappingURL=database.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database.js"],"names":[],"mappings":"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"}
|