From 151e4a324b4c42bfa235bc8cc6cbb5e2e2f39ee6 Mon Sep 17 00:00:00 2001 From: filip mertens Date: Tue, 12 Dec 2023 13:36:44 +0100 Subject: [PATCH] offline compilers --- apps/remixdesktop/src/plugins/compilerLoader.ts | 2 +- apps/remixdesktop/src/utils/config.ts | 1 - libs/remix-lib/src/types/ICompilerApi.ts | 2 +- .../src/lib/compiler-container.tsx | 14 +++++++++++++- .../src/lib/solidity-compiler.tsx | 4 ++-- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/apps/remixdesktop/src/plugins/compilerLoader.ts b/apps/remixdesktop/src/plugins/compilerLoader.ts index a385fdb9c9..32fdcce1b8 100644 --- a/apps/remixdesktop/src/plugins/compilerLoader.ts +++ b/apps/remixdesktop/src/plugins/compilerLoader.ts @@ -75,7 +75,7 @@ class CompilerLoaderPluginClient extends ElectronBasePluginClient { async downloadCompiler(url: string): Promise { console.log('downloadCompiler', url) - + if(url.includes('localhost')) return const plugin = this try { const fileName = url.split('/').pop() diff --git a/apps/remixdesktop/src/utils/config.ts b/apps/remixdesktop/src/utils/config.ts index fe65a4e392..694391a3e3 100644 --- a/apps/remixdesktop/src/utils/config.ts +++ b/apps/remixdesktop/src/utils/config.ts @@ -8,7 +8,6 @@ console.log('cacheDir', cacheDir) export const createDefaultConfigLocations = async() => { try { - console.log('mdkir', cacheDir, fs.existsSync(cacheDir)) if (!fs.existsSync(cacheDir)) { fs.mkdirSync(cacheDir) } diff --git a/libs/remix-lib/src/types/ICompilerApi.ts b/libs/remix-lib/src/types/ICompilerApi.ts index c7ab21118c..86c90ffc1e 100644 --- a/libs/remix-lib/src/types/ICompilerApi.ts +++ b/libs/remix-lib/src/types/ICompilerApi.ts @@ -58,7 +58,7 @@ export interface iSolJsonBinDataBuild { longVersion: string, binURL: string, wasmURL: string, - isDownloaded: boolean, + isDownloaded: boolean } export interface iSolJsonBinData { baseURLWasm: string, diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx index 663e849165..7d853e1ff7 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx @@ -109,6 +109,10 @@ export const CompilerContainer = (props: CompilerContainerProps) => { }, [state.useFileConfiguration]) useEffect(() => { + if(online && state.onlyDownloaded){ + // @ts-ignore + api.call('compilerloader','getJsonBinData') + } setState((prevState) => { return {...prevState, onlyDownloaded: !online} }) @@ -128,7 +132,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => { document.removeEventListener('mousedown', listener) document.removeEventListener('touchstart', listener) } - }) + }, []) useEffect(() => { if(!state.updatedVersionSelectorFromUrlQuery && solJsonBinData.binList && solJsonBinData.binList.length) { @@ -144,6 +148,13 @@ export const CompilerContainer = (props: CompilerContainerProps) => { setState((prevState) => { return {...prevState, updatedVersionSelectorFromUrlQuery: true} }) + } else if(!solJsonBinData.binList || (solJsonBinData.binList && solJsonBinData.binList.length == 0)){ + const version = 'builtin' + setState((prevState) => { + return {...prevState, selectedVersion: version} + }) + updateCurrentVersion(version) + _updateVersionSelector(version) } }, [solJsonBinData]) @@ -616,6 +627,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => { } const handleLoadVersion = (value) => { + if(value !== 'builtin' && !pathToURL[value]) return setState((prevState) => { return {...prevState, selectedVersion: value, matomoAutocompileOnce: true} }) diff --git a/libs/remix-ui/solidity-compiler/src/lib/solidity-compiler.tsx b/libs/remix-ui/solidity-compiler/src/lib/solidity-compiler.tsx index 2960cc54c8..8e8dc5acb0 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/solidity-compiler.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/solidity-compiler.tsx @@ -153,12 +153,12 @@ export const SolidityCompiler = (props: SolidityCompilerProps) => { longVersion: 'latest local version - ' + state.defaultVersion, binURL: '', wasmURL: '', - isDownloaded: false, + isDownloaded: true, version: 'builtin', build: '', prerelease: '' } - const binVersions = data.binList + const binVersions = [...data.binList] const selectorList = binVersions const wasmVersions = data.wasmList