@loaders.gl/tile-converter 3.3.1 → 3.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"deps-installer.d.ts","sourceRoot":"","sources":["../../src/deps-installer/deps-installer.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,GAAE,MAAW,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YA+B3D,aAAa;CAW5B"}
1
+ {"version":3,"file":"deps-installer.d.ts","sourceRoot":"","sources":["../../src/deps-installer/deps-installer.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,GAAE,MAAW,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAkC3D,aAAa;CAW5B"}
@@ -41,7 +41,10 @@ class DepsInstaller {
41
41
  const childProcess = new worker_utils_1.ChildProcessProxy();
42
42
  await childProcess.start({
43
43
  command: 'npm',
44
- arguments: ['install', 'sharp', 'join-images'],
44
+ // `npm install sharp join-images` works unstable. It fails because installed `sharp` version
45
+ // may be different from the version required by `join-images`. Pointing to specific versions
46
+ // resolve this issue
47
+ arguments: ['install', 'sharp@^0.30.4', 'join-images@^1.1.3'],
45
48
  wait: 0
46
49
  });
47
50
  console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console
package/dist/dist.min.js CHANGED
@@ -10556,8 +10556,8 @@ var require_bounding_sphere = __commonJS({
10556
10556
  }, {
10557
10557
  key: "expand",
10558
10558
  value: function expand(point) {
10559
- var scratchPoint = scratchVector7.from(point);
10560
- var radius = scratchPoint.subtract(this.center).magnitude();
10559
+ var scratchPoint2 = scratchVector7.from(point);
10560
+ var radius = scratchPoint2.subtract(this.center).magnitude();
10561
10561
  if (radius > this.radius) {
10562
10562
  this.radius = radius;
10563
10563
  }
@@ -10580,8 +10580,8 @@ var require_bounding_sphere = __commonJS({
10580
10580
  }, {
10581
10581
  key: "distanceTo",
10582
10582
  value: function distanceTo(point) {
10583
- var scratchPoint = scratchVector7.from(point);
10584
- var delta = scratchPoint.subtract(this.center);
10583
+ var scratchPoint2 = scratchVector7.from(point);
10584
+ var delta = scratchPoint2.subtract(this.center);
10585
10585
  return Math.max(0, delta.len() - this.radius);
10586
10586
  }
10587
10587
  }, {
@@ -66975,6 +66975,7 @@ var import_geospatial4 = __toModule(require_es55());
66975
66975
  function defined2(x) {
66976
66976
  return x !== void 0 && x !== null;
66977
66977
  }
66978
+ var scratchPoint = new import_core4.Vector3();
66978
66979
  var scratchScale = new import_core4.Vector3();
66979
66980
  var scratchNorthWest = new import_core4.Vector3();
66980
66981
  var scratchSouthEast = new import_core4.Vector3();
@@ -66996,6 +66997,22 @@ function createBoundingVolume(boundingVolumeHeader, transform11, result) {
66996
66997
  }
66997
66998
  throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box");
66998
66999
  }
67000
+ function getCartographicBounds(boundingVolumeHeader, boundingVolume) {
67001
+ if (boundingVolumeHeader.box) {
67002
+ return orientedBoundingBoxToCartographicBounds(boundingVolume);
67003
+ }
67004
+ if (boundingVolumeHeader.region) {
67005
+ const [west, south, east, north, minHeight, maxHeight] = boundingVolumeHeader.region;
67006
+ return [
67007
+ [(0, import_core4.degrees)(west), (0, import_core4.degrees)(south), minHeight],
67008
+ [(0, import_core4.degrees)(east), (0, import_core4.degrees)(north), maxHeight]
67009
+ ];
67010
+ }
67011
+ if (boundingVolumeHeader.sphere) {
67012
+ return boundingSphereToCartographicBounds(boundingVolume);
67013
+ }
67014
+ throw new Error("Unkown boundingVolume type");
67015
+ }
66999
67016
  function createBox(box, transform11, result) {
67000
67017
  const center = new import_core4.Vector3(box[0], box[1], box[2]);
67001
67018
  transform11.transform(center, center);
@@ -67051,6 +67068,71 @@ function createSphere(sphere, transform11, result) {
67051
67068
  }
67052
67069
  return new import_culling3.BoundingSphere(center, radius);
67053
67070
  }
67071
+ function orientedBoundingBoxToCartographicBounds(boundingVolume) {
67072
+ const result = emptyCartographicBounds();
67073
+ const { halfAxes } = boundingVolume;
67074
+ const xAxis = new import_core4.Vector3(halfAxes.getColumn(0));
67075
+ const yAxis = new import_core4.Vector3(halfAxes.getColumn(1));
67076
+ const zAxis = new import_core4.Vector3(halfAxes.getColumn(2));
67077
+ for (let x = 0; x < 2; x++) {
67078
+ for (let y = 0; y < 2; y++) {
67079
+ for (let z = 0; z < 2; z++) {
67080
+ scratchPoint.copy(boundingVolume.center);
67081
+ scratchPoint.add(xAxis);
67082
+ scratchPoint.add(yAxis);
67083
+ scratchPoint.add(zAxis);
67084
+ addToCartographicBounds(result, scratchPoint);
67085
+ zAxis.negate();
67086
+ }
67087
+ yAxis.negate();
67088
+ }
67089
+ xAxis.negate();
67090
+ }
67091
+ return result;
67092
+ }
67093
+ function boundingSphereToCartographicBounds(boundingVolume) {
67094
+ const result = emptyCartographicBounds();
67095
+ const { center, radius } = boundingVolume;
67096
+ const point = import_geospatial4.Ellipsoid.WGS84.scaleToGeodeticSurface(center, scratchPoint);
67097
+ let zAxis;
67098
+ if (point) {
67099
+ zAxis = import_geospatial4.Ellipsoid.WGS84.geodeticSurfaceNormal(point);
67100
+ } else {
67101
+ zAxis = new import_core4.Vector3(0, 0, 1);
67102
+ }
67103
+ let xAxis = new import_core4.Vector3(zAxis[2], -zAxis[1], 0);
67104
+ if (xAxis.len() > 0) {
67105
+ xAxis.normalize();
67106
+ } else {
67107
+ xAxis = new import_core4.Vector3(0, 1, 0);
67108
+ }
67109
+ const yAxis = xAxis.clone().cross(zAxis);
67110
+ for (const axis of [xAxis, yAxis, zAxis]) {
67111
+ scratchScale.copy(axis).scale(radius);
67112
+ for (let dir = 0; dir < 2; dir++) {
67113
+ scratchPoint.copy(center);
67114
+ scratchPoint.add(scratchScale);
67115
+ addToCartographicBounds(result, scratchPoint);
67116
+ scratchScale.negate();
67117
+ }
67118
+ }
67119
+ return result;
67120
+ }
67121
+ function emptyCartographicBounds() {
67122
+ return [
67123
+ [Infinity, Infinity, Infinity],
67124
+ [-Infinity, -Infinity, -Infinity]
67125
+ ];
67126
+ }
67127
+ function addToCartographicBounds(target, cartesian) {
67128
+ import_geospatial4.Ellipsoid.WGS84.cartesianToCartographic(cartesian, scratchPoint);
67129
+ target[0][0] = Math.min(target[0][0], scratchPoint[0]);
67130
+ target[0][1] = Math.min(target[0][1], scratchPoint[1]);
67131
+ target[0][2] = Math.min(target[0][2], scratchPoint[2]);
67132
+ target[1][0] = Math.max(target[1][0], scratchPoint[0]);
67133
+ target[1][1] = Math.max(target[1][1], scratchPoint[1]);
67134
+ target[1][2] = Math.max(target[1][2], scratchPoint[2]);
67135
+ }
67054
67136
 
67055
67137
  // ../tiles/src/tileset/helpers/tiles-3d-lod.ts
67056
67138
  var import_core5 = __toModule(require_es54());
@@ -67557,6 +67639,12 @@ var Tile3D = class {
67557
67639
  get screenSpaceError() {
67558
67640
  return this._screenSpaceError;
67559
67641
  }
67642
+ get boundingBox() {
67643
+ if (!this._boundingBox) {
67644
+ this._boundingBox = getCartographicBounds(this.header.boundingVolume, this.boundingVolume);
67645
+ }
67646
+ return this._boundingBox;
67647
+ }
67560
67648
  getScreenSpaceError(frameState, useParentLodMetric) {
67561
67649
  switch (this.tileset.type) {
67562
67650
  case TILESET_TYPE.I3S:
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports._typecheckI3SAttributesWorker = exports.Tile3dAttributesWorker = void 0;
7
7
  exports.transform3DTilesAttributesOnWorker = transform3DTilesAttributesOnWorker;
8
8
  var _workerUtils = require("@loaders.gl/worker-utils");
9
- var VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'latest';
9
+ var VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'latest';
10
10
  var Tile3dAttributesWorker = {
11
11
  id: '3d-tiles-attributes',
12
12
  name: '3DTiles Attributes Worker',
@@ -14,7 +14,7 @@ var _zip = require("@loaders.gl/zip");
14
14
  var _fileUtils = require("../lib/utils/file-utils");
15
15
  var _path = require("path");
16
16
  var _workerUtils = require("@loaders.gl/worker-utils");
17
- var VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'beta';
17
+ var VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'beta';
18
18
  var PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';
19
19
 
20
20
  var DepsInstaller = function () {
@@ -66,7 +66,7 @@ var DepsInstaller = function () {
66
66
  _context.next = 23;
67
67
  return childProcess.start({
68
68
  command: 'npm',
69
- arguments: ['install', 'sharp', 'join-images'],
69
+ arguments: ['install', 'sharp@^0.30.4', 'join-images@^1.1.3'],
70
70
  wait: 0
71
71
  });
72
72
  case 23:
@@ -1 +1 @@
1
- {"version":3,"file":"deps-installer.js","names":["VERSION","PGM_LINK","DepsInstaller","path","workersPath","console","log","load","ZipLoader","fileMap","depsPath","process","cwd","join","writeFile","Uint8Array","installWorker","childProcess","ChildProcessProxy","start","command","arguments","wait","module","name","extraPath","fetchFile","fileResponse","arrayBuffer","fileData"],"sources":["../../../src/deps-installer/deps-installer.ts"],"sourcesContent":["import {load, fetchFile} from '@loaders.gl/core';\nimport {ZipLoader} from '@loaders.gl/zip';\nimport {writeFile} from '../lib/utils/file-utils';\nimport {join} from 'path';\nimport {ChildProcessProxy} from '@loaders.gl/worker-utils';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\nconst PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';\n\n/**\n * Install external dependencies for converter:\n * * PGM file (implemented);\n * * Draco library (not implemented);\n * * 7z archiver (not implemented);\n */\nexport class DepsInstaller {\n /**\n * Run instalation\n * @param path destination folder\n * @param workersPath destination folder for workers.\n * This path is '' by default and is not used by tile-converter.\n * It is used in tests to prevent rewriting actual workers during tests running\n */\n async install(path: string = '', workersPath: string = ''): Promise<void> {\n console.log('Installing \"EGM2008-5\" model...'); // eslint-disable-line no-console\n const fileMap = await load(PGM_LINK, ZipLoader, {});\n\n let depsPath = process.cwd();\n if (path) {\n depsPath = join(depsPath, path);\n }\n\n await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');\n\n console.log('Installing \"I3S Content Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('i3s', 'i3s-content-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Draco Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('draco', 'draco-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Basis Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('textures', 'basis-nodejs-worker.js', workersPath);\n\n console.log('Installing \"join-images\" npm package');\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: 'npm',\n arguments: ['install', 'sharp', 'join-images'],\n wait: 0\n });\n\n console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console\n }\n\n private async installWorker(module: string, name: string, extraPath: string) {\n const fileResponse = await fetchFile(\n `https://unpkg.com/@loaders.gl/${module}@${VERSION}/dist/${name}`\n );\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), extraPath, 'modules', module, 'dist');\n await writeFile(path, fileData, name);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAGA,IAAMA,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,MAAM;AAEzE,IAAMC,QAAQ,GAAG,+EAA+E;;AAAC,IAQpFC,aAAa;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,yEAQxB;QAAA;UAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAAcC,IAAY,2DAAG,EAAE;gBAAEC,WAAmB,2DAAG,EAAE;gBACvDC,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;gBAAC;gBAAA,OACzB,IAAAC,UAAI,EAACN,QAAQ,EAAEO,cAAS,EAAE,CAAC,CAAC,CAAC;cAAA;gBAA7CC,OAAO;gBAETC,QAAQ,GAAGC,OAAO,CAACC,GAAG,EAAE;gBAC5B,IAAIT,IAAI,EAAE;kBACRO,QAAQ,GAAG,IAAAG,UAAI,EAACH,QAAQ,EAAEP,IAAI,CAAC;gBACjC;gBAAC;gBAAA,OAEK,IAAAW,oBAAS,EAACJ,QAAQ,EAAE,IAAIK,UAAU,CAACN,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,eAAe,CAAC;cAAA;gBAE3FJ,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;gBAAC;gBAAA,OAChD,IAAI,CAACU,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAEZ,WAAW,CAAC;cAAA;gBAE5EC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;gBAAC;gBAAA,OAC1C,IAAI,CAACU,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAEZ,WAAW,CAAC;cAAA;gBAExEC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;gBAAC;gBAAA,OAC1C,IAAI,CAACU,aAAa,CAAC,UAAU,EAAE,wBAAwB,EAAEZ,WAAW,CAAC;cAAA;gBAE3EC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;gBAC7CW,YAAY,GAAG,IAAIC,8BAAiB,EAAE;gBAAA;gBAAA,OACtCD,YAAY,CAACE,KAAK,CAAC;kBACvBC,OAAO,EAAE,KAAK;kBACdC,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC;kBAC9CC,IAAI,EAAE;gBACR,CAAC,CAAC;cAAA;gBAEFjB,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC7D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+EAED,kBAA4BiB,MAAc,EAAEC,IAAY,EAAEC,SAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC9C,IAAAC,eAAS,0CACDH,MAAM,cAAIvB,OAAO,mBAASwB,IAAI,EAChE;cAAA;gBAFKG,YAAY;gBAAA;gBAAA,OAGKA,YAAY,CAACC,WAAW,EAAE;cAAA;gBAA3CC,QAAQ;gBAAA,IACTA,QAAQ;kBAAA;kBAAA;gBAAA;gBAAA;cAAA;gBAGP1B,IAAI,GAAG,IAAAU,UAAI,EAACF,OAAO,CAACC,GAAG,EAAE,EAAEa,SAAS,EAAE,SAAS,EAAEF,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAChE,IAAAT,oBAAS,EAACX,IAAI,EAAE0B,QAAQ,EAAEL,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"deps-installer.js","names":["VERSION","PGM_LINK","DepsInstaller","path","workersPath","console","log","load","ZipLoader","fileMap","depsPath","process","cwd","join","writeFile","Uint8Array","installWorker","childProcess","ChildProcessProxy","start","command","arguments","wait","module","name","extraPath","fetchFile","fileResponse","arrayBuffer","fileData"],"sources":["../../../src/deps-installer/deps-installer.ts"],"sourcesContent":["import {load, fetchFile} from '@loaders.gl/core';\nimport {ZipLoader} from '@loaders.gl/zip';\nimport {writeFile} from '../lib/utils/file-utils';\nimport {join} from 'path';\nimport {ChildProcessProxy} from '@loaders.gl/worker-utils';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\nconst PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';\n\n/**\n * Install external dependencies for converter:\n * * PGM file (implemented);\n * * Draco library (not implemented);\n * * 7z archiver (not implemented);\n */\nexport class DepsInstaller {\n /**\n * Run instalation\n * @param path destination folder\n * @param workersPath destination folder for workers.\n * This path is '' by default and is not used by tile-converter.\n * It is used in tests to prevent rewriting actual workers during tests running\n */\n async install(path: string = '', workersPath: string = ''): Promise<void> {\n console.log('Installing \"EGM2008-5\" model...'); // eslint-disable-line no-console\n const fileMap = await load(PGM_LINK, ZipLoader, {});\n\n let depsPath = process.cwd();\n if (path) {\n depsPath = join(depsPath, path);\n }\n\n await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');\n\n console.log('Installing \"I3S Content Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('i3s', 'i3s-content-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Draco Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('draco', 'draco-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Basis Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('textures', 'basis-nodejs-worker.js', workersPath);\n\n console.log('Installing \"join-images\" npm package');\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: 'npm',\n // `npm install sharp join-images` works unstable. It fails because installed `sharp` version\n // may be different from the version required by `join-images`. Pointing to specific versions\n // resolve this issue\n arguments: ['install', 'sharp@^0.30.4', 'join-images@^1.1.3'],\n wait: 0\n });\n\n console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console\n }\n\n private async installWorker(module: string, name: string, extraPath: string) {\n const fileResponse = await fetchFile(\n `https://unpkg.com/@loaders.gl/${module}@${VERSION}/dist/${name}`\n );\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), extraPath, 'modules', module, 'dist');\n await writeFile(path, fileData, name);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAGA,IAAMA,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,MAAM;AAEzE,IAAMC,QAAQ,GAAG,+EAA+E;;AAAC,IAQpFC,aAAa;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,yEAQxB;QAAA;UAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAAcC,IAAY,2DAAG,EAAE;gBAAEC,WAAmB,2DAAG,EAAE;gBACvDC,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;gBAAC;gBAAA,OACzB,IAAAC,UAAI,EAACN,QAAQ,EAAEO,cAAS,EAAE,CAAC,CAAC,CAAC;cAAA;gBAA7CC,OAAO;gBAETC,QAAQ,GAAGC,OAAO,CAACC,GAAG,EAAE;gBAC5B,IAAIT,IAAI,EAAE;kBACRO,QAAQ,GAAG,IAAAG,UAAI,EAACH,QAAQ,EAAEP,IAAI,CAAC;gBACjC;gBAAC;gBAAA,OAEK,IAAAW,oBAAS,EAACJ,QAAQ,EAAE,IAAIK,UAAU,CAACN,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,eAAe,CAAC;cAAA;gBAE3FJ,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;gBAAC;gBAAA,OAChD,IAAI,CAACU,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAEZ,WAAW,CAAC;cAAA;gBAE5EC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;gBAAC;gBAAA,OAC1C,IAAI,CAACU,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAEZ,WAAW,CAAC;cAAA;gBAExEC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;gBAAC;gBAAA,OAC1C,IAAI,CAACU,aAAa,CAAC,UAAU,EAAE,wBAAwB,EAAEZ,WAAW,CAAC;cAAA;gBAE3EC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;gBAC7CW,YAAY,GAAG,IAAIC,8BAAiB,EAAE;gBAAA;gBAAA,OACtCD,YAAY,CAACE,KAAK,CAAC;kBACvBC,OAAO,EAAE,KAAK;kBAIdC,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,oBAAoB,CAAC;kBAC7DC,IAAI,EAAE;gBACR,CAAC,CAAC;cAAA;gBAEFjB,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC7D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+EAED,kBAA4BiB,MAAc,EAAEC,IAAY,EAAEC,SAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC9C,IAAAC,eAAS,0CACDH,MAAM,cAAIvB,OAAO,mBAASwB,IAAI,EAChE;cAAA;gBAFKG,YAAY;gBAAA;gBAAA,OAGKA,YAAY,CAACC,WAAW,EAAE;cAAA;gBAA3CC,QAAQ;gBAAA,IACTA,QAAQ;kBAAA;kBAAA;gBAAA;gBAAA;cAAA;gBAGP1B,IAAI,GAAG,IAAAU,UAAI,EAACF,OAAO,CAACC,GAAG,EAAE,EAAEa,SAAS,EAAE,SAAS,EAAEF,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAChE,IAAAT,oBAAS,EAACX,IAAI,EAAE0B,QAAQ,EAAEL,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports._typecheckI3SAttributesWorker = exports.I3SAttributesWorker = void 0;
7
7
  exports.transformI3SAttributesOnWorker = transformI3SAttributesOnWorker;
8
8
  var _workerUtils = require("@loaders.gl/worker-utils");
9
- var VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'latest';
9
+ var VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'latest';
10
10
  var I3SAttributesWorker = {
11
11
  id: 'i3s-attributes',
12
12
  name: 'I3S Attributes Worker',
@@ -8,7 +8,7 @@ exports.PGMLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _geoid = require("@math.gl/geoid");
11
- var VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'latest';
11
+ var VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'latest';
12
12
 
13
13
  var PGMLoader = {
14
14
  name: 'PGM - Netpbm grayscale image format',
@@ -1,6 +1,6 @@
1
1
  import { processOnWorker } from '@loaders.gl/worker-utils';
2
2
 
3
- const VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'latest';
3
+ const VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'latest';
4
4
  export const Tile3dAttributesWorker = {
5
5
  id: '3d-tiles-attributes',
6
6
  name: '3DTiles Attributes Worker',
@@ -4,7 +4,7 @@ import { writeFile } from '../lib/utils/file-utils';
4
4
  import { join } from 'path';
5
5
  import { ChildProcessProxy } from '@loaders.gl/worker-utils';
6
6
 
7
- const VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'beta';
7
+ const VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'beta';
8
8
  const PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';
9
9
 
10
10
  export class DepsInstaller {
@@ -28,7 +28,7 @@ export class DepsInstaller {
28
28
  const childProcess = new ChildProcessProxy();
29
29
  await childProcess.start({
30
30
  command: 'npm',
31
- arguments: ['install', 'sharp', 'join-images'],
31
+ arguments: ['install', 'sharp@^0.30.4', 'join-images@^1.1.3'],
32
32
  wait: 0
33
33
  });
34
34
  console.log('All dependencies were installed succesfully.');
@@ -1 +1 @@
1
- {"version":3,"file":"deps-installer.js","names":["load","fetchFile","ZipLoader","writeFile","join","ChildProcessProxy","VERSION","PGM_LINK","DepsInstaller","install","path","workersPath","console","log","fileMap","depsPath","process","cwd","Uint8Array","installWorker","childProcess","start","command","arguments","wait","module","name","extraPath","fileResponse","fileData","arrayBuffer"],"sources":["../../../src/deps-installer/deps-installer.ts"],"sourcesContent":["import {load, fetchFile} from '@loaders.gl/core';\nimport {ZipLoader} from '@loaders.gl/zip';\nimport {writeFile} from '../lib/utils/file-utils';\nimport {join} from 'path';\nimport {ChildProcessProxy} from '@loaders.gl/worker-utils';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\nconst PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';\n\n/**\n * Install external dependencies for converter:\n * * PGM file (implemented);\n * * Draco library (not implemented);\n * * 7z archiver (not implemented);\n */\nexport class DepsInstaller {\n /**\n * Run instalation\n * @param path destination folder\n * @param workersPath destination folder for workers.\n * This path is '' by default and is not used by tile-converter.\n * It is used in tests to prevent rewriting actual workers during tests running\n */\n async install(path: string = '', workersPath: string = ''): Promise<void> {\n console.log('Installing \"EGM2008-5\" model...'); // eslint-disable-line no-console\n const fileMap = await load(PGM_LINK, ZipLoader, {});\n\n let depsPath = process.cwd();\n if (path) {\n depsPath = join(depsPath, path);\n }\n\n await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');\n\n console.log('Installing \"I3S Content Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('i3s', 'i3s-content-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Draco Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('draco', 'draco-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Basis Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('textures', 'basis-nodejs-worker.js', workersPath);\n\n console.log('Installing \"join-images\" npm package');\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: 'npm',\n arguments: ['install', 'sharp', 'join-images'],\n wait: 0\n });\n\n console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console\n }\n\n private async installWorker(module: string, name: string, extraPath: string) {\n const fileResponse = await fetchFile(\n `https://unpkg.com/@loaders.gl/${module}@${VERSION}/dist/${name}`\n );\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), extraPath, 'modules', module, 'dist');\n await writeFile(path, fileData, name);\n }\n}\n"],"mappings":"AAAA,SAAQA,IAAI,EAAEC,SAAS,QAAO,kBAAkB;AAChD,SAAQC,SAAS,QAAO,iBAAiB;AACzC,SAAQC,SAAS,QAAO,yBAAyB;AACjD,SAAQC,IAAI,QAAO,MAAM;AACzB,SAAQC,iBAAiB,QAAO,0BAA0B;;AAG1D,MAAMC,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,MAAM;AAEzE,MAAMC,QAAQ,GAAG,+EAA+E;;AAQhG,OAAO,MAAMC,aAAa,CAAC;EAQzB,MAAMC,OAAO,GAA6D;IAAA,IAA5DC,IAAY,uEAAG,EAAE;IAAA,IAAEC,WAAmB,uEAAG,EAAE;IACvDC,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;IAC9C,MAAMC,OAAO,GAAG,MAAMd,IAAI,CAACO,QAAQ,EAAEL,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnD,IAAIa,QAAQ,GAAGC,OAAO,CAACC,GAAG,EAAE;IAC5B,IAAIP,IAAI,EAAE;MACRK,QAAQ,GAAGX,IAAI,CAACW,QAAQ,EAAEL,IAAI,CAAC;IACjC;IAEA,MAAMP,SAAS,CAACY,QAAQ,EAAE,IAAIG,UAAU,CAACJ,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,eAAe,CAAC;IAE3FF,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;IACrD,MAAM,IAAI,CAACM,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAER,WAAW,CAAC;IAE5EC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAER,WAAW,CAAC;IAExEC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,aAAa,CAAC,UAAU,EAAE,wBAAwB,EAAER,WAAW,CAAC;IAE3EC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,MAAMO,YAAY,GAAG,IAAIf,iBAAiB,EAAE;IAC5C,MAAMe,YAAY,CAACC,KAAK,CAAC;MACvBC,OAAO,EAAE,KAAK;MACdC,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC;MAC9CC,IAAI,EAAE;IACR,CAAC,CAAC;IAEFZ,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAC7D;;EAEA,MAAcM,aAAa,CAACM,MAAc,EAAEC,IAAY,EAAEC,SAAiB,EAAE;IAC3E,MAAMC,YAAY,GAAG,MAAM3B,SAAS,yCACDwB,MAAM,cAAInB,OAAO,mBAASoB,IAAI,EAChE;IACD,MAAMG,QAAQ,GAAG,MAAMD,YAAY,CAACE,WAAW,EAAE;IACjD,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IACA,MAAMnB,IAAI,GAAGN,IAAI,CAACY,OAAO,CAACC,GAAG,EAAE,EAAEU,SAAS,EAAE,SAAS,EAAEF,MAAM,EAAE,MAAM,CAAC;IACtE,MAAMtB,SAAS,CAACO,IAAI,EAAEmB,QAAQ,EAAEH,IAAI,CAAC;EACvC;AACF"}
1
+ {"version":3,"file":"deps-installer.js","names":["load","fetchFile","ZipLoader","writeFile","join","ChildProcessProxy","VERSION","PGM_LINK","DepsInstaller","install","path","workersPath","console","log","fileMap","depsPath","process","cwd","Uint8Array","installWorker","childProcess","start","command","arguments","wait","module","name","extraPath","fileResponse","fileData","arrayBuffer"],"sources":["../../../src/deps-installer/deps-installer.ts"],"sourcesContent":["import {load, fetchFile} from '@loaders.gl/core';\nimport {ZipLoader} from '@loaders.gl/zip';\nimport {writeFile} from '../lib/utils/file-utils';\nimport {join} from 'path';\nimport {ChildProcessProxy} from '@loaders.gl/worker-utils';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\nconst PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';\n\n/**\n * Install external dependencies for converter:\n * * PGM file (implemented);\n * * Draco library (not implemented);\n * * 7z archiver (not implemented);\n */\nexport class DepsInstaller {\n /**\n * Run instalation\n * @param path destination folder\n * @param workersPath destination folder for workers.\n * This path is '' by default and is not used by tile-converter.\n * It is used in tests to prevent rewriting actual workers during tests running\n */\n async install(path: string = '', workersPath: string = ''): Promise<void> {\n console.log('Installing \"EGM2008-5\" model...'); // eslint-disable-line no-console\n const fileMap = await load(PGM_LINK, ZipLoader, {});\n\n let depsPath = process.cwd();\n if (path) {\n depsPath = join(depsPath, path);\n }\n\n await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');\n\n console.log('Installing \"I3S Content Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('i3s', 'i3s-content-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Draco Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('draco', 'draco-nodejs-worker.js', workersPath);\n\n console.log('Installing \"Basis Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('textures', 'basis-nodejs-worker.js', workersPath);\n\n console.log('Installing \"join-images\" npm package');\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: 'npm',\n // `npm install sharp join-images` works unstable. It fails because installed `sharp` version\n // may be different from the version required by `join-images`. Pointing to specific versions\n // resolve this issue\n arguments: ['install', 'sharp@^0.30.4', 'join-images@^1.1.3'],\n wait: 0\n });\n\n console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console\n }\n\n private async installWorker(module: string, name: string, extraPath: string) {\n const fileResponse = await fetchFile(\n `https://unpkg.com/@loaders.gl/${module}@${VERSION}/dist/${name}`\n );\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), extraPath, 'modules', module, 'dist');\n await writeFile(path, fileData, name);\n }\n}\n"],"mappings":"AAAA,SAAQA,IAAI,EAAEC,SAAS,QAAO,kBAAkB;AAChD,SAAQC,SAAS,QAAO,iBAAiB;AACzC,SAAQC,SAAS,QAAO,yBAAyB;AACjD,SAAQC,IAAI,QAAO,MAAM;AACzB,SAAQC,iBAAiB,QAAO,0BAA0B;;AAG1D,MAAMC,OAAO,GAAG,cAAkB,KAAK,WAAW,aAAiB,MAAM;AAEzE,MAAMC,QAAQ,GAAG,+EAA+E;;AAQhG,OAAO,MAAMC,aAAa,CAAC;EAQzB,MAAMC,OAAO,GAA6D;IAAA,IAA5DC,IAAY,uEAAG,EAAE;IAAA,IAAEC,WAAmB,uEAAG,EAAE;IACvDC,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;IAC9C,MAAMC,OAAO,GAAG,MAAMd,IAAI,CAACO,QAAQ,EAAEL,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnD,IAAIa,QAAQ,GAAGC,OAAO,CAACC,GAAG,EAAE;IAC5B,IAAIP,IAAI,EAAE;MACRK,QAAQ,GAAGX,IAAI,CAACW,QAAQ,EAAEL,IAAI,CAAC;IACjC;IAEA,MAAMP,SAAS,CAACY,QAAQ,EAAE,IAAIG,UAAU,CAACJ,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,eAAe,CAAC;IAE3FF,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;IACrD,MAAM,IAAI,CAACM,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAER,WAAW,CAAC;IAE5EC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAER,WAAW,CAAC;IAExEC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,aAAa,CAAC,UAAU,EAAE,wBAAwB,EAAER,WAAW,CAAC;IAE3EC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,MAAMO,YAAY,GAAG,IAAIf,iBAAiB,EAAE;IAC5C,MAAMe,YAAY,CAACC,KAAK,CAAC;MACvBC,OAAO,EAAE,KAAK;MAIdC,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,oBAAoB,CAAC;MAC7DC,IAAI,EAAE;IACR,CAAC,CAAC;IAEFZ,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAC7D;;EAEA,MAAcM,aAAa,CAACM,MAAc,EAAEC,IAAY,EAAEC,SAAiB,EAAE;IAC3E,MAAMC,YAAY,GAAG,MAAM3B,SAAS,yCACDwB,MAAM,cAAInB,OAAO,mBAASoB,IAAI,EAChE;IACD,MAAMG,QAAQ,GAAG,MAAMD,YAAY,CAACE,WAAW,EAAE;IACjD,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IACA,MAAMnB,IAAI,GAAGN,IAAI,CAACY,OAAO,CAACC,GAAG,EAAE,EAAEU,SAAS,EAAE,SAAS,EAAEF,MAAM,EAAE,MAAM,CAAC;IACtE,MAAMtB,SAAS,CAACO,IAAI,EAAEmB,QAAQ,EAAEH,IAAI,CAAC;EACvC;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { processOnWorker } from '@loaders.gl/worker-utils';
2
2
 
3
- const VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'latest';
3
+ const VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'latest';
4
4
  export const I3SAttributesWorker = {
5
5
  id: 'i3s-attributes',
6
6
  name: 'I3S Attributes Worker',
@@ -1,6 +1,6 @@
1
1
  import { parsePGM } from '@math.gl/geoid';
2
2
 
3
- const VERSION = typeof "3.3.1" !== 'undefined' ? "3.3.1" : 'latest';
3
+ const VERSION = typeof "3.3.3" !== 'undefined' ? "3.3.3" : 'latest';
4
4
 
5
5
  export const PGMLoader = {
6
6
  name: 'PGM - Netpbm grayscale image format',
@@ -11,7 +11,7 @@ const file_utils_1 = require("../../lib/utils/file-utils");
11
11
  * class NodePages - wrapper of nodePages array
12
12
  *
13
13
  * @example
14
- * import {writeFile} from './helpers/write-file';
14
+ * import {writeFile} from './helpers/write-file.js';
15
15
  *
16
16
  * // create an instance of the class
17
17
  * const nodePages = new NodePages(writeFile, HARDCODED_NODES_PER_PAGE);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tile-converter",
3
- "version": "3.3.1",
3
+ "version": "3.3.3",
4
4
  "description": "Converter",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -39,24 +39,24 @@
39
39
  "scripts": {
40
40
  "pre-build": "npm run build-bundle && npm run build-converter-bundle && npm run build-i3s-attributes-worker && npm run build-3d-tiles-attributes-worker",
41
41
  "build-bundle": "esbuild ./src/index.ts --bundle --outfile=dist/dist.min.js --platform=node --external:join-images",
42
- "build-converter-bundle": "webpack --display errors-only --config ./converter-webpack/bundle.js",
43
- "build-i3s-attributes-worker": "esbuild src/workers/i3s-attributes-worker.ts --outfile=dist/i3s-attributes-worker.js --platform=node --target=esnext,node12 --external:join-images --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
44
- "build-3d-tiles-attributes-worker": "esbuild src/workers/3d-tiles-attributes-worker.ts --outfile=dist/3d-tiles-attributes-worker.js --platform=node --target=esnext,node12 --external:join-images --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
42
+ "build-converter-bundle": "esbuild src/converter-cli.ts --outfile=dist/converter.min.js --platform=node --target=esnext,node14 --external:join-images --minify --bundle --define:__VERSION__=\\\"$npm_package_version\\\"",
43
+ "build-i3s-attributes-worker": "esbuild src/workers/i3s-attributes-worker.ts --outfile=dist/i3s-attributes-worker.js --platform=node --target=esnext,node14 --external:join-images --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
44
+ "build-3d-tiles-attributes-worker": "esbuild src/workers/3d-tiles-attributes-worker.ts --outfile=dist/3d-tiles-attributes-worker.js --platform=node --target=esnext,node14 --external:join-images --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
45
45
  },
46
46
  "dependencies": {
47
- "@loaders.gl/3d-tiles": "3.3.1",
48
- "@loaders.gl/crypto": "3.3.1",
49
- "@loaders.gl/draco": "3.3.1",
50
- "@loaders.gl/gltf": "3.3.1",
51
- "@loaders.gl/i3s": "3.3.1",
52
- "@loaders.gl/images": "3.3.1",
53
- "@loaders.gl/loader-utils": "3.3.1",
54
- "@loaders.gl/polyfills": "3.3.1",
55
- "@loaders.gl/schema": "3.3.1",
56
- "@loaders.gl/textures": "3.3.1",
57
- "@loaders.gl/tiles": "3.3.1",
58
- "@loaders.gl/worker-utils": "3.3.1",
59
- "@loaders.gl/zip": "3.3.1",
47
+ "@loaders.gl/3d-tiles": "3.3.3",
48
+ "@loaders.gl/crypto": "3.3.3",
49
+ "@loaders.gl/draco": "3.3.3",
50
+ "@loaders.gl/gltf": "3.3.3",
51
+ "@loaders.gl/i3s": "3.3.3",
52
+ "@loaders.gl/images": "3.3.3",
53
+ "@loaders.gl/loader-utils": "3.3.3",
54
+ "@loaders.gl/polyfills": "3.3.3",
55
+ "@loaders.gl/schema": "3.3.3",
56
+ "@loaders.gl/textures": "3.3.3",
57
+ "@loaders.gl/tiles": "3.3.3",
58
+ "@loaders.gl/worker-utils": "3.3.3",
59
+ "@loaders.gl/zip": "3.3.3",
60
60
  "@luma.gl/engine": "^8.5.4",
61
61
  "@math.gl/core": "^3.5.1",
62
62
  "@math.gl/culling": "^3.5.1",
@@ -80,5 +80,5 @@
80
80
  "join-images": "^1.1.3",
81
81
  "sharp": "^0.31.3"
82
82
  },
83
- "gitHead": "51632b5948e496a4b75e970030ad7579650c129d"
83
+ "gitHead": "44f4e272d8216f226a332eaae81e832e44c7e474"
84
84
  }
@@ -47,7 +47,10 @@ export class DepsInstaller {
47
47
  const childProcess = new ChildProcessProxy();
48
48
  await childProcess.start({
49
49
  command: 'npm',
50
- arguments: ['install', 'sharp', 'join-images'],
50
+ // `npm install sharp join-images` works unstable. It fails because installed `sharp` version
51
+ // may be different from the version required by `join-images`. Pointing to specific versions
52
+ // resolve this issue
53
+ arguments: ['install', 'sharp@^0.30.4', 'join-images@^1.1.3'],
51
54
  wait: 0
52
55
  });
53
56