Add tests for source-map-loader
This commit is contained in:
@@ -46,6 +46,23 @@ tasks {
|
||||
outputs.dir("lib")
|
||||
}
|
||||
|
||||
register<YarnTask>("yarnTest") {
|
||||
group = "verification"
|
||||
|
||||
dependsOn("yarn")
|
||||
setWorkingDir(projectDir)
|
||||
args = listOf("test")
|
||||
|
||||
inputs.dir(
|
||||
"test"
|
||||
)
|
||||
inputs.files(
|
||||
"kotlin-source-map-loader.js",
|
||||
"package.json",
|
||||
"yarn.lock"
|
||||
)
|
||||
}
|
||||
|
||||
register<Delete>("cleanYarn") {
|
||||
group = "build"
|
||||
|
||||
@@ -59,6 +76,10 @@ tasks {
|
||||
named("clean") {
|
||||
dependsOn("cleanYarn")
|
||||
}
|
||||
|
||||
named("check") {
|
||||
dependsOn("yarnTest")
|
||||
}
|
||||
}
|
||||
|
||||
val jar by tasks.creating(Jar::class) {
|
||||
|
||||
@@ -7,11 +7,16 @@
|
||||
"lib/**/*"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "cpx \"kotlin-source-map-loader.js\" lib"
|
||||
"build": "cpx \"kotlin-source-map-loader.js\" lib",
|
||||
"test": "mocha -R spec"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": "^2.5.0",
|
||||
"loader-utils": "^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"mocha": "^5.0.5",
|
||||
"should": "^13.2.1",
|
||||
"cpx": "^1.5.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
absolute-sourceRoot-source-map.map
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=absolute-sourceRoot-source-map.map
|
||||
// comment
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
with SourceMap
|
||||
// comment
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
// @ sourceMappingURL = data:application/source-map;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnNldC1pbmxpbmUtc291cmNlLW1hcC5qcyIsInNvdXJjZXMiOlsiY2hhcnNldC1pbmxpbmUtc291cmNlLW1hcC50eHQiXSwic291cmNlc0NvbnRlbnQiOlsid2l0aCBTb3VyY2VNYXAiXSwibWFwcGluZ3MiOiJBQUFBIn0=
|
||||
// comment
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"external-source-map2.js","sources":["../external-source-map2.txt"],"mappings":"AAAA"}
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
with SourceMap
|
||||
// comment
|
||||
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=external-source-map.map
|
||||
// comment
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"external-source-map.js","sources":["external-source-map.txt"],"sourcesContent":["with SourceMap"],"mappings":"AAAA"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=data/external-source-map2.map
|
||||
// comment
|
||||
+1
@@ -0,0 +1 @@
|
||||
with SourceMap
|
||||
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
// @ sourceMappingURL = data:application/source-map;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXNvdXJjZS1tYXAuanMiLCJzb3VyY2VzIjpbImlubGluZS1zb3VyY2UtbWFwLnR4dCJdLCJzb3VyY2VzQ29udGVudCI6WyJ3aXRoIFNvdXJjZU1hcCJdLCJtYXBwaW5ncyI6IkFBQUEifQ==
|
||||
// comment
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
without SourceMap
|
||||
// @sourceMappingURL=data:application/source-map;base64,"something invalid"
|
||||
// comment
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
without SourceMap
|
||||
// @sourceMappingURL=data:application/source-map;base64,invalid/base64=
|
||||
// comment
|
||||
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=invalid-source-map.map
|
||||
// comment
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"invalid-source-map.js","sources":["../invalid-source-map.txt"],"mappings":"AAAA"}"}
|
||||
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=missing-source-map.map
|
||||
// comment
|
||||
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=missing-source-map2.map
|
||||
// comment
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"missing-source-map2.js","sources":["missing-source-map2.txt"],"mappings":"AAAA"}
|
||||
@@ -0,0 +1,4 @@
|
||||
with SourceMap
|
||||
anInvalidDirective = "\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+" */";
|
||||
// @ sourceMappingURL = data:application/source-map;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXNvdXJjZS1tYXAuanMiLCJzb3VyY2VzIjpbImlubGluZS1zb3VyY2UtbWFwLnR4dCJdLCJzb3VyY2VzQ29udGVudCI6WyJ3aXRoIFNvdXJjZU1hcCJdLCJtYXBwaW5ncyI6IkFBQUEifQ==
|
||||
// comment
|
||||
@@ -0,0 +1 @@
|
||||
without SourceMap
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
with SourceMap
|
||||
//#sourceMappingURL=relative-sourceRoot-source-map.map
|
||||
// comment
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"relative-sourceRoot-source-map.js","sourceRoot":"../fixtures/data/","sources":["relative-sourceRoot-source-map.txt"],"mappings":"AAAA"}
|
||||
@@ -0,0 +1,307 @@
|
||||
var path = require("path");
|
||||
var fs = require("fs");
|
||||
var should = require("should");
|
||||
var loader = require("../");
|
||||
|
||||
function execLoader(filename, callback) {
|
||||
var async = false;
|
||||
var deps = [];
|
||||
var warns = [];
|
||||
var context = {
|
||||
context: path.dirname(filename),
|
||||
resolve: function(context, request, callback) {
|
||||
process.nextTick(function() {
|
||||
var p = path.isAbsolute(request) ? request : path.resolve(context, request);
|
||||
if(fs.existsSync(p))
|
||||
callback(null, p);
|
||||
else
|
||||
callback(new Error("File not found"));
|
||||
});
|
||||
},
|
||||
addDependency: function(dep) {
|
||||
deps.push(dep);
|
||||
},
|
||||
emitWarning: function(warn) {
|
||||
warns.push(warn);
|
||||
},
|
||||
callback: function(err, res, map) {
|
||||
async = true;
|
||||
callback(err, res, map, deps, warns);
|
||||
},
|
||||
async: function() {
|
||||
async = true;
|
||||
return this.callback;
|
||||
}
|
||||
};
|
||||
// Remove CRs to make test line ending invariant
|
||||
var fixtureContent = fs.readFileSync(filename, "utf-8").replace(/\r/g, '');
|
||||
var res = loader.call(context, fixtureContent);
|
||||
if(!async) return callback(null, res, null, deps, warns);
|
||||
}
|
||||
|
||||
describe("source-map-loader", function() {
|
||||
const fixturesPath = path.join(__dirname, "fixtures");
|
||||
const dataPath = path.join(fixturesPath, "data");
|
||||
|
||||
it("should leave normal files untouched", function(done) {
|
||||
execLoader(path.join(fixturesPath, "normal-file.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "without SourceMap"),
|
||||
should.equal(map, null);
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should process inlined SourceMaps", function(done) {
|
||||
execLoader(path.join(fixturesPath, "inline-source-map.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version":3,
|
||||
"file":"inline-source-map.js",
|
||||
"sources":[
|
||||
"inline-source-map.txt"
|
||||
],
|
||||
"sourcesContent":["with SourceMap"],
|
||||
"mappings":"AAAA"
|
||||
});
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should process external SourceMaps", function(done) {
|
||||
execLoader(path.join(fixturesPath, "external-source-map.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version":3,
|
||||
"file":"external-source-map.js",
|
||||
"sources":[
|
||||
"external-source-map.txt"
|
||||
],
|
||||
"sourcesContent":["with SourceMap"],
|
||||
"mappings":"AAAA"
|
||||
});
|
||||
deps.should.be.eql([
|
||||
path.join(fixturesPath, "external-source-map.map")
|
||||
]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should process external SourceMaps (external sources)", function(done) {
|
||||
execLoader(path.join(fixturesPath, "external-source-map2.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version":3,
|
||||
"file":"external-source-map2.js",
|
||||
"sources":[
|
||||
path.join(fixturesPath, "external-source-map2.txt")
|
||||
],
|
||||
"sourcesContent":["with SourceMap"],
|
||||
"mappings":"AAAA"
|
||||
});
|
||||
deps.should.be.eql([
|
||||
path.join(dataPath, "external-source-map2.map"),
|
||||
path.join(fixturesPath, "external-source-map2.txt")
|
||||
]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should use last SourceMap directive", function (done) {
|
||||
execLoader(path.join(fixturesPath, "multi-source-map.js"), function (err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\nanInvalidDirective = \"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+\" */\";\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version": 3,
|
||||
"file": "inline-source-map.js",
|
||||
"sources": [
|
||||
"inline-source-map.txt"
|
||||
],
|
||||
"sourcesContent": ["with SourceMap"],
|
||||
"mappings": "AAAA"
|
||||
});
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should skip invalid base64 SourceMap", function (done) {
|
||||
execLoader(path.join(fixturesPath, "invalid-inline-source-map.js"), function (err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "without SourceMap\n// @sourceMappingURL=data:application/source-map;base64,\"something invalid\"\n// comment");
|
||||
should.equal(map, null);
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it("should warn on invalid base64 SourceMap", function (done) {
|
||||
execLoader(path.join(fixturesPath, "invalid-inline-source-map2.js"), function (err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.matchEach(
|
||||
new RegExp("Cannot parse inline SourceMap 'invalid\/base64=': SyntaxError: Unexpected token")
|
||||
);
|
||||
should.equal(res, "without SourceMap\n// @sourceMappingURL=data:application/source-map;base64,invalid/base64=\n// comment");
|
||||
should.equal(map, null);
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should warn on invalid SourceMap", function (done) {
|
||||
execLoader(path.join(fixturesPath, "invalid-source-map.js"), function (err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.matchEach(
|
||||
new RegExp("Cannot parse SourceMap 'invalid-source-map.map': SyntaxError: Unexpected string in JSON at position 102")
|
||||
);
|
||||
should.equal(res, "with SourceMap\n//#sourceMappingURL=invalid-source-map.map\n// comment");
|
||||
should.equal(map, null);
|
||||
deps.should.be.eql([
|
||||
path.join(fixturesPath, "invalid-source-map.map")
|
||||
]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should warn on missing SourceMap", function(done) {
|
||||
execLoader(path.join(fixturesPath, "missing-source-map.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([
|
||||
"Cannot find SourceMap 'missing-source-map.map': Error: File not found"
|
||||
]);
|
||||
should.equal(res, "with SourceMap\n//#sourceMappingURL=missing-source-map.map\n// comment"),
|
||||
should.equal(map, null);
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should warn on missing source file", function(done) {
|
||||
execLoader(path.join(fixturesPath, "missing-source-map2.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([
|
||||
"Cannot find source file 'missing-source-map2.txt': Error: File not found"
|
||||
]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version":3,
|
||||
"file":"missing-source-map2.js",
|
||||
"sources":[
|
||||
"missing-source-map2.txt"
|
||||
],
|
||||
"sourcesContent":[null],
|
||||
"mappings":"AAAA"
|
||||
});
|
||||
deps.should.be.eql([
|
||||
path.join(fixturesPath, "missing-source-map2.map")
|
||||
]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should process inlined SourceMaps with charset", function(done) {
|
||||
execLoader(path.join(fixturesPath, "charset-inline-source-map.js"), function(err, res, map, deps, warns) {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version":3,
|
||||
"file":"charset-inline-source-map.js",
|
||||
"sources":[
|
||||
"charset-inline-source-map.txt"
|
||||
],
|
||||
"sourcesContent":["with SourceMap"],
|
||||
"mappings":"AAAA"
|
||||
});
|
||||
deps.should.be.eql([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("should support absolute sourceRoot paths in sourcemaps", (done) => {
|
||||
const sourceRoot = path.join(fixturesPath);
|
||||
const javaScriptFilename = "absolute-sourceRoot-source-map.js";
|
||||
const sourceFilename = "absolute-sourceRoot-source-map.txt";
|
||||
const rootRelativeSourcePath = path.join(sourceRoot, sourceFilename);
|
||||
const sourceMapPath = path.join(sourceRoot, "absolute-sourceRoot-source-map.map");
|
||||
|
||||
// Create the sourcemap file
|
||||
const rawSourceMap = {
|
||||
"version": 3,
|
||||
"file": javaScriptFilename,
|
||||
"sourceRoot": sourceRoot,
|
||||
"sources": [
|
||||
sourceFilename
|
||||
],
|
||||
"mappings": "AAAA"
|
||||
};
|
||||
fs.writeFileSync(sourceMapPath, JSON.stringify(rawSourceMap));
|
||||
|
||||
execLoader(
|
||||
path.join(fixturesPath, javaScriptFilename),
|
||||
(err, res, map, deps, warns) => {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version": 3,
|
||||
"file": javaScriptFilename,
|
||||
"sources": [
|
||||
rootRelativeSourcePath
|
||||
],
|
||||
"sourcesContent": [
|
||||
"with SourceMap\n// comment"
|
||||
],
|
||||
"mappings": "AAAA"
|
||||
});
|
||||
deps.should.be.eql([
|
||||
sourceMapPath,
|
||||
rootRelativeSourcePath
|
||||
]);
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it("should support relative sourceRoot paths in sourcemaps", (done) => {
|
||||
const javaScriptFilename = "relative-sourceRoot-source-map.js";
|
||||
const sourceFilename = "relative-sourceRoot-source-map.txt";
|
||||
const rootRelativeSourcePath = path.join(dataPath, sourceFilename);
|
||||
const sourceMapPath = path.join(fixturesPath, "relative-sourceRoot-source-map.map");
|
||||
|
||||
execLoader(
|
||||
path.join(fixturesPath, javaScriptFilename),
|
||||
(err, res, map, deps, warns) => {
|
||||
should.equal(err, null);
|
||||
warns.should.be.eql([]);
|
||||
should.equal(res, "with SourceMap\n// comment"),
|
||||
map.should.be.eql({
|
||||
"version": 3,
|
||||
"file": javaScriptFilename,
|
||||
"sources": [
|
||||
rootRelativeSourcePath
|
||||
],
|
||||
"sourcesContent": [
|
||||
"with SourceMap\n// comment"
|
||||
],
|
||||
"mappings": "AAAA"
|
||||
});
|
||||
deps.should.be.eql([
|
||||
sourceMapPath,
|
||||
rootRelativeSourcePath
|
||||
]);
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -80,6 +80,13 @@ async-each@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
|
||||
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
|
||||
|
||||
async@^2.5.0:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
|
||||
integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
|
||||
dependencies:
|
||||
lodash "^4.17.14"
|
||||
|
||||
atob@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||
@@ -111,6 +118,11 @@ base@^0.11.1:
|
||||
mixin-deep "^1.2.0"
|
||||
pascalcase "^0.1.1"
|
||||
|
||||
big.js@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
||||
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
|
||||
|
||||
binary-extensions@^1.0.0:
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
|
||||
@@ -149,6 +161,11 @@ braces@^2.3.1:
|
||||
split-string "^3.0.2"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
browser-stdout@1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
|
||||
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
|
||||
|
||||
cache-base@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
|
||||
@@ -208,6 +225,11 @@ collection-visit@^1.0.0:
|
||||
map-visit "^1.0.0"
|
||||
object-visit "^1.0.0"
|
||||
|
||||
commander@2.15.1:
|
||||
version "2.15.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
|
||||
integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==
|
||||
|
||||
component-emitter@^1.2.1:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
|
||||
@@ -255,6 +277,13 @@ cpx@^1.5.0:
|
||||
shell-quote "^1.6.1"
|
||||
subarg "^1.0.0"
|
||||
|
||||
debug@3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@^2.2.0, debug@^2.3.3:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
@@ -311,11 +340,26 @@ detect-libc@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||
|
||||
diff@3.5.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
|
||||
integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
|
||||
|
||||
duplexer@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
|
||||
integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
|
||||
|
||||
emojis-list@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
|
||||
integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
|
||||
|
||||
escape-string-regexp@1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
|
||||
|
||||
expand-brackets@^0.1.4:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
|
||||
@@ -490,6 +534,18 @@ glob2base@^0.0.12:
|
||||
dependencies:
|
||||
find-index "^0.1.1"
|
||||
|
||||
glob@7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.0.4"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.0.5, glob@^7.1.3:
|
||||
version "7.1.4"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
|
||||
@@ -507,6 +563,16 @@ graceful-fs@^4.1.11:
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
|
||||
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
|
||||
|
||||
growl@1.10.5:
|
||||
version "1.10.5"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
|
||||
integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
|
||||
|
||||
has-flag@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
||||
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
|
||||
|
||||
has-unicode@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
|
||||
@@ -543,6 +609,11 @@ has-values@^1.0.0:
|
||||
is-number "^3.0.0"
|
||||
kind-of "^4.0.0"
|
||||
|
||||
he@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
|
||||
integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0=
|
||||
|
||||
iconv-lite@^0.4.4:
|
||||
version "0.4.24"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||
@@ -739,6 +810,13 @@ isobject@^3.0.0, isobject@^3.0.1:
|
||||
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
|
||||
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
|
||||
|
||||
json5@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
|
||||
integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
|
||||
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||
@@ -763,6 +841,20 @@ kind-of@^6.0.0, kind-of@^6.0.2:
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
|
||||
integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
|
||||
|
||||
loader-utils@^1.1.0:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
|
||||
integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
|
||||
dependencies:
|
||||
big.js "^5.2.2"
|
||||
emojis-list "^2.0.0"
|
||||
json5 "^1.0.1"
|
||||
|
||||
lodash@^4.17.14:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
|
||||
map-cache@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
|
||||
@@ -818,7 +910,7 @@ micromatch@^3.1.10:
|
||||
snapdragon "^0.8.1"
|
||||
to-regex "^3.0.2"
|
||||
|
||||
minimatch@^3.0.2, minimatch@^3.0.4:
|
||||
minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
@@ -858,13 +950,30 @@ mixin-deep@^1.2.0:
|
||||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
mkdirp@^0.5.0, mkdirp@^0.5.1:
|
||||
mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
|
||||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
mocha@^5.0.5:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6"
|
||||
integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==
|
||||
dependencies:
|
||||
browser-stdout "1.3.1"
|
||||
commander "2.15.1"
|
||||
debug "3.1.0"
|
||||
diff "3.5.0"
|
||||
escape-string-regexp "1.0.5"
|
||||
glob "7.1.2"
|
||||
growl "1.10.5"
|
||||
he "1.1.1"
|
||||
minimatch "3.0.4"
|
||||
mkdirp "0.5.1"
|
||||
supports-color "5.4.0"
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
@@ -1218,6 +1327,50 @@ shell-quote@^1.6.1:
|
||||
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
|
||||
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
|
||||
|
||||
should-equal@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3"
|
||||
integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==
|
||||
dependencies:
|
||||
should-type "^1.4.0"
|
||||
|
||||
should-format@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1"
|
||||
integrity sha1-m/yPdPo5IFxT04w01xcwPidxJPE=
|
||||
dependencies:
|
||||
should-type "^1.3.0"
|
||||
should-type-adaptors "^1.0.1"
|
||||
|
||||
should-type-adaptors@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a"
|
||||
integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==
|
||||
dependencies:
|
||||
should-type "^1.3.0"
|
||||
should-util "^1.0.0"
|
||||
|
||||
should-type@^1.3.0, should-type@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3"
|
||||
integrity sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=
|
||||
|
||||
should-util@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28"
|
||||
integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==
|
||||
|
||||
should@^13.2.1:
|
||||
version "13.2.3"
|
||||
resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10"
|
||||
integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==
|
||||
dependencies:
|
||||
should-equal "^2.0.0"
|
||||
should-format "^3.0.3"
|
||||
should-type "^1.4.0"
|
||||
should-type-adaptors "^1.0.1"
|
||||
should-util "^1.0.0"
|
||||
|
||||
signal-exit@^3.0.0:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||
@@ -1339,6 +1492,13 @@ subarg@^1.0.0:
|
||||
dependencies:
|
||||
minimist "^1.1.0"
|
||||
|
||||
supports-color@5.4.0:
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
|
||||
integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
tar@^4:
|
||||
version "4.4.13"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
|
||||
|
||||
Reference in New Issue
Block a user