@itwin/core-mobile 5.0.0-dev.9 → 5.0.0-dev.90
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/CHANGELOG.md +51 -1
- package/lib/cjs/MobileBackend.js.map +1 -1
- package/lib/cjs/MobileFrontend.js.map +1 -1
- package/lib/cjs/__DOC_ONLY__.js.map +1 -1
- package/lib/cjs/backend/MobileAuthorizationBackend.js +4 -5
- package/lib/cjs/backend/MobileAuthorizationBackend.js.map +1 -1
- package/lib/cjs/backend/MobileFileHandler.js +2 -0
- package/lib/cjs/backend/MobileFileHandler.js.map +1 -1
- package/lib/cjs/backend/MobileHost.js +34 -33
- package/lib/cjs/backend/MobileHost.js.map +1 -1
- package/lib/cjs/backend/MobileRpcServer.d.ts +1 -1
- package/lib/cjs/backend/MobileRpcServer.d.ts.map +1 -1
- package/lib/cjs/backend/MobileRpcServer.js +18 -12
- package/lib/cjs/backend/MobileRpcServer.js.map +1 -1
- package/lib/cjs/backend/Request.js +3 -0
- package/lib/cjs/backend/Request.js.map +1 -1
- package/lib/cjs/common/MobileAppChannel.js.map +1 -1
- package/lib/cjs/common/MobileAppProps.js.map +1 -1
- package/lib/cjs/common/MobileEventLoop.js +2 -2
- package/lib/cjs/common/MobileEventLoop.js.map +1 -1
- package/lib/cjs/common/MobileIpc.d.ts.map +1 -1
- package/lib/cjs/common/MobileIpc.js +69 -6
- package/lib/cjs/common/MobileIpc.js.map +1 -1
- package/lib/cjs/common/MobilePush.js +4 -2
- package/lib/cjs/common/MobilePush.js.map +1 -1
- package/lib/cjs/common/MobileRpcManager.js +8 -10
- package/lib/cjs/common/MobileRpcManager.js.map +1 -1
- package/lib/cjs/common/MobileRpcProtocol.js +13 -11
- package/lib/cjs/common/MobileRpcProtocol.js.map +1 -1
- package/lib/cjs/common/MobileRpcRequest.js +4 -7
- package/lib/cjs/common/MobileRpcRequest.js.map +1 -1
- package/lib/cjs/frontend/MobileApp.js +7 -7
- package/lib/cjs/frontend/MobileApp.js.map +1 -1
- package/lib/cjs/frontend/MobileAuthorizationFrontend.js +4 -5
- package/lib/cjs/frontend/MobileAuthorizationFrontend.js.map +1 -1
- package/lib/cjs/test/ios/MobilePlatform.test.js.map +1 -1
- package/package.json +14 -14
|
@@ -29,9 +29,16 @@ class MobileAppNotifyHandler extends core_frontend_1.NotificationHandler {
|
|
|
29
29
|
}
|
|
30
30
|
/** @beta */
|
|
31
31
|
class MobileApp {
|
|
32
|
+
static onMemoryWarning = new core_bentley_1.BeEvent();
|
|
33
|
+
static onOrientationChanged = new core_bentley_1.BeEvent();
|
|
34
|
+
static onEnterForeground = new core_bentley_1.BeEvent();
|
|
35
|
+
static onEnterBackground = new core_bentley_1.BeEvent();
|
|
36
|
+
static onWillTerminate = new core_bentley_1.BeEvent();
|
|
37
|
+
static onAuthAccessTokenChanged = new core_bentley_1.BeEvent();
|
|
32
38
|
static async callBackend(methodName, ...args) {
|
|
33
39
|
return core_frontend_1.IpcApp[core_frontend_1._callIpcChannel](MobileAppChannel_1.mobileAppStrings.mobileAppChannel, methodName, ...args);
|
|
34
40
|
}
|
|
41
|
+
static _isValid = false;
|
|
35
42
|
static get isValid() { return this._isValid; }
|
|
36
43
|
/** @beta */
|
|
37
44
|
static async startup(opts) {
|
|
@@ -55,13 +62,6 @@ class MobileApp {
|
|
|
55
62
|
}
|
|
56
63
|
}
|
|
57
64
|
exports.MobileApp = MobileApp;
|
|
58
|
-
MobileApp.onMemoryWarning = new core_bentley_1.BeEvent();
|
|
59
|
-
MobileApp.onOrientationChanged = new core_bentley_1.BeEvent();
|
|
60
|
-
MobileApp.onEnterForeground = new core_bentley_1.BeEvent();
|
|
61
|
-
MobileApp.onEnterBackground = new core_bentley_1.BeEvent();
|
|
62
|
-
MobileApp.onWillTerminate = new core_bentley_1.BeEvent();
|
|
63
|
-
MobileApp.onAuthAccessTokenChanged = new core_bentley_1.BeEvent();
|
|
64
|
-
MobileApp._isValid = false;
|
|
65
65
|
/*
|
|
66
66
|
The suspend/resume lifecycle events cannot be reliably sent from the backend due to timing issues that arise when
|
|
67
67
|
inter-operating with the actual suspend and resume behavior on the native side.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileApp.js","sourceRoot":"","sources":["../../../src/frontend/MobileApp.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,sDAAyF;AACzF,oDAA0G;AAC1G,wDAAgI;AAChI,iEAA8D;AAE9D,iEAA8D;AAC9D,+EAA4E;AAK5E,yCAAyC;AACzC,MAAM,sBAAuB,SAAQ,mCAAmB;IACtD,IAAW,WAAW,KAAK,OAAO,mCAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;IAE9D,mBAAmB;QACxB,qBAAM,CAAC,UAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;QACrD,IAAI,SAAS,CAAC,eAAe,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC9B,CAAC;QACD,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IACM,wBAAwB,KAAK,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC3E,mBAAmB,KAAK,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjE,4BAA4B,CAAC,WAA+B,EAAE,cAAkC;QACrG,SAAS,CAAC,wBAAwB,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,YAAY;AACZ,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"MobileApp.js","sourceRoot":"","sources":["../../../src/frontend/MobileApp.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { AsyncMethodsOf, BeEvent, Logger, PromiseReturnType } from \"@itwin/core-bentley\";\nimport { IModelReadRpcInterface, IModelTileRpcInterface, IpcWebSocketFrontend } from \"@itwin/core-common\";\nimport { _callIpcChannel, IModelAppOptions, IpcApp, NativeApp, NativeAppOpts, NotificationHandler } from \"@itwin/core-frontend\";\nimport { mobileAppStrings } from \"../common/MobileAppChannel\";\nimport { MobileAppFunctions, MobileNotifications } from \"../common/MobileAppProps\";\nimport { MobileRpcManager } from \"../common/MobileRpcManager\";\nimport { MobileAuthorizationFrontend } from \"./MobileAuthorizationFrontend\";\n\n/** @beta */\nexport type MobileAppOpts = NativeAppOpts & { iModelApp: { authorizationClient?: never } };\n\n/** receive notifications from backend */\nclass MobileAppNotifyHandler extends NotificationHandler implements MobileNotifications {\n public get channelName() { return mobileAppStrings.mobileAppNotify; }\n\n public notifyMemoryWarning() {\n Logger.logWarning(\"mobileApp\", \"Low memory warning\");\n if (MobileApp.onMemoryWarning.numberOfListeners === 0) {\n alert(\"Low memory warning\");\n }\n MobileApp.onMemoryWarning.raiseEvent();\n }\n public notifyOrientationChanged() { MobileApp.onOrientationChanged.raiseEvent(); }\n public notifyWillTerminate() { MobileApp.onWillTerminate.raiseEvent(); }\n public notifyAuthAccessTokenChanged(accessToken: string | undefined, expirationDate: string | undefined) {\n MobileApp.onAuthAccessTokenChanged.raiseEvent(accessToken, expirationDate);\n }\n}\n\n/** @beta */\nexport class MobileApp {\n public static onMemoryWarning = new BeEvent<() => void>();\n public static onOrientationChanged = new BeEvent<() => void>();\n public static onEnterForeground = new BeEvent<() => void>();\n public static onEnterBackground = new BeEvent<() => void>();\n public static onWillTerminate = new BeEvent<() => void>();\n public static onAuthAccessTokenChanged = new BeEvent<(accessToken: string | undefined, expirationDate: string | undefined) => void>();\n public static async callBackend<T extends AsyncMethodsOf<MobileAppFunctions>>(methodName: T, ...args: Parameters<MobileAppFunctions[T]>) {\n return IpcApp[_callIpcChannel](mobileAppStrings.mobileAppChannel, methodName, ...args) as PromiseReturnType<MobileAppFunctions[T]>;\n }\n\n private static _isValid = false;\n public static get isValid() { return this._isValid; }\n /** @beta */\n public static async startup(opts?: MobileAppOpts) {\n attachDirectEventCallbacks();\n\n const iModelAppOpts: IModelAppOptions = {\n ...opts?.iModelApp,\n };\n const authorizationClient = new MobileAuthorizationFrontend();\n iModelAppOpts.authorizationClient = authorizationClient;\n\n if (!this._isValid) {\n this.onAuthAccessTokenChanged.addListener((accessToken: string | undefined, expirationDate: string | undefined) => {\n authorizationClient.setAccessToken(accessToken, expirationDate);\n });\n\n const rpcInterfaces = opts?.iModelApp?.rpcInterfaces ?? [IModelReadRpcInterface, IModelTileRpcInterface]; // eslint-disable-line @typescript-eslint/no-deprecated\n MobileRpcManager.initializeClient(rpcInterfaces);\n this._isValid = true;\n }\n\n const socket = new IpcWebSocketFrontend(); // needs work\n await NativeApp.startup(socket, { ...opts, iModelApp: iModelAppOpts });\n\n MobileAppNotifyHandler.register(); // receives notifications from backend\n }\n}\n\n/*\n The suspend/resume lifecycle events cannot be reliably sent from the backend due to timing issues that arise when\n inter-operating with the actual suspend and resume behavior on the native side.\n Instead, they are sent directly to the browser here from platform-specific code.\n*/\nfunction attachDirectEventCallbacks() {\n (window as any)._imodeljs_rpc_lifecycle = (evt: \"suspend\" | \"resume\") => {\n if (evt === \"suspend\") {\n MobileApp.onEnterBackground.raiseEvent();\n } else if (evt === \"resume\") {\n MobileApp.onEnterForeground.raiseEvent();\n }\n };\n}\n"]}
|
|
@@ -13,11 +13,10 @@ const MobileApp_1 = require("./MobileApp");
|
|
|
13
13
|
* @internal
|
|
14
14
|
*/
|
|
15
15
|
class MobileAuthorizationFrontend {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
16
|
+
_accessToken = "";
|
|
17
|
+
_expirationDate;
|
|
18
|
+
_expiryBuffer = 60 * 10; // ten minutes
|
|
19
|
+
_fetchingToken = false;
|
|
21
20
|
get _hasExpired() {
|
|
22
21
|
return this._expirationDate !== undefined && this._expirationDate.getTime() - Date.now() <= this._expiryBuffer * 1000;
|
|
23
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileAuthorizationFrontend.js","sourceRoot":"","sources":["../../../src/frontend/MobileAuthorizationFrontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,2CAAwC;AAExC;;GAEG;AACH,MAAa,2BAA2B;
|
|
1
|
+
{"version":3,"file":"MobileAuthorizationFrontend.js","sourceRoot":"","sources":["../../../src/frontend/MobileAuthorizationFrontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,2CAAwC;AAExC;;GAEG;AACH,MAAa,2BAA2B;IAC9B,YAAY,GAAgB,EAAE,CAAC;IAC/B,eAAe,CAAmB;IAClC,aAAa,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,cAAc;IACvC,cAAc,GAAG,KAAK,CAAC;IAE/B,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IACxH,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,0FAA0F;YAC1F,4FAA4F;YAC5F,OAAO,EAAE,CAAC,CAAC,oDAAoD;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,qBAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnE,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,WAAoB,EAAE,cAAuB;QACjE,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;CACF;AAtCD,kEAsCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OIDC\n */\n\nimport { AccessToken } from \"@itwin/core-bentley\";\nimport { AuthorizationClient } from \"@itwin/core-common\";\nimport { MobileApp } from \"./MobileApp\";\n\n/** Utility to provide and cache auth tokens from native mobile apps to IModelApp.\n * @internal\n */\nexport class MobileAuthorizationFrontend implements AuthorizationClient {\n private _accessToken: AccessToken = \"\";\n private _expirationDate: Date | undefined;\n private _expiryBuffer = 60 * 10; // ten minutes\n private _fetchingToken = false;\n\n private get _hasExpired(): boolean {\n return this._expirationDate !== undefined && this._expirationDate.getTime() - Date.now() <= this._expiryBuffer * 1000;\n }\n\n public async getAccessToken(): Promise<AccessToken> {\n if (this._fetchingToken) {\n // NOTE: This function is from the AuthorizationClient interface. That interface documents\n // this function to return an empty string if no token is available, NOT throw an exception.\n return \"\"; // short-circuits any recursive use of this function\n }\n\n if (this._accessToken && !this._hasExpired) {\n return this._accessToken;\n } else {\n try {\n this._fetchingToken = true;\n const result = await MobileApp.callBackend(\"getAccessToken\");\n this._accessToken = result[0];\n this._expirationDate = result[1] ? new Date(result[1]) : undefined;\n return this._accessToken;\n } catch {\n return \"\";\n } finally {\n this._fetchingToken = false;\n }\n }\n }\n\n public setAccessToken(accessToken?: string, expirationDate?: string) {\n this._accessToken = accessToken ?? \"\";\n this._expirationDate = expirationDate ? new Date(expirationDate) : undefined;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobilePlatform.test.js","sourceRoot":"","sources":["../../../../src/test/ios/MobilePlatform.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"MobilePlatform.test.js","sourceRoot":"","sources":["../../../../src/test/ios/MobilePlatform.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { assert } from \"chai\";\nimport * as fs from \"fs-extra\";\nimport * as os from \"os\";\nimport * as path from \"path\";\n\nconst outputDir = path.join(os.tmpdir(), \"output\");\n\ndescribe(\"IOS Platform Test\", () => {\n it(\"Filesystem (Uint8Array) - writeFileSync, appendFileSync and readFileSync\", () => {\n const testDir = path.join(outputDir, \"mobile-introp\");\n const testFile = path.join(testDir, \"test.bin\");\n if (fs.existsSync(testDir)) {\n fs.unlinkSync(testDir);\n }\n fs.mkdirSync(testDir);\n assert.isTrue(fs.existsSync(testDir));\n\n const testArray = new Uint8Array(1024);\n for (let i = 0; i < testArray.length; i++) {\n testArray[i] = i % 255;\n }\n\n fs.writeFileSync(testFile, testArray);\n // binary test\n const outArray = fs.readFileSync(testFile, { encoding: null });\n assert.equal(outArray.length, testArray.length, \"array size must match\");\n for (let i = 0; i < testArray.length; i++) {\n assert.equal(testArray[i], outArray[i], `content at offset ${i} missmatch`);\n }\n\n assert.equal(fs.lstatSync(testFile).size, testArray.length, \"file size must match\");\n\n fs.appendFileSync(testFile, testArray);\n\n // binary test\n const outArrayx2 = fs.readFileSync(testFile, { encoding: null });\n assert.equal(outArrayx2.length, testArray.length * 2, \"array size must match after append\");\n for (let i = 0; i < testArray.length; i++) {\n assert.equal(testArray[i], outArrayx2[i], `content at offset ${i} missmatch after append`);\n }\n // check append\n for (let k = 0; k < testArray.length; k++) {\n assert.equal(testArray[k], outArrayx2[k + testArray.length], `content at offset ${k} missmatch after append`);\n }\n assert.equal(fs.lstatSync(testFile).size, testArray.length * 2, \"file size must match after append\");\n\n fs.unlinkSync(testFile);\n assert.isFalse(fs.existsSync(testFile));\n });\n\n it(\"Filesystem (string) - writeFileSync, appendFileSync and readFileSync\", () => {\n const testDir = path.join(outputDir, \"mobile-introp\");\n const testFile = path.join(testDir, \"test.bin\");\n if (fs.existsSync(testDir)) {\n fs.unlinkSync(testDir);\n }\n\n fs.mkdirSync(testDir);\n assert.isTrue(fs.existsSync(testDir));\n\n const testString = \"*\".repeat(1024);\n fs.writeFileSync(testFile, testString);\n\n // string test\n const outString = fs.readFileSync(testFile, { encoding: \"utf-8\" });\n assert.equal(testString, outString);\n\n fs.appendFileSync(testFile, testString);\n\n const outStringx2 = fs.readFileSync(testFile, { encoding: \"utf-8\" });\n assert.equal(testString.length * 2, outStringx2.length);\n assert.equal(testString + testString, outStringx2);\n\n fs.unlinkSync(testFile);\n assert.isFalse(fs.existsSync(testFile));\n });\n\n /*\n- (bool) existsSync: (NSString*)path;\n- (void) unlinkSync: (NSString*)path;\n- (void) removeSync: (NSString*)path;\n- (void) mkdirSync: (NSString*)path;\n- (void) rmdirSync: (NSString*)path;\n- (void) appendFileSync: (NSString*)path :(JSValue*)data;\n- (NSArray<NSString*>*) readdirSync: (NSString*)path;\n- (void) writeFileSync: (NSString*)path :(JSValue*)content;\n- (void) copySync: (NSString*)fromPath :(NSString*)toPath;\n- (JSValue*) lstatSync: (JSValue*)path;\n- (JSValue*) readFileSync: (JSValue*)path :(JSValue*)options;\n- (JSValue*) istatSync: (JSValue*)path;\n- (NSString*) realpathSync: (JSValue*)path :(JSValue*)options;\n- (void) closeSync: (JSValue*)fd;\n- (JSValue*) openSync: (NSString*)path :(NSString*)flags :(JSValue*)mode; */\n\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-mobile",
|
|
3
|
-
"version": "5.0.0-dev.
|
|
3
|
+
"version": "5.0.0-dev.90",
|
|
4
4
|
"description": "iTwin.js MobileHost and MobileApp",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
"url": "http://www.bentley.com"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@itwin/core-backend": "
|
|
26
|
-
"@itwin/core-bentley": "
|
|
27
|
-
"@itwin/core-common": "
|
|
28
|
-
"@itwin/core-frontend": "
|
|
25
|
+
"@itwin/core-backend": "5.0.0-dev.90",
|
|
26
|
+
"@itwin/core-bentley": "5.0.0-dev.90",
|
|
27
|
+
"@itwin/core-common": "5.0.0-dev.90",
|
|
28
|
+
"@itwin/core-frontend": "5.0.0-dev.90"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"lodash": "^4.17.21",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@types/fs-extra": "^4.0.7",
|
|
39
39
|
"@types/lodash": "^4.14.202",
|
|
40
40
|
"@types/mocha": "^10.0.6",
|
|
41
|
-
"@types/node": "~20.
|
|
41
|
+
"@types/node": "~20.17.0",
|
|
42
42
|
"@types/superagent": "^8.1.6",
|
|
43
43
|
"@types/ws": "^7.0.0",
|
|
44
44
|
"chai": "^4.3.10",
|
|
@@ -46,19 +46,19 @@
|
|
|
46
46
|
"dotenv": "^16.4.5",
|
|
47
47
|
"dotenv-expand": "^5.1.0",
|
|
48
48
|
"eslint": "^9.13.0",
|
|
49
|
-
"mocha": "^
|
|
50
|
-
"rimraf": "^
|
|
49
|
+
"mocha": "^11.1.0",
|
|
50
|
+
"rimraf": "^6.0.1",
|
|
51
51
|
"typescript": "~5.6.2",
|
|
52
|
-
"@itwin/build-tools": "5.0.0-dev.
|
|
53
|
-
"@itwin/core-
|
|
54
|
-
"@itwin/core-
|
|
55
|
-
"@itwin/core-common": "5.0.0-dev.
|
|
56
|
-
"@itwin/core-
|
|
52
|
+
"@itwin/build-tools": "5.0.0-dev.90",
|
|
53
|
+
"@itwin/core-frontend": "5.0.0-dev.90",
|
|
54
|
+
"@itwin/core-backend": "5.0.0-dev.90",
|
|
55
|
+
"@itwin/core-common": "5.0.0-dev.90",
|
|
56
|
+
"@itwin/core-bentley": "5.0.0-dev.90"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"build": "npm run -s build:cjs",
|
|
60
60
|
"build:cjs": "tsc 1>&2 --outDir lib/cjs",
|
|
61
|
-
"clean": "rimraf lib .rush/temp/package-deps*.json",
|
|
61
|
+
"clean": "rimraf -g lib .rush/temp/package-deps*.json",
|
|
62
62
|
"docs": "betools docs --json=../../generated-docs/core/core-mobile/file.json --tsIndexFile=./__DOC_ONLY__.ts --onlyJson",
|
|
63
63
|
"extract-api": "betools extract-api --entry=__DOC_ONLY__",
|
|
64
64
|
"lint": "eslint \"./src/**/*.ts\" 1>&2",
|