From e5a7f9fa392aa5af8a2850fde6a26323148ca041 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 18 Aug 2020 13:12:31 -0400 Subject: [PATCH] revert back to syncronous migrations. Use make-syncronous to use file-type package Signed-off-by: Sebastian Malton --- package.json | 1 + src/migrations/cluster-store/2.0.0-beta.2.ts | 2 +- src/migrations/cluster-store/2.4.1.ts | 2 +- src/migrations/cluster-store/2.6.0-beta.2.ts | 2 +- src/migrations/cluster-store/2.6.0-beta.3.ts | 2 +- src/migrations/cluster-store/2.7.0-beta.0.ts | 2 +- src/migrations/cluster-store/2.7.0-beta.1.ts | 2 +- src/migrations/cluster-store/3.6.0-beta.1.ts | 9 ++++--- src/migrations/migration-wrapper.ts | 4 +-- src/migrations/user-store/2.1.0-beta.4.ts | 2 +- yarn.lock | 28 ++++++++++++++++++++ 11 files changed, 43 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 56be52b671..ee98c0f796 100644 --- a/package.json +++ b/package.json @@ -185,6 +185,7 @@ "jsonpath": "^1.0.2", "lodash": "^4.17.15", "mac-ca": "^1.0.4", + "make-synchronous": "^0.1.0", "marked": "^1.1.0", "md5-file": "^5.0.0", "mobx": "^5.15.5", diff --git a/src/migrations/cluster-store/2.0.0-beta.2.ts b/src/migrations/cluster-store/2.0.0-beta.2.ts index 6f78505a6c..8a01af5407 100644 --- a/src/migrations/cluster-store/2.0.0-beta.2.ts +++ b/src/migrations/cluster-store/2.0.0-beta.2.ts @@ -5,7 +5,7 @@ import { migration } from "../migration-wrapper"; export default migration({ version: "2.0.0-beta.2", - async run(store, log) { + run(store, log) { for (const value of store) { const contextName = value[0]; // Looping all the keys gives out the store internal stuff too... diff --git a/src/migrations/cluster-store/2.4.1.ts b/src/migrations/cluster-store/2.4.1.ts index 329efc2980..5789f6cc36 100644 --- a/src/migrations/cluster-store/2.4.1.ts +++ b/src/migrations/cluster-store/2.4.1.ts @@ -3,7 +3,7 @@ import { migration } from "../migration-wrapper"; export default migration({ version: "2.4.1", - async run(store, log) { + run(store, log) { for (const value of store) { const contextName = value[0]; if (contextName === "__internal__") continue; diff --git a/src/migrations/cluster-store/2.6.0-beta.2.ts b/src/migrations/cluster-store/2.6.0-beta.2.ts index 2dab757b16..0e13afe7a9 100644 --- a/src/migrations/cluster-store/2.6.0-beta.2.ts +++ b/src/migrations/cluster-store/2.6.0-beta.2.ts @@ -3,7 +3,7 @@ import { migration } from "../migration-wrapper"; export default migration({ version: "2.6.0-beta.2", - async run(store, log) { + run(store, log) { for (const value of store) { const clusterKey = value[0]; if (clusterKey === "__internal__") continue diff --git a/src/migrations/cluster-store/2.6.0-beta.3.ts b/src/migrations/cluster-store/2.6.0-beta.3.ts index cff75137d9..11f1a3bce9 100644 --- a/src/migrations/cluster-store/2.6.0-beta.3.ts +++ b/src/migrations/cluster-store/2.6.0-beta.3.ts @@ -3,7 +3,7 @@ import yaml from "js-yaml" export default migration({ version: "2.6.0-beta.3", - async run(store, log) { + run(store, log) { for (const value of store) { const clusterKey = value[0]; if (clusterKey === "__internal__") continue diff --git a/src/migrations/cluster-store/2.7.0-beta.0.ts b/src/migrations/cluster-store/2.7.0-beta.0.ts index 0d8db256bb..3e0ae9337f 100644 --- a/src/migrations/cluster-store/2.7.0-beta.0.ts +++ b/src/migrations/cluster-store/2.7.0-beta.0.ts @@ -3,7 +3,7 @@ import { migration } from "../migration-wrapper"; export default migration({ version: "2.7.0-beta.0", - async run(store, log) { + run(store, log) { for (const value of store) { const clusterKey = value[0]; if (clusterKey === "__internal__") continue diff --git a/src/migrations/cluster-store/2.7.0-beta.1.ts b/src/migrations/cluster-store/2.7.0-beta.1.ts index 9368201a11..de9e4506d1 100644 --- a/src/migrations/cluster-store/2.7.0-beta.1.ts +++ b/src/migrations/cluster-store/2.7.0-beta.1.ts @@ -4,7 +4,7 @@ import { v4 as uuid } from "uuid" export default migration({ version: "2.7.0-beta.1", - async run(store, log) { + run(store, log) { const clusters: any[] = [] for (const value of store) { const clusterKey = value[0]; diff --git a/src/migrations/cluster-store/3.6.0-beta.1.ts b/src/migrations/cluster-store/3.6.0-beta.1.ts index 378a5aaf51..17cb0fac2d 100644 --- a/src/migrations/cluster-store/3.6.0-beta.1.ts +++ b/src/migrations/cluster-store/3.6.0-beta.1.ts @@ -8,10 +8,11 @@ import fse from "fs-extra" import fileType from "file-type"; import { ClusterModel } from "../../common/cluster-store"; import { loadConfig, saveConfigToAppFiles } from "../../common/kube-helpers"; +import makeSynchronous from "make-synchronous" export default migration({ version: "3.6.0-beta.1", - async run(store, printLog) { + run(store, printLog) { const kubeConfigBase = path.join((app || remote.app).getPath("userData"), "kubeconfigs") const storedClusters: ClusterModel[] = store.get("clusters") || []; @@ -20,7 +21,7 @@ export default migration({ printLog("Number of clusters to migrate: ", storedClusters.length) const migratedClusters = storedClusters - .map(async cluster => { + .map(cluster => { /** * migrate kubeconfig */ @@ -40,8 +41,8 @@ export default migration({ */ try { if (cluster.preferences.icon) { - const fileData = await fse.readFile(cluster.preferences.icon); - const { mime } = await fileType.fromBuffer(fileData); + const fileData = fse.readFileSync(cluster.preferences.icon); + const { mime } = makeSynchronous(() => fileType.fromBuffer(fileData))(); if (!mime) { throw "unknown icon file type, deleting..."; diff --git a/src/migrations/migration-wrapper.ts b/src/migrations/migration-wrapper.ts index 41c95d5359..8ced961e4d 100644 --- a/src/migrations/migration-wrapper.ts +++ b/src/migrations/migration-wrapper.ts @@ -3,7 +3,7 @@ import { isTestEnv } from "../common/vars"; export interface MigrationOpts { version: string; - run(storeConfig: Config, log: (...args: any[]) => void): Promise; + run(storeConfig: Config, log: (...args: any[]) => void): void; } function infoLog(...args: any[]) { @@ -15,7 +15,7 @@ export function migration({ version, run }: MigrationOpts) { return { [version]: async (storeConfig: Config) => { infoLog(`STORE MIGRATION (${storeConfig.path}): ${version}`,); - await run(storeConfig, infoLog); + run(storeConfig, infoLog); } }; } diff --git a/src/migrations/user-store/2.1.0-beta.4.ts b/src/migrations/user-store/2.1.0-beta.4.ts index ce11e0d818..24c4cde5e3 100644 --- a/src/migrations/user-store/2.1.0-beta.4.ts +++ b/src/migrations/user-store/2.1.0-beta.4.ts @@ -3,7 +3,7 @@ import { migration } from "../migration-wrapper"; export default migration({ version: "2.1.0-beta.4", - async run(store) { + run(store) { store.set("lastSeenAppVersion", "0.0.0"); } }) diff --git a/yarn.lock b/yarn.lock index b4a04a92b5..4ca9aa39de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7640,6 +7640,14 @@ make-plural@^6.2.1: resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-6.2.1.tgz#2790af1d05fb2fc35a111ce759ffdb0aca1339a3" integrity sha512-AmkruwJ9EjvyTv6AM8MBMK3TAeOJvhgTv5YQXzF0EP2qawhpvMjDpHvsdOIIT0Vn+BB0+IogmYZ1z+Ulm/m0Fg== +make-synchronous@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/make-synchronous/-/make-synchronous-0.1.0.tgz#d117ef54364130775e900bd52726293cda420c0d" + integrity sha512-KgHpheDCBClcMtPN9EKB+BXyL7cAM8zrRVq8FbJBZzPbXgWlJqRAPMNU6NyJ05kEp4pmMOEgvftK7Jnaxpz2bA== + dependencies: + subsume "^3.0.0" + type-fest "^0.16.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -10685,6 +10693,21 @@ style-loader@^1.2.1: loader-utils "^2.0.0" schema-utils "^2.6.6" +subsume@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/subsume/-/subsume-3.0.0.tgz#22c92730f441ad72ee9af4bdad42dc4ff830cfaf" + integrity sha512-6n/UfV8UWKwJNO8OAOiKntwEMihuBeeoJfzpL542C+OuvT4iWG9SwjrXkOmsxjb4SteHUsos9SvrdqZ9+ICwTQ== + dependencies: + escape-string-regexp "^2.0.0" + unique-string "^2.0.0" + +sumchecker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e" + integrity sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4= + dependencies: + debug "^2.2.0" + sumchecker@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" @@ -11187,6 +11210,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"