From aaae27f29a43ed41de871ea1fe6c34f23e521f16 Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Thu, 28 May 2020 15:32:22 +0000 Subject: [PATCH] Setup plugin client --- .gitignore | 1 + lib/src/services/remixdClient.d.ts | 2 +- lib/src/services/remixdClient.js | 9 +- package-lock.json | 361 ++++++++++++----------------- package.json | 3 - src/services/remixdClient.ts | 27 ++- src/{utils.js => utils.ts} | 36 +-- 7 files changed, 189 insertions(+), 250 deletions(-) rename src/{utils.js => utils.ts} (65%) diff --git a/.gitignore b/.gitignore index 3fb4744553..c7721c648e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules npm-debug.log python_modules +lib diff --git a/lib/src/services/remixdClient.d.ts b/lib/src/services/remixdClient.d.ts index 016ddd9fcc..77ad9b4353 100644 --- a/lib/src/services/remixdClient.d.ts +++ b/lib/src/services/remixdClient.d.ts @@ -1,5 +1,5 @@ import WebSocket from '../websocket'; -import { PluginClient } from '@remixproject/plugin'; +import { PluginClient } from '@remixproject/plugin-ws'; export default class RemixdClient extends PluginClient { trackDownStreamUpdate: { [key: string]: string; diff --git a/lib/src/services/remixdClient.js b/lib/src/services/remixdClient.js index 18bc4220d3..4c16f20362 100644 --- a/lib/src/services/remixdClient.js +++ b/lib/src/services/remixdClient.js @@ -13,11 +13,10 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); +var plugin_ws_1 = require("@remixproject/plugin-ws"); var utils = require('../utils'); var isbinaryfile = require('isbinaryfile'); var fs = require('fs-extra'); -var chokidar = require('chokidar'); -var plugin_1 = require("@remixproject/plugin"); var RemixdClient = /** @class */ (function (_super) { __extends(RemixdClient, _super); function RemixdClient() { @@ -40,8 +39,8 @@ var RemixdClient = /** @class */ (function (_super) { }; RemixdClient.prototype.resolveDirectory = function (args, cb) { try { - var path = utils.absolutePath(args.path, this.currentSharedFolder); - cb(null, utils.resolveDirectory(path, this.currentSharedFolder)); + var path_1 = utils.absolutePath(args.path, this.currentSharedFolder); + cb(null, utils.resolveDirectory(path_1, this.currentSharedFolder)); } catch (e) { cb(e.message); @@ -143,7 +142,7 @@ var RemixdClient = /** @class */ (function (_super) { cb(null, fs.statSync(path).isFile()); }; return RemixdClient; -}(plugin_1.PluginClient)); +}(plugin_ws_1.PluginClient)); exports.default = RemixdClient; function isRealPath(path, cb) { var realPath = fs.realpathSync(path); diff --git a/package-lock.json b/package-lock.json index 9fd152d5eb..b76cb6b48b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,31 +5,40 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.1" } }, "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", "dev": true }, "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -40,13 +49,43 @@ "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, "@remixproject/plugin": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.1.18.tgz", - "integrity": "sha512-xJrqgl22ugRFMvN9tHcLZ8BTK4uGNBqYkIyme1tCWOVgQAB7PCQsTUgDFFDZDE4GmE7WcogZ/1Bv7U7c+ZjydQ==" + "version": "0.2.0-alpha.1", + "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.2.0-alpha.1.tgz", + "integrity": "sha512-nPZgtwrvk3Ib81Aa+/rJxUxdWwCIF8aNYZxCG5QvfQCTf1nwRP8vdtvRrQOjTQncSYFHLlyNUWCVFcLcNj6AdA==" }, "@remixproject/plugin-ws": { "version": "0.2.0-alpha.1", @@ -54,13 +93,6 @@ "integrity": "sha512-j5m6jKsTJpgog3gdZ30dpqMz2YopHZP4PNi+eAfJKEyMMMFiqb5tIbU8QZ8TcDtTy/wlB7/pH5PhvvVIdkQWFQ==", "requires": { "@remixproject/plugin": "0.2.0-alpha.1" - }, - "dependencies": { - "@remixproject/plugin": { - "version": "0.2.0-alpha.1", - "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.2.0-alpha.1.tgz", - "integrity": "sha512-nPZgtwrvk3Ib81Aa+/rJxUxdWwCIF8aNYZxCG5QvfQCTf1nwRP8vdtvRrQOjTQncSYFHLlyNUWCVFcLcNj6AdA==" - } } }, "@sindresorhus/is": { @@ -186,12 +218,12 @@ "dev": true }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "requires": { - "color-convert": "^1.9.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, "anymatch": { @@ -376,16 +408,6 @@ "widest-line": "^3.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -395,36 +417,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -557,43 +549,6 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "chardet": { @@ -648,11 +603,6 @@ } } }, - "clear": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/clear/-/clear-0.1.0.tgz", - "integrity": "sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==" - }, "cli-boxes": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", @@ -693,19 +643,17 @@ } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "commander": { "version": "2.20.3", @@ -1007,6 +955,15 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -1018,6 +975,21 @@ "supports-color": "^5.3.0" } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -1036,11 +1008,26 @@ "is-glob": "^4.0.1" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -1391,11 +1378,6 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "figlet": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.4.0.tgz", - "integrity": "sha512-CxxIjEKHlqGosgXaIA+sikGDdV6KZOOlzPJnYuPgQlOSHZP5h9WIghYI30fyXnwEVeSH7Hedy72gC6zJrFC+SQ==" - }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -1617,10 +1599,9 @@ } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { "version": "1.0.1", @@ -1760,16 +1741,6 @@ "through": "^2.3.6" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -1780,27 +1751,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -1809,15 +1759,6 @@ "requires": { "ansi-regex": "^5.0.0" } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -2409,6 +2350,12 @@ "is-glob": "^4.0.1" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -2445,6 +2392,15 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3064,6 +3020,30 @@ "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -3376,12 +3356,11 @@ "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, "table": { @@ -3646,16 +3625,6 @@ "xdg-basedir": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -3665,36 +3634,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, diff --git a/package.json b/package.json index 325e4c3fee..2439eedf99 100644 --- a/package.json +++ b/package.json @@ -31,13 +31,10 @@ }, "homepage": "https://github.com/ethereum/remixd#readme", "dependencies": { - "@remixproject/plugin": "^0.1.18", "@remixproject/plugin-ws": "^0.2.0-alpha.1", "chalk": "^4.0.0", "chokidar": "^2.0.2", - "clear": "^0.1.0", "commander": "^2.20.3", - "figlet": "^1.4.0", "fs-extra": "^3.0.1", "isbinaryfile": "^3.0.2", "ws": "^7.3.0" diff --git a/src/services/remixdClient.ts b/src/services/remixdClient.ts index 54b63a6e0d..247f70f5a8 100644 --- a/src/services/remixdClient.ts +++ b/src/services/remixdClient.ts @@ -1,10 +1,9 @@ import WebSocket from '../websocket' +import { PluginClient } from '@remixproject/plugin-ws' -var utils = require('../utils') -var isbinaryfile = require('isbinaryfile') -var fs = require('fs-extra') -var chokidar = require('chokidar') -import { PluginClient } from '@remixproject/plugin' +const utils = require('../utils') +const isbinaryfile = require('isbinaryfile') +const fs = require('fs-extra') export default class RemixdClient extends PluginClient { trackDownStreamUpdate: { @@ -37,7 +36,7 @@ export default class RemixdClient extends PluginClient { [key: string]: string }, cb: Function) { try { - var path = utils.absolutePath(args.path, this.currentSharedFolder) + const path = utils.absolutePath(args.path, this.currentSharedFolder) cb(null, utils.resolveDirectory(path, this.currentSharedFolder)) } catch (e) { cb(e.message) @@ -53,7 +52,7 @@ export default class RemixdClient extends PluginClient { get (args: { [key: string]: string }, cb: Function) { - var path = utils.absolutePath(args.path, this.currentSharedFolder) + const path = utils.absolutePath(args.path, this.currentSharedFolder) if (!fs.existsSync(path)) { return cb('File not found ' + path) } @@ -84,7 +83,7 @@ export default class RemixdClient extends PluginClient { }, cb: Function) { if (this.readOnly) return cb('Cannot write file: read-only mode selected') const isFolder = args.path.endsWith('/') - var path = utils.absolutePath(args.path, this.currentSharedFolder) + const path = utils.absolutePath(args.path, this.currentSharedFolder) if (fs.existsSync(path) && !isRealPath(path, cb)) return if (args.content === 'undefined') { // no !!!!! console.log('trying to write "undefined" ! stopping.') @@ -107,11 +106,11 @@ export default class RemixdClient extends PluginClient { [key: string]: string }, cb: Function) { if (this.readOnly) return cb('Cannot rename file: read-only mode selected') - var oldpath = utils.absolutePath(args.oldPath, this.currentSharedFolder) + const oldpath = utils.absolutePath(args.oldPath, this.currentSharedFolder) if (!fs.existsSync(oldpath)) { return cb('File not found ' + oldpath) } - var newpath = utils.absolutePath(args.newPath, this.currentSharedFolder) + const newpath = utils.absolutePath(args.newPath, this.currentSharedFolder) if (!isRealPath(oldpath, cb)) return fs.move(oldpath, newpath, (error: Error, data: string) => { if (error) console.log(error) @@ -123,7 +122,7 @@ export default class RemixdClient extends PluginClient { [key: string]: string }, cb: Function) { if (this.readOnly) return cb('Cannot remove file: read-only mode selected') - var path = utils.absolutePath(args.path, this.currentSharedFolder) + const path = utils.absolutePath(args.path, this.currentSharedFolder) if (!fs.existsSync(path)) { return cb('File not found ' + path) } @@ -155,9 +154,9 @@ export default class RemixdClient extends PluginClient { } function isRealPath (path: string, cb: Function) { - var realPath = fs.realpathSync(path) - var isRealPath = path === realPath - var mes = '[WARN] Symbolic link modification not allowed : ' + path + ' | ' + realPath + const realPath = fs.realpathSync(path) + const isRealPath = path === realPath + const mes = '[WARN] Symbolic link modification not allowed : ' + path + ' | ' + realPath if (!isRealPath) { console.log('\x1b[33m%s\x1b[0m', mes) } diff --git a/src/utils.js b/src/utils.ts similarity index 65% rename from src/utils.js rename to src/utils.ts index 86bd00917b..36d6891e06 100644 --- a/src/utils.js +++ b/src/utils.ts @@ -1,7 +1,7 @@ -var fs = require('fs-extra') -var path = require('path') -var isbinaryfile = require('isbinaryfile') -var pathModule = require('path') +const fs = require('fs-extra') +const path = require('path') +const isbinaryfile = require('isbinaryfile') +const pathModule = require('path') module.exports = { absolutePath: absolutePath, @@ -17,7 +17,7 @@ module.exports = { * @param {String} sharedFolder - absolute shared path. platform dependent representation. * @return {String} platform dependent absolute path (/home/user1/.../... for unix, c:\user\...\... for windows) */ -function absolutePath (path, sharedFolder) { +function absolutePath (path: string, sharedFolder:string) { path = normalizePath(path) if (path.indexOf(sharedFolder) !== 0) { path = pathModule.resolve(sharedFolder, path) @@ -32,20 +32,22 @@ function absolutePath (path, sharedFolder) { * @param {String} sharedFolder - absolute shared path. platform dependent representation * @return {String} relative path (Unix style which is the one used by Remix IDE) */ -function relativePath (path, sharedFolder) { - var relative = pathModule.relative(sharedFolder, path) +function relativePath (path: string, sharedFolder: string) { + const relative = pathModule.relative(sharedFolder, path) return normalizePath(relative) } -function normalizePath (path) { +function normalizePath (path: string) { if (process.platform === 'win32') { return path.replace(/\\/g, '/') } return path } -function walkSync (dir, filelist, sharedFolder) { - var files = fs.readdirSync(dir) +function walkSync (dir: string, filelist: { + [key: string]: string +}, sharedFolder: string) { + const files: string[] = fs.readdirSync(dir) filelist = filelist || {} files.forEach(function (file) { var subElement = path.join(dir, file) @@ -61,14 +63,16 @@ function walkSync (dir, filelist, sharedFolder) { return filelist } -function resolveDirectory (dir, sharedFolder) { - var ret = {} - var files = fs.readdirSync(dir) +function resolveDirectory (dir: string, sharedFolder: string) { + const ret: { + [key: string]: any + } = {} + const files: string[] = fs.readdirSync(dir) files.forEach(function (file) { - var subElement = path.join(dir, file) + const subElement = path.join(dir, file) if (!fs.lstatSync(subElement).isSymbolicLink()) { - var relative = relativePath(subElement, sharedFolder) - ret[relative] = { isDirectory: fs.statSync(subElement).isDirectory() } + const relative: string = relativePath(subElement, sharedFolder) + ret[relative] = { isDirectory: fs.statSync(subElement).isDirectory() } } }) return ret