Nodejs Runner
No credit card required
This Actor may be unreliable while under maintenance. Would you like to try a similar Actor instead?
See alternative ActorsNodejs Runner
No credit card required
This Actor allows you to quickly run arbitrary JavaScript code in a real Node.js environment, making it ideal for testing, debugging, or executing small scripts without setting up a local Node.js instance. The actor spawns a separate Node.js process to run the provided code and captures the logs.
Node.js Code Runner
This Apify actor allows you to quickly run arbitrary JavaScript code in a real Node.js environment, making it ideal for testing, debugging, or executing small scripts without setting up a local Node.js instance. The actor spawns a separate Node.js process to run the provided code, captures the logs (stdout and stderr), and saves them to Apify's Key-Value Store for later retrieval.
Use Case
- Quick Testing: Instantly run JavaScript snippets in a Node.js environment.
- Dynamic Execution: Dynamically execute and debug code from your workflows.
- Environment Replication: Run code in an isolated environment that matches Node.js runtime configurations.
How It Works
- The actor receives the JavaScript code to run via its input.
- It spawns a child Node.js process to execute the code.
- Captures all logs (stdout and stderr) during execution.
- Saves the logs to the Apify Key-Value Store for easy access.
Input
The input should be a JSON object with the following structure:
1{ 2 "code": "<your JavaScript code here>" 3}
Input Fields
code
(string, required): The JavaScript code to execute.
Example Input
1{ 2 "code": "console.log('Hello, world!');" 3}
Output
The output logs from the executed code are saved in the Key-Value Store under the key LOGS
. The logs include both stdout
and stderr
streams, as well as the exit code of the process.
Example Logs
1[ 2 "STDOUT: Hello, world!\n", 3 "Child process exited with code 0" 4]
Example Usage
Running the Actor
- Deploy the actor to the Apify platform.
- Provide the JavaScript code as input.
- Run the actor.
Sample Input
1{ 2 "code": "console.log('The current date is:', new Date().toISOString());" 3}
Sample Output Logs
1[ 2 "STDOUT: The current date is: 2024-12-12T10:00:00.000Z\n", 3 "Child process exited with code 0" 4]
Development Notes
Key Features
- Logs Collection: Automatically collects and stores all logs for easy retrieval.
- Error Handling: Captures errors during execution and stores them for debugging.
- Environment Replication: Runs in a real Node.js process, ensuring consistent behavior with a local environment.
How to Retrieve Logs
After the actor runs, you can fetch the logs using the Apify SDK or API:
In Apify Console:
In the actor run details, navigate to the Key-Value Store section and find the LOGS
key.
Using SDK:
1const logs = await Actor.getValue('LOGS'); 2console.log('Retrieved Logs:', logs);
Using API:
curl -X GET "https://api.apify.com/v2/key-value-stores/{storeId}/records/LOGS"
Actor Metrics
1 monthly user
-
2 stars
>99% runs succeeded
Created in Dec 2024
Modified a day ago