diff --git a/lib/config/setupConfigExports.ts b/lib/config/setupConfigExports.ts
index 1f0f926..a1c25f0 100644
--- a/lib/config/setupConfigExports.ts
+++ b/lib/config/setupConfigExports.ts
@@ -22,11 +22,17 @@ export function setupConfigExports(options: {
write(options: {
effects: Effects;
input: TypeFromProps;
- }): Promise<{ config?: ConfigType; dependencies?: Dependencies }>;
+ }): Promise;
read(options: {
effects: Effects;
config: ConfigType;
}): Promise>>;
+
+ dependencies(options: {
+ effects: Effects;
+ input: TypeFromProps;
+ config: ConfigType;
+ }): Promise;
}) {
const validator = options.spec.validator();
return {
@@ -35,9 +41,13 @@ export function setupConfigExports(options: {
await effects.error(String(validator.errorMessage(input)));
return { error: "Set config type error for config" };
}
- const { config, dependencies } = await options.write({ input, effects });
-
- await effects.setDependencies(dependencies || []);
+ const config = await options.write({
+ input: JSON.parse(JSON.stringify(input)),
+ effects,
+ });
+ const dependencies =
+ (await options.dependencies({ effects, input, config })) || [];
+ await effects.setDependencies(dependencies);
await effects.setWrapperData({ path: "config", value: config || null });
}) as ExpectedExports.setConfig,
getConfig: (async ({ effects, config }) => {
diff --git a/package-lock.json b/package-lock.json
index 897203f..17616da 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "start-sdk",
- "version": "0.4.0-lib0.charlie25",
+ "version": "0.4.0-lib0.charlie26",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "start-sdk",
- "version": "0.4.0-lib0.charlie25",
+ "version": "0.4.0-lib0.charlie26",
"license": "MIT",
"dependencies": {
"@iarna/toml": "^2.2.5",
diff --git a/package.json b/package.json
index 537b938..3ab5382 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "start-sdk",
- "version": "0.4.0-lib0.charlie25",
+ "version": "0.4.0-lib0.charlie26",
"description": "For making the patterns that are wanted in making services for the startOS.",
"main": "./lib/index.js",
"types": "./lib/index.d.ts",