@start9labs/start-sdk 0.3.6-alpha9 → 0.3.6-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/base/lib/Effects.d.ts +6 -1
  2. package/base/lib/actions/index.d.ts +5 -4
  3. package/base/lib/actions/index.js.map +1 -1
  4. package/base/lib/actions/input/builder/inputSpec.d.ts +4 -0
  5. package/base/lib/actions/input/builder/inputSpec.js +2 -0
  6. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  7. package/base/lib/actions/input/builder/value.d.ts +82 -84
  8. package/base/lib/actions/input/builder/value.js +57 -52
  9. package/base/lib/actions/input/builder/value.js.map +1 -1
  10. package/base/lib/actions/input/builder/variants.d.ts +25 -10
  11. package/base/lib/actions/input/builder/variants.js +2 -3
  12. package/base/lib/actions/input/builder/variants.js.map +1 -1
  13. package/base/lib/actions/input/inputSpecConstants.d.ts +20 -16
  14. package/base/lib/actions/input/inputSpecConstants.js +11 -11
  15. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  16. package/base/lib/actions/input/inputSpecTypes.d.ts +0 -2
  17. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  18. package/base/lib/actions/setupActions.d.ts +11 -9
  19. package/base/lib/actions/setupActions.js +1 -1
  20. package/base/lib/actions/setupActions.js.map +1 -1
  21. package/base/lib/dependencies/setupDependencies.d.ts +18 -11
  22. package/base/lib/dependencies/setupDependencies.js +3 -10
  23. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  24. package/base/lib/osBindings/AcmeSettings.d.ts +11 -0
  25. package/base/lib/osBindings/AcmeSettings.js +4 -0
  26. package/base/lib/osBindings/AcmeSettings.js.map +1 -0
  27. package/base/lib/osBindings/ActionMetadata.d.ts +24 -0
  28. package/base/lib/osBindings/ActionResultMember.d.ts +34 -0
  29. package/base/lib/osBindings/ActionResultMember.js +4 -0
  30. package/base/lib/osBindings/ActionResultMember.js.map +1 -0
  31. package/base/lib/osBindings/ActionResultV1.d.ts +13 -12
  32. package/base/lib/osBindings/ActionResultV1.js +0 -1
  33. package/base/lib/osBindings/ActionResultV1.js.map +1 -1
  34. package/base/lib/osBindings/ActionResultValue.d.ts +26 -0
  35. package/base/lib/osBindings/ActionResultValue.js +3 -0
  36. package/base/lib/osBindings/ActionResultValue.js.map +1 -0
  37. package/base/lib/osBindings/AddCategoryParams.d.ts +6 -0
  38. package/base/lib/osBindings/AddCategoryParams.js +4 -0
  39. package/base/lib/osBindings/AddCategoryParams.js.map +1 -0
  40. package/base/lib/osBindings/BuildArg.d.ts +3 -0
  41. package/base/lib/osBindings/BuildArg.js +4 -0
  42. package/base/lib/osBindings/BuildArg.js.map +1 -0
  43. package/base/lib/osBindings/CliSetIconParams.d.ts +3 -0
  44. package/base/lib/osBindings/CliSetIconParams.js +4 -0
  45. package/base/lib/osBindings/CliSetIconParams.js.map +1 -0
  46. package/base/lib/osBindings/DeviceFilter.d.ts +5 -0
  47. package/base/lib/osBindings/DeviceFilter.js +4 -0
  48. package/base/lib/osBindings/DeviceFilter.js.map +1 -0
  49. package/base/lib/osBindings/EditSignerParams.d.ts +11 -0
  50. package/base/lib/osBindings/EditSignerParams.js +3 -0
  51. package/base/lib/osBindings/EditSignerParams.js.map +1 -0
  52. package/base/lib/osBindings/GetStatusParams.d.ts +6 -0
  53. package/base/lib/osBindings/GetStatusParams.js +3 -0
  54. package/base/lib/osBindings/GetStatusParams.js.map +1 -0
  55. package/base/lib/osBindings/GitHash.d.ts +1 -0
  56. package/base/lib/osBindings/GitHash.js +4 -0
  57. package/base/lib/osBindings/GitHash.js.map +1 -0
  58. package/base/lib/osBindings/HardwareRequirements.d.ts +2 -4
  59. package/base/lib/osBindings/HardwareRequirements.js +0 -1
  60. package/base/lib/osBindings/HardwareRequirements.js.map +1 -1
  61. package/base/lib/osBindings/ImageSource.d.ts +6 -2
  62. package/base/lib/osBindings/ImageSource.js +0 -1
  63. package/base/lib/osBindings/ImageSource.js.map +1 -1
  64. package/base/lib/osBindings/ListPackageSignersParams.d.ts +4 -0
  65. package/base/lib/osBindings/ListPackageSignersParams.js +3 -0
  66. package/base/lib/osBindings/ListPackageSignersParams.js.map +1 -0
  67. package/base/lib/osBindings/LshwDevice.d.ts +7 -0
  68. package/base/lib/osBindings/LshwDevice.js +3 -0
  69. package/base/lib/osBindings/LshwDevice.js.map +1 -0
  70. package/base/lib/osBindings/LshwDisplay.d.ts +3 -0
  71. package/base/lib/osBindings/LshwDisplay.js +4 -0
  72. package/base/lib/osBindings/LshwDisplay.js.map +1 -0
  73. package/base/lib/osBindings/LshwProcessor.d.ts +3 -0
  74. package/base/lib/osBindings/LshwProcessor.js +4 -0
  75. package/base/lib/osBindings/LshwProcessor.js.map +1 -0
  76. package/base/lib/osBindings/NetInfo.d.ts +5 -0
  77. package/base/lib/osBindings/NetInfo.js +4 -0
  78. package/base/lib/osBindings/NetInfo.js.map +1 -0
  79. package/base/lib/osBindings/NetworkInterfaceInfo.d.ts +6 -0
  80. package/base/lib/osBindings/NetworkInterfaceInfo.js +3 -0
  81. package/base/lib/osBindings/NetworkInterfaceInfo.js.map +1 -0
  82. package/base/lib/osBindings/PackageSignerParams.d.ts +6 -0
  83. package/base/lib/osBindings/PackageSignerParams.js +3 -0
  84. package/base/lib/osBindings/PackageSignerParams.js.map +1 -0
  85. package/base/lib/osBindings/RemoveCategoryParams.d.ts +3 -0
  86. package/base/lib/osBindings/RemoveCategoryParams.js +4 -0
  87. package/base/lib/osBindings/RemoveCategoryParams.js.map +1 -0
  88. package/base/lib/osBindings/ServerInfo.d.ts +7 -1
  89. package/base/lib/osBindings/SetIconParams.d.ts +4 -0
  90. package/base/lib/osBindings/SetIconParams.js +3 -0
  91. package/base/lib/osBindings/SetIconParams.js.map +1 -0
  92. package/base/lib/osBindings/SetNameParams.d.ts +3 -0
  93. package/base/lib/osBindings/SetNameParams.js +4 -0
  94. package/base/lib/osBindings/SetNameParams.js.map +1 -0
  95. package/base/lib/osBindings/SetPublicParams.d.ts +4 -0
  96. package/base/lib/osBindings/SetPublicParams.js +4 -0
  97. package/base/lib/osBindings/SetPublicParams.js.map +1 -0
  98. package/base/lib/osBindings/SetupResult.d.ts +1 -0
  99. package/base/lib/osBindings/UnsetPublicParams.d.ts +3 -0
  100. package/base/lib/osBindings/UnsetPublicParams.js +4 -0
  101. package/base/lib/osBindings/UnsetPublicParams.js.map +1 -0
  102. package/base/lib/osBindings/index.d.ts +17 -0
  103. package/base/lib/types/ManifestTypes.d.ts +14 -8
  104. package/base/lib/types.d.ts +3 -2
  105. package/base/lib/types.js.map +1 -1
  106. package/package/lib/StartSdk.d.ts +253 -197
  107. package/package/lib/StartSdk.js +143 -97
  108. package/package/lib/StartSdk.js.map +1 -1
  109. package/package/lib/backup/Backups.d.ts +4 -26
  110. package/package/lib/backup/Backups.js +0 -22
  111. package/package/lib/backup/Backups.js.map +1 -1
  112. package/package/lib/backup/setupBackups.d.ts +2 -2
  113. package/package/lib/health/checkFns/checkPortListening.js +0 -1
  114. package/package/lib/health/checkFns/checkPortListening.js.map +1 -1
  115. package/package/lib/index.d.ts +1 -1
  116. package/package/lib/index.js +2 -1
  117. package/package/lib/index.js.map +1 -1
  118. package/package/lib/inits/setupInit.d.ts +1 -1
  119. package/package/lib/inits/setupInit.js.map +1 -1
  120. package/package/lib/inits/setupInstall.d.ts +4 -4
  121. package/package/lib/inits/setupUninstall.d.ts +4 -4
  122. package/package/lib/mainFn/CommandController.d.ts +3 -3
  123. package/package/lib/mainFn/CommandController.js +6 -0
  124. package/package/lib/mainFn/CommandController.js.map +1 -1
  125. package/package/lib/mainFn/Daemon.d.ts +3 -3
  126. package/package/lib/mainFn/Daemons.d.ts +32 -6
  127. package/package/lib/mainFn/Daemons.js.map +1 -1
  128. package/package/lib/mainFn/Mounts.d.ts +29 -5
  129. package/package/lib/mainFn/Mounts.js +27 -3
  130. package/package/lib/mainFn/Mounts.js.map +1 -1
  131. package/package/lib/mainFn/index.d.ts +1 -1
  132. package/package/lib/manifest/setupManifest.d.ts +7 -3
  133. package/package/lib/manifest/setupManifest.js +23 -7
  134. package/package/lib/manifest/setupManifest.js.map +1 -1
  135. package/package/lib/store/setupExposeStore.js.map +1 -1
  136. package/package/lib/test/inputSpecBuilder.test.js +40 -31
  137. package/package/lib/test/inputSpecBuilder.test.js.map +1 -1
  138. package/package/lib/test/output.d.ts +72 -30
  139. package/package/lib/test/output.js +31 -41
  140. package/package/lib/test/output.js.map +1 -1
  141. package/package/lib/test/output.sdk.d.ts +306 -106
  142. package/package/lib/test/output.sdk.js +10 -10
  143. package/package/lib/test/output.sdk.js.map +1 -1
  144. package/package/lib/test/output.test.js +1 -1
  145. package/package/lib/test/output.test.js.map +1 -1
  146. package/package/lib/trigger/defaultTrigger.js.map +1 -1
  147. package/package/lib/util/SubContainer.d.ts +6 -3
  148. package/package/lib/util/SubContainer.js +7 -14
  149. package/package/lib/util/SubContainer.js.map +1 -1
  150. package/package/lib/util/fileHelper.d.ts +32 -14
  151. package/package/lib/util/fileHelper.js +53 -33
  152. package/package/lib/util/fileHelper.js.map +1 -1
  153. package/package/scripts/oldSpecToBuilder.js +11 -27
  154. package/package/scripts/oldSpecToBuilder.js.map +1 -1
  155. package/package.json +4 -4
@@ -3,16 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdk = void 0;
4
4
  const StartSdk_1 = require("../StartSdk");
5
5
  const setupManifest_1 = require("../manifest/setupManifest");
6
- const VersionInfo_1 = require("../version/VersionInfo");
7
- const VersionGraph_1 = require("../version/VersionGraph");
8
6
  exports.sdk = StartSdk_1.StartSdk.of()
9
- .withManifest((0, setupManifest_1.setupManifest)(VersionGraph_1.VersionGraph.of(VersionInfo_1.VersionInfo.of({
10
- version: "1.0.0:0",
11
- releaseNotes: "",
12
- migrations: {},
13
- })
14
- .satisfies("#other:1.0.0:0")
15
- .satisfies("#other:2.0.0:0")), {
7
+ .withManifest((0, setupManifest_1.setupManifest)({
16
8
  id: "testOutput",
17
9
  title: "",
18
10
  license: "",
@@ -27,7 +19,15 @@ exports.sdk = StartSdk_1.StartSdk.of()
27
19
  long: "",
28
20
  },
29
21
  containers: {},
30
- images: {},
22
+ images: {
23
+ main: {
24
+ source: {
25
+ dockerTag: "start9/hello-world",
26
+ },
27
+ arch: ["aarch64", "x86_64"],
28
+ emulateMissingAs: "aarch64",
29
+ },
30
+ },
31
31
  volumes: [],
32
32
  assets: [],
33
33
  alerts: {
@@ -1 +1 @@
1
- {"version":3,"file":"output.sdk.js","sourceRoot":"","sources":["../../../../package/lib/test/output.sdk.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,6DAAyD;AACzD,wDAAoD;AACpD,0DAAsD;AAGzC,QAAA,GAAG,GAAG,mBAAQ,CAAC,EAAE,EAAE;KAC7B,YAAY,CACX,IAAA,6BAAa,EACX,2BAAY,CAAC,EAAE,CACb,yBAAW,CAAC,EAAE,CAAC;IACb,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAC;KACC,SAAS,CAAC,gBAAgB,CAAC;KAC3B,SAAS,CAAC,gBAAgB,CAAC,CAC/B,EACD;IACE,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT;IACD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX;IACD,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,sCAAsC;SAC7C;KACF;CACF,CACF,CACF;KACA,SAAS,EAAyC;KAClD,KAAK,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"output.sdk.js","sourceRoot":"","sources":["../../../../package/lib/test/output.sdk.ts"],"names":[],"mappings":";;;AACA,0CAAsC;AACtC,6DAAyD;AAI5C,QAAA,GAAG,GAAG,mBAAQ,CAAC,EAAE,EAAE;KAC7B,YAAY,CACX,IAAA,6BAAa,EAAC;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT;IACD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB;aAChC;YACD,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC3B,gBAAgB,EAAE,SAAS;SAC5B;KACF;IACD,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX;IACD,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,sCAAsC;SAC7C;KACF;CACF,CAAC,CACH;KACA,SAAS,EAAyC;KAClD,KAAK,CAAC,IAAI,CAAC,CAAA"}
@@ -70,7 +70,7 @@ describe("Inputs", () => {
70
70
  dbcache: 5,
71
71
  pruning: {
72
72
  selection: "disabled",
73
- value: {},
73
+ value: { disabled: {} },
74
74
  },
75
75
  blockfilters: {
76
76
  blockfilterindex: false,
@@ -1 +1 @@
1
- {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../../package/lib/test/output.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../../package/lib/test/output.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTrigger.js","sourceRoot":"","sources":["../../../../package/lib/trigger/defaultTrigger.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,iEAA6D;AAGhD,QAAA,cAAc,GAAG,IAAA,2CAAoB,EAAC;IACjD,kBAAkB,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC;IACzC,iBAAiB,EAAE,IAAA,iCAAe,EAAC,KAAK,CAAC;CAC1C,CAAC,CAAA"}
1
+ {"version":3,"file":"defaultTrigger.js","sourceRoot":"","sources":["../../../../package/lib/trigger/defaultTrigger.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,iEAA6D;AAEhD,QAAA,cAAc,GAAG,IAAA,2CAAoB,EAAC;IACjD,kBAAkB,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC;IACzC,iBAAiB,EAAE,IAAA,iCAAe,EAAC,KAAK,CAAC;CAC1C,CAAC,CAAA"}
@@ -23,7 +23,7 @@ export type ExecOptions = {
23
23
  export interface ExecSpawnable {
24
24
  get destroy(): undefined | (() => Promise<null>);
25
25
  exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null): Promise<ExecResults>;
26
- spawn(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
26
+ spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
27
27
  }
28
28
  /**
29
29
  * Want to limit what we can do in a container, so we want to launch a container with a specific image and the mounts.
@@ -61,7 +61,7 @@ export declare class SubContainer implements ExecSpawnable {
61
61
  stderr: string | Buffer;
62
62
  }>;
63
63
  launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
64
- spawn(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
64
+ spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
65
65
  }
66
66
  /**
67
67
  * Take an subcontainer but remove the ability to add the mounts and the destroy function.
@@ -73,7 +73,7 @@ export declare class SubContainerHandle implements ExecSpawnable {
73
73
  constructor(subContainer: ExecSpawnable);
74
74
  get destroy(): undefined;
75
75
  exec(command: string[], options?: CommandOptions, timeoutMs?: number | null): Promise<ExecResults>;
76
- spawn(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
76
+ spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
77
77
  }
78
78
  export type CommandOptions = {
79
79
  env?: {
@@ -82,6 +82,9 @@ export type CommandOptions = {
82
82
  cwd?: string;
83
83
  user?: string;
84
84
  };
85
+ export type StdioOptions = {
86
+ stdio?: cp.IOType;
87
+ };
85
88
  export type MountOptions = MountOptionsVolume | MountOptionsAssets | MountOptionsPointer | MountOptionsBackup;
86
89
  export type MountOptionsVolume = {
87
90
  type: "volume";
@@ -30,7 +30,6 @@ const util_1 = require("util");
30
30
  const node_buffer_1 = require("node:buffer");
31
31
  const once_1 = require("../../../base/lib/util/once");
32
32
  exports.execFile = (0, util_1.promisify)(cp.execFile);
33
- const WORKDIR = (imageId) => `/media/startos/images/${imageId}/`;
34
33
  const False = () => false;
35
34
  const TIMES_TO_WAIT_FOR_PROC = 100;
36
35
  /**
@@ -49,7 +48,7 @@ class SubContainer {
49
48
  this.leaderExited = false;
50
49
  this.leader = cp.spawn("start-cli", ["subcontainer", "launch", rootfs], {
51
50
  killSignal: "SIGKILL",
52
- stdio: "ignore",
51
+ stdio: "inherit",
53
52
  });
54
53
  this.leader.on("exit", () => {
55
54
  this.leaderExited = true;
@@ -218,14 +217,8 @@ class SubContainer {
218
217
  const stdout = { data: "" };
219
218
  const stderr = { data: "" };
220
219
  const appendData = (appendTo) => (chunk) => {
221
- if (typeof appendTo.data === "string" && typeof chunk === "string") {
222
- appendTo.data += chunk;
223
- }
224
- else if (typeof chunk === "string" || chunk instanceof node_buffer_1.Buffer) {
225
- appendTo.data = node_buffer_1.Buffer.concat([
226
- new Uint8Array(node_buffer_1.Buffer.from(appendTo.data).buffer),
227
- new Uint8Array(node_buffer_1.Buffer.from(chunk).buffer),
228
- ]);
220
+ if (typeof chunk === "string" || chunk instanceof node_buffer_1.Buffer) {
221
+ appendTo.data += chunk.toString();
229
222
  }
230
223
  else {
231
224
  console.error("received unexpected chunk", chunk);
@@ -284,7 +277,7 @@ class SubContainer {
284
277
  });
285
278
  return this.leader;
286
279
  }
287
- async spawn(command, options) {
280
+ async spawn(command, options = { stdio: "inherit" }) {
288
281
  await this.waitProc();
289
282
  const imageMeta = await fs
290
283
  .readFile(`/media/startos/images/${this.imageId}.json`, {
@@ -293,12 +286,12 @@ class SubContainer {
293
286
  .catch(() => "{}")
294
287
  .then(JSON.parse);
295
288
  let extra = [];
296
- if (options === null || options === void 0 ? void 0 : options.user) {
289
+ if (options.user) {
297
290
  extra.push(`--user=${options.user}`);
298
291
  delete options.user;
299
292
  }
300
293
  let workdir = imageMeta.workdir || "/";
301
- if (options === null || options === void 0 ? void 0 : options.cwd) {
294
+ if (options.cwd) {
302
295
  workdir = options.cwd;
303
296
  delete options.cwd;
304
297
  }
@@ -329,7 +322,7 @@ class SubContainerHandle {
329
322
  exec(command, options, timeoutMs) {
330
323
  return this.subContainer.exec(command, options, timeoutMs);
331
324
  }
332
- spawn(command, options) {
325
+ spawn(command, options = { stdio: "inherit" }) {
333
326
  return this.subContainer.spawn(command, options);
334
327
  }
335
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubContainer.js","sourceRoot":"","sources":["../../../../package/lib/util/SubContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubContainer.js","sourceRoot":"","sources":["../../../../package/lib/util/SubContainer.ts"],"names":[],"mappings":"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"}
@@ -3,27 +3,34 @@ import * as T from "../../../base/lib/types";
3
3
  /**
4
4
  * @description Use this class to read/write an underlying configuration file belonging to the upstream service.
5
5
  *
6
- * Using the static functions, choose between officially supported file formats (json, yaml, toml), or a custom format (raw).
6
+ * These type definitions should reflect the underlying file as closely as possible. For example, if the service does not require a particular value, it should be marked as optional(), even if your package requires it.
7
+ *
8
+ * It is recommended to use onMismatch() whenever possible. This provides an escape hatch in case the user edits the file manually and accidentally sets a value to an unsupported type.
9
+ *
10
+ * Officially supported file types are json, yaml, and toml. Other files types can use "raw"
11
+ *
12
+ * Choose between officially supported file formats (), or a custom format (raw).
13
+ *
7
14
  * @example
8
15
  * Below are a few examples
9
16
  *
10
17
  * ```
11
18
  * import { matches, FileHelper } from '@start9labs/start-sdk'
12
- * const { arrayOf, boolean, literal, literals, object, oneOf, natural, string } = matches
19
+ * const { arrayOf, boolean, literal, literals, object, natural, string } = matches
13
20
  *
14
21
  * export const jsonFile = FileHelper.json('./inputSpec.json', object({
15
- * passwords: arrayOf(string)
16
- * type: oneOf(literals('private', 'public'))
22
+ * passwords: arrayOf(string).onMismatch([])
23
+ * type: literals('private', 'public').optional().onMismatch(undefined)
17
24
  * }))
18
25
  *
19
26
  * export const tomlFile = FileHelper.toml('./inputSpec.toml', object({
20
- * url: literal('https://start9.com')
21
- * public: boolean
27
+ * url: literal('https://start9.com').onMismatch('https://start9.com')
28
+ * public: boolean.onMismatch(true)
22
29
  * }))
23
30
  *
24
31
  * export const yamlFile = FileHelper.yaml('./inputSpec.yml', object({
25
- * name: string
26
- * age: natural
32
+ * name: string.optional().onMismatch(undefined)
33
+ * age: natural.optional().onMismatch(undefined)
27
34
  * }))
28
35
  *
29
36
  * export const bitcoinConfFile = FileHelper.raw(
@@ -36,12 +43,14 @@ import * as T from "../../../base/lib/types";
36
43
  export declare class FileHelper<A> {
37
44
  readonly path: string;
38
45
  readonly writeData: (dataIn: A) => string;
39
- readonly readData: (stringValue: string) => A;
40
- protected constructor(path: string, writeData: (dataIn: A) => string, readData: (stringValue: string) => A);
46
+ readonly readData: (stringValue: string) => unknown;
47
+ readonly validate: (value: unknown) => A;
48
+ protected constructor(path: string, writeData: (dataIn: A) => string, readData: (stringValue: string) => unknown, validate: (value: unknown) => A);
41
49
  /**
42
50
  * Accepts structured data and overwrites the existing file on disk.
43
51
  */
44
- write(data: A): Promise<null>;
52
+ private writeFile;
53
+ private readFile;
45
54
  /**
46
55
  * Reads the file from disk and converts it to structured data.
47
56
  */
@@ -54,15 +63,24 @@ export declare class FileHelper<A> {
54
63
  watch: () => AsyncGenerator<Awaited<A> | null, null, unknown>;
55
64
  };
56
65
  /**
57
- * Accepts structured data and performs a merge with the existing file on disk.
66
+ * Accepts full structured data and performs a merge with the existing file on disk if it exists.
67
+ */
68
+ write(data: A): Promise<null>;
69
+ /**
70
+ * Accepts partial structured data and performs a merge with the existing file on disk.
71
+ */
72
+ merge(data: T.DeepPartial<A>): Promise<null>;
73
+ /**
74
+ * We wanted to be able to have a fileHelper, and just modify the path later in time.
75
+ * Like one behavior of another dependency or something similar.
58
76
  */
59
- merge(data: A): Promise<null>;
77
+ withPath(path: string): FileHelper<A>;
60
78
  /**
61
79
  * Create a File Helper for an arbitrary file type.
62
80
  *
63
81
  * Provide custom functions for translating data to/from the file format.
64
82
  */
65
- static raw<A>(path: string, toFile: (dataIn: A) => string, fromFile: (rawData: string) => A): FileHelper<A>;
83
+ static raw<A>(path: string, toFile: (dataIn: A) => string, fromFile: (rawData: string) => unknown, validate: (data: unknown) => A): FileHelper<A>;
66
84
  /**
67
85
  * Create a File Helper for a .json file.
68
86
  */
@@ -62,27 +62,34 @@ async function onCreated(path) {
62
62
  /**
63
63
  * @description Use this class to read/write an underlying configuration file belonging to the upstream service.
64
64
  *
65
- * Using the static functions, choose between officially supported file formats (json, yaml, toml), or a custom format (raw).
65
+ * These type definitions should reflect the underlying file as closely as possible. For example, if the service does not require a particular value, it should be marked as optional(), even if your package requires it.
66
+ *
67
+ * It is recommended to use onMismatch() whenever possible. This provides an escape hatch in case the user edits the file manually and accidentally sets a value to an unsupported type.
68
+ *
69
+ * Officially supported file types are json, yaml, and toml. Other files types can use "raw"
70
+ *
71
+ * Choose between officially supported file formats (), or a custom format (raw).
72
+ *
66
73
  * @example
67
74
  * Below are a few examples
68
75
  *
69
76
  * ```
70
77
  * import { matches, FileHelper } from '@start9labs/start-sdk'
71
- * const { arrayOf, boolean, literal, literals, object, oneOf, natural, string } = matches
78
+ * const { arrayOf, boolean, literal, literals, object, natural, string } = matches
72
79
  *
73
80
  * export const jsonFile = FileHelper.json('./inputSpec.json', object({
74
- * passwords: arrayOf(string)
75
- * type: oneOf(literals('private', 'public'))
81
+ * passwords: arrayOf(string).onMismatch([])
82
+ * type: literals('private', 'public').optional().onMismatch(undefined)
76
83
  * }))
77
84
  *
78
85
  * export const tomlFile = FileHelper.toml('./inputSpec.toml', object({
79
- * url: literal('https://start9.com')
80
- * public: boolean
86
+ * url: literal('https://start9.com').onMismatch('https://start9.com')
87
+ * public: boolean.onMismatch(true)
81
88
  * }))
82
89
  *
83
90
  * export const yamlFile = FileHelper.yaml('./inputSpec.yml', object({
84
- * name: string
85
- * age: natural
91
+ * name: string.optional().onMismatch(undefined)
92
+ * age: natural.optional().onMismatch(undefined)
86
93
  * }))
87
94
  *
88
95
  * export const bitcoinConfFile = FileHelper.raw(
@@ -93,15 +100,16 @@ async function onCreated(path) {
93
100
  * ```
94
101
  */
95
102
  class FileHelper {
96
- constructor(path, writeData, readData) {
103
+ constructor(path, writeData, readData, validate) {
97
104
  this.path = path;
98
105
  this.writeData = writeData;
99
106
  this.readData = readData;
107
+ this.validate = validate;
100
108
  }
101
109
  /**
102
110
  * Accepts structured data and overwrites the existing file on disk.
103
111
  */
104
- async write(data) {
112
+ async writeFile(data) {
105
113
  const parent = previousPath.exec(this.path);
106
114
  if (parent) {
107
115
  await fs.mkdir(parent[1], { recursive: true });
@@ -109,14 +117,20 @@ class FileHelper {
109
117
  await fs.writeFile(this.path, this.writeData(data));
110
118
  return null;
111
119
  }
120
+ async readFile() {
121
+ if (!(await exists(this.path))) {
122
+ return null;
123
+ }
124
+ return this.readData(await fs.readFile(this.path).then((data) => data.toString("utf-8")));
125
+ }
112
126
  /**
113
127
  * Reads the file from disk and converts it to structured data.
114
128
  */
115
129
  async readOnce() {
116
- if (!(await exists(this.path))) {
130
+ const data = await this.readFile();
131
+ if (!data)
117
132
  return null;
118
- }
119
- return this.readData(await fs.readFile(this.path).then((data) => data.toString("utf-8")));
133
+ return this.validate(data);
120
134
  }
121
135
  async readConst(effects) {
122
136
  const watch = this.readWatch();
@@ -160,50 +174,56 @@ class FileHelper {
160
174
  };
161
175
  }
162
176
  /**
163
- * Accepts structured data and performs a merge with the existing file on disk.
177
+ * Accepts full structured data and performs a merge with the existing file on disk if it exists.
178
+ */
179
+ async write(data) {
180
+ const fileData = (await this.readFile()) || {};
181
+ const mergeData = (0, lodash_merge_1.default)({}, fileData, data);
182
+ return await this.writeFile(this.validate(mergeData));
183
+ }
184
+ /**
185
+ * Accepts partial structured data and performs a merge with the existing file on disk.
164
186
  */
165
187
  async merge(data) {
166
- const fileData = (await this.readOnce().catch(() => ({}))) || {};
188
+ const fileData = (await this.readFile()) ||
189
+ (() => {
190
+ throw new Error(`${this.path}: does not exist`);
191
+ })();
167
192
  const mergeData = (0, lodash_merge_1.default)({}, fileData, data);
168
- return await this.write(mergeData);
193
+ return await this.writeFile(this.validate(mergeData));
194
+ }
195
+ /**
196
+ * We wanted to be able to have a fileHelper, and just modify the path later in time.
197
+ * Like one behavior of another dependency or something similar.
198
+ */
199
+ withPath(path) {
200
+ return new FileHelper(path, this.writeData, this.readData, this.validate);
169
201
  }
170
202
  /**
171
203
  * Create a File Helper for an arbitrary file type.
172
204
  *
173
205
  * Provide custom functions for translating data to/from the file format.
174
206
  */
175
- static raw(path, toFile, fromFile) {
176
- return new FileHelper(path, toFile, fromFile);
207
+ static raw(path, toFile, fromFile, validate) {
208
+ return new FileHelper(path, toFile, fromFile, validate);
177
209
  }
178
210
  /**
179
211
  * Create a File Helper for a .json file.
180
212
  */
181
213
  static json(path, shape) {
182
- return new FileHelper(path, (inData) => {
183
- return JSON.stringify(inData, null, 2);
184
- }, (inString) => {
185
- return shape.unsafeCast(JSON.parse(inString));
186
- });
214
+ return new FileHelper(path, (inData) => JSON.stringify(inData, null, 2), (inString) => JSON.parse(inString), (data) => shape.unsafeCast(data));
187
215
  }
188
216
  /**
189
217
  * Create a File Helper for a .toml file
190
218
  */
191
219
  static toml(path, shape) {
192
- return new FileHelper(path, (inData) => {
193
- return TOML.stringify(inData);
194
- }, (inString) => {
195
- return shape.unsafeCast(TOML.parse(inString));
196
- });
220
+ return new FileHelper(path, (inData) => TOML.stringify(inData), (inString) => TOML.parse(inString), (data) => shape.unsafeCast(data));
197
221
  }
198
222
  /**
199
223
  * Create a File Helper for a .yaml file
200
224
  */
201
225
  static yaml(path, shape) {
202
- return new FileHelper(path, (inData) => {
203
- return YAML.stringify(inData, null, 2);
204
- }, (inString) => {
205
- return shape.unsafeCast(YAML.parse(inString));
206
- });
226
+ return new FileHelper(path, (inData) => YAML.stringify(inData, null, 2), (inString) => YAML.parse(inString), (data) => shape.unsafeCast(data));
207
227
  }
208
228
  }
209
229
  exports.FileHelper = FileHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"fileHelper.js","sourceRoot":"","sources":["../../../../package/lib/util/fileHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileHelper.js","sourceRoot":"","sources":["../../../../package/lib/util/fileHelper.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,7 @@ const {InputSpec, List, Value, Variants} = sdk
86
86
  description: value.description || null,
87
87
  warning: value.warning || null,
88
88
  required: !(value.nullable || false),
89
+ default: value.default,
89
90
  placeholder: value.placeholder || null,
90
91
  maxLength: null,
91
92
  minLength: null,
@@ -93,10 +94,8 @@ const {InputSpec, List, Value, Variants} = sdk
93
94
  }
94
95
  return `${rangeToTodoComment(value === null || value === void 0 ? void 0 : value.range)}Value.text(${JSON.stringify({
95
96
  name: value.name || null,
96
- // prettier-ignore
97
- required: (value.default != null ? { default: value.default } :
98
- value.nullable === false ? { default: null } :
99
- !value.nullable),
97
+ default: value.default || null,
98
+ required: !value.nullable,
100
99
  description: value.description || null,
101
100
  warning: value.warning || null,
102
101
  masked: value.masked || false,
@@ -119,10 +118,8 @@ const {InputSpec, List, Value, Variants} = sdk
119
118
  name: value.name || null,
120
119
  description: value.description || null,
121
120
  warning: value.warning || null,
122
- // prettier-ignore
123
- required: (value.default != null ? { default: value.default } :
124
- value.nullable === false ? { default: null } :
125
- !value.nullable),
121
+ default: value.default || null,
122
+ required: !value.nullable,
126
123
  min: null,
127
124
  max: null,
128
125
  step: null,
@@ -151,10 +148,7 @@ const {InputSpec, List, Value, Variants} = sdk
151
148
  name: value.name || null,
152
149
  description: value.description || null,
153
150
  warning: value.warning || null,
154
- // prettier-ignore
155
- required: (value.default != null ? { default: value.default } :
156
- value.nullable === false ? { default: null } :
157
- !value.nullable),
151
+ default: value.default,
158
152
  values,
159
153
  }, null, 2)} as const)`;
160
154
  }
@@ -171,13 +165,7 @@ const {InputSpec, List, Value, Variants} = sdk
171
165
  name: ${JSON.stringify(value.name || null)},
172
166
  description: ${JSON.stringify(value.tag.description || null)},
173
167
  warning: ${JSON.stringify(value.tag.warning || null)},
174
-
175
- // prettier-ignore
176
- required: ${JSON.stringify(
177
- // prettier-ignore
178
- value.default != null ? { default: value.default } :
179
- value.nullable === false ? { default: null } :
180
- !value.nullable)},
168
+ default: ${JSON.stringify(value.default)},
181
169
  }, ${variants})`;
182
170
  }
183
171
  case "list": {
@@ -215,7 +203,7 @@ const {InputSpec, List, Value, Variants} = sdk
215
203
  throw Error(`Unknown type "${value.type}"`);
216
204
  }
217
205
  function convertList(value) {
218
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
206
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
219
207
  switch (value.subtype) {
220
208
  case "string": {
221
209
  return `${rangeToTodoComment(value === null || value === void 0 ? void 0 : value.range)}List.text(${JSON.stringify({
@@ -284,11 +272,7 @@ const {InputSpec, List, Value, Variants} = sdk
284
272
  name: ${JSON.stringify(((_h = (_g = value === null || value === void 0 ? void 0 : value.spec) === null || _g === void 0 ? void 0 : _g.tag) === null || _h === void 0 ? void 0 : _h.name) || null)},
285
273
  description: ${JSON.stringify(((_k = (_j = value === null || value === void 0 ? void 0 : value.spec) === null || _j === void 0 ? void 0 : _j.tag) === null || _k === void 0 ? void 0 : _k.description) || null)},
286
274
  warning: ${JSON.stringify(((_m = (_l = value === null || value === void 0 ? void 0 : value.spec) === null || _l === void 0 ? void 0 : _l.tag) === null || _m === void 0 ? void 0 : _m.warning) || null)},
287
- required: ${JSON.stringify(
288
- // prettier-ignore
289
- 'default' in (value === null || value === void 0 ? void 0 : value.spec) ? { default: (_o = value === null || value === void 0 ? void 0 : value.spec) === null || _o === void 0 ? void 0 : _o.default } :
290
- !!((_q = (_p = value === null || value === void 0 ? void 0 : value.spec) === null || _p === void 0 ? void 0 : _p.tag) === null || _q === void 0 ? void 0 : _q.nullable) || false ? { default: null } :
291
- false)},
275
+ default: ${JSON.stringify(((_o = value === null || value === void 0 ? void 0 : value.spec) === null || _o === void 0 ? void 0 : _o.default) || null)},
292
276
  }, ${variants})
293
277
  `);
294
278
  const listInputSpec = maybeNewConst(value.name + "_list_inputSpec", `
@@ -305,8 +289,8 @@ const {InputSpec, List, Value, Variants} = sdk
305
289
  warning: ${JSON.stringify(value.warning || null)},
306
290
  }, {
307
291
  spec: ${listInputSpec},
308
- displayAs: ${JSON.stringify(((_r = value === null || value === void 0 ? void 0 : value.spec) === null || _r === void 0 ? void 0 : _r["display-as"]) || null)},
309
- uniqueBy: ${JSON.stringify(((_s = value === null || value === void 0 ? void 0 : value.spec) === null || _s === void 0 ? void 0 : _s["unique-by"]) || null)},
292
+ displayAs: ${JSON.stringify(((_p = value === null || value === void 0 ? void 0 : value.spec) === null || _p === void 0 ? void 0 : _p["display-as"]) || null)},
293
+ uniqueBy: ${JSON.stringify(((_q = value === null || value === void 0 ? void 0 : value.spec) === null || _q === void 0 ? void 0 : _q["unique-by"]) || null)},
310
294
  })`;
311
295
  }
312
296
  }