From 069c84219041fc08f5435b0781b8e88be0ef2b7c Mon Sep 17 00:00:00 2001 From: joseph izang Date: Fri, 20 Aug 2021 13:46:27 +0100 Subject: [PATCH] changes based on comments from @ioedeveloper --- .gitignore | 2 - app/ui/persmission-handler.d.ts | 36 --- app/ui/styles/modal-dialog-custom-styles.d.ts | 2 - app/ui/styles/modaldialog-styles.d.ts | 2 - app/ui/styles/tooltip-styles.d.ts | 2 - app/ui/tooltip.d.ts | 2 - .../src/tests/pluginManager.spec.ts | 6 +- .../components/plugin-manager-component.js | 6 +- libs/remix-ui/plugin-manager/.eslintrc | 265 +----------------- .../src/lib/components/rootView.tsx | 1 - .../plugin-manager/src/types/types.d.ts | 17 -- 11 files changed, 16 insertions(+), 325 deletions(-) delete mode 100644 app/ui/persmission-handler.d.ts delete mode 100644 app/ui/styles/modal-dialog-custom-styles.d.ts delete mode 100644 app/ui/styles/modaldialog-styles.d.ts delete mode 100644 app/ui/styles/tooltip-styles.d.ts delete mode 100644 app/ui/tooltip.d.ts diff --git a/.gitignore b/.gitignore index 75cfe519e7..d0429e2909 100644 --- a/.gitignore +++ b/.gitignore @@ -51,5 +51,3 @@ testem.log # System Files .DS_Store -Thumbs.db -.vscode/settings.json diff --git a/app/ui/persmission-handler.d.ts b/app/ui/persmission-handler.d.ts deleted file mode 100644 index 1458be6c9b..0000000000 --- a/app/ui/persmission-handler.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -export class PermissionHandler { - permissions: any; - currentVersion: number; - _getFromLocal(): any; - persistPermissions(): void; - clear(): void; - /** - * Show a message to ask the user for a permission - * @param {PluginProfile} from The name and hash of the plugin that make the call - * @param {ModuleProfile} to The name of the plugin that receive the call - * @param {string} method The name of the function to be called - * @param {string} message from the caller plugin to add more details if needed - * @returns {Promise<{ allow: boolean; remember: boolean }} Answer from the user to the permission - */ - openPermission(from: any, to: any, method: string, message: string): Promise<{ - allow: boolean; - remember: boolean; - }>; - /** - * Check if a plugin has the permission to call another plugin and askPermission if needed - * @param {PluginProfile} from the profile of the plugin that make the call - * @param {ModuleProfile} to The profile of the module that receive the call - * @param {string} method The name of the function to be called - * @param {string} message from the caller plugin to add more details if needed - * @returns {Promise} - */ - askPermission(from: any, to: any, method: string, message: string): Promise; - /** - * The permission form - * @param {PluginProfile} from The name and hash of the plugin that make the call - * @param {ModuleProfile} to The name of the plugin that receive the call - * @param {string} method The name of te methode to be called - * @param {string} message from the caller plugin to add more details if needed - */ - form(from: any, to: any, method: string, message: string): any; -} diff --git a/app/ui/styles/modal-dialog-custom-styles.d.ts b/app/ui/styles/modal-dialog-custom-styles.d.ts deleted file mode 100644 index 17eaa199b0..0000000000 --- a/app/ui/styles/modal-dialog-custom-styles.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export = css; -declare var css: any; diff --git a/app/ui/styles/modaldialog-styles.d.ts b/app/ui/styles/modaldialog-styles.d.ts deleted file mode 100644 index 17eaa199b0..0000000000 --- a/app/ui/styles/modaldialog-styles.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export = css; -declare var css: any; diff --git a/app/ui/styles/tooltip-styles.d.ts b/app/ui/styles/tooltip-styles.d.ts deleted file mode 100644 index 17eaa199b0..0000000000 --- a/app/ui/styles/tooltip-styles.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export = css; -declare var css: any; diff --git a/app/ui/tooltip.d.ts b/app/ui/tooltip.d.ts deleted file mode 100644 index 3dabc371e3..0000000000 --- a/app/ui/tooltip.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare function _exports(tooltipText: string, action?: Function, opts: any): any; -export = _exports; diff --git a/apps/remix-ide-e2e/src/tests/pluginManager.spec.ts b/apps/remix-ide-e2e/src/tests/pluginManager.spec.ts index 5ced71ee7a..6f6758795c 100644 --- a/apps/remix-ide-e2e/src/tests/pluginManager.spec.ts +++ b/apps/remix-ide-e2e/src/tests/pluginManager.spec.ts @@ -154,9 +154,9 @@ module.exports = { .waitForElementVisible('*[data-id="remixIdeSidePanel"]') .pause(3000) .perform((done) => { - const filtered = plugins.filter(plugin => plugin !== 'testremixIde') // remove this when localplugin bug is resolved - filtered.forEach(plugin => { - if (plugin !== testData.pluginName) { + // const filtered = plugins.filter(plugin => plugin !== 'testremixIde') // remove this when localplugin bug is resolved + plugins.forEach(plugin => { + if (plugin !== testData.pluginName && plugin !== 'testremixIde') { browser.waitForElementVisible(`[plugin="${plugin}"`) } }) diff --git a/apps/remix-ide/src/app/components/plugin-manager-component.js b/apps/remix-ide/src/app/components/plugin-manager-component.js index e5c31ea59b..bca33b24a0 100644 --- a/apps/remix-ide/src/app/components/plugin-manager-component.js +++ b/apps/remix-ide/src/app/components/plugin-manager-component.js @@ -27,12 +27,8 @@ class PluginManagerComponent extends ViewPlugin { this.pluginManagerSettings = new PluginManagerSettings() this.htmlElement = document.createElement('div') this.htmlElement.setAttribute('id', 'pluginManager') - this.views = { - root: null, - items: {} - } this.filter = '' - this.pluginNames = this.appManager.actives + this.activePlugins = [] this.inactivePlugins = [] this.activeProfiles = this.appManager.actives diff --git a/libs/remix-ui/plugin-manager/.eslintrc b/libs/remix-ui/plugin-manager/.eslintrc index 6503189604..cb9322c71b 100644 --- a/libs/remix-ui/plugin-manager/.eslintrc +++ b/libs/remix-ui/plugin-manager/.eslintrc @@ -1,260 +1,19 @@ { - "rules": { - "array-callback-return": "warn", - "dot-location": ["warn", "property"], - "eqeqeq": ["warn", "smart"], - "new-parens": "warn", - "no-caller": "warn", - "no-cond-assign": ["warn", "except-parens"], - "no-const-assign": "warn", - "no-control-regex": "warn", - "no-delete-var": "warn", - "no-dupe-args": "warn", - "no-dupe-keys": "warn", - "no-duplicate-case": "warn", - "no-empty-character-class": "warn", - "no-empty-pattern": "warn", - "no-eval": "warn", - "no-ex-assign": "warn", - "no-extend-native": "warn", - "no-extra-bind": "warn", - "no-extra-label": "warn", - "no-fallthrough": "warn", - "no-func-assign": "warn", - "no-implied-eval": "warn", - "no-invalid-regexp": "warn", - "no-iterator": "warn", - "no-label-var": "warn", - "no-labels": ["warn", { "allowLoop": true, "allowSwitch": false }], - "no-lone-blocks": "warn", - "no-loop-func": "warn", - "no-mixed-operators": [ - "warn", - { - "groups": [ - ["&", "|", "^", "~", "<<", ">>", ">>>"], - ["==", "!=", "===", "!==", ">", ">=", "<", "<="], - ["&&", "||"], - ["in", "instanceof"] - ], - "allowSamePrecedence": false - } - ], - "no-multi-str": "warn", - "no-native-reassign": "warn", - "no-negated-in-lhs": "warn", - "no-new-func": "warn", - "no-new-object": "warn", - "no-new-symbol": "warn", - "no-new-wrappers": "warn", - "no-obj-calls": "warn", - "no-octal": "warn", - "no-octal-escape": "warn", - "no-redeclare": "warn", - "no-regex-spaces": "warn", - "no-restricted-syntax": ["warn", "WithStatement"], - "no-script-url": "warn", - "no-self-assign": "warn", - "no-self-compare": "warn", - "no-sequences": "warn", - "no-shadow-restricted-names": "warn", - "no-sparse-arrays": "warn", - "no-template-curly-in-string": "warn", - "no-this-before-super": "warn", - "no-throw-literal": "warn", - "no-restricted-globals": [ - "error", - "addEventListener", - "blur", - "close", - "closed", - "confirm", - "defaultStatus", - "defaultstatus", - "event", - "external", - "find", - "focus", - "frameElement", - "frames", - "history", - "innerHeight", - "innerWidth", - "length", - "location", - "locationbar", - "menubar", - "moveBy", - "moveTo", - "name", - "onblur", - "onerror", - "onfocus", - "onload", - "onresize", - "onunload", - "open", - "opener", - "opera", - "outerHeight", - "outerWidth", - "pageXOffset", - "pageYOffset", - "parent", - "print", - "removeEventListener", - "resizeBy", - "resizeTo", - "screen", - "screenLeft", - "screenTop", - "screenX", - "screenY", - "scroll", - "scrollbars", - "scrollBy", - "scrollTo", - "scrollX", - "scrollY", - "self", - "status", - "statusbar", - "stop", - "toolbar", - "top" - ], - "no-unexpected-multiline": "warn", - "no-unreachable": "warn", - "no-unused-expressions": [ - "error", - { - "allowShortCircuit": true, - "allowTernary": true, - "allowTaggedTemplates": true - } - ], - "no-unused-labels": "warn", - "no-useless-computed-key": "warn", - "no-useless-concat": "warn", - "no-useless-escape": "warn", - "no-useless-rename": [ - "warn", - { - "ignoreDestructuring": false, - "ignoreImport": false, - "ignoreExport": false - } - ], - "no-with": "warn", - "no-whitespace-before-property": "warn", - "react-hooks/exhaustive-deps": "warn", - "require-yield": "warn", - "rest-spread-spacing": ["warn", "never"], - "strict": ["warn", "never"], - "unicode-bom": ["warn", "never"], - "use-isnan": "warn", - "valid-typeof": "warn", - "no-restricted-properties": [ - "error", - { - "object": "require", - "property": "ensure", - "message": "Please use import() instead. More info: https://facebook.github.io/create-react-app/docs/code-splitting" - }, - { - "object": "System", - "property": "import", - "message": "Please use import() instead. More info: https://facebook.github.io/create-react-app/docs/code-splitting" - } - ], - "getter-return": "warn", - "import/first": "error", - "import/no-amd": "error", - "import/no-webpack-loader-syntax": "error", - "react/forbid-foreign-prop-types": ["warn", { "allowInPropTypes": true }], - "react/jsx-no-comment-textnodes": "warn", - "react/jsx-no-duplicate-props": "warn", - "react/jsx-no-target-blank": "warn", - "react/jsx-no-undef": "error", - "react/jsx-pascal-case": ["warn", { "allowAllCaps": true, "ignore": [] }], - "react/jsx-uses-react": "warn", - "react/jsx-uses-vars": "warn", - "react/no-danger-with-children": "warn", - "react/no-direct-mutation-state": "warn", - "react/no-is-mounted": "warn", - "react/no-typos": "error", - "react/react-in-jsx-scope": "error", - "react/require-render-return": "error", - "react/style-prop-object": "warn", - "react/jsx-no-useless-fragment": "warn", - "jsx-a11y/accessible-emoji": "warn", - "jsx-a11y/alt-text": "warn", - "jsx-a11y/anchor-has-content": "warn", - "jsx-a11y/anchor-is-valid": [ - "warn", - { "aspects": ["noHref", "invalidHref"] } - ], - "jsx-a11y/aria-activedescendant-has-tabindex": "warn", - "jsx-a11y/aria-props": "warn", - "jsx-a11y/aria-proptypes": "warn", - "jsx-a11y/aria-role": "warn", - "jsx-a11y/aria-unsupported-elements": "warn", - "jsx-a11y/heading-has-content": "warn", - "jsx-a11y/iframe-has-title": "warn", - "jsx-a11y/img-redundant-alt": "warn", - "jsx-a11y/no-access-key": "warn", - "jsx-a11y/no-distracting-elements": "warn", - "jsx-a11y/no-redundant-roles": "warn", - "jsx-a11y/role-has-required-aria-props": "warn", - "jsx-a11y/role-supports-aria-props": "warn", - "jsx-a11y/scope": "warn", - "react-hooks/rules-of-hooks": "error", - "default-case": "off", - "no-dupe-class-members": "off", - "no-undef": "off", - "@typescript-eslint/consistent-type-assertions": "warn", - "no-array-constructor": "off", - "@typescript-eslint/no-array-constructor": "warn", - "@typescript-eslint/no-namespace": "error", - "no-use-before-define": "off", - "@typescript-eslint/no-use-before-define": [ - "warn", - { - "functions": false, - "classes": false, - "variables": false, - "typedefs": false - } - ], - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": [ - "warn", - { "args": "none", "ignoreRestSiblings": true } - ], - "no-useless-constructor": "off", - "@typescript-eslint/no-useless-constructor": "warn" - }, "env": { - "browser": true, - "commonjs": true, - "es6": true, - "jest": true + "browser": true, + "es6": true + }, + "extends": "../../../.eslintrc", + "globals": { + "Atomics": "readonly", + "SharedArrayBuffer": "readonly" }, - "settings": { "react": { "version": "detect" } }, - "extends": ["../../../.eslintrc"], - "ignorePatterns": ["!**/*"], - "plugins": [ - "import", - "jsx-a11y", - "react", - "react-hooks" - ], "parserOptions": { - "ecmaVersion": 11, - "sourceType": "module" + "ecmaVersion": 11, + "sourceType": "module" }, - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" + "rules": { + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": "error" } } diff --git a/libs/remix-ui/plugin-manager/src/lib/components/rootView.tsx b/libs/remix-ui/plugin-manager/src/lib/components/rootView.tsx index b1d972aa9c..b7b156ddc7 100644 --- a/libs/remix-ui/plugin-manager/src/lib/components/rootView.tsx +++ b/libs/remix-ui/plugin-manager/src/lib/components/rootView.tsx @@ -31,7 +31,6 @@ function RootView ({ pluginComponent, children }: RootViewProps) { useEffect(() => { pluginComponent.getAndFilterPlugins(filterPlugins) - // eslint-disable-next-line react-hooks/exhaustive-deps }, [filterPlugins]) return ( diff --git a/libs/remix-ui/plugin-manager/src/types/types.d.ts b/libs/remix-ui/plugin-manager/src/types/types.d.ts index e43a0e82ab..0ed16c4030 100644 --- a/libs/remix-ui/plugin-manager/src/types/types.d.ts +++ b/libs/remix-ui/plugin-manager/src/types/types.d.ts @@ -5,23 +5,6 @@ import { Engine } from '@remixproject/engine/lib/engine' import { PluginBase, Profile } from '@remixproject/plugin-utils' import { IframePlugin, ViewPlugin, WebsocketPlugin } from '@remixproject/engine-web' /* eslint-disable camelcase */ -declare module 'yo-yo'{ - interface yo_yo { - (strings:string[], ...values:any[]):HTMLElement; - update(element:HTMLElement, element2:HTMLElement); - } - var yo:yo_yo - export = yo; -} - -declare module 'dom-css'{ - interface dom_css{ - (element:HTMLElement, css:any):void; - } - - var css:dom_css - export = css; -} interface SetPluginOptionType { queueTimeout: number