netstack.js 2.1.2 → 2.1.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/netstack.js +14 -11
- package/package.json +1 -1
package/netstack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* netStack v2.1.
|
|
2
|
+
* netStack v2.1.3
|
|
3
3
|
* A simple and easy JavaScript library for highlighting .NET stack traces
|
|
4
4
|
* License: Apache 2
|
|
5
5
|
* Author: https://elmah.io
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
}
|
|
19
19
|
}(typeof self !== 'undefined' ? self : this, function() {
|
|
20
20
|
|
|
21
|
+
// Prevent SQL keywords
|
|
22
|
+
var sqlKeywords = "INNER JOIN|DELETE|SELECT|FROM|WHERE|INSERT|UPDATE";
|
|
23
|
+
var preventSQL = `(?!${sqlKeywords})`;
|
|
24
|
+
|
|
21
25
|
function netStack(element, options) {
|
|
22
26
|
if (typeof document !== 'undefined') {
|
|
23
27
|
if (typeof element === 'string') {
|
|
@@ -100,7 +104,7 @@
|
|
|
100
104
|
repl: null
|
|
101
105
|
},
|
|
102
106
|
{
|
|
103
|
-
find: new RegExp('(\\s)' + at_language + ' ([^-:]*?)\\((.*?)\\)', 'g'),
|
|
107
|
+
find: new RegExp('(\\s)' + at_language + ' ' + preventSQL + '([^-:)]*?)\\((.*?)\\)', 'g'),
|
|
104
108
|
repl: null
|
|
105
109
|
}
|
|
106
110
|
];
|
|
@@ -147,13 +151,13 @@
|
|
|
147
151
|
lang = '',
|
|
148
152
|
clone = '';
|
|
149
153
|
|
|
150
|
-
|
|
151
|
-
english:
|
|
152
|
-
danish:
|
|
153
|
-
german:
|
|
154
|
-
spanish:
|
|
155
|
-
russian:
|
|
156
|
-
chinese:
|
|
154
|
+
const languagesRegex = {
|
|
155
|
+
english: new RegExp(`\\s+at ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"),
|
|
156
|
+
danish: new RegExp(`\\s+ved ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"),
|
|
157
|
+
german: new RegExp(`\\s+bei ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"),
|
|
158
|
+
spanish: new RegExp(`\\s+en ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"),
|
|
159
|
+
russian: new RegExp(`\\s+в ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g"),
|
|
160
|
+
chinese: new RegExp(`\\s+在 ${preventSQL}([^-:)]*?)\\(.*?\\)`, "g")
|
|
157
161
|
};
|
|
158
162
|
|
|
159
163
|
// look for the language(s) in the stack trace
|
|
@@ -213,9 +217,8 @@
|
|
|
213
217
|
}
|
|
214
218
|
|
|
215
219
|
if (hli.test(lines[i])) {
|
|
216
|
-
|
|
217
220
|
// Frame
|
|
218
|
-
var regFrame = new RegExp('(\\S*)' + languageSet.at + ' .*?\\)'),
|
|
221
|
+
var regFrame = new RegExp('(\\S*)' + languageSet.at + ' ' + preventSQL + '[^-:)]*?\\(.*?\\)'),
|
|
219
222
|
partsFrame = String(regFrame.exec(lines[i]));
|
|
220
223
|
|
|
221
224
|
if (partsFrame.substring(partsFrame.length - 1) == ',') {
|