summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
diff options
context:
space:
mode:
authorLeo Kettmeir <crowlkats@toaxl.com>2022-11-28 12:33:51 +0100
committerGitHub <noreply@github.com>2022-11-28 12:33:51 +0100
commit1dd4843b62085a2aeb3134573adf9a7c47c154e2 (patch)
tree534a7b210655530ffce89b3c124690330867f8bc /runtime/js/99_main.js
parentfb04e87387e04053bf41a1512b4850adf62202c6 (diff)
feat(unstable): rework Deno.Command (#16812)
Refactors the `Deno.Command` class to not handle any state, but only being an intermediary to calling its methods, and as such any methods and properties besides `output`, `outputSync` & `spawn` have been removed. Interracting with a `spawn`ed subprocess now works by using the methods and properties on the returned class of the `spawn` method.
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r--runtime/js/99_main.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index 2ea3504e2..adfc0d360 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -482,6 +482,14 @@ delete Intl.v8BreakIterator;
},
});
+ ObjectAssign(internals.nodeUnstable, {
+ Command: __bootstrap.spawn.createCommand(
+ internals.nodeUnstable.spawn,
+ internals.nodeUnstable.spawnSync,
+ internals.nodeUnstable.spawnChild,
+ ),
+ });
+
const finalDenoNs = {
core,
internal: internalSymbol,
@@ -513,6 +521,14 @@ delete Intl.v8BreakIterator;
ops.op_net_listen_unixpacket,
),
});
+
+ ObjectAssign(finalDenoNs, {
+ Command: __bootstrap.spawn.createCommand(
+ finalDenoNs.spawn,
+ finalDenoNs.spawnSync,
+ finalDenoNs.spawnChild,
+ ),
+ });
}
// Setup `Deno` global - we're actually overriding already existing global
@@ -617,6 +633,14 @@ delete Intl.v8BreakIterator;
},
});
+ ObjectAssign(internals.nodeUnstable, {
+ Command: __bootstrap.spawn.createCommand(
+ internals.nodeUnstable.spawn,
+ internals.nodeUnstable.spawnSync,
+ internals.nodeUnstable.spawnChild,
+ ),
+ });
+
const finalDenoNs = {
core,
internal: internalSymbol,
@@ -640,6 +664,13 @@ delete Intl.v8BreakIterator;
ops.op_net_listen_unixpacket,
),
});
+ ObjectAssign(finalDenoNs, {
+ Command: __bootstrap.spawn.createCommand(
+ finalDenoNs.spawn,
+ finalDenoNs.spawnSync,
+ finalDenoNs.spawnChild,
+ ),
+ });
}
ObjectDefineProperties(finalDenoNs, {
pid: util.readOnly(runtimeOptions.pid),