diff --git a/js/package-lock.json b/js/package-lock.json index 0fca515b61238..23557a9bba9ff 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -17,6 +17,7 @@ "@types/npmlog": "^4.1.4", "@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/parser": "^8.46.2", + "baseline-browser-mapping": "^2.9.13", "dir-compare": "^4.2.0", "esbuild": "^0.25.0", "esbuild-plugin-polyfill-node": "^0.3.0", @@ -1624,9 +1625,9 @@ ] }, "node_modules/baseline-browser-mapping": { - "version": "2.8.20", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", - "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "version": "2.9.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.13.tgz", + "integrity": "sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -6969,9 +6970,9 @@ "dev": true }, "baseline-browser-mapping": { - "version": "2.8.20", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", - "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "version": "2.9.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.13.tgz", + "integrity": "sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==", "dev": true }, "binary-extensions": { diff --git a/js/package.json b/js/package.json index cb8b09f4247a6..18cd765dff85a 100644 --- a/js/package.json +++ b/js/package.json @@ -10,6 +10,7 @@ "@types/npmlog": "^4.1.4", "@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/parser": "^8.46.2", + "baseline-browser-mapping": "^2.9.13", "dir-compare": "^4.2.0", "esbuild": "^0.25.0", "esbuild-plugin-polyfill-node": "^0.3.0", diff --git a/js/web/lib/wasm/jsep/backend-webgpu.ts b/js/web/lib/wasm/jsep/backend-webgpu.ts index e486e4b0e043d..41d3f72872b30 100644 --- a/js/web/lib/wasm/jsep/backend-webgpu.ts +++ b/js/web/lib/wasm/jsep/backend-webgpu.ts @@ -247,7 +247,7 @@ export class WebGpuBackend { const requireFeatureIfAvailable = (feature: GPUFeatureName) => adapter.features.has(feature) && requiredFeatures.push(feature) && true; // Try chromium-experimental-timestamp-query-inside-passes and fallback to timestamp-query - if (!requireFeatureIfAvailable('chromium-experimental-timestamp-query-inside-passes' as GPUFeatureName)) { + if (!requireFeatureIfAvailable('chromium-experimental-timestamp-query-inside-passes')) { requireFeatureIfAvailable('timestamp-query'); } requireFeatureIfAvailable('shader-f16'); @@ -263,7 +263,7 @@ export class WebGpuBackend { this.kernelCustomData = new Map(); // set up flags for logger - configureLogger(env.logLevel!, !!env.debug); + configureLogger(env.logLevel, !!env.debug); // TODO: set up flags @@ -341,10 +341,10 @@ export class WebGpuBackend { let queryReadBuffer: GPUBuffer; if (this.queryType !== 'none') { this.commandEncoder.resolveQuerySet( - this.querySet!, + this.querySet, 0, this.pendingDispatchNumber * 2, - this.queryResolveBuffer!, + this.queryResolveBuffer, 0, ); @@ -356,7 +356,7 @@ export class WebGpuBackend { this.pendingQueries.set(queryReadBuffer, this.pendingKernels); this.pendingKernels = []; this.commandEncoder.copyBufferToBuffer( - this.queryResolveBuffer!, + this.queryResolveBuffer, 0, queryReadBuffer, 0, @@ -827,8 +827,7 @@ export class WebGpuBackend { return; } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this.computePassEncoder as any).writeTimestamp(this.querySet, index); + this.computePassEncoder.writeTimestamp(this.querySet, index); } setQueryType(): void { this.queryType = 'none'; diff --git a/js/web/lib/wasm/jsep/backend-webnn.ts b/js/web/lib/wasm/jsep/backend-webnn.ts index 0bb1b09687018..67779313d6d84 100644 --- a/js/web/lib/wasm/jsep/backend-webnn.ts +++ b/js/web/lib/wasm/jsep/backend-webnn.ts @@ -103,7 +103,7 @@ export class WebNNBackend { private mlOpSupportLimitsBySessionId = new Map(); constructor(env: Env) { - configureLogger(env.logLevel!, !!env.debug); + configureLogger(env.logLevel, !!env.debug); } public get currentSessionId(): number { diff --git a/js/web/lib/wasm/jsep/init.ts b/js/web/lib/wasm/jsep/init.ts index 50fb26fef1d41..0476da3ebd586 100644 --- a/js/web/lib/wasm/jsep/init.ts +++ b/js/web/lib/wasm/jsep/init.ts @@ -200,7 +200,7 @@ export const init = async ( // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const webGpuBackendImpl = require('./backend-webgpu').WebGpuBackend; const backend = new webGpuBackendImpl(); - await backend.initialize(env, gpuAdapter!); + await backend.initialize(env, gpuAdapter); jsepInit('webgpu', [ // backend diff --git a/js/web/lib/wasm/proxy-worker/main.ts b/js/web/lib/wasm/proxy-worker/main.ts index 163bac4eb676d..e65c8b5b0b579 100644 --- a/js/web/lib/wasm/proxy-worker/main.ts +++ b/js/web/lib/wasm/proxy-worker/main.ts @@ -109,7 +109,7 @@ if (isProxyWorker) { case 'init-wasm': initializeWebAssembly(message!.wasm).then( () => { - initRuntime(message!).then( + initRuntime(message).then( () => { postMessage({ type }); }, diff --git a/js/web/lib/wasm/run-options.ts b/js/web/lib/wasm/run-options.ts index a0ef57df31129..41d10704ca911 100644 --- a/js/web/lib/wasm/run-options.ts +++ b/js/web/lib/wasm/run-options.ts @@ -41,8 +41,8 @@ export const setRunOptions = (options: InferenceSession.RunOptions): [number, nu } runOptionsHandle = wasm._OrtCreateRunOptions( - runOptions.logSeverityLevel!, - runOptions.logVerbosityLevel!, + runOptions.logSeverityLevel, + runOptions.logVerbosityLevel, !!runOptions.terminate!, tagDataOffset, ); diff --git a/js/web/lib/wasm/wasm-core-impl.ts b/js/web/lib/wasm/wasm-core-impl.ts index 18c536d8d9217..4be34a01bac8f 100644 --- a/js/web/lib/wasm/wasm-core-impl.ts +++ b/js/web/lib/wasm/wasm-core-impl.ts @@ -92,7 +92,7 @@ const initOrt = (numThreads: number, loggingLevel: number): void => { */ export const initRuntime = async (env: Env): Promise => { // init ORT - initOrt(env.wasm.numThreads!, logLevelStringToEnum(env.logLevel)); + initOrt(env.wasm.numThreads, logLevelStringToEnum(env.logLevel)); }; /** @@ -955,7 +955,7 @@ export const run = async ( gpuBuffer, download: async () => { const arrayBuffer = await downloadDataFunction(); - const data = new (tensorTypeToTypedArrayConstructor(type!))(arrayBuffer); + const data = new (tensorTypeToTypedArrayConstructor(type))(arrayBuffer); return data as Tensor.DataTypeMap[Tensor.GpuBufferDataTypes]; }, dispose: () => {