mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 12:11:56 +00:00
@@ -4,6 +4,8 @@ Description=StartOS Container Runtime
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/usr/bin/node --experimental-detect-module --unhandled-rejections=warn /usr/lib/startos/init/index.js
|
ExecStart=/usr/bin/node --experimental-detect-module --unhandled-rejections=warn /usr/lib/startos/init/index.js
|
||||||
|
Restart=always
|
||||||
|
RestartSec=3
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
@@ -46,7 +46,7 @@ ExtendedVersion
|
|||||||
}
|
}
|
||||||
|
|
||||||
EmVer
|
EmVer
|
||||||
= major:Digit "." minor:Digit "." patch:Digit ("." revision:Digit)? {
|
= major:Digit "." minor:Digit "." patch:Digit revision:( "." revision:Digit { return revision } )? {
|
||||||
return {
|
return {
|
||||||
flavor: null,
|
flavor: null,
|
||||||
upstream: {
|
upstream: {
|
||||||
|
|||||||
@@ -397,7 +397,10 @@ function peg$parse(input, options) {
|
|||||||
return { flavor: flavor || null, upstream, downstream }
|
return { flavor: flavor || null, upstream, downstream }
|
||||||
};// @ts-ignore
|
};// @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
|
// @ts-ignore
|
||||||
return {
|
return {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -419,16 +422,16 @@ function peg$parse(input, options) {
|
|||||||
}
|
}
|
||||||
};// @ts-ignore
|
};// @ts-ignore
|
||||||
|
|
||||||
var peg$f16 = function(flavor) {// @ts-ignore
|
var peg$f17 = function(flavor) {// @ts-ignore
|
||||||
return flavor };// @ts-ignore
|
return flavor };// @ts-ignore
|
||||||
|
|
||||||
var peg$f17 = function() {// @ts-ignore
|
var peg$f18 = function() {// @ts-ignore
|
||||||
return text() };// @ts-ignore
|
return text() };// @ts-ignore
|
||||||
|
|
||||||
var peg$f18 = function() {// @ts-ignore
|
var peg$f19 = function() {// @ts-ignore
|
||||||
return text(); };// @ts-ignore
|
return text(); };// @ts-ignore
|
||||||
|
|
||||||
var peg$f19 = function(number, prerelease) {
|
var peg$f20 = function(number, prerelease) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
return {
|
return {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -438,22 +441,22 @@ function peg$parse(input, options) {
|
|||||||
};
|
};
|
||||||
};// @ts-ignore
|
};// @ts-ignore
|
||||||
|
|
||||||
var peg$f20 = function(first, rest) {
|
var peg$f21 = function(first, rest) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
return [first].concat(rest.map(r => r[1]));
|
return [first].concat(rest.map(r => r[1]));
|
||||||
};// @ts-ignore
|
};// @ts-ignore
|
||||||
|
|
||||||
var peg$f21 = function(segment) {
|
var peg$f22 = function(segment) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
return segment;
|
return segment;
|
||||||
};// @ts-ignore
|
};// @ts-ignore
|
||||||
|
|
||||||
var peg$f22 = function(first, rest) {
|
var peg$f23 = function(first, rest) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
return [first].concat(rest.map(r => r[1]));
|
return [first].concat(rest.map(r => r[1]));
|
||||||
};// @ts-ignore
|
};// @ts-ignore
|
||||||
|
|
||||||
var peg$f23 = function() {// @ts-ignore
|
var peg$f24 = function() {// @ts-ignore
|
||||||
return parseInt(text(), 10); };
|
return parseInt(text(), 10); };
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
var peg$currPos = 0;
|
var peg$currPos = 0;
|
||||||
@@ -1603,9 +1606,9 @@ peg$parseEmVer() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
if (s8 !== peg$FAILED) {
|
if (s8 !== peg$FAILED) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s7 = [s7, s8];
|
peg$savedPos = s6;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s6 = s7;
|
s6 = peg$f15(s1, s3, s5, s8);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -1628,7 +1631,7 @@ peg$parseEmVer() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = peg$f15(s1, s3, s5);
|
s0 = peg$f16(s1, s3, s5, s6);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -1714,7 +1717,7 @@ peg$parseFlavor() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = peg$f16(s2);
|
s0 = peg$f17(s2);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -1794,7 +1797,7 @@ peg$parseLowercase() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s1 = peg$f17();
|
s1 = peg$f18();
|
||||||
}
|
}
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
@@ -1856,7 +1859,7 @@ peg$parseString() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s1 = peg$f18();
|
s1 = peg$f19();
|
||||||
}
|
}
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
@@ -1887,7 +1890,7 @@ peg$parseVersion() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = peg$f19(s1, s2);
|
s0 = peg$f20(s1, s2);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -2015,7 +2018,7 @@ peg$parsePreRelease() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = peg$f20(s2, s3);
|
s0 = peg$f21(s2, s3);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -2073,7 +2076,7 @@ peg$parsePreReleaseSegment() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = peg$f21(s2);
|
s0 = peg$f22(s2);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -2186,7 +2189,7 @@ peg$parseVersionNumber() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = peg$f22(s1, s2);
|
s0 = peg$f23(s1, s2);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
} else {
|
} else {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -2252,7 +2255,7 @@ peg$parseDigit() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
peg$savedPos = s0;
|
peg$savedPos = s0;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s1 = peg$f23();
|
s1 = peg$f24();
|
||||||
}
|
}
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
@@ -2491,7 +2494,7 @@ export type ExtendedVersion = {
|
|||||||
export type EmVer = {
|
export type EmVer = {
|
||||||
flavor: null;
|
flavor: null;
|
||||||
upstream: { number: [Digit, Digit, Digit]; prerelease: [] };
|
upstream: { number: [Digit, Digit, Digit]; prerelease: [] };
|
||||||
downstream: { number: [any]; prerelease: [] };
|
downstream: { number: [0 | NonNullable<Digit | null>]; prerelease: [] };
|
||||||
};
|
};
|
||||||
export type Flavor = Lowercase_1;
|
export type Flavor = Lowercase_1;
|
||||||
export type Lowercase_1 = string;
|
export type Lowercase_1 = string;
|
||||||
|
|||||||
@@ -263,18 +263,27 @@ export class SubContainer implements ExecSpawnable {
|
|||||||
options || {},
|
options || {},
|
||||||
)
|
)
|
||||||
if (options?.input) {
|
if (options?.input) {
|
||||||
await new Promise<null>((resolve, reject) =>
|
await new Promise<null>((resolve, reject) => {
|
||||||
child.stdin.write(options.input, (e) => {
|
try {
|
||||||
if (e) {
|
child.stdin.write(options.input, (e) => {
|
||||||
reject(e)
|
if (e) {
|
||||||
} else {
|
reject(e)
|
||||||
resolve(null)
|
} else {
|
||||||
}
|
resolve(null)
|
||||||
}),
|
}
|
||||||
)
|
})
|
||||||
await new Promise<null>((resolve) => child.stdin.end(resolve))
|
} catch (e) {
|
||||||
|
reject(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
await new Promise<null>((resolve, reject) => {
|
||||||
|
try {
|
||||||
|
child.stdin.end(resolve)
|
||||||
|
} catch (e) {
|
||||||
|
reject(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const pid = child.pid
|
|
||||||
const stdout = { data: "" as string }
|
const stdout = { data: "" as string }
|
||||||
const stderr = { data: "" as string }
|
const stderr = { data: "" as string }
|
||||||
const appendData =
|
const appendData =
|
||||||
|
|||||||
4
sdk/package/package-lock.json
generated
4
sdk/package/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@start9labs/start-sdk",
|
"name": "@start9labs/start-sdk",
|
||||||
"version": "0.3.6-beta.11",
|
"version": "0.3.6-beta.12",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@start9labs/start-sdk",
|
"name": "@start9labs/start-sdk",
|
||||||
"version": "0.3.6-beta.11",
|
"version": "0.3.6-beta.12",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@iarna/toml": "^2.2.5",
|
"@iarna/toml": "^2.2.5",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@start9labs/start-sdk",
|
"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",
|
"description": "Software development kit to facilitate packaging services for StartOS",
|
||||||
"main": "./package/lib/index.js",
|
"main": "./package/lib/index.js",
|
||||||
"types": "./package/lib/index.d.ts",
|
"types": "./package/lib/index.d.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user