fix: windows sync

This commit is contained in:
lencx
2022-12-25 08:53:58 +08:00
parent e2319f2fda
commit 252b0f3e15
5 changed files with 19 additions and 12 deletions

12
src/utils.ts vendored
View File

@@ -28,7 +28,11 @@ type readJSONOpts = { defaultVal?: Record<string, any>, isRoot?: boolean, isList
export const readJSON = async (path: string, opts: readJSONOpts = {}) => {
const { defaultVal = {}, isRoot = false, isList = false } = opts;
const root = await chatRoot();
const file = await join(isRoot ? '' : root, path);
let file = path;
if (!isRoot) {
file = await join(root, path);
}
if (!await exists(file)) {
if (await dirname(file) !== root) {
@@ -52,7 +56,11 @@ type writeJSONOpts = { dir?: string, isRoot?: boolean };
export const writeJSON = async (path: string, data: Record<string, any>, opts: writeJSONOpts = {}) => {
const { isRoot = false } = opts;
const root = await chatRoot();
const file = await join(isRoot ? '' : root, path);
let file = path;
if (!isRoot) {
file = await join(root, path);
}
if (isRoot && !await exists(await dirname(file))) {
await createDir(await dirname(file), { recursive: true });