create-easy-ui5
An npm-init and npx wrapper that runs the Easy-UI5 Yeoman generator without a global Yeoman install, handing control to generator-easy-ui5 and forwarding any arguments.
A Yeoman generator normally needs Yeoman and the generator itself installed globally before it can scaffold anything. create-easy-ui5 wraps the Easy-UI5 generator so it can instead be run through npm init easy-ui5, npx create-easy-ui5, or its own easy-ui5 binary once installed globally — three entry points that all do the same thing. On each run it creates a Yeoman environment, looks up the easy-ui5:app generator from generator-easy-ui5, and hands control to it, forwarding any arguments; the scaffolding, prompts and templates themselves live there. It needs Node.js 20.17 or later.
Facts
Where it sits
Who is behind it
In the atlas: maintains 69@ui5-communitymaintainerPeter MuessigContributes to this
In the atlas: maintains 14, contributes to 80, wrote 1@petermuessigViktor SperlingContributes to this
In the atlas: contributes to 2@viktorsperling2 contributors
What it declares
Every artifact
- Type
- Generator
- Origin
- By a community org
- Runtime
- Node.js
As a generator
- Generates
- A new project
- Run with
- npm init or npxIts own command
- Distributed through
- npm
Connections
Starting a project, and adding pieces to one that runs
Yeoman meta-generator for scaffolding UI5 projects
Download
Install
npm add create-easy-ui5Derived from the package name. No recipe recorded; the README has the configuration.
README
quoted from ui5-community/create-easy-ui5 under Apache-2.0, readcreate-easy-ui5
npm-initwrapper for the Easy-UI5 Yeoman generator.
create-easy-ui5 is a thin wrapper that makes the Easy-UI5 generator available
through npm init, npx, and a standalone easy-ui5 binary — so you can
scaffold a new UI5 project without installing Yeoman or the generator globally
first. It automatically picks up all available
UI5 Community generators.
Quick Start
You can use any of the three entry points below — they all do the same thing. Pick whichever fits your workflow.
# 1. via npm init (no install required)
npm init easy-ui5 [template]
# 2. via npx (no install required)
npx create-easy-ui5 [template]
# 3. via the installed binary
npm install -g create-easy-ui5
easy-ui5 [template]
If you omit [template], Easy-UI5 will prompt you to pick one interactively.
Requirements
- Node.js ≥ 20.17 (LTS). See DEPENDENCIES.md for the rationale behind this floor.
How it works
create-easy-ui5 does three things on every invocation:
- Creates a fresh Yeoman environment in the current working directory.
- Looks up the
easy-ui5:appgenerator fromgenerator-easy-ui5(or any compatible generator already installed locally / globally). - Hands control over to that generator, forwarding any CLI arguments you passed in.
That's it — the actual project scaffolding, prompts, and template logic all
live in generator-easy-ui5 and
the UI5 Community generators.
If you hit something that looks like a template bug, please report it there.
Documentation & Templates
- Easy-UI5 generator — the upstream Yeoman generator this wrapper drives.
- UI5 Community generators
— a catalogue of available
[template]values. - SAPUI5/OpenUI5 documentation — UI5 framework reference.
Support
This project is community-maintained. The best places to get help are:
- 🐛 Bug reports & feature requests: the issue tracker.
- 💬 General UI5 questions: the
#toolingchannel of the OpenUI5 Community Slack or Stack Overflow.
Please read the issue reporting guidelines before opening an issue.
Contributing
Contributions of any kind — bug reports, fixes, doc improvements, ideas — are warmly welcomed.
- CONTRIBUTING.md — how to set up, what we expect from pull requests, commit message rules, and the changeset-based release flow.
- DEPENDENCIES.md — why some dependencies are pinned; consult this before bumping anything.
- SECURITY.md — how to report vulnerabilities and the supply-chain controls in place on this repository.
- CODE_OF_CONDUCT.md — the Contributor Covenant we follow.
Release Process
This repository uses Changesets for versioning and automated publishing to npm. See the Releasing the Package section in the contributor guide.
License
This project is licensed under the Apache Software License, Version 2.0, except as noted otherwise in the LICENSE file.
History
Fixes 1
Notes
Patch Changes
-
#11
2256be8Thanks @petermuessig! - fix: declareyeoman-environmentas a direct dependency, upgrade togenerator-easy-ui5@^3.10.0index.jsrequiresyeoman-environmentdirectly, but it was only being resolved transitively viagenerator-easy-ui5. Depending on how npm laid out the global install tree, that nested copy was not always reachable fromcreate-easy-ui5/index.js, surfacing asError: Cannot find module 'yeoman-environment'oneasy-ui5startup.Declare
yeoman-environmentas a direct runtime dep and bumpgenerator-easy-ui5to^3.10.0, which itself pinsyeoman-environment@^6.1.0— so npm dedupes to a single copy. The^6.1.0bump also clears the previously-knownGHSA-vv9j-gjw2-j8wpadvisory (the workaround that allowlisted it in the dependency-review gate has been removed).
Features 1, Fixes 1
Notes
Minor Changes
- #3
531c3b0Thanks @petermuessig! - Bump minimum Node.js version to 20.17. Required by transitiveyeoman-environment@5.x(engines:^20.17.0 || >=22.9.0) whichgenerator-easy-ui5@3.9.1resolves to, and bylint-staged@16.x(engines:>=20.17). SeeDEPENDENCIES.mdfor the full rationale.
Patch Changes
-
#5
39679b7Thanks @petermuessig! - Harden the repository against Shai-Hulud-class supply-chain attacks:- Pin every GitHub Action to a commit SHA (with a tag comment for visibility).
- Install dependencies with
npm ci --ignore-scriptsin CI; setHUSKY_SKIPso our ownpreparescript doesn't run there either. - Add
dependency-review-actionto the PR pipeline (fails on high-severity advisories). - Add
.github/dependabot.ymlfor thenpmandgithub-actionsecosystems with weekly cadence and grouped patch/minor PRs. - Add
.npmrcwithengine-strict=true,save-exact=true,package-lock=true. - Add a
"files": ["index.js"]allow-list topackage.json— the published tarball is now exactlyindex.js,package.json,README.md, andLICENSE. - New
SECURITY.mddocumenting the controls and the out-of-band hardening still to be done in the GitHub/npm UI.
- #3
Other 9
Notes
- build: update changelog (6b951e1)
- build: update depenendencies (5696b04)
- 1.0.0 (aeec02c)
- 1.0.1 (dc5c80d)
- Initial commit (eb18673)
- chore: update release process (8e233af)
- fix: bugfix for arguments and polish docs (29577d1)
- fix: run easy-ui5 in embedded mode (f9e8178)
- feat: fully initalize the repo (532fc33)
Others providing
Compare all 23 on the Generators page →- abap2UI5 Layout Editorabap2UI5 Layout EditorA browser editor that lays out a UI5 view by drag and drop and writes it out as one abap2UI5 app class, pulled into the system with abapGit.community org, abapDrag-and-drop UI5 view editor that writes an abap2UI5 app class
- generator-ui5-react-nestgenerator-ui5-react-nestA Yeoman generator that scaffolds a pnpm monorepo with a UI5 app and a Vite React app, which the UI5 app embeds through a custom control, UI5Nest, rather than an iframe.independent, ui5Yeoman generator for a UI5 app that loads a React app
- SAP Build CodeSAP Build CodeSAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps.sap official, btpDevelopment environment on BTP for UI5, Fiori, mobile and CAP
- ui5-control-generatorui5-control-generatorA command-line generator that writes UI5 custom controls, in JavaScript or TypeScript, from the html files in a project, with control logic and renderer split into two files by default.independent, ui5Command line generator of UI5 custom controls from html
- Joule in SAP Build CodeJoule in SAP Build CodeJoule's generative AI inside SAP Build Code, pitched as "optimized for Java and JavaScript application development": opened from SAP Business Application Studio's activity bar, slash commands generate a CAP data model, services, sample data, business logic and a Fiori elements UI.sap official, capJoule's generative AI inside SAP Build Code
- @sap-ux/cap-config-writer@sap-ux/cap-config-writerSAP's writer module for changing a CAP project's configuration from code, so a tool can add a UI5 app to a project that already exists, returning a mem-fs editor whose commit writes the changes.sap official, capWriter module for changing a CAP project's configuration from code
- @sap-ux/create@sap-ux/createSAP Fiori tools as a command: npx @sap-ux/create changes the features of a Fiori project that already exists, through its add, generate, convert, remove, update and change subcommands.sap official, ui5Command line for changing features of an existing Fiori project
- @sap-ux/fe-fpm-writer@sap-ux/fe-fpm-writerA library that writes flexible programming model elements, such as a custom page wired into the app's routing, into a Fiori elements application for OData v4 from Node code.sap official, ui5Writer of flexible programming model elements into Fiori elements apps
- @sap-ux/odata-service-writer@sap-ux/odata-service-writerA library that adds an OData service to a UI5 project that already exists, writing the file updates from a config object naming the service url, its OData version and a destination.sap official, ui5Writer that adds an OData service to an existing UI5 project
- @sap-ux/ui5-application-writer@sap-ux/ui5-application-writerA library that writes the base structure of a UI5 project from Node code, out of an app id, title and description, returning a mem-fs editor so a generator needs no template engine of its own.sap official, ui5Writer of the base structure of a UI5 project from Node code
- create-wdi5create-wdi5An npm initializer that adds wdi5 end-to-end testing to an existing UI5 application, installing WebdriverIO's peer dependencies, writing a wdio.conf file and setting an npm script.community org, ui5npm initializer adding wdi5 testing to an existing UI5 app
- generator-easy-ui5generator-easy-ui5A Yeoman meta-generator that scaffolds UI5 projects, prompting for a target platform, and loads further sub-generators from the UI5 Community for TypeScript apps, launchpad plugins and libraries.community org, ui5Yeoman meta-generator for scaffolding UI5 projects
- generator-ui5-addgenerator-ui5-addA Yeoman generator that creates UI5 tooling-extension projects and manages the tooling extensions of an existing project, from the bestOfUI5 catalogue.community org, ui5Yeoman generator for UI5 tooling-extension projects
- generator-ui5-appgenerator-ui5-appA Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 application in one pass, run as a plug-in for Easy-UI5 or standalone, ready for npm start.community org, ui5Easy-UI5 generator scaffolding a new UI5 application
- generator-ui5-controlgenerator-ui5-controlA Yeoman generator that scaffolds a UI5 custom control structured for npm distribution, with a manual test app with live reload and a Jest test suite already wired in.community org, ui5Yeoman generator for UI5 custom controls distributed via npm
- generator-ui5-library-webcgenerator-ui5-library-webcA Yeoman generator that scaffolds a UI5 library wrapping UI5 Web Components on the official UI5 tooling, run through Easy-UI5 or standalone, and served afterwards with npm start.community org, ui5Yeoman generator for UI5 libraries wrapping UI5 Web Components
- generator-ui5-librarygenerator-ui5-libraryA Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 library as a plug-in for Easy-UI5.community org, ui5Easy-UI5 generator scaffolding a new UI5 library
- generator-ui5-projectgenerator-ui5-projectA Yeoman generator for a UI5 project holding several applications in npm workspaces, with eight subgenerators for recurring tasks and a choice of six deployment targets.community org, ui5Yeoman generator for UI5 projects holding several applications
- generator-ui5-ts-app-fclgenerator-ui5-ts-app-fclA generator that scaffolds a UI5 TypeScript application built around the FlexibleColumnLayout and bound to an OData service, asking for the endpoint, entity set, key and fields to show.community org, ui5Generator for a TypeScript UI5 FlexibleColumnLayout app on OData
- generator-ui5-ts-appgenerator-ui5-ts-appA Yeoman generator, built on the official UI5 CLI, that scaffolds a new UI5 application in TypeScript with its tsconfig and UI5 CLI configuration, as a plug-in for Easy-UI5.community org, ui5Easy-UI5 generator scaffolding a TypeScript UI5 application
- generator-ui5-ts-librarygenerator-ui5-ts-libraryA Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 library in TypeScript as a plug-in for Easy-UI5.community org, ui5Easy-UI5 generator scaffolding a TypeScript UI5 library
- generator-ui5-wdi5generator-ui5-wdi5A Yeoman generator that scaffolds wdi5 end-to-end test configuration and sample tests into a UI5 app, wrapping npm init wdi5 in prompts and run through Easy-UI5.community org, ui5Yeoman generator scaffolding wdi5 test configuration into a UI5 app
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:ui5-community-create-easy-ui5- JSON
- /artifacts/ui5-community-create-easy-ui5.json
- MCP
- Connecting an agent