diff --git a/gatsby-config.js b/gatsby-config.js index f96556fd4..07f1b8d0e 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -98,6 +98,10 @@ module.exports = { { "title": "Event hooks for App Builder Applications", "path": "guides/app-hooks.md" + }, + { + "title": "Packaging for Developer Distribution", + "path": "guides/packaging.md" } ] }, diff --git a/src/pages/guides/packaging.md b/src/pages/guides/packaging.md new file mode 100644 index 000000000..af6307b87 --- /dev/null +++ b/src/pages/guides/packaging.md @@ -0,0 +1,46 @@ +--- +keywords: + - Adobe I/O + - Extensibility + - ISV + - Developer Tooling +--- + + +# Packaging for Developer Distribution + +To get your App Builder app listed for [Adobe Developer Distribution](https://developer.adobe.com/developer-distribution/), you will need to package it. + +The `aio app pack` command will verify and bundle your app. In the root of your app folder, run this command: + +```sh +aio app pack +``` + +After this command completes running, you can find the app package in your app folder as: `dist/app.zip`. + +## App Validation + +1. `app.config.yaml` + - will be checked if it is in a valid format, and will show specific config errors for you to fix, if necessary +2. `package.json` version + - application version format must be `X.Y.Z`, where X, Y, and Z are non-negative integers +3. files to be packaged. All the files in your app folder will be packaged EXCEPT: + - files specified in `.gitignore` + - files specified in `.npmignore` + - any `dist` folders + - any dot files (.env, .gitignore, etc) + - any OS junk files (.DS_Store, thumbs.db, etc) +4. event registrations will be validated (if any) + +## Hooks + +Two new [hooks](./app-hooks.md) have been added for this command, and will run before and after the command is run (respectively): + +1. pre-pack +2. post-pack + +Your hook handler function will be passed two items: + +1. `appConfig` (object) - this contains the config of the current application +2. `artifactsFolder` (string) - this will be the location of the folder containing all the packaging artifacts that will be bundled