From 5aefb707fa3d882098cfad2685ddf31344dd3371 Mon Sep 17 00:00:00 2001 From: Jade <2364004+Blu-J@users.noreply.github.com> Date: Mon, 10 Jun 2024 22:38:12 -0600 Subject: [PATCH] feat: Add the merge to the file. (#2643) * feat: Add the merge to the file. * chore: Fix the early escape --- sdk/lib/util/fileHelper.ts | 7 +++++++ sdk/package-lock.json | 17 +++++++++++++++-- sdk/package.json | 6 ++++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/sdk/lib/util/fileHelper.ts b/sdk/lib/util/fileHelper.ts index 56706f95a..07cfb2c4a 100644 --- a/sdk/lib/util/fileHelper.ts +++ b/sdk/lib/util/fileHelper.ts @@ -1,6 +1,7 @@ import * as matches from "ts-matches" import * as YAML from "yaml" import * as TOML from "@iarna/toml" +import _ from "lodash" import * as T from "../types" import * as fs from "fs" @@ -82,6 +83,12 @@ export class FileHelper { ), ) } + + async merge(data: A, effects: T.Effects) { + const fileData = (await this.read(effects).catch(() => ({}))) || {} + const mergeData = _.merge({}, fileData, data) + return await this.write(mergeData, effects) + } /** * Create a File Helper for an arbitrary file type. * diff --git a/sdk/package-lock.json b/sdk/package-lock.json index f0d61ea4d..0c457540f 100644 --- a/sdk/package-lock.json +++ b/sdk/package-lock.json @@ -1,20 +1,22 @@ { "name": "@start9labs/start-sdk", - "version": "0.4.0-rev0.lib0.rc8.beta10", + "version": "0.3.6-alpha1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@start9labs/start-sdk", - "version": "0.4.0-rev0.lib0.rc8.beta10", + "version": "0.3.6-alpha1", "license": "MIT", "dependencies": { "isomorphic-fetch": "^3.0.0", + "lodash": "4.*.*", "ts-matches": "^5.4.1" }, "devDependencies": { "@iarna/toml": "^2.2.5", "@types/jest": "^29.4.0", + "@types/lodash": "^4.17.5", "jest": "^29.4.3", "prettier": "^3.2.5", "ts-jest": "^29.0.5", @@ -1136,6 +1138,12 @@ "pretty-format": "^29.0.0" } }, + "node_modules/@types/lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==", + "dev": true + }, "node_modules/@types/node": { "version": "18.15.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz", @@ -2841,6 +2849,11 @@ "node": ">=8" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", diff --git a/sdk/package.json b/sdk/package.json index db387c036..53ee291ee 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -31,6 +31,7 @@ "homepage": "https://github.com/Start9Labs/start-sdk#readme", "dependencies": { "isomorphic-fetch": "^3.0.0", + "lodash": "4.*.*", "ts-matches": "^5.4.1" }, "prettier": { @@ -41,13 +42,14 @@ }, "devDependencies": { "@iarna/toml": "^2.2.5", - "yaml": "^2.2.2", "@types/jest": "^29.4.0", + "@types/lodash": "^4.17.5", "jest": "^29.4.3", "prettier": "^3.2.5", "ts-jest": "^29.0.5", "ts-node": "^10.9.1", "tsx": "^4.7.1", - "typescript": "^5.0.4" + "typescript": "^5.0.4", + "yaml": "^2.2.2" } }