@teamscale/javascript-instrumenter 0.0.1-beta.5 → 0.0.1-beta.51
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/README.md +2 -52
- package/dist/package.json +21 -15
- package/dist/src/App.d.ts +6 -1
- package/dist/src/App.d.ts.map +1 -1
- package/dist/src/App.js +90 -23
- package/dist/src/instrumenter/FileSystem.js +5 -1
- package/dist/src/instrumenter/Instrumenter.d.ts +39 -19
- package/dist/src/instrumenter/Instrumenter.d.ts.map +1 -1
- package/dist/src/instrumenter/Instrumenter.js +153 -66
- package/dist/src/instrumenter/Postprocessor.d.ts +9 -0
- package/dist/src/instrumenter/Postprocessor.d.ts.map +1 -0
- package/dist/src/instrumenter/Postprocessor.js +281 -0
- package/dist/src/instrumenter/Task.d.ts +37 -10
- package/dist/src/instrumenter/Task.d.ts.map +1 -1
- package/dist/src/instrumenter/Task.js +91 -37
- package/dist/src/instrumenter/TaskBuilder.d.ts +18 -10
- package/dist/src/instrumenter/TaskBuilder.d.ts.map +1 -1
- package/dist/src/instrumenter/TaskBuilder.js +28 -14
- package/dist/src/main.js +1 -0
- package/dist/vaccine.js +1 -221
- package/package.json +21 -15
package/dist/vaccine.js
CHANGED
|
@@ -1,221 +1 @@
|
|
|
1
|
-
(() => {
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
9
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
10
|
-
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module, desc) => {
|
|
13
|
-
if (module && typeof module === "object" || typeof module === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
-
__defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toModule = (module) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
// ../../node_modules/detect-node/browser.js
|
|
25
|
-
var require_browser = __commonJS({
|
|
26
|
-
"../../node_modules/detect-node/browser.js"(exports, module) {
|
|
27
|
-
module.exports = false;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
// (disabled):../../node_modules/unload/dist/es/node.js
|
|
32
|
-
var require_node = __commonJS({
|
|
33
|
-
"(disabled):../../node_modules/unload/dist/es/node.js"() {
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
// inline-worker:__inline-worker
|
|
38
|
-
function inlineWorker(scriptText) {
|
|
39
|
-
let blob = new Blob([scriptText], { type: "text/javascript" });
|
|
40
|
-
let url = URL.createObjectURL(blob);
|
|
41
|
-
let worker = new Worker(url);
|
|
42
|
-
URL.revokeObjectURL(url);
|
|
43
|
-
return worker;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// src/vaccine/worker/vaccine.worker.ts
|
|
47
|
-
function Worker2() {
|
|
48
|
-
return inlineWorker('var n=class{constructor(t){this.cachedMessages=[];this.url=t,this.socket=this.createSocket()}createSocket(){let t=new WebSocket(this.url);return t.onopen=()=>this.onopen(),t.onclose=()=>this.onclose(),t}onclose(){this.socket=this.createSocket()}onopen(){this.cachedMessages.forEach(t=>this.socket.send(t)),this.cachedMessages=[]}send(t){this.socket.readyState===WebSocket.OPEN?this.socket.send(t):this.cachedMessages.push(t)}};var o;(function(e){e.MESSAGE_TYPE_SOURCEMAP="s",e.MESSAGE_TYPE_COVERAGE="c"})(o||(o={}));var C=20,p=1e3,a=class{constructor(t,e){this.milliseconds=t;this.onCountedToZero=e;this.timerHandle=null}restartCountdown(){this.stopCountdown(),this.timerHandle=self.setTimeout(()=>{this.stopCountdown(),this.onCountedToZero()},this.milliseconds)}stopCountdown(){this.timerHandle!==null&&(self.clearTimeout(this.timerHandle),this.timerHandle=null)}},r=class{constructor(t){this.socket=t,this.cachedCoveredPositions=new Map,this.numberOfCachedPositions=0,this.flushCountdown=new a(p,()=>this.flush())}add(t){let e=t.split(":");if(e.length!==3)return;let[c,u,l]=e,i=this.cachedCoveredPositions.get(c);i||(i=new Set,this.cachedCoveredPositions.set(c,i)),i.add(`${u}:${l}`),this.numberOfCachedPositions+=1,this.flushCountdown.restartCountdown(),this.numberOfCachedPositions>=C&&this.flush()}flush(){this.numberOfCachedPositions!==0&&(this.flushCountdown.stopCountdown(),this.cachedCoveredPositions.forEach((t,e)=>{this.socket.send(`${o.MESSAGE_TYPE_COVERAGE} ${e} ${Array.from(t).join(" ")}`)}),this.cachedCoveredPositions=new Map,this.numberOfCachedPositions=0)}};console.log("Starting coverage forwarding worker.");var h=new n("ws://$REPORT_TO_HOST:$REPORT_TO_PORT/socket"),d=new r(h);onmessage=s=>{let t=s.data;t.startsWith(o.MESSAGE_TYPE_SOURCEMAP)?h.send(t):t==="unload"?d.flush():d.add(t)};\n');
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// src/vaccine/utils.ts
|
|
52
|
-
function universe() {
|
|
53
|
-
return getWindow();
|
|
54
|
-
}
|
|
55
|
-
function hasWindow() {
|
|
56
|
-
return typeof window !== "undefined";
|
|
57
|
-
}
|
|
58
|
-
function getWindow() {
|
|
59
|
-
return window;
|
|
60
|
-
}
|
|
61
|
-
function universeAttribute(attributeName, defaultValue) {
|
|
62
|
-
let result = universe()[attributeName];
|
|
63
|
-
if (!result) {
|
|
64
|
-
result = defaultValue;
|
|
65
|
-
universe()[attributeName] = result;
|
|
66
|
-
}
|
|
67
|
-
return result;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// src/vaccine/Interceptor.ts
|
|
71
|
-
var STATEMENT_COVERAGE_ID = "s";
|
|
72
|
-
var Interceptor = class {
|
|
73
|
-
constructor(coverageObj, path) {
|
|
74
|
-
this.coverageObj = coverageObj;
|
|
75
|
-
this.path = path;
|
|
76
|
-
}
|
|
77
|
-
get(target, prop, receiver) {
|
|
78
|
-
const value = target[prop];
|
|
79
|
-
if (value !== Object(value)) {
|
|
80
|
-
return value;
|
|
81
|
-
}
|
|
82
|
-
return makeProxy(this.coverageObj, value, [...this.path, prop]);
|
|
83
|
-
}
|
|
84
|
-
set(obj, prop, value) {
|
|
85
|
-
const fullPath = [...this.path, prop];
|
|
86
|
-
if (fullPath[0] === STATEMENT_COVERAGE_ID) {
|
|
87
|
-
const fileId = this.coverageObj.hash;
|
|
88
|
-
const start = this.coverageObj.statementMap[fullPath[1]].start;
|
|
89
|
-
universe()._$Bc(fileId, start.line, start.column);
|
|
90
|
-
}
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
function makeProxy(coverage, target, path) {
|
|
95
|
-
return new Proxy(target, new Interceptor(coverage, path));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// ../../node_modules/unload/dist/es/index.js
|
|
99
|
-
var import_detect_node = __toModule(require_browser());
|
|
100
|
-
|
|
101
|
-
// ../../node_modules/unload/dist/es/browser.js
|
|
102
|
-
function add(fn) {
|
|
103
|
-
if (typeof WorkerGlobalScope === "function" && self instanceof WorkerGlobalScope) {
|
|
104
|
-
} else {
|
|
105
|
-
if (typeof window.addEventListener !== "function")
|
|
106
|
-
return;
|
|
107
|
-
window.addEventListener("beforeunload", function() {
|
|
108
|
-
fn();
|
|
109
|
-
}, true);
|
|
110
|
-
window.addEventListener("unload", function() {
|
|
111
|
-
fn();
|
|
112
|
-
}, true);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
var browser_default = {
|
|
116
|
-
add
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
// ../../node_modules/unload/dist/es/index.js
|
|
120
|
-
var import_node = __toModule(require_node());
|
|
121
|
-
var USE_METHOD = import_detect_node.default ? import_node.default : browser_default;
|
|
122
|
-
var LISTENERS = new Set();
|
|
123
|
-
var startedListening = false;
|
|
124
|
-
function startListening() {
|
|
125
|
-
if (startedListening)
|
|
126
|
-
return;
|
|
127
|
-
startedListening = true;
|
|
128
|
-
USE_METHOD.add(runAll);
|
|
129
|
-
}
|
|
130
|
-
function add2(fn) {
|
|
131
|
-
startListening();
|
|
132
|
-
if (typeof fn !== "function")
|
|
133
|
-
throw new Error("Listener is no function");
|
|
134
|
-
LISTENERS.add(fn);
|
|
135
|
-
var addReturn = {
|
|
136
|
-
remove: function remove() {
|
|
137
|
-
return LISTENERS["delete"](fn);
|
|
138
|
-
},
|
|
139
|
-
run: function run() {
|
|
140
|
-
LISTENERS["delete"](fn);
|
|
141
|
-
return fn();
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
return addReturn;
|
|
145
|
-
}
|
|
146
|
-
function runAll() {
|
|
147
|
-
var promises = [];
|
|
148
|
-
LISTENERS.forEach(function(fn) {
|
|
149
|
-
promises.push(fn());
|
|
150
|
-
LISTENERS["delete"](fn);
|
|
151
|
-
});
|
|
152
|
-
return Promise.all(promises);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// src/vaccine/protocol.ts
|
|
156
|
-
var ProtocolMessageTypes;
|
|
157
|
-
(function(ProtocolMessageTypes2) {
|
|
158
|
-
ProtocolMessageTypes2["MESSAGE_TYPE_SOURCEMAP"] = "s";
|
|
159
|
-
ProtocolMessageTypes2["MESSAGE_TYPE_COVERAGE"] = "c";
|
|
160
|
-
})(ProtocolMessageTypes || (ProtocolMessageTypes = {}));
|
|
161
|
-
|
|
162
|
-
// src/vaccine/main.ts
|
|
163
|
-
var globalAgentObject = universeAttribute("__TS_AGENT", {});
|
|
164
|
-
function getWorker() {
|
|
165
|
-
return globalAgentObject._$BcWorker;
|
|
166
|
-
}
|
|
167
|
-
function setWorker(worker) {
|
|
168
|
-
globalAgentObject._$BcWorker = worker;
|
|
169
|
-
return worker;
|
|
170
|
-
}
|
|
171
|
-
universe().makeCoverageInterceptor = function(coverage) {
|
|
172
|
-
const fileId = coverage.hash;
|
|
173
|
-
if (!getWorker()) {
|
|
174
|
-
const worker = setWorker(new Worker2());
|
|
175
|
-
(function handleUnloading() {
|
|
176
|
-
const protectWindowEvent = function(name) {
|
|
177
|
-
let wrappedHandler = getWindow()[name];
|
|
178
|
-
getWindow()[name] = function(...args) {
|
|
179
|
-
worker.postMessage("unload");
|
|
180
|
-
if (wrappedHandler) {
|
|
181
|
-
return wrappedHandler.apply(this, args);
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
if (hasWindow()) {
|
|
185
|
-
Object.defineProperty(getWindow(), name, {
|
|
186
|
-
get: function() {
|
|
187
|
-
return wrappedHandler;
|
|
188
|
-
},
|
|
189
|
-
set: function(newHandler) {
|
|
190
|
-
wrappedHandler = newHandler;
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
};
|
|
195
|
-
protectWindowEvent("onunload");
|
|
196
|
-
protectWindowEvent("onbeforeunload");
|
|
197
|
-
add2(() => worker.postMessage("unload"));
|
|
198
|
-
})();
|
|
199
|
-
}
|
|
200
|
-
(function sendSourceMaps() {
|
|
201
|
-
const sentMaps = universeAttribute("sentMaps", new Set());
|
|
202
|
-
if (coverage.inputSourceMap) {
|
|
203
|
-
if (!sentMaps.has(coverage.path)) {
|
|
204
|
-
getWorker().postMessage(`${ProtocolMessageTypes.MESSAGE_TYPE_SOURCEMAP} ${fileId}:${JSON.stringify(coverage.inputSourceMap)}`);
|
|
205
|
-
sentMaps.add(coverage.path);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
})();
|
|
209
|
-
(function registerCoverageReporter() {
|
|
210
|
-
const reported = new Set();
|
|
211
|
-
universe()._$Bc = (fileId2, coveredLine, coveredColumn) => {
|
|
212
|
-
const coverageMessage = `${fileId2}:${coveredLine}:${coveredColumn}`;
|
|
213
|
-
if (!reported.has(coverageMessage)) {
|
|
214
|
-
getWorker().postMessage(coverageMessage);
|
|
215
|
-
reported.add(coverageMessage);
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
})();
|
|
219
|
-
return makeProxy(coverage, coverage, []);
|
|
220
|
-
};
|
|
221
|
-
})();
|
|
1
|
+
(()=>{function f(e){let n=new Blob([e],{type:"text/javascript"}),t=URL.createObjectURL(n),s=new Worker(t);return URL.revokeObjectURL(t),s}function h(){return f('var r=class{constructor(e){this.cachedMessages=[];this.url=e,this.socket=this.createSocket()}createSocket(){let e=new WebSocket(this.url);return e.onopen=()=>this.onopen(),e.onclose=()=>this.onclose(),e}onclose(){this.socket=this.createSocket()}onopen(){console.log("Connection to Coverage Collector established."),this.cachedMessages.forEach(e=>this.socket.send(e)),this.cachedMessages=[]}send(e){this.socket.readyState===WebSocket.OPEN?this.socket.send(e):(this.cachedMessages.push(e),this.cachedMessages.length%500===0&&console.log(`More than ${this.cachedMessages.length} messages are queued to be sent.`))}};var C=20,m=1e3,d=class{constructor(e,t){this.milliseconds=e;this.onCountedToZero=t;this.timerHandle=null}restartCountdown(){this.stopCountdown(),this.timerHandle=self.setTimeout(()=>{this.stopCountdown(),this.onCountedToZero()},this.milliseconds)}stopCountdown(){this.timerHandle!==null&&(self.clearTimeout(this.timerHandle),this.timerHandle=null)}},a=class{constructor(e){this.socket=e,this.cachedCoveredRanges=new Map,this.numberOfCachedPositions=0,this.flushCountdown=new d(m,()=>this.flush())}addRange(e,t){let o=this.cachedCoveredRanges.get(e);o||(o=new Set,this.cachedCoveredRanges.set(e,o)),o.add(t),this.numberOfCachedPositions+=1,this.flushCountdown.restartCountdown(),this.numberOfCachedPositions>=C&&this.flush()}flush(){this.numberOfCachedPositions!==0&&(this.flushCountdown.stopCountdown(),this.cachedCoveredRanges.forEach((e,t)=>{let o=Array.from(e).map(n=>`${n.start.line}:${n.start.column}:${n.end.line}:${n.end.column}`);this.socket.send(`${"c"} ${t} ${o.join(" ")}`),e.clear()}),this.cachedCoveredRanges.clear(),this.numberOfCachedPositions=0)}};console.log("Starting coverage forwarding worker.");var u=new r("$REPORT_TO_URL/socket"),h=new a(u),g=new Map;onmessage=s=>{if(Array.isArray(s.data))p(s.data);else{let e=s.data;if(e.startsWith("s"))u.send(e);else if(e.startsWith("i")){let t=JSON.parse(e.substring(2));g.set(t.hash,t),console.info(`Received coverage mapping information for "${t.hash}".`)}else e==="unload"?h.flush():console.error(`No handler for message: ${e}`)}};function p(s){var n;let e=s[0],t=s[1],o=g.get(e);if(!o){console.log(`No coverage mapping information for ${e} available!`);return}for(let[c,i]of t.branches.entries()){let l=(n=o.branchMap[c])==null?void 0:n.locations[i];l&&h.addRange(e,l)}for(let c of t.statements){let i=o.statementMap[c];i&&h.addRange(e,i)}}\n')}function c(){return g()}function g(){return window}function p(e,n){let t=c()[e];return t||(t=n,c()[e]=t),t}var l;(function(r){r.MESSAGE_TYPE_SOURCEMAP="s",r.MESSAGE_TYPE_COVERAGE="c",r.ISTANBUL_COV_OBJECT="i",r.UNRESOLVED_CODE_ENTITY="u"})(l||(l={}));function v(e,n){let t=new Map;function s(i){let o=t.get(i);return o||(o={branches:new Map,statements:new Set},t.set(i,o),o)}function r(i,o,w){s(i).branches.set(o,w)}function u(i,o){s(i).statements.add(o)}function a(){n(t),t.clear()}return setInterval(()=>a(),e),{putBranchCoverage:r,putStatementCoverage:u,flush:a}}var C=p("__TS_AGENT",{});function d(){return C._$BcWorker}function S(e){return C._$BcWorker=e,e}var m=v(250,e=>{for(let n of e.entries())d().postMessage(n)});c()._$stmtCov=m.putStatementCoverage;c()._$brCov=m.putBranchCoverage;var b=new Set;c()._$registerCoverageObject=function(e){let n=e.hash;if(b.has(n)){console.log(`Coverage interceptor added twice for ${n}. This seems to be a bug in the instrumentation.`);return}else b.add(n);if(!d()){let t=S(new h);(function(){let r=()=>{m.flush(),t.postMessage("unload")},u=function(i,o){!o||o.addEventListener(i,r,{capture:!0})},a=g();u("blur",a),u("unload",a),u("visibilitychange",a),u("beforeunload",a)})()}(function(){d().postMessage(`${l.ISTANBUL_COV_OBJECT} ${JSON.stringify(e)}`);let s=p("sentMaps",new Set);e.inputSourceMap&&(s.has(e.path)||(d().postMessage(`${l.MESSAGE_TYPE_SOURCEMAP} ${n}:${JSON.stringify(e.inputSourceMap)}`),s.add(e.path)))})()};})();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teamscale/javascript-instrumenter",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.1-beta.51",
|
|
4
|
+
"description": "JavaScript coverage instrumenter with coverage forwarding to a collector process",
|
|
5
5
|
"main": "dist/src/main.js",
|
|
6
6
|
"bin": "dist/src/main.js",
|
|
7
7
|
"types": "dist/src/main.d.ts",
|
|
@@ -12,24 +12,27 @@
|
|
|
12
12
|
"url": "https://github.com/cqse/teamscale-javascript-profiler.git"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
+
"prepublishOnly": "yarn clean && yarn build",
|
|
15
16
|
"clean": "rimraf dist tsconfig.tsbuildinfo",
|
|
16
|
-
"build": "tsc --project tsconfig.json &&
|
|
17
|
+
"build": "tsc --project tsconfig.json && yarn buildVaccine",
|
|
18
|
+
"buildVaccine": "node esbuild.mjs",
|
|
17
19
|
"instrumenter": "node dist/src/main.js",
|
|
18
|
-
"test": "yarn build && NODE_OPTIONS='--experimental-vm-modules' jest --forceExit --coverage --silent=true --detectOpenHandles"
|
|
20
|
+
"test": "yarn build && NODE_OPTIONS='--experimental-vm-modules --max-old-space-size=8192' jest --forceExit --coverage --silent=true --detectOpenHandles"
|
|
19
21
|
},
|
|
20
22
|
"files": [
|
|
21
23
|
"dist/**/*"
|
|
22
24
|
],
|
|
23
25
|
"devDependencies": {
|
|
24
|
-
"@babel/core": "^7.
|
|
25
|
-
"@babel/plugin-transform-modules-commonjs": "^7.
|
|
26
|
-
"@babel/preset-env": "^7.
|
|
26
|
+
"@babel/core": "^7.18.5",
|
|
27
|
+
"@babel/plugin-transform-modules-commonjs": "^7.18.2",
|
|
28
|
+
"@babel/preset-env": "^7.18.2",
|
|
27
29
|
"@types/async": "^3.2.6",
|
|
30
|
+
"@types/bunyan": "^1.8.8",
|
|
28
31
|
"@types/convert-source-map": "^1.5.1",
|
|
29
32
|
"@types/glob": "^7.1.3",
|
|
30
33
|
"@types/istanbul-lib-instrument": "^1.7.4",
|
|
31
34
|
"@types/jest": "^27.0.1",
|
|
32
|
-
"@types/mkdirp": "^1.0.
|
|
35
|
+
"@types/mkdirp": "^1.0.2",
|
|
33
36
|
"@types/node": "^15.0.1",
|
|
34
37
|
"@types/source-map": "^0.5.7",
|
|
35
38
|
"@types/ws": "^7.4.4",
|
|
@@ -44,22 +47,25 @@
|
|
|
44
47
|
"typescript": "^4.4.3"
|
|
45
48
|
},
|
|
46
49
|
"dependencies": {
|
|
47
|
-
"@
|
|
50
|
+
"@babel/generator": "^7.18.2",
|
|
51
|
+
"@babel/parser": "^7.18.5",
|
|
52
|
+
"@babel/traverse": "^7.18.6",
|
|
53
|
+
"@babel/types": "^7.18.4",
|
|
54
|
+
"@cqse/commons": "^0.0.1-beta.45",
|
|
48
55
|
"@types/micromatch": "^4.0.2",
|
|
49
56
|
"argparse": "^2.0.1",
|
|
50
|
-
"async": "^3.2.
|
|
57
|
+
"async": "^3.2.4",
|
|
58
|
+
"bunyan": "^1.8.15",
|
|
51
59
|
"convert-source-map": "^1.7.0",
|
|
52
60
|
"foreground-child": "^2.0.0",
|
|
53
61
|
"glob": "^7.1.7",
|
|
54
|
-
"istanbul-lib-instrument": "^
|
|
62
|
+
"istanbul-lib-instrument": "^5.2.0",
|
|
55
63
|
"micromatch": "4.0.4",
|
|
56
64
|
"mkdirp": "^1.0.4",
|
|
57
|
-
"
|
|
58
|
-
"source-map": "0.6.1",
|
|
65
|
+
"source-map": "0.7.4",
|
|
59
66
|
"typescript-optional": "^2.0.1",
|
|
60
67
|
"unload": "^2.2.0",
|
|
61
|
-
"web-worker": "^1.0.0"
|
|
62
|
-
"winston": "^3.3.3"
|
|
68
|
+
"web-worker": "^1.0.0"
|
|
63
69
|
},
|
|
64
70
|
"publishConfig": {
|
|
65
71
|
"access": "public"
|