From a837311095a806557fa904a094e11f214eeff4c2 Mon Sep 17 00:00:00 2001 From: Roman Date: Sun, 23 May 2021 16:01:15 +0300 Subject: [PATCH] master-merge fix: added missing makeObservable(this) for extensions.tsx Signed-off-by: Roman --- .../components/+extensions/extensions.tsx | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/src/renderer/components/+extensions/extensions.tsx b/src/renderer/components/+extensions/extensions.tsx index e050475fce..1c55c86ecd 100644 --- a/src/renderer/components/+extensions/extensions.tsx +++ b/src/renderer/components/+extensions/extensions.tsx @@ -24,33 +24,17 @@ import "./extensions.scss"; import { remote, shell } from "electron"; import fse from "fs-extra"; import _ from "lodash"; -import { observable, reaction, when } from "mobx"; +import { makeObservable, observable, reaction, when } from "mobx"; import { disposeOnUnmount, observer } from "mobx-react"; import os from "os"; import path from "path"; import React from "react"; import { SemVer } from "semver"; import URLParse from "url-parse"; - -import { - Disposer, - disposer, - downloadFile, - downloadJson, - ExtendableDisposer, - extractTar, - listTarEntries, - noop, - readFileFromTar, -} from "../../../common/utils"; +import { Disposer, disposer, downloadFile, downloadJson, ExtendableDisposer, extractTar, listTarEntries, noop, readFileFromTar, } from "../../../common/utils"; import { ExtensionDiscovery, InstalledExtension, manifestFilename } from "../../../extensions/extension-discovery"; import { ExtensionLoader } from "../../../extensions/extension-loader"; -import { - extensionDisplayName, - LensExtensionId, - LensExtensionManifest, - sanitizeExtensionName, -} from "../../../extensions/lens-extension"; +import { extensionDisplayName, LensExtensionId, LensExtensionManifest, sanitizeExtensionName, } from "../../../extensions/lens-extension"; import logger from "../../../main/logger"; import { Button } from "../button"; import { ConfirmDialog } from "../confirm-dialog"; @@ -193,7 +177,7 @@ async function validatePackage(filePath: string): Promise // tarball from npm contains single root folder "package/*" const firstFile = tarFiles[0]; - if(!firstFile) { + if (!firstFile) { throw new Error(`invalid extension bundle, ${manifestFilename} not found`); } @@ -201,7 +185,7 @@ async function validatePackage(filePath: string): Promise const packedInRootFolder = tarFiles.every(entry => entry.startsWith(rootFolder)); const manifestLocation = packedInRootFolder ? path.join(rootFolder, manifestFilename) : manifestFilename; - if(!tarFiles.includes(manifestLocation)) { + if (!tarFiles.includes(manifestLocation)) { throw new Error(`invalid extension bundle, ${manifestFilename} not found`); } @@ -415,7 +399,7 @@ async function attemptInstall(request: InstallRequest, d?: ExtendableDisposer): } else { dispose(); } - }} /> + }}/> , { onClose: dispose, @@ -460,7 +444,7 @@ async function installFromInput(input: string) { await attemptInstall({ fileName, dataP: readFileNotify(input) }); } else if (InputValidators.isExtensionNameInstall.validate(input)) { - const [{ groups: { name, version }}] = [...input.matchAll(InputValidators.isExtensionNameInstallRegex)]; + const [{ groups: { name, version } }] = [...input.matchAll(InputValidators.isExtensionNameInstallRegex)]; await attemptInstallByInfo({ name, version }); } @@ -493,10 +477,18 @@ async function installFromSelectFileDialog() { } } +interface Props { +} + @observer -export class Extensions extends React.Component { +export class Extensions extends React.Component { @observable installPath = ""; + constructor(props: Props) { + super(props); + makeObservable(this); + } + componentDidMount() { // TODO: change this after upgrading to mobx6 as that versions' reactions have this functionality let prevSize = ExtensionLoader.getInstance().userExtensions.size;