From fd608f6d57e37e1bd5932d66613d0b0d98dfb4eb Mon Sep 17 00:00:00 2001 From: drafish Date: Sat, 16 Dec 2023 20:22:03 +0800 Subject: [PATCH 1/6] support custom cors-proxy --- apps/remix-ide/src/app/files/dgitProvider.ts | 10 +++-- .../src/app/tabs/locales/en/filePanel.json | 6 +++ .../workspace/src/lib/remix-ui-workspace.tsx | 45 +++++++++++++++++++ 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/apps/remix-ide/src/app/files/dgitProvider.ts b/apps/remix-ide/src/app/files/dgitProvider.ts index 87cb4c3c8c7..69422069b28 100644 --- a/apps/remix-ide/src/app/files/dgitProvider.ts +++ b/apps/remix-ide/src/app/files/dgitProvider.ts @@ -87,17 +87,21 @@ class DGitProvider extends Plugin { } async addIsomorphicGitConfig(input) { - const token = await this.call('config' as any, 'getAppParameter', 'settings/gist-access-token') + const gitlabToken = await this.call('config', 'getAppParameter', 'settings/gitlab-token') + const corsproxy = await this.call('config', 'getAppParameter', 'settings/corsproxy-url') let config = { - corsProxy: 'https://corsproxy.remixproject.org/', + corsProxy: corsproxy || 'https://corsproxy.remixproject.org/', http, onAuth: url => { url - const auth = { + const auth = url.startsWith('https://github.com') ? { username: input.token || token, password: '' + } : { + username: 'oauth2', + password: input.token || gitlabToken } return auth } diff --git a/apps/remix-ide/src/app/tabs/locales/en/filePanel.json b/apps/remix-ide/src/app/tabs/locales/en/filePanel.json index 6932ae3e048..4bea2e1c6f7 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/filePanel.json +++ b/apps/remix-ide/src/app/tabs/locales/en/filePanel.json @@ -27,6 +27,12 @@ "filePanel.workspace.clone": "Clone Git Repository", "filePanel.workspace.cloneMessage": "Please provide a valid git repository url.", "filePanel.workspace.enterGitUrl": "Enter git repository url", + "filePanel.workspace.enterCorsproxyUrl": "Enter cors proxy url, default to be https://corsproxy.remixproject.org/", + "filePanel.workspace.gitRepoUrl": "Git Repo Url:", + "filePanel.workspace.corsProxyUrl": "Cors Proxy Url (Optional):", + "filePanel.workspace.corsproxyText1": "Note: To run CorsProxy on your system, run:", + "filePanel.workspace.corsproxyText2": "Note: Cors Proxy Url must be end with /, such as http://127.0.0.1:9999/", + "filePanel.workspace.corsproxyText3": "For more info, visit: CorsProxy Documentation", "filePanel.workspace.switch": "Switch To Workspace", "filePanel.workspace.solghaction": "Adds a preset yml file to run solidity unit tests on github actions CI.", "filePanel.solghaction": "Solidity Test Workflow", diff --git a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx index 03d807808a0..fb6fdd8e7d6 100644 --- a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx +++ b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx @@ -46,6 +46,8 @@ export function Workspace() { const workspaceCreateTemplateInput = useRef() const intl = useIntl() const cloneUrlRef = useRef() + const config = global.plugin.registry.get('config').api + const corsproxyUrlRef = useRef() const initGitRepoRef = useRef() const filteredBranches = selectedWorkspace ? (selectedWorkspace.branches || []).filter((branch) => branch.name.includes(branchFilter) && branch.name !== 'HEAD').slice(0, 20) : [] const currentBranch = selectedWorkspace ? selectedWorkspace.currentBranch : null @@ -554,6 +556,11 @@ export function Workspace() { const handleTypingUrl = () => { const url = cloneUrlRef.current.value + const corsproxy = corsproxyUrlRef.current.value + + if (corsproxy) { + config.set('corsproxy', corsproxy) + } if (url) { global.dispatchCloneRepository(url) @@ -1041,6 +1048,7 @@ export function Workspace() { const cloneModalMessage = () => { return ( <> +
+
+ +
+ +
+ npm install -g @drafish/cors-proxy +
+
+ cors-proxy start +
+
+ +
+
+ ( + + {chunks} + + ) + }} + /> +
+
) } From 27f1443f9853881289c01d935cdc518069dfc9af Mon Sep 17 00:00:00 2001 From: drafish Date: Sat, 16 Dec 2023 20:23:15 +0800 Subject: [PATCH 2/6] support gitlab repo --- .../src/app/tabs/locales/en/settings.json | 3 + libs/remix-ui/settings/src/lib/constants.ts | 1 + .../settings/src/lib/gitlab-settings.tsx | 106 ++++++++++++++++++ .../settings/src/lib/remix-ui-settings.tsx | 14 +++ .../workspace/src/lib/actions/workspace.ts | 2 +- 5 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 libs/remix-ui/settings/src/lib/gitlab-settings.tsx diff --git a/apps/remix-ide/src/app/tabs/locales/en/settings.json b/apps/remix-ide/src/app/tabs/locales/en/settings.json index 2ea6de0d4b4..7cb328ac2e1 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/settings.json +++ b/apps/remix-ide/src/app/tabs/locales/en/settings.json @@ -14,6 +14,9 @@ "settings.gitAccessTokenTitle": "Github Credentials", "settings.gitAccessTokenText": "The access token is used to publish a Gist and retrieve GitHub contents. You may need to input username/email.", "settings.gitAccessTokenText2":"Go to github token page (link below) to create a new token and save it in Remix. Make sure this token has only 'create gist' permission", + "settings.gitlabTokenTitle": "Gitlab Credentials", + "settings.gitlabTokenText": "The access token is used to retrieve GitLab contents. You may need to input username/email.", + "settings.gitlabTokenText2":"Go to gitlab token page (link below) to create a new token and save it in Remix.", "settings.etherscanTokenTitle": "EtherScan Access Token", "settings.etherscanAccessTokenText": "Manage the api key used to interact with Etherscan.", "settings.etherscanAccessTokenText2": "Go to Etherscan api key page (link below) to create a new api key and save it in Remix.", diff --git a/libs/remix-ui/settings/src/lib/constants.ts b/libs/remix-ui/settings/src/lib/constants.ts index 453edaaf945..c0f174f04a1 100644 --- a/libs/remix-ui/settings/src/lib/constants.ts +++ b/libs/remix-ui/settings/src/lib/constants.ts @@ -2,6 +2,7 @@ export const textSecondary = 'text-secondary' export const textDark = 'text-dark' export const gitAccessTokenLink = 'https://github.com/settings/tokens/new?scopes=gist,repo&description=Remix%20IDE%20Token' +export const gitlabTokenLink = 'https://gitlab.com/-/user_settings/personal_access_tokens' export const etherscanTokenLink = 'https://etherscan.io/myapikey' export const sindriAccessTokenLink = 'https://sindri.app' export const labels = { diff --git a/libs/remix-ui/settings/src/lib/gitlab-settings.tsx b/libs/remix-ui/settings/src/lib/gitlab-settings.tsx new file mode 100644 index 00000000000..4e5383f4dd2 --- /dev/null +++ b/libs/remix-ui/settings/src/lib/gitlab-settings.tsx @@ -0,0 +1,106 @@ +import {CopyToClipboard} from '@remix-ui/clipboard' +import {CustomTooltip} from '@remix-ui/helper' +import React, {useEffect, useState} from 'react' +import {FormattedMessage, useIntl} from 'react-intl' +import {GithubSettingsProps} from '../types' +import {gitlabTokenLink} from './constants' + +export function GitlabSettings(props: GithubSettingsProps) { + const [gitlabToken, setGitlabToken] = useState('') + const [gitlabUserName, setGitlabUsername] = useState('') + const [gitlabEmail, setGitlabEmail] = useState('') + const intl = useIntl() + + useEffect(() => { + if (props.config) { + const gitlabToken = props.config.get('settings/gitlab-token') || '' + const gitlabUserName = props.config.get('settings/gitlab-user-name') || '' + const gitlabEmail = props.config.get('settings/gitlab-email') || '' + + setGitlabToken(gitlabToken) + setGitlabUsername(gitlabUserName) + setGitlabEmail(gitlabEmail) + } + }, [props.config]) + + const handleChangeTokenState = (event) => { + const token = event.target.value ? event.target.value.trim() : event.target.value + setGitlabToken(token) + } + + const handleChangeUserNameState = (event) => { + setGitlabUsername(event.target.value) + } + + const handleChangeEmailState = (event) => { + setGitlabEmail(event.target.value) + } + + // api key settings + const saveGitlabToken = () => { + props.saveToken(gitlabToken, gitlabUserName, gitlabEmail) + } + + const removeToken = () => { + setGitlabToken('') + setGitlabUsername('') + setGitlabEmail('') + props.removeToken() + } + + return ( +
+
+
+ +
+

+ +

+

+ +

+

+ + {gitlabTokenLink} + +

+
+ +
+ handleChangeTokenState(e)} value={gitlabToken} /> +
+ +
+
+
+
+ +
+ handleChangeUserNameState(e)} value={gitlabUserName} /> +
+
+
+ +
+ handleChangeEmailState(e)} value={gitlabEmail} /> +
+ + } tooltipClasses="text-nowrap" tooltipId="removegitlabtokenTooltip" placement="top-start"> + + +
+
+
+
+
+ ) +} diff --git a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx index 050cb9d5391..6d04f71fcfc 100644 --- a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx +++ b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx @@ -30,6 +30,7 @@ import { RemixUiThemeModule, ThemeModule } from '@remix-ui/theme-module' import { RemixUiLocaleModule, LocaleModule } from '@remix-ui/locale-module' import { FormattedMessage, useIntl } from 'react-intl' import { GithubSettings } from './github-settings' +import { GitlabSettings } from './gitlab-settings' import { EtherscanSettings } from './etherscan-settings' import { SindriSettings } from './sindri-settings' @@ -591,6 +592,19 @@ export const RemixUiSettings = (props: RemixUiSettingsProps) => { }} config={props.config} /> + { + saveTokenToast(props.config, dispatchToast, gitlabToken, 'gitlab-token') + saveTokenToast(props.config, dispatchToast, gitlabUserName, 'gitlab-user-name') + saveTokenToast(props.config, dispatchToast, gitlabEmail, 'gitlab-email') + }} + removeToken={() => { + removeTokenToast(props.config, dispatchToast, 'gitlab-token') + removeTokenToast(props.config, dispatchToast, 'gitlab-user-name') + removeTokenToast(props.config, dispatchToast, 'gitlab-email') + }} + config={props.config} + /> { saveTokenToast(props.config, dispatchToast, etherscanToken, 'etherscan-access-token') diff --git a/libs/remix-ui/workspace/src/lib/actions/workspace.ts b/libs/remix-ui/workspace/src/lib/actions/workspace.ts index 0cea0116108..c5cd91315cc 100644 --- a/libs/remix-ui/workspace/src/lib/actions/workspace.ts +++ b/libs/remix-ui/workspace/src/lib/actions/workspace.ts @@ -644,7 +644,7 @@ export const getWorkspaces = async (): Promise<{ name: string; isGitRepo: boolea export const cloneRepository = async (url: string) => { const config = plugin.registry.get('config').api - const token = config.get('settings/gist-access-token') + const token = config.get(`settings/${url.startsWith('https://github.com')? 'gist-access-token' : 'gitlab-token'}`) const repoConfig: cloneInputType = { url, token } if (plugin.registry.get('platform').api.isDesktop()) { From b68dbb355b3c060a72ff57371b82fbca2776079f Mon Sep 17 00:00:00 2001 From: drafish Date: Sun, 17 Dec 2023 10:03:50 +0800 Subject: [PATCH 3/6] custom corsproxy removeable --- libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx index fb6fdd8e7d6..51c19f8019c 100644 --- a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx +++ b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx @@ -556,11 +556,9 @@ export function Workspace() { const handleTypingUrl = () => { const url = cloneUrlRef.current.value - const corsproxy = corsproxyUrlRef.current.value - if (corsproxy) { - config.set('corsproxy', corsproxy) - } + const corsproxy = corsproxyUrlRef.current.value + config.set('corsproxy', corsproxy) if (url) { global.dispatchCloneRepository(url) From b92c86003378e3f4a6a726152cc0fe7b9aadf855 Mon Sep 17 00:00:00 2001 From: drafish Date: Mon, 18 Dec 2023 09:27:22 +0800 Subject: [PATCH 4/6] locale message -- settings.deleteGitlabCredentials --- apps/remix-ide/src/app/tabs/locales/en/settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/remix-ide/src/app/tabs/locales/en/settings.json b/apps/remix-ide/src/app/tabs/locales/en/settings.json index 7cb328ac2e1..7cad9c14120 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/settings.json +++ b/apps/remix-ide/src/app/tabs/locales/en/settings.json @@ -35,6 +35,7 @@ "settings.username": "USERNAME", "settings.email": "EMAIL", "settings.deleteGithubCredentials": "Delete Github Credentials", + "settings.deleteGitlabCredentials": "Delete Gitlab Credentials", "settings.privateBeeAddress": "PRIVATE BEE ADDRESS", "settings.postageStampID": "POSTAGE STAMP ID", "settings.host": "HOST", From e1a1a1d46fb6dac82b9740009f24b10628e0a501 Mon Sep 17 00:00:00 2001 From: drafish Date: Tue, 19 Dec 2023 15:20:10 +0800 Subject: [PATCH 5/6] move custom cors-proxy to settings --- .../src/app/tabs/locales/en/filePanel.json | 6 -- .../src/app/tabs/locales/en/settings.json | 6 ++ .../settings/src/lib/corsproxy-settings.tsx | 82 +++++++++++++++++++ .../settings/src/lib/remix-ui-settings.tsx | 12 +++ .../settings/src/lib/settingsAction.ts | 10 +++ libs/remix-ui/settings/src/types/index.ts | 13 +++ .../workspace/src/lib/remix-ui-workspace.tsx | 43 ---------- 7 files changed, 123 insertions(+), 49 deletions(-) create mode 100644 libs/remix-ui/settings/src/lib/corsproxy-settings.tsx diff --git a/apps/remix-ide/src/app/tabs/locales/en/filePanel.json b/apps/remix-ide/src/app/tabs/locales/en/filePanel.json index 4bea2e1c6f7..6932ae3e048 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/filePanel.json +++ b/apps/remix-ide/src/app/tabs/locales/en/filePanel.json @@ -27,12 +27,6 @@ "filePanel.workspace.clone": "Clone Git Repository", "filePanel.workspace.cloneMessage": "Please provide a valid git repository url.", "filePanel.workspace.enterGitUrl": "Enter git repository url", - "filePanel.workspace.enterCorsproxyUrl": "Enter cors proxy url, default to be https://corsproxy.remixproject.org/", - "filePanel.workspace.gitRepoUrl": "Git Repo Url:", - "filePanel.workspace.corsProxyUrl": "Cors Proxy Url (Optional):", - "filePanel.workspace.corsproxyText1": "Note: To run CorsProxy on your system, run:", - "filePanel.workspace.corsproxyText2": "Note: Cors Proxy Url must be end with /, such as http://127.0.0.1:9999/", - "filePanel.workspace.corsproxyText3": "For more info, visit: CorsProxy Documentation", "filePanel.workspace.switch": "Switch To Workspace", "filePanel.workspace.solghaction": "Adds a preset yml file to run solidity unit tests on github actions CI.", "filePanel.solghaction": "Solidity Test Workflow", diff --git a/apps/remix-ide/src/app/tabs/locales/en/settings.json b/apps/remix-ide/src/app/tabs/locales/en/settings.json index 7cad9c14120..83465e2d25a 100644 --- a/apps/remix-ide/src/app/tabs/locales/en/settings.json +++ b/apps/remix-ide/src/app/tabs/locales/en/settings.json @@ -36,6 +36,12 @@ "settings.email": "EMAIL", "settings.deleteGithubCredentials": "Delete Github Credentials", "settings.deleteGitlabCredentials": "Delete Gitlab Credentials", + "settings.url": "URL", + "settings.deleteCorsproxy": "Delete Cors Proxy", + "settings.corsproxyTitle": "Cors Proxy for Git", + "settings.corsproxyText": "Cors Proxy is used to proxy git requests, such as clone, push, pull etc. Follow the commands below to start your own service:", + "settings.corsproxyText2": "Cors Proxy Url must be end with /, default to be https://corsproxy.remixproject.org/", + "settings.corsproxyText3": "For more info, visit: CorsProxy Documentation", "settings.privateBeeAddress": "PRIVATE BEE ADDRESS", "settings.postageStampID": "POSTAGE STAMP ID", "settings.host": "HOST", diff --git a/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx b/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx new file mode 100644 index 00000000000..b64d6a86aba --- /dev/null +++ b/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx @@ -0,0 +1,82 @@ +import {CopyToClipboard} from '@remix-ui/clipboard' +import {CustomTooltip} from '@remix-ui/helper' +import React, {useEffect, useState} from 'react' +import {FormattedMessage, useIntl} from 'react-intl' +import {CorsproxySettingsProps} from '../types' + +export function CorsproxySettings(props: CorsproxySettingsProps) { + const [url, setUrl] = useState('') + const intl = useIntl() + + useEffect(() => { + if (props.config) { + const url = props.config.get('settings/corsproxy-url') || 'https://corsproxy.remixproject.org/' + + setUrl(url) + } + }, [props.config]) + + const handleChangeUrlState = (event) => { + setUrl(event.target.value) + } + + const saveCorsproxy = () => { + props.saveCorsproxy(url) + } + + const removeToken = () => { + setUrl('') + props.removeCorsproxy() + } + + return ( +
+
+
+ +
+ +
+ npm install -g @drafish/cors-proxy +
+
+ cors-proxy start +
+
+ +
+
+ ( + + {chunks} + + ) + }} + /> +
+ +
+ +
+ handleChangeUrlState(e)} value={url} /> +
+ + } tooltipClasses="text-nowrap" tooltipId="removecorsproxyTooltip" placement="top-start"> + + +
+
+
+
+
+ ) +} diff --git a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx index 6d04f71fcfc..95ba9286b32 100644 --- a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx +++ b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx @@ -17,6 +17,8 @@ import { useMatomoAnalytics, saveTokenToast, removeTokenToast, + saveCorsproxyToast, + removeCorsproxyToast, saveSwarmSettingsToast, saveIpfsSettingsToast, useAutoCompletion, @@ -31,6 +33,7 @@ import { RemixUiLocaleModule, LocaleModule } from '@remix-ui/locale-module' import { FormattedMessage, useIntl } from 'react-intl' import { GithubSettings } from './github-settings' import { GitlabSettings } from './gitlab-settings' +import { CorsproxySettings } from './corsproxy-settings' import { EtherscanSettings } from './etherscan-settings' import { SindriSettings } from './sindri-settings' @@ -605,6 +608,15 @@ export const RemixUiSettings = (props: RemixUiSettingsProps) => { }} config={props.config} /> + { + saveCorsproxyToast(props.config, dispatchToast, url, 'corsproxy-url') + }} + removeCorsproxy={() => { + removeCorsproxyToast(props.config, dispatchToast, 'corsproxy-url') + }} + config={props.config} + /> { saveTokenToast(props.config, dispatchToast, etherscanToken, 'etherscan-access-token') diff --git a/libs/remix-ui/settings/src/lib/settingsAction.ts b/libs/remix-ui/settings/src/lib/settingsAction.ts index 22110f8cb9a..c277df26152 100644 --- a/libs/remix-ui/settings/src/lib/settingsAction.ts +++ b/libs/remix-ui/settings/src/lib/settingsAction.ts @@ -76,6 +76,16 @@ export const removeTokenToast = (config, dispatch, key) => { dispatch({ type: 'removed', payload: { message: 'Credentials removed' } }) } +export const saveCorsproxyToast = (config, dispatch, value, key) => { + config.set('settings/' + key, value) + dispatch({ type: 'save', payload: { message: 'Corsproxy updated' } }) +} + +export const removeCorsproxyToast = (config, dispatch, key) => { + config.set('settings/' + key, '') + dispatch({ type: 'removed', payload: { message: 'Corsproxy removed' } }) +} + export const saveSwarmSettingsToast = (config, dispatch, privateBeeAddress, postageStampId) => { config.set('settings/swarm-private-bee-address', privateBeeAddress) config.set('settings/swarm-postage-stamp-id', postageStampId) diff --git a/libs/remix-ui/settings/src/types/index.ts b/libs/remix-ui/settings/src/types/index.ts index 3b25907d202..8b5f355347d 100644 --- a/libs/remix-ui/settings/src/types/index.ts +++ b/libs/remix-ui/settings/src/types/index.ts @@ -11,6 +11,19 @@ export interface GithubSettingsProps { } } +export interface CorsproxySettingsProps { + saveCorsproxy: (url: string) => void, + removeCorsproxy: () => void, + config: { + exists: (key: string) => boolean, + get: (key: string) => string, + set: (key: string, content: string) => void, + clear: () => void, + getUnpersistedProperty: (key: string) => void, + setUnpersistedProperty: (key: string, value: string) => void + } +} + export interface EtherscanSettingsProps { saveToken: (etherscanToken: string) => void, removeToken: () => void, diff --git a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx index 51c19f8019c..03d807808a0 100644 --- a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx +++ b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx @@ -46,8 +46,6 @@ export function Workspace() { const workspaceCreateTemplateInput = useRef() const intl = useIntl() const cloneUrlRef = useRef() - const config = global.plugin.registry.get('config').api - const corsproxyUrlRef = useRef() const initGitRepoRef = useRef() const filteredBranches = selectedWorkspace ? (selectedWorkspace.branches || []).filter((branch) => branch.name.includes(branchFilter) && branch.name !== 'HEAD').slice(0, 20) : [] const currentBranch = selectedWorkspace ? selectedWorkspace.currentBranch : null @@ -557,9 +555,6 @@ export function Workspace() { const handleTypingUrl = () => { const url = cloneUrlRef.current.value - const corsproxy = corsproxyUrlRef.current.value - config.set('corsproxy', corsproxy) - if (url) { global.dispatchCloneRepository(url) } else { @@ -1046,7 +1041,6 @@ export function Workspace() { const cloneModalMessage = () => { return ( <> -
-
- -
- -
- npm install -g @drafish/cors-proxy -
-
- cors-proxy start -
-
- -
-
- ( - - {chunks} - - ) - }} - /> -
-
) } From cceb42c1c7dbf9a07762a6f5b1bdf8dba84d54eb Mon Sep 17 00:00:00 2001 From: drafish Date: Mon, 8 Jul 2024 16:40:35 +0800 Subject: [PATCH 6/6] fix lint --- .../settings/src/lib/corsproxy-settings.tsx | 20 +++++++++---------- .../settings/src/lib/gitlab-settings.tsx | 16 +++++++-------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx b/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx index b64d6a86aba..11899cff42a 100644 --- a/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx +++ b/libs/remix-ui/settings/src/lib/corsproxy-settings.tsx @@ -1,8 +1,8 @@ -import {CopyToClipboard} from '@remix-ui/clipboard' -import {CustomTooltip} from '@remix-ui/helper' -import React, {useEffect, useState} from 'react' -import {FormattedMessage, useIntl} from 'react-intl' -import {CorsproxySettingsProps} from '../types' +import { CopyToClipboard } from '@remix-ui/clipboard' +import { CustomTooltip } from '@remix-ui/helper' +import React, { useEffect, useState } from 'react' +import { FormattedMessage, useIntl } from 'react-intl' +import { CorsproxySettingsProps } from '../types' export function CorsproxySettings(props: CorsproxySettingsProps) { const [url, setUrl] = useState('') @@ -43,9 +43,7 @@ export function CorsproxySettings(props: CorsproxySettingsProps) { cors-proxy start
- +
{chunks} - ) + ), }} />
- +