@itwin/rpcinterface-full-stack-tests 5.13.0-dev.10 → 5.13.0-dev.12
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 +127 -36
- 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_cross-fetch_4_1_0_node_modules_cross-fetch_dist_browser-44272f.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_4_3_4__loaders_gl_core_4_3_4_node_modu-4c1fc9.bundled-tests.js.map +1 -1
- package/package.json +14 -14
|
@@ -48330,15 +48330,28 @@ class QueryBinder {
|
|
|
48330
48330
|
* @param indexOrName Specify parameter index or its name used in ECSQL statement.
|
|
48331
48331
|
* @param val @type OrderedId64Iterable value to bind to ECSQL statement.
|
|
48332
48332
|
* @returns @type QueryBinder to allow fluent interface.
|
|
48333
|
+
* @throws an [[ITwinError]] with scope `"itwin-QueryBinder"` and key `"invalid-arguments"` if any entry is not a valid [Id64String]($bentley).
|
|
48333
48334
|
*/
|
|
48334
48335
|
bindIdSet(indexOrName, val) {
|
|
48335
48336
|
this.verify(indexOrName);
|
|
48336
48337
|
const name = String(indexOrName);
|
|
48337
|
-
|
|
48338
|
+
const ids = [];
|
|
48339
|
+
// `string` is an Iterable<string>. In that case assume caller passed a single Id64String, matching CompressedId64Set.sortAndCompress.
|
|
48340
|
+
const iterable = typeof val === "string" ? [val] : val;
|
|
48341
|
+
for (const id of iterable) {
|
|
48342
|
+
if (!_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.isValidId64(id)) {
|
|
48343
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ITwinError.throwError({
|
|
48344
|
+
message: `QueryBinder.bindIdSet: entry ${JSON.stringify(id)} for parameter "${name}" is not a valid Id64String`,
|
|
48345
|
+
iTwinErrorId: { scope: "itwin-QueryBinder", key: "invalid-arguments" },
|
|
48346
|
+
});
|
|
48347
|
+
}
|
|
48348
|
+
ids.push(id);
|
|
48349
|
+
}
|
|
48350
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.OrderedId64Iterable.sortArray(ids);
|
|
48338
48351
|
Object.defineProperty(this._args, name, {
|
|
48339
48352
|
enumerable: true, value: {
|
|
48340
48353
|
type: QueryParamType.IdSet,
|
|
48341
|
-
value: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.CompressedId64Set.
|
|
48354
|
+
value: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.CompressedId64Set.compressArray(ids),
|
|
48342
48355
|
},
|
|
48343
48356
|
});
|
|
48344
48357
|
return this;
|
|
@@ -51405,7 +51418,7 @@ var ExternalSourceAttachmentRole;
|
|
|
51405
51418
|
/** The attached [ExternalSource]($backend) models a part of the whole. */
|
|
51406
51419
|
ExternalSourceAttachmentRole[ExternalSourceAttachmentRole["SpecifyPart"] = 1] = "SpecifyPart";
|
|
51407
51420
|
})(ExternalSourceAttachmentRole || (ExternalSourceAttachmentRole = {}));
|
|
51408
|
-
/** The *rank* for a Category
|
|
51421
|
+
/** The *rank* for a [Category]($backend), [SubCategory]($backend), or [DefinitionSet]($backend).
|
|
51409
51422
|
* @public @preview
|
|
51410
51423
|
* @extensions
|
|
51411
51424
|
*/
|
|
@@ -120481,6 +120494,7 @@ class ViewManager {
|
|
|
120481
120494
|
cursor = "default";
|
|
120482
120495
|
_viewports = [];
|
|
120483
120496
|
decorators = [];
|
|
120497
|
+
_selectedViewportChange = Promise.resolve();
|
|
120484
120498
|
_selectedView;
|
|
120485
120499
|
_invalidateScenes = false;
|
|
120486
120500
|
_skipSceneCreation = false;
|
|
@@ -120608,9 +120622,16 @@ class ViewManager {
|
|
|
120608
120622
|
}
|
|
120609
120623
|
/** @internal */
|
|
120610
120624
|
notifySelectedViewportChanged(previous, current) {
|
|
120611
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.toolAdmin.onSelectedViewportChanged(previous, current)
|
|
120625
|
+
const selectedViewportChange = _IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.toolAdmin.onSelectedViewportChanged(previous, current)
|
|
120626
|
+
.catch(() => undefined);
|
|
120627
|
+
this._selectedViewportChange = this._selectedViewportChange.then(async () => selectedViewportChange, async () => selectedViewportChange)
|
|
120628
|
+
.then(() => undefined, () => undefined);
|
|
120612
120629
|
this.onSelectedViewportChanged.emit({ previous, current });
|
|
120613
120630
|
}
|
|
120631
|
+
/** @internal */
|
|
120632
|
+
async waitForSelectedViewportChange() {
|
|
120633
|
+
await this._selectedViewportChange;
|
|
120634
|
+
}
|
|
120614
120635
|
/** The "selected view" is the default for certain operations. */
|
|
120615
120636
|
get selectedView() { return this._selectedView; }
|
|
120616
120637
|
/** Get the first opened view. */
|
|
@@ -206437,7 +206458,11 @@ class InteractiveTool extends Tool {
|
|
|
206437
206458
|
async onPostInstall() { }
|
|
206438
206459
|
/** Override Call to reset tool to initial state */
|
|
206439
206460
|
async onReinitialize() { }
|
|
206440
|
-
/** Invoked when the tool becomes no longer active, to perform additional cleanup logic
|
|
206461
|
+
/** Invoked when the tool becomes no longer active, to perform additional cleanup logic.
|
|
206462
|
+
* Cleanup must not assume that the EditCommand associated with the tool is still active: an immediate tool may have finished or
|
|
206463
|
+
* replaced it while this tool remained active. Tools must not start an EditCommand from onCleanup; ToolAdmin owns finishing the active EditCommand during tool cleanup.
|
|
206464
|
+
* @note A ViewTool should never start an EditCommand. An InputCollector may start an EditCommand only if suspending a tool that supports EditManipulators (ex. SelectionTool).
|
|
206465
|
+
*/
|
|
206441
206466
|
async onCleanup() { }
|
|
206442
206467
|
/** Notification of a ViewTool or InputCollector starting and this tool is being suspended.
|
|
206443
206468
|
* @note Applies only to PrimitiveTool and InputCollector, a ViewTool can't be suspended.
|
|
@@ -208611,23 +208636,54 @@ class ToolAdmin {
|
|
|
208611
208636
|
}
|
|
208612
208637
|
/** @internal */
|
|
208613
208638
|
async setPrimitiveTool(newTool) {
|
|
208614
|
-
|
|
208615
|
-
|
|
208616
|
-
|
|
208617
|
-
|
|
208618
|
-
|
|
208639
|
+
return this.setPrimitiveToolInternal(newTool);
|
|
208640
|
+
}
|
|
208641
|
+
async setPrimitiveToolInternal(newTool, pendingFinishCommand) {
|
|
208642
|
+
const oldTool = this._primitiveTool;
|
|
208643
|
+
let ownsOldTool = undefined === oldTool;
|
|
208644
|
+
if (undefined !== oldTool) {
|
|
208645
|
+
let mainError;
|
|
208646
|
+
try {
|
|
208647
|
+
await oldTool.onCleanup();
|
|
208648
|
+
}
|
|
208649
|
+
catch (err) {
|
|
208650
|
+
mainError = (err instanceof Error) ? err : new Error(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyError.getErrorMessage(err));
|
|
208651
|
+
}
|
|
208652
|
+
try {
|
|
208653
|
+
if (undefined !== pendingFinishCommand)
|
|
208654
|
+
await pendingFinishCommand;
|
|
208655
|
+
else if (undefined !== this._editCommandHandler)
|
|
208656
|
+
await this._editCommandHandler.finishCommand();
|
|
208657
|
+
}
|
|
208658
|
+
catch (err) {
|
|
208659
|
+
// throw finishCommand error if onCleanup succeeded, otherwise log finishCommand failure...
|
|
208660
|
+
if (undefined === mainError)
|
|
208661
|
+
mainError = (err instanceof Error) ? err : new Error(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyError.getErrorMessage(err));
|
|
208662
|
+
else
|
|
208663
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_4__.FrontendLoggerCategory.Package}.toolAdmin`, err);
|
|
208664
|
+
}
|
|
208665
|
+
finally {
|
|
208666
|
+
// Force-clear stale tool state if either onCleanup or finishCommand failed...
|
|
208667
|
+
ownsOldTool = this._primitiveTool === oldTool;
|
|
208668
|
+
if (ownsOldTool)
|
|
208669
|
+
this._primitiveTool = undefined;
|
|
208670
|
+
}
|
|
208671
|
+
if (undefined !== mainError)
|
|
208672
|
+
throw mainError;
|
|
208619
208673
|
}
|
|
208620
|
-
|
|
208674
|
+
// Do not let a delayed transition overwrite a tool installed by a newer transition.
|
|
208675
|
+
if (ownsOldTool)
|
|
208676
|
+
this._primitiveTool = newTool;
|
|
208621
208677
|
}
|
|
208622
|
-
//
|
|
208623
|
-
|
|
208678
|
+
// Serialize primitive starts and last-viewport cleanup to avoid overlapping transitions.
|
|
208679
|
+
_primitiveToolTransition;
|
|
208624
208680
|
/** @internal */
|
|
208625
208681
|
async startPrimitiveTool(newTool) {
|
|
208626
208682
|
// If another start is in progress wait for it to finish before proceeding.
|
|
208627
|
-
while (undefined !== this.
|
|
208628
|
-
await this.
|
|
208629
|
-
let
|
|
208630
|
-
this.
|
|
208683
|
+
while (undefined !== this._primitiveToolTransition)
|
|
208684
|
+
await this._primitiveToolTransition;
|
|
208685
|
+
let resolveTransition;
|
|
208686
|
+
const transition = this._primitiveToolTransition = new Promise((resolve) => { resolveTransition = resolve; });
|
|
208631
208687
|
try {
|
|
208632
208688
|
_IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.notifications.outputPrompt("");
|
|
208633
208689
|
await this.exitViewTool();
|
|
@@ -208655,9 +208711,9 @@ class ToolAdmin {
|
|
|
208655
208711
|
this.onActiveToolChanged(activeTool, StartOrResume.Start);
|
|
208656
208712
|
}
|
|
208657
208713
|
finally {
|
|
208658
|
-
|
|
208659
|
-
|
|
208660
|
-
|
|
208714
|
+
resolveTransition?.();
|
|
208715
|
+
if (this._primitiveToolTransition === transition)
|
|
208716
|
+
this._primitiveToolTransition = undefined;
|
|
208661
208717
|
}
|
|
208662
208718
|
}
|
|
208663
208719
|
/** Method used by interactive tools to send updated values to UI components, typically showing tool settings.
|
|
@@ -208904,10 +208960,41 @@ class ToolAdmin {
|
|
|
208904
208960
|
set coordinateLockOverrides(coordLockOvr) { this.toolState.coordLockOvr = coordLockOvr; }
|
|
208905
208961
|
/** @internal */
|
|
208906
208962
|
async callOnCleanup() {
|
|
208907
|
-
|
|
208908
|
-
|
|
208909
|
-
|
|
208910
|
-
|
|
208963
|
+
let pendingFinishCommand;
|
|
208964
|
+
const previousTransition = this._primitiveToolTransition;
|
|
208965
|
+
let resolveTransition;
|
|
208966
|
+
const transition = this._primitiveToolTransition = new Promise((resolve) => { resolveTransition = resolve; });
|
|
208967
|
+
try {
|
|
208968
|
+
// Start the edit-command cleanup before the first await. ViewManager can invoke this method
|
|
208969
|
+
// without awaiting it when the last viewport is dropped.
|
|
208970
|
+
if (undefined !== this._editCommandHandler) {
|
|
208971
|
+
const finishCommand = this._editCommandHandler.finishCommand();
|
|
208972
|
+
// Attach a rejection handler immediately: another cleanup operation may fail before this promise is awaited.
|
|
208973
|
+
pendingFinishCommand = finishCommand.catch((err) => {
|
|
208974
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_4__.FrontendLoggerCategory.Package}.toolAdmin`, err);
|
|
208975
|
+
return "";
|
|
208976
|
+
});
|
|
208977
|
+
}
|
|
208978
|
+
if (undefined !== previousTransition)
|
|
208979
|
+
await previousTransition;
|
|
208980
|
+
if (undefined !== this._viewTool)
|
|
208981
|
+
await this.exitViewTool();
|
|
208982
|
+
if (undefined !== this._inputCollector)
|
|
208983
|
+
await this.exitInputCollector();
|
|
208984
|
+
// Keep cleanup path consistent with other primitive-tool transitions.
|
|
208985
|
+
if (undefined !== this._primitiveTool)
|
|
208986
|
+
await this.setPrimitiveToolInternal(undefined, pendingFinishCommand); // NOTE: ViewManager.setSelectedView will call startDefaultTool if a new view is opened...
|
|
208987
|
+
else if (undefined !== pendingFinishCommand)
|
|
208988
|
+
await pendingFinishCommand;
|
|
208989
|
+
}
|
|
208990
|
+
catch (err) {
|
|
208991
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_4__.FrontendLoggerCategory.Package}.toolAdmin`, err);
|
|
208992
|
+
}
|
|
208993
|
+
finally {
|
|
208994
|
+
resolveTransition?.();
|
|
208995
|
+
if (this._primitiveToolTransition === transition)
|
|
208996
|
+
this._primitiveToolTransition = undefined;
|
|
208997
|
+
}
|
|
208911
208998
|
}
|
|
208912
208999
|
}
|
|
208913
209000
|
/**
|
|
@@ -289898,18 +289985,19 @@ class PolyfaceQuery {
|
|
|
289898
289985
|
*/
|
|
289899
289986
|
static dihedralAngleSummary(source, ignoreBoundaries = false) {
|
|
289900
289987
|
// more info can be found at geometry/internaldocs/Polyface.md
|
|
289988
|
+
// visit all facets and collect normals and edges
|
|
289901
289989
|
const edges = new _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_29__.IndexedEdgeMatcher();
|
|
289902
289990
|
const vertices = source instanceof _Polyface__WEBPACK_IMPORTED_MODULE_34__.Polyface ? source.data.point : undefined;
|
|
289903
289991
|
const visitor = source instanceof _Polyface__WEBPACK_IMPORTED_MODULE_34__.Polyface ? source.createVisitor(1) : source;
|
|
289904
289992
|
visitor.setNumWrap(1);
|
|
289905
|
-
const
|
|
289993
|
+
const facetNormals = [];
|
|
289906
289994
|
let normalCounter = 0;
|
|
289907
289995
|
for (visitor.reset(); visitor.moveToNextFacet();) {
|
|
289908
289996
|
const numEdges = visitor.pointCount - 1;
|
|
289909
289997
|
const normal = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_14__.PolygonOps.centroidAreaNormal(visitor.point);
|
|
289910
289998
|
if (normal === undefined)
|
|
289911
289999
|
return -2;
|
|
289912
|
-
|
|
290000
|
+
facetNormals.push(normal);
|
|
289913
290001
|
for (let i = 0; i < numEdges; i++) {
|
|
289914
290002
|
const edge = edges.addEdge(visitor.clientPointIndex(i), visitor.clientPointIndex(i + 1), normalCounter);
|
|
289915
290003
|
if (!vertices) // decorate if we don't have vertices to query later
|
|
@@ -289925,21 +290013,24 @@ class PolyfaceQuery {
|
|
|
289925
290013
|
edges.sortAndCollectClusters(manifoldClusters, ignoreBoundaries ? undefined : badClusters, undefined, badClusters);
|
|
289926
290014
|
if (badClusters.length > 0)
|
|
289927
290015
|
return -2;
|
|
289928
|
-
// find angle between facet
|
|
290016
|
+
// find angle between facet normals (dihedral angles)
|
|
289929
290017
|
let numPositive = 0;
|
|
289930
290018
|
let numPlanar = 0;
|
|
289931
290019
|
let numNegative = 0;
|
|
289932
290020
|
const edgeVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.create();
|
|
289933
290021
|
for (const cluster of manifoldClusters) {
|
|
289934
290022
|
if (Array.isArray(cluster) && cluster.length === 2) {
|
|
289935
|
-
const sideA = cluster[0];
|
|
289936
|
-
const sideB = cluster[1];
|
|
289937
|
-
if (vertices)
|
|
289938
|
-
vertices.vectorIndexIndex(sideA.startVertex, sideA.endVertex, edgeVector)
|
|
289939
|
-
|
|
290023
|
+
const sideA = cluster[0]; // edge on facetA
|
|
290024
|
+
const sideB = cluster[1]; // edge on facetB
|
|
290025
|
+
if (vertices) {
|
|
290026
|
+
if (!vertices.vectorIndexIndex(sideA.startVertex, sideA.endVertex, edgeVector))
|
|
290027
|
+
return -2;
|
|
290028
|
+
}
|
|
290029
|
+
else {
|
|
289940
290030
|
edgeVector.setFrom(sideA.edgeVector);
|
|
289941
|
-
|
|
289942
|
-
const
|
|
290031
|
+
}
|
|
290032
|
+
const facetNormalA = facetNormals[sideA.facetIndex].direction;
|
|
290033
|
+
const facetNormalB = facetNormals[sideB.facetIndex].direction;
|
|
289943
290034
|
const dihedralAngle = facetNormalA.signedAngleTo(facetNormalB, edgeVector);
|
|
289944
290035
|
if (dihedralAngle.isAlmostZero)
|
|
289945
290036
|
numPlanar++;
|
|
@@ -342333,7 +342424,7 @@ class TestContext {
|
|
|
342333
342424
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
342334
342425
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
342335
342426
|
await core_frontend_1.NoRenderApp.startup({
|
|
342336
|
-
applicationVersion: "5.13.0-dev.
|
|
342427
|
+
applicationVersion: "5.13.0-dev.12",
|
|
342337
342428
|
applicationId: this.settings.gprid,
|
|
342338
342429
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
|
|
342339
342430
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -367528,7 +367619,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
367528
367619
|
(module) {
|
|
367529
367620
|
|
|
367530
367621
|
"use strict";
|
|
367531
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.13.0-dev.
|
|
367622
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.13.0-dev.12","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 build:workers && npm run -s copy:draco","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 ES2022 --outDir lib/esm","clean":"rimraf -g 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:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run build:test-worker && vitest --run","cover":"npm run build:test-worker && vitest --run","build:test-worker":"vite build --config ./src/test/worker/vite.config.mts 1>&2","build:workers":"rimraf lib/workers/webpack && vite build --config ./src/workers/ImdlParser/vite.config.mts 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:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//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":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.11","@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/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/node":"~20.17.0","@types/sinon":"^17.0.2","@vitest/browser-playwright":"^4.1.10","@vitest/coverage-v8":"^4.1.10","cpx2":"^8.0.0","eslint":"^9.31.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","typescript":"~5.6.2","vite":"^6.4.3","vitest":"^4.1.10","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.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/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
367532
367623
|
|
|
367533
367624
|
/***/ },
|
|
367534
367625
|
|