pareto-resource-execute-unrestricted 0.1.2
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.
- package/dist/__internal/terminal_output.d.ts +3 -0
- package/dist/__internal/terminal_output.js +8 -0
- package/dist/commands/command_executable.d.ts +7 -0
- package/dist/commands/command_executable.js +43 -0
- package/dist/commands/smelly_command_executable.d.ts +7 -0
- package/dist/commands/smelly_command_executable.js +49 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +15 -0
- package/dist/queries/query_executable.d.ts +7 -0
- package/dist/queries/query_executable.js +59 -0
- package/package.json +39 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as p_a from 'pareto-core/implementation/refiner';
|
|
2
|
+
import * as p_ti from 'pareto-core/interface/transformer';
|
|
3
|
+
import * as d_terminal_output from "pareto-resources/interface/generated/liana/schemas/terminal_output/data";
|
|
4
|
+
export const Message = ($) => ({
|
|
5
|
+
'raw': $,
|
|
6
|
+
'lines': p_a.literal.list($.split("\n")),
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWxfb3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL19faW50ZXJuYWwvdGVybWluYWxfb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sb0NBQW9DLENBQUE7QUFDekQsT0FBTyxLQUFLLElBQUksTUFBTSxtQ0FBbUMsQ0FBQTtBQUV6RCxPQUFPLEtBQUssaUJBQWlCLE1BQU0seUVBQXlFLENBQUE7QUFFNUcsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUF3RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRixLQUFLLEVBQUUsQ0FBQztJQUNSLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQzNDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* The executable being executed is assumed to only cause side effects
|
|
5
|
+
* and not return any meaningful data, std::out is therefor ignored
|
|
6
|
+
*/
|
|
7
|
+
export declare const $$: resources.execute_unrestricted.commands.command_executable;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import * as p_c from 'pareto-core/implementation/command';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { spawn } from "node:child_process";
|
|
7
|
+
import * as t_text_to_terminal_output from "../__internal/terminal_output.js";
|
|
8
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* The executable being executed is assumed to only cause side effects
|
|
12
|
+
* and not return any meaningful data, std::out is therefor ignored
|
|
13
|
+
*/
|
|
14
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
15
|
+
const wd_raw = $p['working directory'].__get_raw();
|
|
16
|
+
const child = spawn($p.program, $p.args.__get_raw(), {
|
|
17
|
+
'cwd': wd_raw === null
|
|
18
|
+
? undefined
|
|
19
|
+
: t_path_to_text.Context_Path(wd_raw[0]),
|
|
20
|
+
'shell': false,
|
|
21
|
+
});
|
|
22
|
+
let stderrData = "";
|
|
23
|
+
child.stderr.on("data", chunk => {
|
|
24
|
+
stderrData += chunk.toString("utf8");
|
|
25
|
+
});
|
|
26
|
+
child.on("error", err => {
|
|
27
|
+
on_error(['failed to spawn', { message: t_text_to_terminal_output.Message(err.message) }]);
|
|
28
|
+
});
|
|
29
|
+
child.on("close", exitCode => {
|
|
30
|
+
if (exitCode === 0) {
|
|
31
|
+
on_success();
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
on_error(['non zero exit code', {
|
|
35
|
+
'exit code': exitCode === null
|
|
36
|
+
? p_c.literal.not_set()
|
|
37
|
+
: p_c.literal.set(exitCode),
|
|
38
|
+
'stderr': t_text_to_terminal_output.Message(stderrData),
|
|
39
|
+
}]);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZF9leGVjdXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2NvbW1hbmRfZXhlY3V0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pELE9BQU8sS0FBSyxHQUFHLE1BQU0sb0NBQW9DLENBQUE7QUFFekQsV0FBVztBQUNYLE9BQU8sS0FBSyxTQUFTLE1BQU0sc0NBQXNDLENBQUE7QUFFakUsY0FBYztBQUNkLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUsseUJBQXlCLE1BQU0sa0NBQWtDLENBQUE7QUFDN0UsT0FBTyxLQUFLLGNBQWMsTUFBTSw0RUFBNEUsQ0FBQTtBQUU1Rzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUErRCxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUVsSCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUVsRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQ2YsRUFBRSxDQUFDLE9BQU8sRUFDVixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUNuQjtRQUNJLEtBQUssRUFBRSxNQUFNLEtBQUssSUFBSTtZQUNsQixDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxPQUFPLEVBQUUsS0FBSztLQUNqQixDQUNKLENBQUE7SUFFRCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFFbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQzVCLFVBQVUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDcEIsUUFBUSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxPQUFPLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM5RixDQUFDLENBQUMsQ0FBQTtJQUVGLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQ3pCLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLFVBQVUsRUFBRSxDQUFBO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osUUFBUSxDQUFDLENBQUMsb0JBQW9CLEVBQUU7b0JBQzVCLFdBQVcsRUFBRSxRQUFRLEtBQUssSUFBSTt3QkFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO3dCQUN0QixDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO29CQUM1QixRQUFRLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztpQkFDMUQsQ0FBQyxDQUFDLENBQUE7UUFDUCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* The executable being executed is assumed to only cause side effects
|
|
5
|
+
* and not return any meaningful data, std::out is therefor ignored
|
|
6
|
+
*/
|
|
7
|
+
export declare const $$: resources.execute_unrestricted.commands.smelly_command_executable;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
//interface
|
|
3
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
4
|
+
//dependencies
|
|
5
|
+
import { spawn } from "node:child_process";
|
|
6
|
+
import * as t_text_to_terminal_output from "../__internal/terminal_output.js";
|
|
7
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
8
|
+
// import { Signature } from "pareto-resources/interface/algorithms/commands/execute_smelly_procedure_executable"
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* The executable being executed is assumed to only cause side effects
|
|
12
|
+
* and not return any meaningful data, std::out is therefor ignored
|
|
13
|
+
*/
|
|
14
|
+
export const $$ = p_.command(($p, on_success, on_error) => {
|
|
15
|
+
const wd_raw = $p['working directory'].__get_raw();
|
|
16
|
+
let stderrData = "";
|
|
17
|
+
let stdoutData = "";
|
|
18
|
+
const child = spawn($p.program, $p.args.__get_raw(), {
|
|
19
|
+
'cwd': wd_raw === null
|
|
20
|
+
? undefined
|
|
21
|
+
: t_path_to_text.Context_Path(wd_raw[0]),
|
|
22
|
+
shell: false, // direct execution, no shell
|
|
23
|
+
stdio: ['pipe', 'pipe', 'pipe'], // explicitly pipe stdin, stdout, stderr
|
|
24
|
+
});
|
|
25
|
+
child.stdout.on("data", chunk => {
|
|
26
|
+
stdoutData += chunk.toString("utf8");
|
|
27
|
+
});
|
|
28
|
+
child.stderr.on("data", chunk => {
|
|
29
|
+
stderrData += chunk.toString("utf8");
|
|
30
|
+
});
|
|
31
|
+
child.on("error", err => {
|
|
32
|
+
on_error(['failed to spawn', { message: t_text_to_terminal_output.Message(err.message) }]);
|
|
33
|
+
});
|
|
34
|
+
child.on("close", exitCode => {
|
|
35
|
+
if (exitCode === 0) {
|
|
36
|
+
on_success();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
on_error(['non zero exit code', {
|
|
40
|
+
'exit code': exitCode === null
|
|
41
|
+
? p_.literal.not_set() //what does an exit code of null even mean?
|
|
42
|
+
: p_.literal.set(exitCode),
|
|
43
|
+
'stderr': t_text_to_terminal_output.Message(stderrData),
|
|
44
|
+
'stdout': t_text_to_terminal_output.Message(stdoutData),
|
|
45
|
+
}]);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21lbGx5X2NvbW1hbmRfZXhlY3V0YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9zbWVsbHlfY29tbWFuZF9leGVjdXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFFekQsV0FBVztBQUNYLE9BQU8sS0FBSyxTQUFTLE1BQU0sc0NBQXNDLENBQUE7QUFFakUsY0FBYztBQUNkLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUsseUJBQXlCLE1BQU0sa0NBQWtDLENBQUE7QUFDN0UsT0FBTyxLQUFLLGNBQWMsTUFBTSw0RUFBNEUsQ0FBQTtBQUU1RyxpSEFBaUg7QUFHakg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBc0UsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFFekgsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFFbEQsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBRW5CLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQTtJQUVuQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQ2YsRUFBRSxDQUFDLE9BQU8sRUFDVixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUNuQjtRQUNJLEtBQUssRUFBRSxNQUFNLEtBQUssSUFBSTtZQUNsQixDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxLQUFLLEVBQUUsS0FBSyxFQUFFLDZCQUE2QjtRQUMzQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdDQUF3QztLQUM1RSxDQUNKLENBQUE7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDNUIsVUFBVSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFDLENBQUE7SUFFRixLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDNUIsVUFBVSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFDLENBQUE7SUFFRixLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNwQixRQUFRLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzlGLENBQUMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7UUFFekIsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsVUFBVSxFQUFFLENBQUE7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixRQUFRLENBQUMsQ0FBQyxvQkFBb0IsRUFBRTtvQkFDNUIsV0FBVyxFQUFFLFFBQVEsS0FBSyxJQUFJO3dCQUMxQixDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBUSwyQ0FBMkM7d0JBQ3pFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7b0JBQzlCLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO29CQUN2RCxRQUFRLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztpQkFDMUQsQ0FBQyxDQUFDLENBQUE7UUFDUCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQSJ9
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const $: {
|
|
2
|
+
commands: {
|
|
3
|
+
'command executable': import("pareto-resources/interface/resources").execute_unrestricted.commands.command_executable;
|
|
4
|
+
'smelly command executable': import("pareto-resources/interface/resources").execute_unrestricted.commands.smelly_command_executable;
|
|
5
|
+
};
|
|
6
|
+
queries: {
|
|
7
|
+
'query executable': import("pareto-resources/interface/resources").execute_unrestricted.queries.query_executable;
|
|
8
|
+
};
|
|
9
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// import { type Resources } from "./signatures.js"
|
|
2
|
+
import * as p_ from 'pareto-core/interface/resource';
|
|
3
|
+
import { $$ as p_execute_command_executable } from "./commands/command_executable.js";
|
|
4
|
+
import { $$ as p_execute_smelly_command_executable } from "./commands/smelly_command_executable.js";
|
|
5
|
+
import { $$ as q_execute_query_executable } from "./queries/query_executable.js";
|
|
6
|
+
export const $ = {
|
|
7
|
+
'commands': {
|
|
8
|
+
'command executable': p_execute_command_executable,
|
|
9
|
+
'smelly command executable': p_execute_smelly_command_executable,
|
|
10
|
+
},
|
|
11
|
+
'queries': {
|
|
12
|
+
'query executable': q_execute_query_executable,
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbURBQW1EO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFcEQsT0FBTyxFQUFFLEVBQUUsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JGLE9BQU8sRUFBRSxFQUFFLElBQUksbUNBQW1DLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNuRyxPQUFPLEVBQUUsRUFBRSxJQUFJLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFaEYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHO0lBQ2IsVUFBVSxFQUFFO1FBQ1Isb0JBQW9CLEVBQUUsNEJBQTRCO1FBQ2xELDJCQUEyQixFQUFFLG1DQUFtQztLQUVuRTtJQUNELFNBQVMsRUFBRTtRQUNQLGtCQUFrQixFQUFFLDBCQUEwQjtLQUNqRDtDQUNrQixDQUFBIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* The executable being executed is assumed to be side effect free
|
|
5
|
+
* There is no way to give guarantees about that though
|
|
6
|
+
*/
|
|
7
|
+
export declare const $$: resources.execute_unrestricted.queries.query_executable;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as p_ from 'pareto-core/implementation/resource';
|
|
2
|
+
import p_change_context from 'pareto-core/implementation/refiner/specials/change_context';
|
|
3
|
+
//interface
|
|
4
|
+
import * as resources from "pareto-resources/interface/resources";
|
|
5
|
+
//dependencies
|
|
6
|
+
import { spawn } from "node:child_process";
|
|
7
|
+
import * as t_text_to_terminal_output from "../__internal/terminal_output.js";
|
|
8
|
+
import * as t_path_to_text from "pareto-resources/implementation/manual/transformers/unrestricted_path/text";
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* The executable being executed is assumed to be side effect free
|
|
12
|
+
* There is no way to give guarantees about that though
|
|
13
|
+
*/
|
|
14
|
+
export const $$ = p_.query(($p, on_value, on_error) => {
|
|
15
|
+
const args = $p.args.__get_raw();
|
|
16
|
+
const wd_raw = $p['working directory'].__get_raw();
|
|
17
|
+
const child = spawn($p.program, args, {
|
|
18
|
+
'cwd': wd_raw === null
|
|
19
|
+
? undefined
|
|
20
|
+
: t_path_to_text.Context_Path(wd_raw[0]),
|
|
21
|
+
shell: false, // ✅ no implicit parsing
|
|
22
|
+
});
|
|
23
|
+
let stdoutData = "";
|
|
24
|
+
let stderrData = "";
|
|
25
|
+
child.stdout.on("data", chunk => {
|
|
26
|
+
stdoutData += chunk.toString("utf8");
|
|
27
|
+
});
|
|
28
|
+
child.stderr.on("data", chunk => {
|
|
29
|
+
stderrData += chunk.toString("utf8");
|
|
30
|
+
});
|
|
31
|
+
child.on("error", err => {
|
|
32
|
+
on_error(p_change_context(null, () => {
|
|
33
|
+
if (!(err instanceof Error)) {
|
|
34
|
+
throw new Error(`Expected an Error instance, got: ${typeof err}`);
|
|
35
|
+
}
|
|
36
|
+
return ['failed to spawn', {
|
|
37
|
+
message: t_text_to_terminal_output.Message(err.message),
|
|
38
|
+
}];
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
child.on("close", exitCode => {
|
|
42
|
+
if (exitCode === 0) {
|
|
43
|
+
on_value({
|
|
44
|
+
'stdout': t_text_to_terminal_output.Message(stdoutData),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
on_error(p_change_context(null, () => {
|
|
49
|
+
return ['non zero exit code', {
|
|
50
|
+
'exit code': exitCode === null
|
|
51
|
+
? p_.literal.not_set()
|
|
52
|
+
: p_.literal.set(exitCode),
|
|
53
|
+
'stderr': t_text_to_terminal_output.Message(stderrData),
|
|
54
|
+
}];
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnlfZXhlY3V0YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3F1ZXJ5X2V4ZWN1dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RCxPQUFPLGdCQUFnQixNQUFNLDREQUE0RCxDQUFBO0FBRXpGLFdBQVc7QUFDWCxPQUFPLEtBQUssU0FBUyxNQUFNLHNDQUFzQyxDQUFBO0FBRWpFLGNBQWM7QUFDZCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDMUMsT0FBTyxLQUFLLHlCQUF5QixNQUFNLGtDQUFrQyxDQUFBO0FBQzdFLE9BQU8sS0FBSyxjQUFjLE1BQU0sNEVBQTRFLENBQUE7QUFHNUc7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBNEQsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDM0csTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUVoQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUVsRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDbEMsS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJO1lBQ2xCLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLEtBQUssRUFBRSxLQUFLLEVBQUUsd0JBQXdCO0tBQ3pDLENBQUMsQ0FBQTtJQUVGLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQTtJQUNuQixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFFbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQzVCLFVBQVUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQzVCLFVBQVUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDcEIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQTtZQUNyRSxDQUFDO1lBQ0QsT0FBTyxDQUFDLGlCQUFpQixFQUFFO29CQUN2QixPQUFPLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7aUJBQzFELENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDUCxDQUFDLENBQUMsQ0FBQTtJQUVGLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQ3pCLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLFFBQVEsQ0FBQztnQkFDTCxRQUFRLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQzthQUMxRCxDQUFDLENBQUE7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNKLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsb0JBQW9CLEVBQUU7d0JBQzFCLFdBQVcsRUFBRSxRQUFRLEtBQUssSUFBSTs0QkFDOUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFOzRCQUN0QixDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO3dCQUMxQixRQUFRLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztxQkFDMUQsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pareto-resource-execute-unrestricted",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"author": "Corno",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"description": "a library that implements the execute-unrestricted-api and thus provides program execution functionality for pareto packages. This resource is not sandboxed and thus gives a package the ability to execute any programs without any restrictions. The sandboxed version gives the application control over which programs the package can execute",
|
|
7
|
+
"keywords": [],
|
|
8
|
+
"homepage": "https://github.com/corno/pareto-resource-execute-unrestricted#readme",
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/corno/pareto-resource-execute-unrestricted/issues"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/corno/pareto-resource-execute-unrestricted.git"
|
|
15
|
+
},
|
|
16
|
+
"type": "module",
|
|
17
|
+
"exports": {
|
|
18
|
+
"./*": {
|
|
19
|
+
"types": "./dist/*.d.ts",
|
|
20
|
+
"default": "./dist/*.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE",
|
|
27
|
+
"documentation"
|
|
28
|
+
],
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=14.0.0"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"pareto-core": "^0.1.0",
|
|
34
|
+
"pareto-resources": "^0.2.0"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^26.1.0"
|
|
38
|
+
}
|
|
39
|
+
}
|