mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* wip: restructure to monorepo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor create-release-pr to a package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * github workflow fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix typo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * add webpack-env types to core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix github workflows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor/fix integration tests Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * lint fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * yarn run dev Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * eslint settings for vscode Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * move templates to right package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * open-lens build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * integration test fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix nx task dependencies Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * use bash shell for unit tests in test workflow Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix test:unit for windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix build:app on windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove ELECTRON_BUILDER_EXTRA_ARGS Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * sync src/ from master Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove Makefile from core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
68 lines
2.3 KiB
TypeScript
68 lines
2.3 KiB
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
import type { DiContainer } from "@ogre-tools/injectable";
|
|
import fsInjectable from "../common/fs/fs.injectable";
|
|
import { createFsFromVolume, Volume } from "memfs";
|
|
import type {
|
|
ensureDirSync as ensureDirSyncImpl,
|
|
readJsonSync as readJsonSyncImpl,
|
|
writeJsonSync as writeJsonSyncImpl,
|
|
} from "fs-extra";
|
|
|
|
export const getOverrideFsWithFakes = () => {
|
|
const root = createFsFromVolume(Volume.fromJSON({}));
|
|
|
|
const readJsonSync = ((file, opts) => {
|
|
const options = typeof opts === "string"
|
|
? {
|
|
encoding: opts,
|
|
}
|
|
: opts;
|
|
const value = root.readFileSync(file, options as any) as string;
|
|
|
|
return JSON.parse(value, options?.reviver);
|
|
}) as typeof readJsonSyncImpl;
|
|
const writeJsonSync = ((file, object, opts) => {
|
|
const options = typeof opts === "string"
|
|
? {
|
|
encoding: opts,
|
|
}
|
|
: opts;
|
|
|
|
root.writeFileSync(file, JSON.stringify(object, options?.replacer, options?.spaces), options as any);
|
|
}) as typeof writeJsonSyncImpl;
|
|
const ensureDirSync = ((path, opts) => {
|
|
const mode = typeof opts === "number"
|
|
? opts
|
|
: opts?.mode;
|
|
|
|
root.mkdirpSync(path, mode);
|
|
}) as typeof ensureDirSyncImpl;
|
|
|
|
return (di: DiContainer) => {
|
|
di.override(fsInjectable, () => ({
|
|
pathExists: async (path) => root.existsSync(path),
|
|
pathExistsSync: root.existsSync,
|
|
readFile: root.promises.readFile as any,
|
|
readFileSync: root.readFileSync as any,
|
|
readJson: async (file, opts) => readJsonSync(file, opts),
|
|
readJsonSync,
|
|
writeFile: root.promises.writeFile as any,
|
|
writeFileSync: root.writeFileSync as any,
|
|
writeJson: async (file, obj, opts) => writeJsonSync(file, obj, opts as any),
|
|
writeJsonSync,
|
|
readdir: root.promises.readdir as any,
|
|
lstat: root.promises.lstat as any,
|
|
rm: root.promises.rm,
|
|
access: root.promises.access,
|
|
copy: async (src, dest) => { throw new Error(`Tried to copy '${src}' to '${dest}'. Copying is not yet supported`); },
|
|
ensureDir: async (path, opts) => ensureDirSync(path, opts),
|
|
ensureDirSync,
|
|
createReadStream: root.createReadStream as any,
|
|
stat: root.promises.stat as any,
|
|
}));
|
|
};
|
|
};
|