mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Replace all uses of getAbsolutePath with joinPaths as it is more correct and less confusing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
2058860412
commit
75eed35f3a
@ -4,16 +4,16 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable";
|
import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import getAbsolutePathInjectable from "../../path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../../path/join-paths.injectable";
|
||||||
|
|
||||||
const directoryForBinariesInjectable = getInjectable({
|
const directoryForBinariesInjectable = getInjectable({
|
||||||
id: "directory-for-binaries",
|
id: "directory-for-binaries",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
||||||
|
|
||||||
return getAbsolutePath(directoryForUserData, "binaries");
|
return joinPaths(directoryForUserData, "binaries");
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -4,19 +4,16 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable";
|
import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import getAbsolutePathInjectable from "../../path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../../path/join-paths.injectable";
|
||||||
|
|
||||||
const directoryForKubeConfigsInjectable = getInjectable({
|
const directoryForKubeConfigsInjectable = getInjectable({
|
||||||
id: "directory-for-kube-configs",
|
id: "directory-for-kube-configs",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
||||||
|
|
||||||
return getAbsolutePath(
|
return joinPaths(directoryForUserData, "kubeconfigs");
|
||||||
directoryForUserData,
|
|
||||||
"kubeconfigs",
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -4,17 +4,16 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import directoryForBinariesInjectable from "../directory-for-binaries/directory-for-binaries.injectable";
|
import directoryForBinariesInjectable from "../directory-for-binaries/directory-for-binaries.injectable";
|
||||||
import getAbsolutePathInjectable from "../../path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../../path/join-paths.injectable";
|
||||||
|
|
||||||
const directoryForKubectlBinariesInjectable = getInjectable({
|
const directoryForKubectlBinariesInjectable = getInjectable({
|
||||||
id: "directory-for-kubectl-binaries",
|
id: "directory-for-kubectl-binaries",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const directoryForBinaries = di.inject(directoryForBinariesInjectable);
|
const directoryForBinaries = di.inject(directoryForBinariesInjectable);
|
||||||
|
|
||||||
|
return joinPaths(directoryForBinaries, "kubectl");
|
||||||
return getAbsolutePath(directoryForBinaries, "kubectl");
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -4,17 +4,16 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import directoryForKubeConfigsInjectable from "../directory-for-kube-configs/directory-for-kube-configs.injectable";
|
import directoryForKubeConfigsInjectable from "../directory-for-kube-configs/directory-for-kube-configs.injectable";
|
||||||
import getAbsolutePathInjectable from "../../path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../../path/join-paths.injectable";
|
||||||
|
|
||||||
const getCustomKubeConfigDirectoryInjectable = getInjectable({
|
const getCustomKubeConfigDirectoryInjectable = getInjectable({
|
||||||
id: "get-custom-kube-config-directory",
|
id: "get-custom-kube-config-directory",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const directoryForKubeConfigs = di.inject(directoryForKubeConfigsInjectable);
|
const directoryForKubeConfigs = di.inject(directoryForKubeConfigsInjectable);
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
|
|
||||||
return (directoryName: string) =>
|
return (directoryName: string) => joinPaths(directoryForKubeConfigs, directoryName);
|
||||||
getAbsolutePath(directoryForKubeConfigs, directoryName);
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -4,16 +4,16 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import getAbsolutePathInjectable from "../path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../path/join-paths.injectable";
|
||||||
|
|
||||||
const directoryForLensLocalStorageInjectable = getInjectable({
|
const directoryForLensLocalStorageInjectable = getInjectable({
|
||||||
id: "directory-for-lens-local-storage",
|
id: "directory-for-lens-local-storage",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
||||||
|
|
||||||
return getAbsolutePath(
|
return joinPaths(
|
||||||
directoryForUserData,
|
directoryForUserData,
|
||||||
"lens-local-storage",
|
"lens-local-storage",
|
||||||
);
|
);
|
||||||
|
|||||||
@ -4,17 +4,17 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import bundledResourcesDirectoryInjectable from "./bundled-resources-dir.injectable";
|
import bundledResourcesDirectoryInjectable from "./bundled-resources-dir.injectable";
|
||||||
import getAbsolutePathInjectable from "../path/get-absolute-path.injectable";
|
|
||||||
import normalizedPlatformArchitectureInjectable from "./normalized-platform-architecture.injectable";
|
import normalizedPlatformArchitectureInjectable from "./normalized-platform-architecture.injectable";
|
||||||
|
import joinPathsInjectable from "../path/join-paths.injectable";
|
||||||
|
|
||||||
const baseBundledBinariesDirectoryInjectable = getInjectable({
|
const baseBundledBinariesDirectoryInjectable = getInjectable({
|
||||||
id: "base-bundled-binaries-directory",
|
id: "base-bundled-binaries-directory",
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const bundledResourcesDirectory = di.inject(bundledResourcesDirectoryInjectable);
|
const bundledResourcesDirectory = di.inject(bundledResourcesDirectoryInjectable);
|
||||||
const normalizedPlatformArchitecture = di.inject(normalizedPlatformArchitectureInjectable);
|
const normalizedPlatformArchitecture = di.inject(normalizedPlatformArchitectureInjectable);
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
|
|
||||||
return getAbsolutePath(
|
return joinPaths(
|
||||||
bundledResourcesDirectory,
|
bundledResourcesDirectory,
|
||||||
normalizedPlatformArchitecture,
|
normalizedPlatformArchitecture,
|
||||||
);
|
);
|
||||||
|
|||||||
@ -5,20 +5,20 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import isProductionInjectable from "./is-production.injectable";
|
import isProductionInjectable from "./is-production.injectable";
|
||||||
import normalizedPlatformInjectable from "./normalized-platform.injectable";
|
import normalizedPlatformInjectable from "./normalized-platform.injectable";
|
||||||
import getAbsolutePathInjectable from "../path/get-absolute-path.injectable";
|
|
||||||
import lensResourcesDirInjectable from "./lens-resources-dir.injectable";
|
import lensResourcesDirInjectable from "./lens-resources-dir.injectable";
|
||||||
|
import joinPathsInjectable from "../path/join-paths.injectable";
|
||||||
|
|
||||||
const bundledResourcesDirectoryInjectable = getInjectable({
|
const bundledResourcesDirectoryInjectable = getInjectable({
|
||||||
id: "bundled-resources-directory",
|
id: "bundled-resources-directory",
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const isProduction = di.inject(isProductionInjectable);
|
const isProduction = di.inject(isProductionInjectable);
|
||||||
const normalizedPlatform = di.inject(normalizedPlatformInjectable);
|
const normalizedPlatform = di.inject(normalizedPlatformInjectable);
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const lensResourcesDir = di.inject(lensResourcesDirInjectable);
|
const lensResourcesDir = di.inject(lensResourcesDirInjectable);
|
||||||
|
|
||||||
return isProduction
|
return isProduction
|
||||||
? lensResourcesDir
|
? lensResourcesDir
|
||||||
: getAbsolutePath(lensResourcesDir, "binaries", "client", normalizedPlatform);
|
: joinPaths(lensResourcesDir, "binaries", "client", normalizedPlatform);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -3,17 +3,17 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import getAbsolutePathInjectable from "../path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../path/join-paths.injectable";
|
||||||
import lensResourcesDirInjectable from "./lens-resources-dir.injectable";
|
import lensResourcesDirInjectable from "./lens-resources-dir.injectable";
|
||||||
|
|
||||||
const staticFilesDirectoryInjectable = getInjectable({
|
const staticFilesDirectoryInjectable = getInjectable({
|
||||||
id: "static-files-directory",
|
id: "static-files-directory",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const lensResourcesDir = di.inject(lensResourcesDirInjectable);
|
const lensResourcesDir = di.inject(lensResourcesDirInjectable);
|
||||||
|
|
||||||
return getAbsolutePath(lensResourcesDir, "static");
|
return joinPaths(lensResourcesDir, "static");
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -4,16 +4,16 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import getAbsolutePathInjectable from "../../../common/path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../../../common/path/join-paths.injectable";
|
||||||
|
|
||||||
const directoryForExtensionDataInjectable = getInjectable({
|
const directoryForExtensionDataInjectable = getInjectable({
|
||||||
id: "directory-for-extension-data",
|
id: "directory-for-extension-data",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
const directoryForUserData = di.inject(directoryForUserDataInjectable);
|
||||||
|
|
||||||
return getAbsolutePath(directoryForUserData, "extension_data");
|
return joinPaths(directoryForUserData, "extension_data");
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -4,21 +4,21 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { getBinaryName } from "../../common/vars";
|
import { getBinaryName } from "../../common/vars";
|
||||||
import getAbsolutePathInjectable from "../../common/path/get-absolute-path.injectable";
|
|
||||||
import normalizedPlatformInjectable from "../../common/vars/normalized-platform.injectable";
|
import normalizedPlatformInjectable from "../../common/vars/normalized-platform.injectable";
|
||||||
import baseBundledBinariesDirectoryInjectable from "../../common/vars/base-bundled-binaries-dir.injectable";
|
import baseBundledBinariesDirectoryInjectable from "../../common/vars/base-bundled-binaries-dir.injectable";
|
||||||
|
import joinPathsInjectable from "../../common/path/join-paths.injectable";
|
||||||
|
|
||||||
const helmBinaryPathInjectable = getInjectable({
|
const helmBinaryPathInjectable = getInjectable({
|
||||||
id: "helm-binary-path",
|
id: "helm-binary-path",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const normalizedPlatform = di.inject(normalizedPlatformInjectable);
|
const normalizedPlatform = di.inject(normalizedPlatformInjectable);
|
||||||
const baseBundledBinariesDirectory = di.inject(baseBundledBinariesDirectoryInjectable);
|
const baseBundledBinariesDirectory = di.inject(baseBundledBinariesDirectoryInjectable);
|
||||||
|
|
||||||
const helmBinaryName = getBinaryName("helm", { forPlatform: normalizedPlatform });
|
const helmBinaryName = getBinaryName("helm", { forPlatform: normalizedPlatform });
|
||||||
|
|
||||||
return getAbsolutePath(baseBundledBinariesDirectory, helmBinaryName);
|
return joinPaths(baseBundledBinariesDirectory, helmBinaryName);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -11,8 +11,6 @@ import path from "path";
|
|||||||
import isDevelopmentInjectable from "../../common/vars/is-development.injectable";
|
import isDevelopmentInjectable from "../../common/vars/is-development.injectable";
|
||||||
import httpProxy from "http-proxy";
|
import httpProxy from "http-proxy";
|
||||||
import readFileBufferInjectable from "../../common/fs/read-file-buffer.injectable";
|
import readFileBufferInjectable from "../../common/fs/read-file-buffer.injectable";
|
||||||
import type { GetAbsolutePath } from "../../common/path/get-absolute-path.injectable";
|
|
||||||
import getAbsolutePathInjectable from "../../common/path/get-absolute-path.injectable";
|
|
||||||
import type { JoinPaths } from "../../common/path/join-paths.injectable";
|
import type { JoinPaths } from "../../common/path/join-paths.injectable";
|
||||||
import joinPathsInjectable from "../../common/path/join-paths.injectable";
|
import joinPathsInjectable from "../../common/path/join-paths.injectable";
|
||||||
import { webpackDevServerPort } from "../../../webpack/vars";
|
import { webpackDevServerPort } from "../../../webpack/vars";
|
||||||
@ -20,11 +18,13 @@ import type { LensApiRequest, RouteResponse } from "../router/route";
|
|||||||
import { route } from "../router/route";
|
import { route } from "../router/route";
|
||||||
import staticFilesDirectoryInjectable from "../../common/vars/static-files-directory.injectable";
|
import staticFilesDirectoryInjectable from "../../common/vars/static-files-directory.injectable";
|
||||||
import appNameInjectable from "../../common/vars/app-name.injectable";
|
import appNameInjectable from "../../common/vars/app-name.injectable";
|
||||||
|
import type { GetAbsolutePath } from "../../common/path/get-absolute-path.injectable";
|
||||||
|
import getAbsolutePathInjectable from "../../common/path/get-absolute-path.injectable";
|
||||||
|
|
||||||
interface ProductionDependencies {
|
interface ProductionDependencies {
|
||||||
readFileBuffer: (path: string) => Promise<Buffer>;
|
readFileBuffer: (path: string) => Promise<Buffer>;
|
||||||
getAbsolutePath: GetAbsolutePath;
|
|
||||||
joinPaths: JoinPaths;
|
joinPaths: JoinPaths;
|
||||||
|
getAbsolutePath: GetAbsolutePath;
|
||||||
staticFilesDirectory: string;
|
staticFilesDirectory: string;
|
||||||
appName: string;
|
appName: string;
|
||||||
}
|
}
|
||||||
@ -98,8 +98,8 @@ const staticFileRouteInjectable = getRouteInjectable({
|
|||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const isDevelopment = di.inject(isDevelopmentInjectable);
|
const isDevelopment = di.inject(isDevelopmentInjectable);
|
||||||
const readFileBuffer = di.inject(readFileBufferInjectable);
|
const readFileBuffer = di.inject(readFileBufferInjectable);
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
|
||||||
const joinPaths = di.inject(joinPathsInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
|
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
||||||
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
||||||
const appName = di.inject(appNameInjectable);
|
const appName = di.inject(appNameInjectable);
|
||||||
|
|
||||||
@ -114,10 +114,10 @@ const staticFileRouteInjectable = getRouteInjectable({
|
|||||||
})
|
})
|
||||||
: handleStaticFileInProduction({
|
: handleStaticFileInProduction({
|
||||||
readFileBuffer,
|
readFileBuffer,
|
||||||
getAbsolutePath,
|
|
||||||
joinPaths,
|
joinPaths,
|
||||||
staticFilesDirectory,
|
staticFilesDirectory,
|
||||||
appName,
|
appName,
|
||||||
|
getAbsolutePath,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import createLensWindowInjectable from "../application-window/create-lens-window.injectable";
|
import createLensWindowInjectable from "../application-window/create-lens-window.injectable";
|
||||||
import staticFilesDirectoryInjectable from "../../../../common/vars/static-files-directory.injectable";
|
import staticFilesDirectoryInjectable from "../../../../common/vars/static-files-directory.injectable";
|
||||||
import getAbsolutePathInjectable from "../../../../common/path/get-absolute-path.injectable";
|
import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
|
||||||
|
|
||||||
const splashWindowInjectable = getInjectable({
|
const splashWindowInjectable = getInjectable({
|
||||||
id: "splash-window",
|
id: "splash-window",
|
||||||
@ -13,8 +13,8 @@ const splashWindowInjectable = getInjectable({
|
|||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const createLensWindow = di.inject(createLensWindowInjectable);
|
const createLensWindow = di.inject(createLensWindowInjectable);
|
||||||
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const splashWindowFile = getAbsolutePath(staticFilesDirectory, "splash.html");
|
const splashWindowFile = joinPaths(staticFilesDirectory, "splash.html");
|
||||||
|
|
||||||
return createLensWindow({
|
return createLensWindow({
|
||||||
id: "splash",
|
id: "splash",
|
||||||
|
|||||||
@ -3,34 +3,33 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import getAbsolutePathInjectable from "../../../common/path/get-absolute-path.injectable";
|
|
||||||
import staticFilesDirectoryInjectable from "../../../common/vars/static-files-directory.injectable";
|
import staticFilesDirectoryInjectable from "../../../common/vars/static-files-directory.injectable";
|
||||||
import isDevelopmentInjectable from "../../../common/vars/is-development.injectable";
|
import isDevelopmentInjectable from "../../../common/vars/is-development.injectable";
|
||||||
import isMacInjectable from "../../../common/vars/is-mac.injectable";
|
import isMacInjectable from "../../../common/vars/is-mac.injectable";
|
||||||
import { camelCase, flow, upperFirst } from "lodash/fp";
|
import { camelCase, flow, upperFirst } from "lodash/fp";
|
||||||
|
import joinPathsInjectable from "../../../common/path/join-paths.injectable";
|
||||||
const upperCamelCase = flow(camelCase, upperFirst);
|
const upperCamelCase = flow(camelCase, upperFirst);
|
||||||
|
|
||||||
const getTrayIconPathInjectable = getInjectable({
|
const getTrayIconPathInjectable = getInjectable({
|
||||||
id: "get-tray-icon-path",
|
id: "get-tray-icon-path",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const getAbsolutePath = di.inject(getAbsolutePathInjectable);
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
||||||
const isDevelopment = di.inject(isDevelopmentInjectable);
|
const isDevelopment = di.inject(isDevelopmentInjectable);
|
||||||
const isMac = di.inject(isMacInjectable);
|
const isMac = di.inject(isMacInjectable);
|
||||||
|
|
||||||
const baseIconDirectory = getAbsolutePath(
|
const baseIconDirectory = joinPaths(
|
||||||
staticFilesDirectory,
|
staticFilesDirectory,
|
||||||
isDevelopment ? "../build/tray" : "icons", // copied within electron-builder extras
|
isDevelopment ? "../build/tray" : "icons", // copied within electron-builder extras
|
||||||
);
|
);
|
||||||
|
|
||||||
const fileSuffix = isMac ? "Template.png" : ".png";
|
const fileSuffix = isMac ? "Template.png" : ".png";
|
||||||
|
|
||||||
return (name: string) =>
|
return (name: string) => joinPaths(
|
||||||
getAbsolutePath(
|
baseIconDirectory,
|
||||||
baseIconDirectory,
|
`trayIcon${upperCamelCase(name)}${fileSuffix}`,
|
||||||
`trayIcon${upperCamelCase(name)}${fileSuffix}`,
|
);
|
||||||
);
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -8,44 +8,29 @@ import { hasCorrectExtension } from "./has-correct-extension";
|
|||||||
import readFileInjectable from "../../../../common/fs/read-file.injectable";
|
import readFileInjectable from "../../../../common/fs/read-file.injectable";
|
||||||
import readDirInjectable from "../../../../common/fs/read-dir.injectable";
|
import readDirInjectable from "../../../../common/fs/read-dir.injectable";
|
||||||
import type { RawTemplates } from "./create-resource-templates.injectable";
|
import type { RawTemplates } from "./create-resource-templates.injectable";
|
||||||
import type { GetAbsolutePath } from "../../../../common/path/get-absolute-path.injectable";
|
|
||||||
import getAbsolutePathInjectable from "../../../../common/path/get-absolute-path.injectable";
|
|
||||||
import staticFilesDirectoryInjectable from "../../../../common/vars/static-files-directory.injectable";
|
import staticFilesDirectoryInjectable from "../../../../common/vars/static-files-directory.injectable";
|
||||||
|
import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
|
||||||
interface Dependencies {
|
|
||||||
readDir: (dirPath: string) => Promise<string[]>;
|
|
||||||
readFile: (filePath: string) => Promise<string>;
|
|
||||||
getAbsolutePath: GetAbsolutePath;
|
|
||||||
staticFilesDirectory: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function getTemplates({ readDir, readFile, getAbsolutePath, staticFilesDirectory }: Dependencies) {
|
|
||||||
const templatesFolder = getAbsolutePath(staticFilesDirectory, "../templates/create-resource");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mapping between file names and their contents
|
|
||||||
*/
|
|
||||||
const templates: [file: string, contents: string][] = [];
|
|
||||||
|
|
||||||
for (const dirEntry of await readDir(templatesFolder)) {
|
|
||||||
if (hasCorrectExtension(dirEntry)) {
|
|
||||||
templates.push([path.parse(dirEntry).name, await readFile(path.join(templatesFolder, dirEntry))]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return templates;
|
|
||||||
}
|
|
||||||
|
|
||||||
const lensCreateResourceTemplatesInjectable = getInjectable({
|
const lensCreateResourceTemplatesInjectable = getInjectable({
|
||||||
id: "lens-create-resource-templates",
|
id: "lens-create-resource-templates",
|
||||||
|
|
||||||
instantiate: async (di): Promise<RawTemplates> => {
|
instantiate: async (di): Promise<RawTemplates> => {
|
||||||
const templates = await getTemplates({
|
const readFile = di.inject(readFileInjectable);
|
||||||
readFile: di.inject(readFileInjectable),
|
const readDir = di.inject(readDirInjectable);
|
||||||
readDir: di.inject(readDirInjectable),
|
const joinPaths = di.inject(joinPathsInjectable);
|
||||||
getAbsolutePath: di.inject(getAbsolutePathInjectable),
|
const staticFilesDirectory = di.inject(staticFilesDirectoryInjectable);
|
||||||
staticFilesDirectory: di.inject(staticFilesDirectoryInjectable),
|
|
||||||
});
|
/**
|
||||||
|
* Mapping between file names and their contents
|
||||||
|
*/
|
||||||
|
const templates: [file: string, contents: string][] = [];
|
||||||
|
const templatesFolder = joinPaths(staticFilesDirectory, "../templates/create-resource");
|
||||||
|
|
||||||
|
for (const dirEntry of await readDir(templatesFolder)) {
|
||||||
|
if (hasCorrectExtension(dirEntry)) {
|
||||||
|
templates.push([path.parse(dirEntry).name, await readFile(path.join(templatesFolder, dirEntry))]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return ["lens", templates];
|
return ["lens", templates];
|
||||||
},
|
},
|
||||||
|
|||||||
@ -9,9 +9,9 @@ import readJsonFileInjectable from "../../../common/fs/read-json-file.injectable
|
|||||||
import writeJsonFileInjectable from "../../../common/fs/write-json-file.injectable";
|
import writeJsonFileInjectable from "../../../common/fs/write-json-file.injectable";
|
||||||
import { observable } from "mobx";
|
import { observable } from "mobx";
|
||||||
import loggerInjectable from "../../../common/logger.injectable";
|
import loggerInjectable from "../../../common/logger.injectable";
|
||||||
import getAbsolutePathInjectable from "../../../common/path/get-absolute-path.injectable";
|
|
||||||
import hostedClusterIdInjectable from "../../cluster-frame-context/hosted-cluster-id.injectable";
|
import hostedClusterIdInjectable from "../../cluster-frame-context/hosted-cluster-id.injectable";
|
||||||
import storageSaveDelayInjectable from "./storage-save-delay.injectable";
|
import storageSaveDelayInjectable from "./storage-save-delay.injectable";
|
||||||
|
import joinPathsInjectable from "../../../common/path/join-paths.injectable";
|
||||||
|
|
||||||
const createStorageInjectable = getInjectable({
|
const createStorageInjectable = getInjectable({
|
||||||
id: "create-storage",
|
id: "create-storage",
|
||||||
@ -26,7 +26,7 @@ const createStorageInjectable = getInjectable({
|
|||||||
writeJsonFile: di.inject(writeJsonFileInjectable),
|
writeJsonFile: di.inject(writeJsonFileInjectable),
|
||||||
logger: di.inject(loggerInjectable),
|
logger: di.inject(loggerInjectable),
|
||||||
directoryForLensLocalStorage: di.inject(directoryForLensLocalStorageInjectable),
|
directoryForLensLocalStorage: di.inject(directoryForLensLocalStorageInjectable),
|
||||||
getAbsolutePath: di.inject(getAbsolutePathInjectable),
|
joinPaths: di.inject(joinPathsInjectable),
|
||||||
hostedClusterId: di.inject(hostedClusterIdInjectable),
|
hostedClusterId: di.inject(hostedClusterIdInjectable),
|
||||||
saveDelay: di.inject(storageSaveDelayInjectable),
|
saveDelay: di.inject(storageSaveDelayInjectable),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -8,10 +8,9 @@
|
|||||||
import { comparer, reaction, toJS, when } from "mobx";
|
import { comparer, reaction, toJS, when } from "mobx";
|
||||||
import type { StorageLayer } from "../storageHelper";
|
import type { StorageLayer } from "../storageHelper";
|
||||||
import { StorageHelper } from "../storageHelper";
|
import { StorageHelper } from "../storageHelper";
|
||||||
import { isTestEnv } from "../../../common/vars";
|
|
||||||
import type { JsonObject, JsonValue } from "type-fest";
|
import type { JsonObject, JsonValue } from "type-fest";
|
||||||
import type { Logger } from "../../../common/logger";
|
import type { Logger } from "../../../common/logger";
|
||||||
import type { GetAbsolutePath } from "../../../common/path/get-absolute-path.injectable";
|
import type { JoinPaths } from "../../../common/path/join-paths.injectable";
|
||||||
|
|
||||||
interface Dependencies {
|
interface Dependencies {
|
||||||
storage: { initialized: boolean; loaded: boolean; data: Record<string, any> };
|
storage: { initialized: boolean; loaded: boolean; data: Record<string, any> };
|
||||||
@ -19,7 +18,7 @@ interface Dependencies {
|
|||||||
directoryForLensLocalStorage: string;
|
directoryForLensLocalStorage: string;
|
||||||
readJsonFile: (filePath: string) => Promise<JsonValue>;
|
readJsonFile: (filePath: string) => Promise<JsonValue>;
|
||||||
writeJsonFile: (filePath: string, contentObject: JsonObject) => Promise<void>;
|
writeJsonFile: (filePath: string, contentObject: JsonObject) => Promise<void>;
|
||||||
getAbsolutePath: GetAbsolutePath;
|
joinPaths: JoinPaths;
|
||||||
hostedClusterId: string | undefined;
|
hostedClusterId: string | undefined;
|
||||||
saveDelay: number;
|
saveDelay: number;
|
||||||
}
|
}
|
||||||
@ -31,7 +30,7 @@ export type CreateStorage = <T>(key: string, defaultValue: T) => StorageLayer<T>
|
|||||||
*/
|
*/
|
||||||
export const createStorage = ({
|
export const createStorage = ({
|
||||||
storage,
|
storage,
|
||||||
getAbsolutePath,
|
joinPaths,
|
||||||
logger,
|
logger,
|
||||||
directoryForLensLocalStorage,
|
directoryForLensLocalStorage,
|
||||||
readJsonFile,
|
readJsonFile,
|
||||||
@ -45,17 +44,14 @@ export const createStorage = ({
|
|||||||
storage.initialized = true;
|
storage.initialized = true;
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const filePath = getAbsolutePath(directoryForLensLocalStorage, `${hostedClusterId || "app"}.json`);
|
const filePath = joinPaths(directoryForLensLocalStorage, `${hostedClusterId || "app"}.json`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
storage.data = (await readJsonFile(filePath)) as JsonObject;
|
storage.data = (await readJsonFile(filePath)) as JsonObject;
|
||||||
} catch {
|
} catch {
|
||||||
// do nothing
|
// do nothing
|
||||||
} finally {
|
} finally {
|
||||||
if (!isTestEnv) {
|
logger.info(`${logPrefix} loading finished for ${filePath}`);
|
||||||
logger.info(`${logPrefix} loading finished for ${filePath}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
storage.loaded = true;
|
storage.loaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user