// eslint-disable-next-line import/unambiguous function tryImport(...fileNames) { try { // eslint-disable-next-line importScripts(...fileNames); return true; } catch (e) { console.error(e); return false; } } function importAllScripts() { const startImportScriptsTime = Date.now(); // value of applyLavaMoat below is dynamically replaced at build time with actual value const applyLavaMoat = true; tryImport('./globalthis.js'); tryImport('./sentry-install.js'); if (applyLavaMoat) { tryImport('./runtime-lavamoat.js'); tryImport('./lockdown-more.js'); tryImport('./policy-load.js'); } else { tryImport('./init-globals.js'); tryImport('./lockdown-install.js'); tryImport('./lockdown-run.js'); tryImport('./lockdown-more.js'); tryImport('./runtime-cjs.js'); } const fileList = [ // The list of files is injected at build time by replacing comment below with comma separated strings of file names // https://github.com/MetaMask/metamask-extension/blob/496d9d81c3367931031edc11402552690c771acf/development/build/scripts.js#L406 /** FILE NAMES */ ]; fileList.forEach((fileName) => tryImport(fileName)); // for performance metrics/reference console.log( `SCRIPTS IMPORT COMPLETE in Seconds: ${ (Date.now() - startImportScriptsTime) / 1000 }`, ); } // Placing script import call here ensures that scripts are inported each time service worker is activated. importAllScripts();