# repos_asf_sling-org-apache-sling-scripting-esx **Repository Path**: mirrors_community_gitbox_apache/repos_asf_sling-org-apache-sling-scripting-esx ## Basic Information - **Project Name**: repos_asf_sling-org-apache-sling-scripting-esx - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-29 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [](https://sling.apache.org) [](https://ci-builds.apache.org/job/Sling/job/modules/job/sling-org-apache-sling-scripting-esx/job/master/) [](https://sonarcloud.io/dashboard?id=apache_sling-org-apache-sling-scripting-esx) [](https://sonarcloud.io/dashboard?id=apache_sling-org-apache-sling-scripting-esx) [](https://github.com/apache/sling-aggregator/blob/master/docs/status/contrib.md) [](https://github.com/apache/sling-aggregator/blob/master/docs/groups/scripting.md) [](https://www.apache.org/licenses/LICENSE-2.0) # Apache Sling Scripting ESX This module is part of the [Apache Sling](https://sling.apache.org) project. A Node JS (like) module loader for Apache Sling. This module is considered **experimental** for now. ## Description This module implements a Nashorn Apache Sling Script Engine for the "esx" extension. It requires a function named `render` in the `esx` script that processes the request. ## Installation The `org.apache.sling.fragment.nashorn` bundle must be installed before this bundle, to export the `jdk.nashorn.api.scripting` package. Currently this implementation requires **java version "1.8.0_92"** or higher ## Usage Once this bundle is active you can try the engine with this minimal (and not very interesting) example: First create a node with some content: curl -u admin:admin \ -F"sling:resourceType=foo" \ -Ftitle="Hello ESX" \ -Ftext="Here's some example text" \ http://localhost:8080/apps/foo Then create an ESX script to render it: $ cat << EOF > /tmp/foo.esx var foo = { render: function () { var output = \`