Skip to content

Commit

Permalink
Clean up npm dependencies
Browse files Browse the repository at this point in the history
1. Remove `buffer-equal`, `buf.Equals(other)` has been in Node since 0.11.
2. Remove `async`, it was only used in the tests and uneeded.
3. Update `data-uri-to-buffer` to `^1.0.0` (no changes required).
4. Update `image-size` to `^0.6.0` (no changes required).
  • Loading branch information
mramato committed Jun 28, 2017
1 parent 104a8df commit ebb5af5
Show file tree
Hide file tree
Showing 12 changed files with 46 additions and 91 deletions.
5 changes: 2 additions & 3 deletions lib/MergeDuplicateProperties.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict';
var Cesium = require('cesium');
var clone = require('clone');
var bufferEqual = require('buffer-equal');
var deepEqual = require('deep-equal');

var byteLengthForComponentType = require('./byteLengthForComponentType');
Expand Down Expand Up @@ -224,7 +223,7 @@ function shaderEquals(shaderOne, shaderTwo) {
if (shaderOne.type !== shaderTwo.type) {
return false;
}
return bufferEqual(shaderOne.extras._pipeline.source, shaderTwo.extras._pipeline.source);
return shaderOne.extras._pipeline.source.equals(shaderTwo.extras._pipeline.source);
}

/**
Expand Down Expand Up @@ -380,4 +379,4 @@ function remapMaterials(gltf, materialIdMapping) {
}
}
}
}
}
23 changes: 7 additions & 16 deletions lib/parseBinaryGltf.js
Original file line number Diff line number Diff line change
Expand Up @@ -210,34 +210,25 @@ function getUsedBufferViews(gltf) {
return usedBufferViews;
}

function bufferEqual(first, second) {
for (var i = 0; i < first.length && i < second.length; i++) {
if (first[i] !== second[i]) {
return false;
}
}
return true;
}

//Get binary image file format from first two bytes
function getBinaryImageFormat(header) {
if (bufferEqual(header, new Uint8Array([66, 77]))) { //.bmp: 42 4D
if (header.equals(Buffer.from([0x42, 0x4D]))) { //.bmp
return '.bmp';
}
else if (bufferEqual(header, new Uint8Array([71, 73]))) { //.gif: 47 49
else if (header.equals(Buffer.from(([0x47, 0x49])))) { //.gif
return '.gif';
}
else if (bufferEqual(header, new Uint8Array([255, 216]))) { //.jpg: ff d8
else if (header.equals(Buffer.from(([0xff, 0xd8])))) { //.jpg
return '.jpg';
}
else if (bufferEqual(header, new Uint8Array([137, 80]))) { //.png: 89 50
else if (header.equals(Buffer.from(([0x89, 0x50])))) { //.png
return '.png';
}
else if (bufferEqual(header, new Uint8Array([171, 75]))) { //.ktx ab 4b
else if (header.equals(Buffer.from(([0xab, 0x4b])))) { //.ktx
return '.ktx';
}
else if (bufferEqual(header, new Uint8Array([72, 120]))) { //.crn 48 78
else if (header.equals(Buffer.from(([0x48, 0x78])))) { //.crn
return '.crn';
}
throw new DeveloperError('Binary image does not have valid header');
}
}
6 changes: 2 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,13 @@
"node": ">=4.0.0"
},
"dependencies": {
"async": "^2.1.4",
"bluebird": "^3.4.6",
"buffer-equal": "^1.0.0",
"cesium": "^1.30.0",
"clone": "^2.1.0",
"data-uri-to-buffer": "^0.0.4",
"data-uri-to-buffer": "^1.0.0",
"deep-equal": "^1.0.1",
"fs-extra": "^3.0.1",
"image-size": "^0.5.0",
"image-size": "^0.6.0",
"jimp": "^0.2.27",
"jsonpath": "^0.2.9",
"mime": "^1.3.4",
Expand Down
26 changes: 7 additions & 19 deletions specs/lib/convertDagToTreeSpec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';
var fs = require('fs');
var async = require('async');
var Promise = require('bluebird');
var convertDagToTree = require('../../lib/convertDagToTree');
var addPipelineExtras = require('../../lib/addPipelineExtras');
var removePipelineExtras = require('../../lib/removePipelineExtras');
Expand All @@ -19,24 +19,12 @@ describe('convertDagToTree', function() {
twoRoots: twoRootsPath
};

beforeAll(function(done) {
async.each(Object.keys(testDags), function(name, callback) {
fs.readFile(testDags[name], function(err, data) {
if (err) {
callback(err);
}
else {
testDags[name] = addPipelineExtras(JSON.parse(data));
callback();
}
});
}, function(err) {
if (err) {
throw err;
}

done();
beforeAll(function (done) {
var names = Object.keys(testDags);
var promise = Promise.each(names, function (name) {
testDags[name] = addPipelineExtras(JSON.parse(fs.readFileSync(testDags[name])));
});
expect(promise, done).toResolve();
});

it('does not duplicate any nodes', function() {
Expand Down Expand Up @@ -119,4 +107,4 @@ describe('convertDagToTree', function() {
expect(dag.nodes.E_1.children).toEqual(["G_2"]);
expect(dag.nodes.F_1.children).toEqual(["G_3"]);
});
});
});
9 changes: 4 additions & 5 deletions specs/lib/encodeImagesSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
var Jimp = require('jimp');
var Promise = require('bluebird');
var clone = require('clone');
var bufferEqual = require('buffer-equal');
var dataUriToBuffer = require('data-uri-to-buffer');

var addPipelineExtras = require('../../lib/addPipelineExtras');
Expand Down Expand Up @@ -43,8 +42,8 @@ describe('encodeImages', function() {

encodeImages(gltfClone)
.then(function() {
expect(bufferEqual(pipelineExtras0001.source, imageBuffer)).toBe(true);
expect(bufferEqual(pipelineExtras0002.source, imageBuffer)).toBe(true);
expect(pipelineExtras0001.source.equals(imageBuffer)).toBe(true);
expect(pipelineExtras0002.source.equals(imageBuffer)).toBe(true);
done();
});
});
Expand Down Expand Up @@ -73,8 +72,8 @@ describe('encodeImages', function() {
expect(jimpImage002.bitmap.width).toEqual(8);
expect(jimpImage002.bitmap.height).toEqual(8);

expect(bufferEqual(pipelineExtras0001.source, imageBuffer)).not.toBe(true);
expect(bufferEqual(pipelineExtras0002.source, imageBuffer)).not.toBe(true);
expect(pipelineExtras0001.source.equals(imageBuffer)).not.toBe(true);
expect(pipelineExtras0002.source.equals(imageBuffer)).not.toBe(true);

// expect the buffers to still be readable by jimp (valid image buffer)
var promises = [];
Expand Down
9 changes: 4 additions & 5 deletions specs/lib/getBinaryGltfSpec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
'use strict';
var bufferEqual = require('buffer-equal');
var clone = require('clone');
var fsExtra = require('fs-extra');
var Promise = require('bluebird');
Expand Down Expand Up @@ -86,7 +85,7 @@ describe('getBinaryGltf', function() {
var body = glbData.body;

var binaryBody = Buffer.concat([testData.buffer, testData.fragmentShader, testData.vertexShader, testData.image]);
expect(bufferEqual(binaryBody, body)).toBe(true);
expect(binaryBody.equals(body)).toBe(true);
});

it('writes the correct binary body with separate images', function () {
Expand All @@ -95,7 +94,7 @@ describe('getBinaryGltf', function() {
var body = glbData.body;

var binaryBody = Buffer.concat([testData.buffer, testData.fragmentShader, testData.vertexShader]);
expect(bufferEqual(binaryBody, body)).toBe(true);
expect(binaryBody.equals(body)).toBe(true);
});

it('writes the correct binary body with separate resources except images', function () {
Expand All @@ -104,7 +103,7 @@ describe('getBinaryGltf', function() {
var body = glbData.body;

var binaryBody = Buffer.concat([testData.buffer, testData.image]);
expect(bufferEqual(binaryBody, body)).toBe(true);
expect(binaryBody.equals(body)).toBe(true);
});

it('writes the correct binary body with separate resources', function () {
Expand All @@ -113,6 +112,6 @@ describe('getBinaryGltf', function() {
var body = glbData.body;

var binaryBody = testData.buffer;
expect(bufferEqual(binaryBody, body)).toBe(true);
expect(binaryBody.equals(body)).toBe(true);
});
});
7 changes: 3 additions & 4 deletions specs/lib/loadBufferUrisSpec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
'use strict';
var fsExtra = require('fs-extra');
var bufferEqual = require('buffer-equal');

var addPipelineExtras = require('../../lib/addPipelineExtras');
var loadGltfUris = require('../../lib/loadGltfUris');
Expand Down Expand Up @@ -37,7 +36,7 @@ describe('loadBufferUris', function() {
loadGltfUris(gltf, options)
.then(function() {
expect(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.source, bufferData)).toBe(true);
expect(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.source.equals(bufferData)).toBe(true);
expect(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.extension).toEqual('.bin');
done();
});
Expand All @@ -56,7 +55,7 @@ describe('loadBufferUris', function() {
loadGltfUris(gltf, options)
.then(function() {
expect(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.source, bufferData)).toBe(true);
expect(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.source.equals(bufferData)).toBe(true);
expect(gltf.buffers.CesiumTexturedBoxTest.extras._pipeline.extension).toEqual('.bin');
done();
});
Expand All @@ -78,7 +77,7 @@ describe('loadBufferUris', function() {
loadGltfUris(gltf, options)
.then(function() {
expect(gltf.buffers.embeddedBox.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.buffers.embeddedBox.extras._pipeline.source, bufferData)).toBe(true);
expect(gltf.buffers.embeddedBox.extras._pipeline.source.equals(bufferData)).toBe(true);
expect(gltf.buffers.externalBox.extras._pipeline.source).toBeDefined();
expect(gltf.buffers.externalBox.extras._pipeline.extension).toEqual('.bin');
done();
Expand Down
9 changes: 4 additions & 5 deletions specs/lib/loadImageUrisSpec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
'use strict';
var fsExtra = require('fs-extra');
var bufferEqual = require('buffer-equal');

var addPipelineExtras = require('../../lib/addPipelineExtras');
var loadGltfUris = require('../../lib/loadGltfUris');
Expand Down Expand Up @@ -40,7 +39,7 @@ describe('loadImageUris', function() {
loadGltfUris(gltf, options)
.then(function() {
expect(gltf.images.Image0001.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.images.Image0001.extras._pipeline.source, imageData)).toBe(true);
expect(gltf.images.Image0001.extras._pipeline.source.equals(imageData)).toBe(true);
expect(gltf.images.Image0001.extras._pipeline.extension).toEqual('.png');
done();
});
Expand All @@ -59,7 +58,7 @@ describe('loadImageUris', function() {
loadGltfUris(gltf, options)
.then(function() {
expect(gltf.images.Image0001.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.images.Image0001.extras._pipeline.source, imageData)).toBe(true);
expect(gltf.images.Image0001.extras._pipeline.source.equals(imageData)).toBe(true);
expect(gltf.images.Image0001.extras._pipeline.extension).toEqual('.png');
done();
});
Expand All @@ -81,10 +80,10 @@ describe('loadImageUris', function() {
loadGltfUris(gltf, options)
.then(function() {
expect(gltf.images.embeddedImage0001.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.images.embeddedImage0001.extras._pipeline.source, imageData)).toBe(true);
expect(gltf.images.embeddedImage0001.extras._pipeline.source.equals(imageData)).toBe(true);
expect(gltf.images.embeddedImage0001.extras._pipeline.extension).toEqual('.png');
expect(gltf.images.externalImage0001.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.images.externalImage0001.extras._pipeline.source, imageData)).toBe(true);
expect(gltf.images.externalImage0001.extras._pipeline.source.equals(imageData)).toBe(true);
expect(gltf.images.externalImage0001.extras._pipeline.extension).toEqual('.png');
done();
});
Expand Down
34 changes: 10 additions & 24 deletions specs/lib/parseBinaryGltfSpec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict';
var fs = require('fs');
var async = require('async');
var bufferEqual = require('buffer-equal');
var Promise = require('bluebird');
var parseBinaryGltf = require('../../lib/parseBinaryGltf');
var removePipelineExtras = require('../../lib/removePipelineExtras');
var binaryGltfPath = './specs/data/boxTexturedUnoptimized/CesiumTexturedBoxTest.glb';
Expand All @@ -21,25 +20,12 @@ describe('parseBinaryGltf', function() {
overlap: overlapGltfPath
};

beforeAll(function(done) {
beforeAll(function (done) {
var names = Object.keys(testData);
async.each(names, function(name, callback) {
fs.readFile(testData[name], function(err, data) {
if (err) {
callback(err);
}
else {
testData[name] = data;
callback();
}
});
}, function(err) {
if (err) {
throw err;
}

done();
var promise = Promise.each(names, function (name) {
testData[name] = fs.readFileSync(testData[name]);
});
expect(promise, done).toResolve();
});

it('loads a glTF scene', function() {
Expand Down Expand Up @@ -83,22 +69,22 @@ describe('parseBinaryGltf', function() {
expect(gltf.buffers.bufferView_29_buffer).toBeDefined();
expect(gltf.buffers.bufferView_30_buffer).toBeDefined();

expect(bufferEqual(gltf.buffers.bufferView_29_buffer.extras._pipeline.source, noOverlapGltf.buffers.bufferView_29_buffer.extras._pipeline.source)).toBe(true);
expect(bufferEqual(gltf.buffers.bufferView_30_buffer.extras._pipeline.source, noOverlapGltf.buffers.bufferView_30_buffer.extras._pipeline.source)).toBe(true);
expect(gltf.buffers.bufferView_29_buffer.extras._pipeline.source.equals(noOverlapGltf.buffers.bufferView_29_buffer.extras._pipeline.source)).toBe(true);
expect(gltf.buffers.bufferView_30_buffer.extras._pipeline.source.equals(noOverlapGltf.buffers.bufferView_30_buffer.extras._pipeline.source)).toBe(true);
});

it('loads an embedded buffer', function() {
var gltf = parseBinaryGltf(testData.binary);

expect(gltf.buffers.bufferView_30_buffer.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.buffers.bufferView_30_buffer.extras._pipeline.source, testData.buffer)).toBe(true);
expect(gltf.buffers.bufferView_30_buffer.extras._pipeline.source.equals(testData.buffer)).toBe(true);
});

it('loads an embedded image', function() {
var gltf = parseBinaryGltf(testData.binary);

expect(gltf.images.Image0001.extras._pipeline.source).toBeDefined();
expect(bufferEqual(gltf.images.Image0001.extras._pipeline.source, testData.image)).toBe(true);
expect(gltf.images.Image0001.extras._pipeline.source.equals(testData.image)).toBe(true);
});

it('loads an embedded shader', function() {
Expand Down Expand Up @@ -152,4 +138,4 @@ describe('parseBinaryGltf', function() {
}
}).toThrowDeveloperError();
});
});
});
3 changes: 1 addition & 2 deletions specs/lib/writeBuffersSpec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
'use strict';
var bufferEqual = require('buffer-equal');
var clone = require('clone');
var fsExtra = require('fs-extra');

Expand Down Expand Up @@ -50,7 +49,7 @@ describe('writeBuffers', function() {
return fsExtra.readFile(outputBufferPath);
})
.then(function(outputData) {
expect(bufferEqual(outputData, bufferData)).toBe(true);
expect(outputData.equals(bufferData)).toBe(true);
}), done).toResolve();
});

Expand Down
3 changes: 1 addition & 2 deletions specs/lib/writeImagesSpec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
'use strict';
var bufferEqual = require('buffer-equal');
var clone = require('clone');
var fsExtra = require('fs-extra');

Expand Down Expand Up @@ -50,7 +49,7 @@ describe('writeImages', function() {
return fsExtra.readFile(outputImagePath);
})
.then(function (outputData) {
expect(bufferEqual(outputData, imageData)).toBe(true);
expect(outputData.equals(imageData)).toBe(true);
}), done).toResolve();
});

Expand Down
3 changes: 1 addition & 2 deletions specs/lib/writeShadersSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
var clone = require('clone');
var fsExtra = require('fs-extra');

var bufferEqual = require('buffer-equal');
var writeGltf = require('../../lib/writeGltf');

var fragmentShaderPath = './specs/data/boxTexturedUnoptimized/CesiumTexturedBoxTest0FS.glsl';
Expand Down Expand Up @@ -52,7 +51,7 @@ describe('writeShaders', function() {
return fsExtra.readFile(outputFragmentShaderPath);
})
.then(function(outputData) {
expect(bufferEqual(outputData, fragmentShaderData)).toBe(true);
expect(outputData.equals(fragmentShaderData)).toBe(true);
}), done).toResolve();
});

Expand Down

0 comments on commit ebb5af5

Please sign in to comment.