-
Notifications
You must be signed in to change notification settings - Fork 14
feat: add AEM client package #1249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…gmentVersioning classes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a new client library @adobe/spacecat-shared-aem-client for interacting with Adobe Experience Manager (AEM) Cloud Service APIs. The library provides a builder pattern for flexible composition of client capabilities including fragment management, versioning, and tagging.
Key changes include:
- Builder pattern implementation for flexible client instantiation
- Comprehensive error hierarchy with typed errors for different HTTP status codes
- IMS authentication integration for secure API access
Reviewed changes
Copilot reviewed 36 out of 37 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
package.json |
Package configuration with dependencies on IMS client and shared utils |
README.md |
Comprehensive usage documentation with examples for all capabilities |
src/index.js |
Main entry point exporting builder, errors, and site management classes |
src/index.d.ts |
TypeScript definitions for all exported classes and interfaces |
src/aem-client-base.js |
Base client with authentication and HTTP request handling |
src/aem-client-builder.js |
Builder pattern for composing client capabilities |
src/errors/*.js |
Error class hierarchy for typed error handling |
src/sites/fragment-*.js |
Fragment management, versioning, and tagging implementations |
src/sites/constants.js |
API endpoint constants |
test/**/*.test.js |
Comprehensive test coverage for all modules |
| Configuration files | Standard project setup including ESLint, Mocha, NYC, and semantic-release |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
This PR will trigger a minor release when merged. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Summary
Introduces
@adobe/spacecat-shared-aem-client. A client library for interacting with AEM Cloud Service APIs.Features
Highlights
@adobe/spacecat-shared-ims-clientUsage
Please ensure your pull request adheres to the following guidelines: