Aug 19, 2026

A lot of setup guides make their job easy by making your job hard. They do so by having you install all manner of additional dependencies before you even know what you are doing. Adobe App Builder is one of those products. Here is my minimalist version of what is actually needed.

.
├── actions/          Root directory for serverless functions
│    └── hello.js     Test "Hello World" serverless function
├── app.config.yaml   App Builder configuraton file 
├── package.json      Node project configuration file
└── node_modules      Directory containing Node dependencies
function main( params ) {
  return {
    statusCode: 200,
    headers: {
      'Content-Type': 'application/json'
    },
    body: {
      message: `Hello, ${params.name ?? 'World'}!`
    }
  }
}

exports.main = main
application:
  runtimeManifest:
    packages:
      api:
        license: Apache-2.0
        actions:
          hello:
            function: actions/hello.js
            web: 'yes'
            runtime: nodejs:18
        apis:
          hello-api:
            v1:
              hello:
                hello:
                  method: get
                  response: http
  actions: actions
{
  "name": "MyServerlessApp",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "@adobe/aio-sdk": "^6"
  },
  "devDependencies": {
    "eslint": "^8",
    "eslint-plugin-jest": "^27.2.3",
    "jest": "^29"
  }
  "engines": {
    "node": ">=18"
  }
}
Back to Notes