@itwin/rpcinterface-full-stack-tests 4.3.1 → 4.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.
- package/lib/dist/bundled-tests.js +131 -72
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5.bundled-tests.js.map +1 -1
- package/package.json +13 -13
|
@@ -153495,19 +153495,23 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
153495
153495
|
*/
|
|
153496
153496
|
|
|
153497
153497
|
|
|
153498
|
+
const loggerCategory = "ArcGISTileMap";
|
|
153498
153499
|
const nonVisibleChildren = [false, false, false, false];
|
|
153499
153500
|
/** @internal */
|
|
153500
153501
|
class ArcGISTileMap {
|
|
153501
|
-
|
|
153502
|
-
|
|
153502
|
+
// We want to query a tile map that covers an area all around the top-lef missing tile, we offset the top-left corner position of the tilemap.
|
|
153503
|
+
// We used to create a 32x32 tiles area around the missing tiles, but this was causing the tilemap top-left position
|
|
153504
|
+
// to fall outside the dataset bundle of the remote server, thus giving invalid response.
|
|
153505
|
+
get tileMapOffset() { return (this.tileMapRequestSize * 0.5); }
|
|
153506
|
+
constructor(restBaseUrl, settings, fetchFunc) {
|
|
153507
|
+
// For similar reasons as the corner offset, we need to keep the tile map size not too big to avoid covering multiple bundles.
|
|
153508
|
+
this.tileMapRequestSize = 8;
|
|
153503
153509
|
this.fallbackTileMapRequestSize = 2;
|
|
153504
153510
|
this._tilesCache = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Dictionary((lhs, rhs) => (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs, rhs));
|
|
153505
153511
|
this._restBaseUrl = restBaseUrl;
|
|
153506
153512
|
this._fetchFunc = fetchFunc;
|
|
153507
153513
|
this._settings = settings;
|
|
153508
|
-
|
|
153509
|
-
this._callQueues = new Array(nbLods).fill(Promise.resolve(nonVisibleChildren));
|
|
153510
|
-
}
|
|
153514
|
+
this._callQueues = new Array(ArcGISTileMap.maxLod).fill(Promise.resolve(nonVisibleChildren));
|
|
153511
153515
|
}
|
|
153512
153516
|
async fetchTileMapFromServer(level, row, column, width, height) {
|
|
153513
153517
|
const tmpUrl = `${this._restBaseUrl}/tilemap/${level}/${row}/${column}/${width}/${height}?f=json`;
|
|
@@ -153529,10 +153533,12 @@ class ArcGISTileMap {
|
|
|
153529
153533
|
async getChildrenAvailability(childIds) {
|
|
153530
153534
|
if (!childIds.length)
|
|
153531
153535
|
return [];
|
|
153532
|
-
//
|
|
153533
|
-
//
|
|
153536
|
+
// Before entering the queue for a backend request,
|
|
153537
|
+
// let check if cache doesn't already contain what we are looking for.
|
|
153534
153538
|
const cacheInfo = this.getAvailableTilesFromCache(childIds);
|
|
153535
153539
|
if (cacheInfo.allTilesFound) {
|
|
153540
|
+
if (cacheInfo.available.includes(false))
|
|
153541
|
+
return cacheInfo.available;
|
|
153536
153542
|
return cacheInfo.available;
|
|
153537
153543
|
}
|
|
153538
153544
|
// If we never encountered this tile level before, then a tilemap request must be made to get tiles visibility.
|
|
@@ -153541,48 +153547,115 @@ class ArcGISTileMap {
|
|
|
153541
153547
|
// before making another one.
|
|
153542
153548
|
const childLevel = childIds[0].level + 1;
|
|
153543
153549
|
if (this._callQueues && childLevel < this._callQueues.length) {
|
|
153544
|
-
const res = this._callQueues[childLevel].then(async () =>
|
|
153550
|
+
const res = this._callQueues[childLevel].then(async () => {
|
|
153551
|
+
return this.getChildrenAvailabilityFromServer(childIds);
|
|
153552
|
+
});
|
|
153545
153553
|
this._callQueues[childLevel] = res.catch(() => nonVisibleChildren);
|
|
153546
153554
|
return res;
|
|
153547
153555
|
}
|
|
153548
153556
|
else {
|
|
153549
153557
|
// We should not be in this case, probably because server info is missing LODs in the capabilities?!
|
|
153558
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logWarning(loggerCategory, `Skipped request queue for child level ${childLevel}`);
|
|
153550
153559
|
return this.getChildrenAvailabilityFromServer(childIds);
|
|
153551
153560
|
}
|
|
153552
153561
|
}
|
|
153562
|
+
isCacheMissingTile(level, startRow, startColumn, endRow, endColumn) {
|
|
153563
|
+
let missingTileFound = false;
|
|
153564
|
+
if (endRow <= startRow || endColumn <= startColumn)
|
|
153565
|
+
return missingTileFound;
|
|
153566
|
+
for (let j = startColumn; j <= endColumn && !missingTileFound; j++) {
|
|
153567
|
+
for (let i = startRow; i <= endRow && !missingTileFound; i++) {
|
|
153568
|
+
if (j >= 0 && i >= 0) {
|
|
153569
|
+
const contentId = _internal__WEBPACK_IMPORTED_MODULE_1__.QuadId.getTileContentId(level, j, i);
|
|
153570
|
+
if (this._tilesCache.get(contentId) === undefined) {
|
|
153571
|
+
missingTileFound = true;
|
|
153572
|
+
}
|
|
153573
|
+
}
|
|
153574
|
+
}
|
|
153575
|
+
}
|
|
153576
|
+
return missingTileFound;
|
|
153577
|
+
}
|
|
153578
|
+
collectTilesMissingFromCache(missingQueryTiles) {
|
|
153579
|
+
const missingTiles = [];
|
|
153580
|
+
for (const quad of missingQueryTiles) {
|
|
153581
|
+
const contentId = _internal__WEBPACK_IMPORTED_MODULE_1__.QuadId.getTileContentId(quad.level, quad.column, quad.row);
|
|
153582
|
+
const avail = this._tilesCache.get(contentId);
|
|
153583
|
+
if (avail === undefined)
|
|
153584
|
+
missingTiles.push(quad);
|
|
153585
|
+
}
|
|
153586
|
+
return missingTiles;
|
|
153587
|
+
}
|
|
153553
153588
|
// Query tiles are tiles that we need to check availability
|
|
153554
153589
|
// The array is assumed to be in in row major orientation, i.e.: [TileRow0Col0, TileRow0Col1, TileRow1Col0, TileRow1Col1,]
|
|
153555
153590
|
async fetchAndReadTilemap(queryTiles, reqWidth, reqHeight) {
|
|
153556
|
-
let available =
|
|
153591
|
+
let available = queryTiles.map(() => false);
|
|
153557
153592
|
if (queryTiles.length === 0) {
|
|
153558
153593
|
return available;
|
|
153559
153594
|
}
|
|
153560
|
-
|
|
153561
|
-
|
|
153562
|
-
const
|
|
153563
|
-
|
|
153564
|
-
|
|
153565
|
-
|
|
153566
|
-
|
|
153567
|
-
|
|
153568
|
-
|
|
153569
|
-
|
|
153570
|
-
|
|
153571
|
-
|
|
153572
|
-
|
|
153573
|
-
|
|
153574
|
-
|
|
153575
|
-
|
|
153576
|
-
|
|
153577
|
-
|
|
153578
|
-
|
|
153579
|
-
|
|
153595
|
+
// console.log(`queryTiles: ${queryTiles.map((quad) => quad.contentId)}`);
|
|
153596
|
+
// Find the top-left most corner of the extent covering the query tiles.
|
|
153597
|
+
const getTopLeftCorner = (tiles) => {
|
|
153598
|
+
let row;
|
|
153599
|
+
let column;
|
|
153600
|
+
for (const quad of tiles) {
|
|
153601
|
+
if (row === undefined || quad.row <= row)
|
|
153602
|
+
row = quad.row;
|
|
153603
|
+
if (column === undefined || quad.column <= column) {
|
|
153604
|
+
column = quad.column;
|
|
153605
|
+
}
|
|
153606
|
+
}
|
|
153607
|
+
return { row, column };
|
|
153608
|
+
};
|
|
153609
|
+
const level = queryTiles[0].level; // We assume all tiles to be on the same level
|
|
153610
|
+
let missingQueryTiles = this.collectTilesMissingFromCache(queryTiles);
|
|
153611
|
+
let gotAdjusted = false;
|
|
153612
|
+
let nbAttempt = 0; // Safety: We should never be making more requests than the number of queries tiles (otherwise something is wrong)
|
|
153613
|
+
while (missingQueryTiles.length > 0
|
|
153614
|
+
&& (nbAttempt++ < queryTiles.length)) {
|
|
153615
|
+
const tileMapTopLeft = getTopLeftCorner(missingQueryTiles);
|
|
153616
|
+
if (tileMapTopLeft.row === undefined || tileMapTopLeft.column === undefined)
|
|
153617
|
+
return available; // Should not occurs since missingQueryTiles is non empty
|
|
153618
|
+
let tileMapRow = tileMapTopLeft.row;
|
|
153619
|
+
let tileMapColumn = tileMapTopLeft.column;
|
|
153620
|
+
const logLocationOffset = (newRow, newCol) => `[Row:${newRow !== tileMapTopLeft.row ? `${tileMapTopLeft.row}->${newRow}` : `${newRow}`} Column:${newCol !== tileMapTopLeft.column ? `${tileMapTopLeft.column}->${newCol}` : `${newCol}`}]`;
|
|
153621
|
+
// Position the top-left missing tile in the middle of the tilemap; minimizing requests if sibling tiles are requested right after
|
|
153622
|
+
// If previous response got adjusted, don't try to optimize tile map location
|
|
153623
|
+
if (queryTiles.length < this.tileMapRequestSize && !gotAdjusted) {
|
|
153624
|
+
const tileMapOffset = this.tileMapOffset - Math.floor(Math.sqrt(queryTiles.length) * 0.5);
|
|
153625
|
+
const missingTileBufferSize = Math.ceil(tileMapOffset * 0.5);
|
|
153626
|
+
if (this.isCacheMissingTile(level, tileMapRow - missingTileBufferSize, tileMapColumn - missingTileBufferSize, tileMapRow - 1, tileMapColumn - 1)) {
|
|
153627
|
+
tileMapRow = Math.max(tileMapRow - tileMapOffset, 0);
|
|
153628
|
+
tileMapColumn = Math.max(tileMapColumn - tileMapOffset, 0);
|
|
153629
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logTrace(loggerCategory, `Offset applied to location in top-left direction: ${logLocationOffset(tileMapRow, tileMapColumn)}`);
|
|
153630
|
+
}
|
|
153631
|
+
else {
|
|
153632
|
+
const leftMissingTiles = this.isCacheMissingTile(level, tileMapRow, tileMapColumn - missingTileBufferSize, tileMapRow + missingTileBufferSize, tileMapColumn - 1);
|
|
153633
|
+
const topMissingTiles = this.isCacheMissingTile(level, tileMapRow - missingTileBufferSize, tileMapColumn, tileMapRow - 1, tileMapColumn + missingTileBufferSize);
|
|
153634
|
+
if (leftMissingTiles && topMissingTiles) {
|
|
153635
|
+
tileMapRow = Math.max(tileMapRow - tileMapOffset, 0);
|
|
153636
|
+
tileMapColumn = Math.max(tileMapColumn - tileMapOffset, 0);
|
|
153637
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logTrace(loggerCategory, `Offset applied to location in top-left direction. ${logLocationOffset(tileMapRow, tileMapColumn)}`);
|
|
153638
|
+
}
|
|
153639
|
+
else if (leftMissingTiles) {
|
|
153640
|
+
tileMapColumn = Math.max(tileMapColumn - tileMapOffset, 0);
|
|
153641
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logTrace(loggerCategory, `Offset applied to location in left direction. ${logLocationOffset(tileMapRow, tileMapColumn)}`);
|
|
153642
|
+
}
|
|
153643
|
+
else if (topMissingTiles) {
|
|
153644
|
+
tileMapRow = Math.max(tileMapRow - tileMapOffset, 0);
|
|
153645
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logTrace(loggerCategory, `Offset applied to location in top direction: ${logLocationOffset(tileMapRow, tileMapColumn)}`);
|
|
153646
|
+
}
|
|
153647
|
+
else
|
|
153648
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logTrace(loggerCategory, `No offset applied to location: ${logLocationOffset(tileMapRow, tileMapColumn)}`);
|
|
153649
|
+
}
|
|
153650
|
+
}
|
|
153651
|
+
const json = await this.fetchTileMapFromServer(level, tileMapRow, tileMapColumn, reqWidth, reqHeight);
|
|
153580
153652
|
let tileMapWidth = reqWidth;
|
|
153581
153653
|
let tileMapHeight = reqHeight;
|
|
153582
153654
|
if (Array.isArray(json.data)) {
|
|
153583
153655
|
// The response width and height might be different than the requested dimensions.
|
|
153584
153656
|
// Ref: https://developers.arcgis.com/rest/services-reference/enterprise/tile-map.htm
|
|
153585
153657
|
if (json.adjusted) {
|
|
153658
|
+
gotAdjusted = true;
|
|
153586
153659
|
// If tilemap size got adjusted, I'm expecting to get adjusted size...
|
|
153587
153660
|
// otherwise there is something really odd with this server.
|
|
153588
153661
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(json.location?.width !== undefined && json.location?.height !== undefined);
|
|
@@ -153591,71 +153664,57 @@ class ArcGISTileMap {
|
|
|
153591
153664
|
tileMapHeight = json.location?.height;
|
|
153592
153665
|
}
|
|
153593
153666
|
}
|
|
153594
|
-
|
|
153595
|
-
for (let j = 0; j <
|
|
153596
|
-
for (let i = 0; i <
|
|
153667
|
+
// Build cache from tile map response
|
|
153668
|
+
for (let j = 0; j < tileMapHeight; j++) {
|
|
153669
|
+
for (let i = 0; i < tileMapWidth; i++) {
|
|
153597
153670
|
const avail = json.data[(j * tileMapWidth) + i] !== 0;
|
|
153598
|
-
const curColumn =
|
|
153599
|
-
const curRow =
|
|
153600
|
-
// console.log(`Tilemap tile:: ${level},${curRow},${curColumn} => ${avail}`);
|
|
153671
|
+
const curColumn = tileMapColumn + i;
|
|
153672
|
+
const curRow = tileMapRow + j;
|
|
153601
153673
|
this._tilesCache.set(_internal__WEBPACK_IMPORTED_MODULE_1__.QuadId.getTileContentId(level, curColumn, curRow), avail);
|
|
153602
|
-
// Check if actual tile is among the children we are looking for, if so update the availability array.
|
|
153603
|
-
if (curColumn >= queryTiles[0].column && curColumn <= queryTiles[queryTiles.length - 1].column
|
|
153604
|
-
&& curRow >= queryTiles[0].row && curRow <= queryTiles[queryTiles.length - 1].row) {
|
|
153605
|
-
available[k++] = avail;
|
|
153606
|
-
}
|
|
153607
153674
|
}
|
|
153608
153675
|
}
|
|
153676
|
+
// Collect tile missing from the cache
|
|
153677
|
+
// There are 2 reasons why the tile map response would not cover all the missing tiles:
|
|
153678
|
+
// 1. The requested tile map size is not large enough to cover all tiles
|
|
153679
|
+
// 2. The tile map size has been adjusted by the server (i.e. data bundle limits)
|
|
153680
|
+
missingQueryTiles = this.collectTilesMissingFromCache(missingQueryTiles);
|
|
153681
|
+
if (missingQueryTiles.length > 0)
|
|
153682
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logTrace(loggerCategory, `There are ${missingQueryTiles.length} missing tiles from previous request`);
|
|
153609
153683
|
}
|
|
153610
153684
|
else {
|
|
153611
|
-
|
|
153612
|
-
available
|
|
153613
|
-
// Mark all tilemap tiles to non-available in the cache too
|
|
153685
|
+
missingQueryTiles = [];
|
|
153686
|
+
// Mark all tilemap tiles to non-available in the cache too.
|
|
153614
153687
|
for (let j = 0; j < tileMapWidth; j++) {
|
|
153615
153688
|
for (let i = 0; i < tileMapHeight; i++) {
|
|
153616
|
-
this._tilesCache.set(_internal__WEBPACK_IMPORTED_MODULE_1__.QuadId.getTileContentId(level,
|
|
153689
|
+
this._tilesCache.set(_internal__WEBPACK_IMPORTED_MODULE_1__.QuadId.getTileContentId(level, tileMapColumn + i, tileMapRow + j), false);
|
|
153617
153690
|
}
|
|
153618
153691
|
}
|
|
153619
153692
|
}
|
|
153693
|
+
} // end loop missing tiles
|
|
153694
|
+
if (nbAttempt > queryTiles.length) {
|
|
153695
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(loggerCategory, `Request loop was terminated; unable to get missing tiles; `);
|
|
153620
153696
|
}
|
|
153621
|
-
|
|
153622
|
-
|
|
153623
|
-
|
|
153697
|
+
// Create final output array from cache
|
|
153698
|
+
available = queryTiles.map((quad) => this._tilesCache.get(quad.contentId) ?? false);
|
|
153699
|
+
if (available.includes(false))
|
|
153700
|
+
return available;
|
|
153624
153701
|
return available;
|
|
153625
153702
|
}
|
|
153626
153703
|
async getChildrenAvailabilityFromServer(childIds) {
|
|
153627
|
-
// We need to check cache again:
|
|
153628
|
-
// Tiles we are looking for may have been added to cache while we were waiting in the call queue.
|
|
153629
|
-
const cacheInfo = this.getAvailableTilesFromCache(childIds);
|
|
153630
|
-
if (cacheInfo.allTilesFound) {
|
|
153631
|
-
return cacheInfo.available;
|
|
153632
|
-
}
|
|
153633
153704
|
let available;
|
|
153634
153705
|
try {
|
|
153635
153706
|
available = await this.fetchAndReadTilemap(childIds, this.tileMapRequestSize, this.tileMapRequestSize);
|
|
153636
|
-
if (available.length !== childIds.length) {
|
|
153637
|
-
if (this.tileMapRequestSize > this.fallbackTileMapRequestSize) {
|
|
153638
|
-
// Maybe we were unlucky and the tilemap got adjusted our the tiles we are looking for got clipped,
|
|
153639
|
-
// so let try we a smaller tilemap
|
|
153640
|
-
available = await this.fetchAndReadTilemap(childIds, this.fallbackTileMapRequestSize, this.fallbackTileMapRequestSize);
|
|
153641
|
-
}
|
|
153642
|
-
if (available.length < childIds.length) {
|
|
153643
|
-
// Could not all tiles children tiles, returns what we got and fill any gaps with false.
|
|
153644
|
-
const tmpAvail = childIds.map(() => false);
|
|
153645
|
-
for (let i = 0; i < available.length; i++) {
|
|
153646
|
-
tmpAvail[i] = available[i];
|
|
153647
|
-
}
|
|
153648
|
-
available = tmpAvail;
|
|
153649
|
-
}
|
|
153650
|
-
}
|
|
153651
153707
|
}
|
|
153652
|
-
catch (
|
|
153708
|
+
catch (err) {
|
|
153653
153709
|
// if any error occurs, we assume tiles not to be visible
|
|
153710
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(loggerCategory, `Error while fetching tile map data : ${err}`);
|
|
153654
153711
|
available = childIds.map(() => false);
|
|
153655
153712
|
}
|
|
153656
153713
|
return available;
|
|
153657
153714
|
}
|
|
153658
153715
|
}
|
|
153716
|
+
ArcGISTileMap.maxLod = 30;
|
|
153717
|
+
|
|
153659
153718
|
|
|
153660
153719
|
|
|
153661
153720
|
/***/ }),
|
|
@@ -155095,7 +155154,7 @@ class ArcGISMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2
|
|
|
155095
155154
|
const fetch = async (url, options) => {
|
|
155096
155155
|
return this.fetch(url, options);
|
|
155097
155156
|
};
|
|
155098
|
-
this._tileMap = new _internal__WEBPACK_IMPORTED_MODULE_2__.ArcGISTileMap(this._settings.url, this._settings, fetch
|
|
155157
|
+
this._tileMap = new _internal__WEBPACK_IMPORTED_MODULE_2__.ArcGISTileMap(this._settings.url, this._settings, fetch);
|
|
155099
155158
|
}
|
|
155100
155159
|
}
|
|
155101
155160
|
// Read range using fullextent from service metadata
|
|
@@ -284968,7 +285027,7 @@ class TestContext {
|
|
|
284968
285027
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
284969
285028
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
284970
285029
|
await core_frontend_1.NoRenderApp.startup({
|
|
284971
|
-
applicationVersion: "4.3.
|
|
285030
|
+
applicationVersion: "4.3.3",
|
|
284972
285031
|
applicationId: this.settings.gprid,
|
|
284973
285032
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
284974
285033
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -303732,7 +303791,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
303732
303791
|
/***/ ((module) => {
|
|
303733
303792
|
|
|
303734
303793
|
"use strict";
|
|
303735
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.
|
|
303794
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.3","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.3.3","@itwin/core-bentley":"workspace:^4.3.3","@itwin/core-common":"workspace:^4.3.3","@itwin/core-geometry":"workspace:^4.3.3","@itwin/core-orbitgt":"workspace:^4.3.3","@itwin/core-quantity":"workspace:^4.3.3"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","typemoq":"^2.1.0","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.1.0","@itwin/object-storage-core":"^2.1.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
303736
303795
|
|
|
303737
303796
|
/***/ }),
|
|
303738
303797
|
|