From f55af7da4c27e9bc31bbd7ca170653141a2fa1f7 Mon Sep 17 00:00:00 2001 From: Aiden McClelland <3732071+dr-bonez@users.noreply.github.com> Date: Mon, 24 Feb 2025 13:08:02 -0700 Subject: [PATCH] hotfix for alpha.15 (#2838) * hotfix for alpha.15 * sdk version bump --- container-runtime/container-runtime.service | 2 + sdk/base/lib/exver/exver.pegjs | 2 +- sdk/base/lib/exver/exver.ts | 45 +++++++++++---------- sdk/package/lib/util/SubContainer.ts | 31 +++++++++----- sdk/package/package-lock.json | 4 +- sdk/package/package.json | 2 +- 6 files changed, 50 insertions(+), 36 deletions(-) diff --git a/container-runtime/container-runtime.service b/container-runtime/container-runtime.service index b9d5ec5ae..59a94e43d 100644 --- a/container-runtime/container-runtime.service +++ b/container-runtime/container-runtime.service @@ -4,6 +4,8 @@ Description=StartOS Container Runtime [Service] Type=simple ExecStart=/usr/bin/node --experimental-detect-module --unhandled-rejections=warn /usr/lib/startos/init/index.js +Restart=always +RestartSec=3 [Install] WantedBy=multi-user.target \ No newline at end of file diff --git a/sdk/base/lib/exver/exver.pegjs b/sdk/base/lib/exver/exver.pegjs index 3045b9224..9e96847ab 100644 --- a/sdk/base/lib/exver/exver.pegjs +++ b/sdk/base/lib/exver/exver.pegjs @@ -46,7 +46,7 @@ ExtendedVersion } EmVer - = major:Digit "." minor:Digit "." patch:Digit ("." revision:Digit)? { + = major:Digit "." minor:Digit "." patch:Digit revision:( "." revision:Digit { return revision } )? { return { flavor: null, upstream: { diff --git a/sdk/base/lib/exver/exver.ts b/sdk/base/lib/exver/exver.ts index be9ea3e0e..178430af9 100644 --- a/sdk/base/lib/exver/exver.ts +++ b/sdk/base/lib/exver/exver.ts @@ -397,7 +397,10 @@ function peg$parse(input, options) { return { flavor: flavor || null, upstream, downstream } };// @ts-ignore - var peg$f15 = function(major, minor, patch) { + var peg$f15 = function(major, minor, patch, revision) {// @ts-ignore + return revision };// @ts-ignore + + var peg$f16 = function(major, minor, patch, revision) { // @ts-ignore return { // @ts-ignore @@ -419,16 +422,16 @@ function peg$parse(input, options) { } };// @ts-ignore - var peg$f16 = function(flavor) {// @ts-ignore + var peg$f17 = function(flavor) {// @ts-ignore return flavor };// @ts-ignore - var peg$f17 = function() {// @ts-ignore + var peg$f18 = function() {// @ts-ignore return text() };// @ts-ignore - var peg$f18 = function() {// @ts-ignore + var peg$f19 = function() {// @ts-ignore return text(); };// @ts-ignore - var peg$f19 = function(number, prerelease) { + var peg$f20 = function(number, prerelease) { // @ts-ignore return { // @ts-ignore @@ -438,22 +441,22 @@ function peg$parse(input, options) { }; };// @ts-ignore - var peg$f20 = function(first, rest) { + var peg$f21 = function(first, rest) { // @ts-ignore return [first].concat(rest.map(r => r[1])); };// @ts-ignore - var peg$f21 = function(segment) { + var peg$f22 = function(segment) { // @ts-ignore return segment; };// @ts-ignore - var peg$f22 = function(first, rest) { + var peg$f23 = function(first, rest) { // @ts-ignore return [first].concat(rest.map(r => r[1])); };// @ts-ignore - var peg$f23 = function() {// @ts-ignore + var peg$f24 = function() {// @ts-ignore return parseInt(text(), 10); }; // @ts-ignore var peg$currPos = 0; @@ -1603,9 +1606,9 @@ peg$parseEmVer() { // @ts-ignore if (s8 !== peg$FAILED) { // @ts-ignore - s7 = [s7, s8]; + peg$savedPos = s6; // @ts-ignore - s6 = s7; + s6 = peg$f15(s1, s3, s5, s8); // @ts-ignore } else { // @ts-ignore @@ -1628,7 +1631,7 @@ peg$parseEmVer() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s0 = peg$f15(s1, s3, s5); + s0 = peg$f16(s1, s3, s5, s6); // @ts-ignore } else { // @ts-ignore @@ -1714,7 +1717,7 @@ peg$parseFlavor() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s0 = peg$f16(s2); + s0 = peg$f17(s2); // @ts-ignore } else { // @ts-ignore @@ -1794,7 +1797,7 @@ peg$parseLowercase() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s1 = peg$f17(); + s1 = peg$f18(); } // @ts-ignore s0 = s1; @@ -1856,7 +1859,7 @@ peg$parseString() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s1 = peg$f18(); + s1 = peg$f19(); } // @ts-ignore s0 = s1; @@ -1887,7 +1890,7 @@ peg$parseVersion() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s0 = peg$f19(s1, s2); + s0 = peg$f20(s1, s2); // @ts-ignore } else { // @ts-ignore @@ -2015,7 +2018,7 @@ peg$parsePreRelease() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s0 = peg$f20(s2, s3); + s0 = peg$f21(s2, s3); // @ts-ignore } else { // @ts-ignore @@ -2073,7 +2076,7 @@ peg$parsePreReleaseSegment() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s0 = peg$f21(s2); + s0 = peg$f22(s2); // @ts-ignore } else { // @ts-ignore @@ -2186,7 +2189,7 @@ peg$parseVersionNumber() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s0 = peg$f22(s1, s2); + s0 = peg$f23(s1, s2); // @ts-ignore } else { // @ts-ignore @@ -2252,7 +2255,7 @@ peg$parseDigit() { // @ts-ignore peg$savedPos = s0; // @ts-ignore - s1 = peg$f23(); + s1 = peg$f24(); } // @ts-ignore s0 = s1; @@ -2491,7 +2494,7 @@ export type ExtendedVersion = { export type EmVer = { flavor: null; upstream: { number: [Digit, Digit, Digit]; prerelease: [] }; - downstream: { number: [any]; prerelease: [] }; + downstream: { number: [0 | NonNullable]; prerelease: [] }; }; export type Flavor = Lowercase_1; export type Lowercase_1 = string; diff --git a/sdk/package/lib/util/SubContainer.ts b/sdk/package/lib/util/SubContainer.ts index a8262efc5..2e549600c 100644 --- a/sdk/package/lib/util/SubContainer.ts +++ b/sdk/package/lib/util/SubContainer.ts @@ -263,18 +263,27 @@ export class SubContainer implements ExecSpawnable { options || {}, ) if (options?.input) { - await new Promise((resolve, reject) => - child.stdin.write(options.input, (e) => { - if (e) { - reject(e) - } else { - resolve(null) - } - }), - ) - await new Promise((resolve) => child.stdin.end(resolve)) + await new Promise((resolve, reject) => { + try { + child.stdin.write(options.input, (e) => { + if (e) { + reject(e) + } else { + resolve(null) + } + }) + } catch (e) { + reject(e) + } + }) + await new Promise((resolve, reject) => { + try { + child.stdin.end(resolve) + } catch (e) { + reject(e) + } + }) } - const pid = child.pid const stdout = { data: "" as string } const stderr = { data: "" as string } const appendData = diff --git a/sdk/package/package-lock.json b/sdk/package/package-lock.json index 6e8dbbc03..53cfe1dd3 100644 --- a/sdk/package/package-lock.json +++ b/sdk/package/package-lock.json @@ -1,12 +1,12 @@ { "name": "@start9labs/start-sdk", - "version": "0.3.6-beta.11", + "version": "0.3.6-beta.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@start9labs/start-sdk", - "version": "0.3.6-beta.11", + "version": "0.3.6-beta.12", "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5", diff --git a/sdk/package/package.json b/sdk/package/package.json index 05af0b123..210af3892 100644 --- a/sdk/package/package.json +++ b/sdk/package/package.json @@ -1,6 +1,6 @@ { "name": "@start9labs/start-sdk", - "version": "0.3.6-beta.11", + "version": "0.3.6-beta.12", "description": "Software development kit to facilitate packaging services for StartOS", "main": "./package/lib/index.js", "types": "./package/lib/index.d.ts",