mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Stop using source code in build file Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add new injectable version of binaryName Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add new NormalizedPlatform type Signed-off-by: Sebastian Malton <sebastian@malton.name> * Switch legacy execHelm to use legacy global DI for binaryPath Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove dead code Signed-off-by: Sebastian Malton <sebastian@malton.name> * Introduce injectable for kube auth proxy certs Signed-off-by: Sebastian Malton <sebastian@malton.name> * Introduce injectable forms of PrometheusProviders - Remove class requirement - Make everything injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update tests to not use private functions Signed-off-by: Sebastian Malton <sebastian@malton.name> * Cleanup creating binary names and paths Signed-off-by: Sebastian Malton <sebastian@malton.name> Signed-off-by: Sebastian Malton <sebastian@malton.name>
25 lines
993 B
TypeScript
25 lines
993 B
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
|
import joinPathsInjectable from "../path/join-paths.injectable";
|
|
import baseBundledBinariesDirectoryInjectable from "../vars/base-bundled-binaries-dir.injectable";
|
|
import binaryNameInjectable from "./binary-name.injectable";
|
|
|
|
const bundledBinaryPathInjectable = getInjectable({
|
|
id: "bundled-binary-path",
|
|
instantiate: (di, name) => {
|
|
const joinPaths = di.inject(joinPathsInjectable);
|
|
const binaryName = di.inject(binaryNameInjectable, name);
|
|
const baseBundledBinariesDirectory = di.inject(baseBundledBinariesDirectoryInjectable);
|
|
|
|
return joinPaths(baseBundledBinariesDirectory, binaryName);
|
|
},
|
|
lifecycle: lifecycleEnum.keyedSingleton({
|
|
getInstanceKey: (di, binaryName: string) => binaryName,
|
|
}),
|
|
});
|
|
|
|
export default bundledBinaryPathInjectable;
|