Hi @rajumuddana ,
The latest version of AEM Archetype is 54. It is a forward-looking, production-ready, and extensible foundation aligned with how Adobe wants developers to structure projects - whether you are on AEM as a Cloud Service or AEM 6.5.17. Adobe tests each archetype version for backward compatibility with AEM 6.5 (especially with SPs like 6.5.17). You won't lose any functionality - but you gain modern tooling.
By default it has build-in support for modern frontend workflows and has Webpack 5, Babel, SASS, TypeScript support.
You mentioned:
I wanted to create the frontend module separately as a new project, but the results are not the same/close to my existing frontend project structure.
That's fair - and here's your best path forward: Remove the default ui.frontend, add your custom frontend module instead
- Generate the project using Archetype 54 with -DincludeFrontendModule=n
- This skips the default ui.frontend folder.
- Create your own frontend module (e.g., custom-frontend) inside the same Maven multi-module project.
- Copy the necessary configuration files from a typical Archetype 54 frontend setup:
- webpack.common.js (controls the JS/CSS bundling)
- clientlib.config.js (controls copying to AEM's jcr_root)
- package.json (ensure you include the right build scripts and dependencies)
- pom.xml (configure frontend-maven-plugin for npm install and npm run build)
- Adjust clientlib.config.js output to match your desired location
- Add your custom module name to the root POM <modules> list.
Optionally: Customize the existing ui.frontend (If you don't want a new module)
If you prefer not to maintain a new Maven module:
- Keep the default ui.frontend
- Replace the contents with your desired structure
- Still reuse the configuration files listed above
- Adjust clientlib.config.js and webpack.config.js accordingly
But note: separating it into a standalone module gives you better decoupling, especially if your frontend team works independently.
You are not forced into a rigid layout - you get flexibility plus structure. The frontend module can live inside or outside the Maven project. Either way, the tooling is already battle-tested and ready for real-world teams.