Files
attune/packs/core/runtimes/nodejs.yaml

180 lines
4.3 KiB
YAML

ref: core.nodejs
pack_ref: core
name: Node.js
description: Node.js runtime for JavaScript-based actions and sensors
distributions:
verification:
commands:
- binary: node
args:
- "--version"
exit_code: 0
pattern: "v\\d+\\.\\d+\\.\\d+"
priority: 1
min_version: "16.0.0"
recommended_version: "20.0.0"
installation:
package_managers:
- npm
- yarn
- pnpm
module_support: true
execution_config:
interpreter:
binary: node
args: []
file_extension: ".js"
environment:
env_type: node_modules
dir_name: node_modules
create_command:
- sh
- "-c"
- "mkdir -p {env_dir} && cp {manifest_path} {env_dir}/ 2>/dev/null || true"
interpreter_path: null
dependencies:
manifest_file: package.json
install_command:
- npm
- install
- "--prefix"
- "{env_dir}"
env_vars:
NODE_PATH: "{env_dir}/node_modules"
# Version-specific execution configurations.
# Each entry describes how to invoke a particular Node.js version.
# The worker uses these when an action declares a runtime_version constraint
# (e.g., runtime_version: ">=20"). The highest available version satisfying
# the constraint is selected, and its execution_config replaces the parent's.
versions:
- version: "18"
distributions:
verification:
commands:
- binary: node18
args:
- "--version"
exit_code: 0
pattern: "v18\\."
priority: 1
- binary: node
args:
- "--version"
exit_code: 0
pattern: "v18\\."
priority: 2
execution_config:
interpreter:
binary: node18
args: []
file_extension: ".js"
environment:
env_type: node_modules
dir_name: node_modules
create_command:
- sh
- "-c"
- "mkdir -p {env_dir} && cp {manifest_path} {env_dir}/ 2>/dev/null || true"
interpreter_path: null
dependencies:
manifest_file: package.json
install_command:
- npm
- install
- "--prefix"
- "{env_dir}"
env_vars:
NODE_PATH: "{env_dir}/node_modules"
meta:
lts_codename: "hydrogen"
eol: "2025-04-30"
- version: "20"
is_default: true
distributions:
verification:
commands:
- binary: node20
args:
- "--version"
exit_code: 0
pattern: "v20\\."
priority: 1
- binary: node
args:
- "--version"
exit_code: 0
pattern: "v20\\."
priority: 2
execution_config:
interpreter:
binary: node20
args: []
file_extension: ".js"
environment:
env_type: node_modules
dir_name: node_modules
create_command:
- sh
- "-c"
- "mkdir -p {env_dir} && cp {manifest_path} {env_dir}/ 2>/dev/null || true"
interpreter_path: null
dependencies:
manifest_file: package.json
install_command:
- npm
- install
- "--prefix"
- "{env_dir}"
env_vars:
NODE_PATH: "{env_dir}/node_modules"
meta:
lts_codename: "iron"
eol: "2026-04-30"
- version: "22"
distributions:
verification:
commands:
- binary: node22
args:
- "--version"
exit_code: 0
pattern: "v22\\."
priority: 1
- binary: node
args:
- "--version"
exit_code: 0
pattern: "v22\\."
priority: 2
execution_config:
interpreter:
binary: node22
args: []
file_extension: ".js"
environment:
env_type: node_modules
dir_name: node_modules
create_command:
- sh
- "-c"
- "mkdir -p {env_dir} && cp {manifest_path} {env_dir}/ 2>/dev/null || true"
interpreter_path: null
dependencies:
manifest_file: package.json
install_command:
- npm
- install
- "--prefix"
- "{env_dir}"
env_vars:
NODE_PATH: "{env_dir}/node_modules"
meta:
lts_codename: "jod"
eol: "2027-04-30"