You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/pages/app-development/app-submission-guidelines.md
+18-31Lines changed: 18 additions & 31 deletions
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,7 @@ The following requirements must be met for your app to be accepted. If your app
45
45
-**Developer documentation**: Include links to relevant Adobe developer documentation (example: App Builder [getting started guide](https://developer.adobe.com/app-builder/docs/get_started/)).
46
46
-**Environment setup**: Provide a `.env.dist` file with all required environment variables, clearly labeled with guidance.
47
47
-**PaaS support**: Documentation must include installation steps for PaaS merchants. This means if you are submitting an app for Adobe Commerce as a Cloud Service (SaaS), you also need to support Adobe Commerce on cloud infrastructure (PaaS) and Adobe Commerce on-premises (on-prem).
48
+
-**Action scoping**: All runtime actions must be scoped and documented, if they are exposed as webhooks.
48
49
49
50
- Security awareness
50
51
-**Screenshot security**: Ensure no screenshots contain access tokens, secrets, or API keys.
@@ -83,10 +84,16 @@ The following requirements must be met for your app to be accepted. If your app
83
84
### Project structure
84
85
85
86
- Configuration files
86
-
- **Environment variables**: Provide a clear `.env.dist` file containing all needed keys. Remove any unused keys.
87
+
- **Environment variables**: Provide a clear `.env.dist` file containing all needed keys used by YAML files. Remove any unused keys.
88
+
- **Package metadata**: Ensure `package.json` is updated with an app-specific `name`, `version`, and `author`.
87
89
- **YAML configuration**: Review `deploy.yaml` and `app.config.yaml` for accurate app IDs, event configs, and scopes.
88
90
- **Commerce product**: Define `commerce` as a required product in `app.config.yaml`. See [required products](https://developer.adobe.com/commerce/extensibility/app-development/required-products/) for more information.
89
-
- **Package metadata**: Ensure `package.json` is updated with an app-specific `name`, `version`, and `author`.
91
+
```yaml
92
+
productDependencies:
93
+
- code: COMMC
94
+
minVersion: 2.4.5
95
+
```
96
+
- **Events configuration**: Review `events.config.yaml` to verify event providers and registrations, document usage, and prefix events with your app's scope to avoid collisions.
90
97
91
98
- Project cleanup
92
99
- **Unused folders**: Remove any unused or unnecessary folders.
@@ -101,27 +108,17 @@ The following requirements must be met for your app to be accepted. If your app
- ​<Edition name="saas" /> IMS Auth instead of OAuth1
105
-
- ​<Edition name="saas" /> Base URL with tenantId and without "rest"
106
-
- **Action scoping**: All runtime actions must be scoped and documented, if they are exposed as webhooks.
107
-
108
-
### Dependencies
109
-
110
-
- Dependency management
111
-
- **Unused dependencies**: Remove any unused dependencies reported by `npx npm-check`.
112
-
- **Direct dependencies**: Ensure all direct dependencies are declared in `package.json`.
113
-
- **Version updates**: Update major versions of critical packages.
111
+
- ​<Edition name="saas" /> Use [IMS for authentication](/starter-kit/checkout/connect/#adobe-identity-management-service-ims) instead of Commerce Integration Authentication (OAuth1).
112
+
- ​<Edition name="saas" /> Configure [the Commerce Base URL](/starter-kit/checkout/connect/) to include tenantId without `/rest`.
114
113
115
-
### Cleanup and quality assurance
116
-
117
-
- Code cleanup
114
+
- Quality assurance
118
115
- **Test suite**: Ensure tests all tests are passing. Run `npm test` to validate.
119
116
120
-
### Configuration
117
+
### Dependencies and maintenance
121
118
122
-
- Configuration best practices
123
-
- **Input validation**: Ensure that all inputs in YAML files are defined as variables in the `.env.dist` file.
124
-
- **Commerce product**: Define `commerce` as a required product in `app.config.yaml`. See [required products](https://developer.adobe.com/commerce/extensibility/app-development/required-products/) for more information.
119
+
- Version management
120
+
- **Direct dependencies**: Check for missing dependencies using `npx npm-check` (`PKG ERR` label).
121
+
- **SDK migration**: Fully migrate Admin UI SDK 1.x extension points to 3.x if applicable.
125
122
126
123
## Best practices
127
124
@@ -162,34 +159,24 @@ In cases where it is not possible to provide test credentials or a demo environm
162
159
163
160
**Option 2**: Submit a recorded video demonstrating the app's functionality to the Adobe review team
164
161
165
-
### Cleanup and quality assurance
162
+
### Code review
166
163
167
164
- Code cleanup
168
165
- **Development artifacts**: Remove `TODO` comments and unused scripts or handlers.
169
166
- **Test scripts**: Add or remove test scripts in `package.json` based on actual test coverage.
170
167
- **Development logs**: Remove unused development logs and console outputs.
171
-
172
-
### Code review
168
+
- **Handler cleanup**: Clean up any unused handlers or unused code, such as empty `preProcess` or `transformData` functions.
173
169
174
170
- Code quality
175
-
- **Unused imports**: Remove any unused `imports` and validate with `npx npm-check`.
176
171
- **Action consistency**: Ensure consistency and correctness in action names and routes.
177
-
- **SDK migration**: Fully migrate Admin UI SDK 1.x extension points to 3.x if applicable.
178
-
- **Hardcoded values**: Look for hardcoded values that should be configurable
179
172
- **Duplicated logic**: Avoid duplicating SDK logic unnecessarily, such as OAuth or fetch wrappers.
180
-
- **Action scoping**: All runtime actions must be scoped and documented, if they are exposed as webhooks.
181
173
182
174
### Dependencies and maintenance
183
175
184
176
- Version management
185
177
- **Package updates**: Check for up-to-date package versions using `npx npm-check` (`MAJOR UP` label).
186
178
- **Unused dependency check**: Check for unused dependencies using `npx npm-check` (`NOTUSED?` label).
187
179
188
-
- Code optimization
189
-
- **Handler cleanup**: Clean up any unused handlers or unused code, such as empty `preProcess` or `transformData` functions.
190
-
- **Development cleanup**: Remove any unused logs that were during development.
191
-
- **SDK logic**: Avoid duplicating SDK logic unnecessarily, such as OAuth or fetch wrappers.
0 commit comments