generator-easy-ui5
A 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.
Starting a SAPUI5 or OpenUI5 project by hand means writing the same metadata files and wiring in current best practices, such as async module loading, every time. easy-ui5 scaffolds one instead, prompting for a target platform among choices that include a static webserver, an Application Router, SAP HTML5 Application Repository and SAP Build Work Zone, and leaves a project runnable with npm start. Beyond its bundled project generator, it loads further sub-generators the UI5 Community publishes, for TypeScript apps, launchpad plugins and libraries among others. It moved from the SAP GitHub organisation to the UI5 Community with version 3, though SAP employees still handle its incoming feature requests and bug reports.
Facts
Where it sits
Who is behind it
In the atlas: maintains 69@ui5-communitymaintainerAjinkya PatilContributes to this
In the atlas: contributes to 112@ajinkyapatil8190Andreas KunzContributes to this
In the atlas: contributes to 19@akudevChristian PätzoldContributes to this
In the atlas: contributes to 1@cpa-geckoThai PangsakulyanontContributes to this
In the atlas: contributes to 1@dtinthFlorian VogtContributes to this
In the atlas: contributes to 50, wrote 2@flovogtGeert-Jan KlapsContributes to this
In the atlas: maintains 4, contributes to 11, wrote 4@geert-janklapsGnagnoHtmlContributes to this
In the atlas: contributes to 1@GnagnoHtmlPipContributes to this
In the atlas: contributes to 1@i-pipMarius ObertContributes to this
In the atlas: contributes to 3@IObertJonathan BakerContributes to this
In the atlas: contributes to 9@jonathanbaker721 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
- Yeoman
- Distributed through
- npm
Connections
Starting a project, and adding pieces to one that runs
Easy-UI5 generator scaffolding a new UI5 library
Yeoman generator for UI5 projects holding several applications
Generator for a TypeScript UI5 FlexibleColumnLayout app on OData
Easy-UI5 generator scaffolding a TypeScript UI5 library
Yeoman generator scaffolding wdi5 test configuration into a UI5 app
npm-init wrapper for the Easy-UI5 Yeoman generator
Download
Install
npm add generator-easy-ui5Derived from the package name. No recipe recorded; the README has the configuration.
README
quoted from ui5-community/generator-easy-ui5 under Apache-2.0, readEasy UI5 Generator
███████╗ █████╗ ███████╗██╗ ██╗ ██╗ ██╗██╗███████╗ ▄▄ ▄▄
██╔════╝██╔══██╗██╔════╝╚██╗ ██╔╝ ██║ ██║██║██╔════╝ █████
█████╗ ███████║███████╗ ╚████╔╝ ██║ ██║██║███████╗ ███
██╔══╝ ██╔══██║╚════██║ ╚██╔╝ ██║ ██║██║╚════██║ █
███████╗██║ ██║███████║ ██║ ╚██████╔╝██║███████║
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝╚══════╝ v3.10.0
Description
Easy UI5 (easy-ui5) 💙 is a Yeoman generator which enables you to create simple SAPUI5/OpenUI5-based web-apps and other UI5-related projects within seconds.
This generator has been created to simplify the creation of your UI5 prototypes. Now you can scaffold simple UI5 projects from the shell/terminal of your choice. The current best practices (such as async) are already baked into our templates so you don't have to worry about the definition of the metadata files.
The purpose of the (preinstalled) project generator is to guide you on your first steps with SAPUI5 and SAP BTP deployments. Once you are familiar with those technologies, you might want to tweak the projects to adapt them for productive use-cases (such as continuous deployment pipelines and full i18n).
Note: This project was formerly located at the SAP GitHub organization. Starting with easy-ui5 v3, all templates were outsourced to repositories in the UI5 Community. To highlight easy-ui5 is also a fully community driven project, the project was moved to the UI5 Community, too. Still SAP employees take care of managing incoming feature requests and bug reports.
By default, it will download the repository generator-ui5-project which contains the templates that were previously integrated in easy-ui5 < 3.
Requirements
- Get Node.js (⚠️ version 22.13 or higher).
Download and Installation
-
Install the generator:
npm install -g yo generator-easy-ui5 -
Verify your installation to see if Yeoman has been installed correctly:
yoMake sure you see the
easy-ui5generator listed.
Bootstrapping a new UI5 project
Create your first UI5 App within a few seconds!
-
Scaffold your UI5 project:
yo easy-ui5 project -
Answer the prompts to create your new project.
-
Run it locally:
cd <your project directory> npm start # or "yarn start"
Target platforms
During the prompting phase, the project generator will ask on which target platform your app should run. Currently, the following options are available:
- Static webserver
- Application Router
- Application Frontend Service
- SAP HTML5 Application Repository
- SAP Build Work Zone, standard edition
- SAP NetWeaver
Have a look at the project generator for more usage instruction and information about its available subgenerators.
More generators
And this is just the start!
We made easy-ui5 extensible, so that the entire UI5 Community can build additional plugins to scaffold any UI5-related development activity.
By default, this generator comes with the project generator but there are many others as well:
- [ui5-community/generator-ui5-ts-app]
- [ui5-community/generator-ui5-ts-app-fcl]
- [ui5-community/generator-ui5-app]
- [ui5-community/generator-ui5-flp-plugin]
- [ui5-community/generator-ui5-library]
- [ui5-community/generator-ui5-ts-library]
- [ui5-community/generator-ui5-wdi5]
- [ui5-community/generator-ui5-add-extension]
- [ui5-community/generator-ui5-library-webc]
To download and use any of the plugins above, run the following command:
yo easy-ui5 [project|ts-app|...] # this is the name of the repository without the "generator-ui5-" prefix
Calling generators
Run the following command to see all subgenerators of a given generator:
yo easy-ui5 [project|ts-app|...] --list
Once you decided on the generator, run:
yo easy-ui5 [project|ts-app|...]
Configuration
easy-ui5 reads its configuration from ~/.easyui5rc.json (recommended) or
~/.easyui5rc (INI). Both files are optional and use bare option names — no
prefix needed.
~/.easyui5rc.json:
{
"ghAuthToken": "github_pat_...",
"ghBaseUrl": "https://github.tools.sap/api/v3",
"pluginsHome": "/Users/me/.npm/_generator-easy-ui5/plugin-generators",
"addGhBaseUrl": "https://github.tools.sap/api/v3",
"addGhOrg": "my-org",
"addSubGeneratorPrefix": "generator-"
}
~/.easyui5rc (INI alternative):
ghAuthToken=github_pat_...
ghBaseUrl=https://github.tools.sap/api/v3
Cascade & per-project overrides
Resolution walks from the current working directory up to your home directory
(ESLint-style). At each level, .easyui5rc.json wins over .easyui5rc; closer
files win over farther ones. Add "root": true to a file to stop the cascade
at that level.
Environment variables
Every option also accepts a EASY_UI5_<SCREAMING_SNAKE> environment variable
which takes precedence over every config file — ideal for CI:
EASY_UI5_GH_AUTH_TOKEN=ghp_...
EASY_UI5_GH_BASE_URL=https://github.tools.sap/api/v3
EASY_UI5_PLUGINS_HOME=/var/cache/easy-ui5
Legacy ~/.npmrc keys (deprecated)
Earlier versions read easy-ui5_* keys directly from ~/.npmrc. These are
still resolved for one release, but npm 11+ warns and npm 12 will reject
unknown user config — please move them to ~/.easyui5rc.json. The generator
prints a one-time migration notice when it detects legacy keys.
Proxy settings
If you are running easy-ui5 behind a coporate proxy, just use the default proxy environment variables for Node.js to configure your corporate proxy:
HTTP_PROXY: Specify the value to use as the HTTP proxy for all connections, e.g.,HTTP_PROXY="http://proxy.mycompany.com:8080/".HTTPS_PROXY: Specify the value to use as the HTTPS proxy for all connections, e.g.,HTTPS_PROXY="http://proxy.mycompany.com:8080/".NO_PROXY: Define the hosts that should bypass the proxy, e.g.,NO_PROXY="localhost,.mycompany.com,192.168.6.254:80".
In addition, easy-ui5 also supports proxy configuration from the .npmrc configuration:
http-proxy=http://proxy.mycompany.com:8080/
https-proxy=http://proxy.mycompany.com:8080/
proxy=http://proxy.mycompany.com:8080/
no-proxy=localhost,.mycompany.com,192.168.6.254:80
This configuration is shared with npm itself since this proxy configuration is used to download the packages from npm.
Proxies can be passed as env variables or as npm config options. The highest precedence have the GLOBAL_AGENT_* env variables before the regular env variables followed by the npm configuration options, e.g.:
- env:
GLOBAL_AGENT_HTTP_PROXY - env:
HTTP_PROXY - npm:
http-proxy - npm:
proxy
How to obtain support
Please use the GitHub bug tracking system to post questions, bug reports or to create pull requests.
Releases
Releases are automated via Changesets and the
Release workflow. Contributors record the intended semver
bump and summary in a .changeset/*.md file as part of their PR (npm run changeset); when
that PR merges to main, a "Version Packages" PR is opened or updated. Merging that PR cuts
the actual release: version bump, CHANGELOG.md update, npm publish via OIDC Trusted
Publishing, git tag, GitHub Release.
See CONTRIBUTING.md for the contributor-facing details.
Contributing
We welcome any type of contribution (code contributions, pull requests, issues) to this project equally.
Please follow our instructions if you would like to contribute.
History
Features 1
Notes
Minor Changes
-
#181
b7d37f3Thanks @petermuessig! - Require Node.js 22.13 or higherThe minimum supported Node.js version is now
>=22.13(previously>=20.19). Node 20 has moved out of Active LTS and the UI5 ecosystem is standardising on Node 22 as the common floor; the exact22.13threshold matches the range already required by our transitive dependencies (yeoman-generator, glob, and others).- CI now tests on Node 22, 24, and 26.
lint-stagedbumped to 17 (drops Node 20 support).@commitlint/cliand@commitlint/config-conventionalbumped to 21.globalsbumped to 17.7.- Pinned GitHub Action SHAs refreshed (
actions/checkoutv7,actions/setup-nodev6,changesets/actionv1.9,softprops/action-gh-releasev3).
-
Fixes 1
Notes
Patch Changes
-
#169
dafaf9fThanks @petermuessig! - Fix scaffolding interactive flow:- Drop
--prefer-offlinefrom the internalnpm installinvocation; the flag could prevent the install from completing properly when the offline cache is incomplete or stale. - Replace the deprecated inquirer
listprompt type withselectfor the generator and sub-generator selection prompts.
- Drop
-
Features 3, Fixes 6
Notes
Minor Changes
-
#163
ddfb468Thanks @petermuessig! - Modernize the release pipeline, dependencies, and configuration.Releases
- Adopt Changesets for versioning
and publishing. Each PR now records its intended semver bump and a summary in
a
.changeset/*.mdfile; merging tomainopens a "Version Packages" PR whose merge publishes to npm via OIDC Trusted Publishing. - The legacy tag-based
publish.ymlworkflow has been retired. Therelease:changelog/postversionscripts and theconventional-changelog-clidevDependency are gone — theCHANGELOG.mdis now generated by@changesets/changelog-githuband contains PR/commit links.
Configuration
- New
~/.easyui5rc.json(preferred) and~/.easyui5rc(INI) forgenerator-easy-ui5-specific options (ghAuthToken,ghBaseUrl,pluginsHome,addGhBaseUrl,addGhOrg,addSubGeneratorPrefix). The lookup walks fromcwdup to your home directory (ESLint-style cascade), and a file may set"root": trueto stop the walk. - New
EASY_UI5_*environment variables for CI (e.g.EASY_UI5_GH_AUTH_TOKEN) that override every config file. - The legacy
easy-ui5_*keys in~/.npmrcare still read for one release, with a one-time stderr deprecation notice — npm 11 already warns about them and npm 12 will reject them. Move them to~/.easyui5rc.json. - Internals: the config reader no longer shells out to
npm config list --json, removing a child-process dependency and ~100–300 ms of startup cost.
Dependencies and tooling
- Minimum supported Node.js is now 20.19 (was
>=20) to matcheslint@10's engines field. - Bumped
yeoman-generatorto^8.2.2andeslintto^10.5.0. - Added
eslint-plugin-nandeslint-plugin-securityplus a strict CI variant (npm run lint:ci,--max-warnings 0) for supply-chain hygiene.
- Adopt Changesets for versioning
and publishing. Each PR now records its intended semver bump and a summary in
a
-
#163
ddfb468Thanks @petermuessig! - Replace the standard Yeomanyosaygreeting with a branded EASY UI5 ASCII banner. The wordmark spells "Easy UI5" in ANSI-Shadow box-drawing characters with a small block-style heart anchored to the top right. Wordmark rows are painted with a six-tone rainbow (red, yellow, green, cyan, blue, magenta); the heart renders in magenta; the version number sits on the last wordmark row in yellow, with a blank row separating it from the heart for visual breathing room. Blank lines bracket the banner above and below. Theyosayruntime dependency has been dropped (it remains a devDependency only because the in-tree test-plugin fixtures still use it). -
#163
ddfb468Thanks @petermuessig! - Introduce a structured logger with severity-tagged, colour-coded output. Every diagnostic line emitted by the generator now carries a fixed-width category —[INFO ],[WARN ],[ERROR],[OK ], or[DEBUG]— coloured by severity (cyan / yellow / red / green / dim).WARNandERRORare routed tostderrso they survivestdoutredirects;DEBUGis hidden unless--verboseis set. The previous mix ofthis.log,console.error,console.info, and rawprocess.stderr.writecalls has been replaced withthis.logger.{info,warn,error,ok,debug}acrossgenerators/app/index.jsand the legacy~/.npmrcdeprecation notice ingetNPMConfig.js. The welcome banner and the--list/--pluginshelp output still use the untaggedthis.logchannel because they're cosmetic, not diagnostic.
Patch Changes
-
#163
ddfb468Thanks @petermuessig! - Expand the integration-test matrix to cover every supported yeoman-generator major (4, 5, 6, 7, 8). Each fixture undertest/generator-ui5-test-v<N>/pins its ownyeoman-generatormajor and produces a distinctively-named template file the assertion can check for, so a regression in any major surfaces immediately. The corresponding test driver intest/basic.jsis now data-driven (one row per major) so adding a future yeoman-generator major becomes a one-line change. Also fixes a latentchalk-not-imported bug in the v4/v5 fixtures that would have crashed if the--embeddedoption was ever off. -
#163
ddfb468Thanks @petermuessig! - Move the--embedplugin-generator snapshotting step out of theprepublishOnlynpm hook and into an explicitnpm run embedworkflow step that runs before Changesets publishes. The previous setup callednpx yo … --embedfrom insidenpm publish, which fetched the public plugin generators from GitHub without authentication — at the mercy of the 60-req/hour unauthenticated rate limit on shared CI egress IPs. With the new arrangement: the release workflow authenticates the fetch viaEASY_UI5_GH_AUTH_TOKEN=${{ secrets.GITHUB_TOKEN }}, and a transient GitHub failure aborts the run before any version bump is committed tomain. Maintainers publishing locally (rare; the workflow is the intended path) now need to runnpm run embedthemselves first — seeCONTRIBUTING.md's "Release Life-Cycle" section. -
#163
ddfb468Thanks @petermuessig! - Fix subgenerator runs crashing withCommand failed with exit code 1: npmafter the bump toyeoman-generator@8. In v8 the spawn API was reshuffled:spawnCommand(name, opts)now takes a shell string (no args array), whilespawn(name, args, opts)is the args-array variant. The generator was still callingspawnCommandwith an args array — execa silently dropped the args and invokednpmwith nothing, which prints help and exits 1. Switched the four call sites (_npmInstalland the threegitcalls inend()) tospawn/spawnSync. Added a regression-guard test that fails if the legacy API reappears anywhere undergenerators/. -
3.9.1 (8d3e50d)
-
build: give permissions to create releases (ac656d6)
-
build: give permissions to create releases (25b76c7)
-
Other 29
Notes
- build: update publish.yml (7550f82)
- build: update repo url in package.json (282ff34)
- build: use node 24 for publish process (aeec69a)
- 3.8.0 (c68817b)
- 3.8.1 (d5ea70d)
- 3.8.2 (ed1f04b)
- 3.8.2 (1a294cf)
- 3.8.3 (465ae4c)
- 3.8.4 (b3739cd)
- 3.9.0 (bbe079f)
- Reuse Version update from dep to toml (79a4004)
- chore: bump deps (95ab483)
- chore: keep using own husky switch (0d2af8b)
- chore: node 20 (b2a5ae9)
- chore: npm version will update package.json (bfeaf05)
- chore: undo failed version bumps (1ccce01)
- feat: support nesting of generators (#141) (afd9173), closes #141
- feat: update of deps incl. bug fixes (Node >= 20) (4279e6f)
- docs: add gen ai contribution guidelines (2100b37)
- docs: move genai section into CONTRIBUTING.md (8c32432)
- docs: update (45f599c)
- docs: update copyright year to 2024 (#140) (3796437), closes #140
- docs: Update documentation after organization transfer (#153) (17f8820), closes #153
- docs: update issue templates (6def78a)
- docs: update README.md (7d82909)
- docs: update release instructions (13278b4)
- fix: ensure proper support for corporate proxies (#143) (c99ab14), closes #143 #142
- fix: prepublish script (9485829)
- test: fix tests (c8310a7)
Other 16
Notes
- 3.5.2 (0b1e681)
- 3.6.0 (44afb19)
- 3.6.1 (bb27b2f)
- 3.6.2 (dc1b2c2)
- 3.6.3 (241d802)
- 3.7.0 (7321b7e)
- chore: update dependencies (#136) (63f4303), closes #136
- feat: support for coporate proxy / switch to esm / update deps (#124) (bf95254), closes #124 #79
- feat: update the min nodejs version to 18 (06385f4)
- fix: also include embedded subgens (86912a8)
- fix: await Environment.lookup (#132) (#133) (9f614d2), closes #132 #133 #132
- fix: ignore execution of scripts to avoid husky run (#129) (3da8d22), closes #129
- fix: just use npm to install subgen dependencies (#130) (6697913), closes #130
- fix: omit devDependencies for plugin generators (#125) (ffda0c5), closes #125
- fix: removal of the outdated templates must not fail (#126) (f196dac), closes #126
- fix: sort subgen list, remove threshold, fix permission issues (#123) (c5dd321), closes #123 #122 #118 #117 #111
Other 24
Notes
- 3.2.1 (61cf583)
- 3.2.2 (13e3d3a)
- 3.3.0 (a99bab3)
- 3.4.0 (052dd1f)
- 3.5.0 (b13d1c8)
- 3.5.1 (3131214)
- chore: add support of changelog generation (1faf57f)
- chore: fix linting and formatting (14eacec)
- chore: node version check on install (16d2dbb)
- chore: update contributing docu (f7028be)
- chore: update the release flow (d3a8abd)
- chore: use Husky for commitmsg validation (7542458)
- build: update dependencies (daee8d7)
- fix: enable for Yeoman UI usage (03c2e38)
- fix: usage of proper gh org for logging and download (#94) (a88d4db), closes #94
- fix: use the org name of the selected generator for downloading the corresponding repo (d9ca4dc)
- fix(postinstall): allow usage of NPM config for ghAuthToken to avoid rate limit (#104) (371d7fb), closes #104 #100
- fix(postinstall): avoid non-existing node_modules (#98) (f93c7c9), closes #98
- feat: allow ghAuthToken as NPM configuration (#103) (5e3d928), closes #103
- feat: allow to run easy-ui5 embedded (#99) (f4952c4), closes #99
- feat: offline support, generator from repo, bestofui5 test (#110) (70e9012), closes #110
- docs: update CONTRIBUTING.md with release info (b5bfd02)
- docs: update min requirement to node v14 (5ede876)
- docs: updated CONTRIBUTING.md (cc0fdfd)
Other 7
Notes
- 3.2.0 (f7bb97f)
- chore: define filter helper before usage (96911ad)
- chore: update dependencies (0533da1)
- feat: Add support for user repositories (6b7efa6)
- feat: support additional GH org via NPM config (0d33197)
- fix: freeze version of colors.js in package.json (#85) (6b497b6), closes #85
- fix: use homedir for plugin-generators avoid EACCESS (e326676), closes #84
Other 33
Notes
- 3.0.0 (f23ce88)
- 3.0.1 (7fce5bb)
- activate workflows (843f7b3)
- Add info to readme, add release workflow (891b2d5)
- Add list option (6942b63)
- Add option to skip update for local testing (efb793d)
- Add postinstall script to download main plugin (9a141f5)
- Add requirements section (37ef1df)
- add test files (9f52737)
- Added busy indication (5211d04)
- Change implementation to outsource generator logic (655f0d6)
- change issue templates (cda6f34)
- change progress messages (684e76c)
- change text (08ad416)
- cut down text of readme (6337a18)
- docs, refactor: add links for SAP BTP and SAP UI5 (3f9020a)
- edit readme (a416c76)
- Fine tuning of the busy indicator (2edbfd9)
- Fix for Windows (46b832e)
- fix on Unix (641cc0f)
- fix post install (a0b61a5)
- fix test (93b71ce)
- Fix typos for library plugin generator call (2d29608)
- Improved busy indication (1701ed6)
- linting code (8f3c76c)
- move files (a060f34)
- Only run on new tags (197395b)
- remove branch restriction (2da9e6a)
- retrigger (a54b67f)
- Support for Node 12, some more simpifications (d702309)
- test change (fdb89a9)
- docs: Add changelog (1a8493f)
- chore: uiveri5 - add params for saucelabs reporter (f2d5da8)
Other 8
Other 9
Notes
- 2.4.0 (46fe149)
- add github release job (4268f5d)
- add script to support development (e21811c)
- fix issue with multiple deploy jobs (0f5f049)
- docs: add wdi5 to overview section (c8750d8)
- docs(wdi5): describe subgenerator use (f16f3dd)
- chore: proper q format (87ebbf5)
- chore(eslint): add semicolons (8588f09)
- feat: add wdi5 as test framework (e63ce2e)
Other 15
Notes
- 2.0.0 (6cccbd5)
- Adapt logic in newuimodule generator (e4e7354)
- Add new sub generator for independend ui modules (fd3b6a4)
- Combine all cfmodule subgenerators in one (1c80185)
- Downgrade eslint (bc1dcff), closes #36
- eslint fixes (3285b77)
- Fix bugs with AR@CF deployment (cd74788)
- Fix bugs with FLO@CF deployment (69d4293)
- Fix new model subgenerator (e7aca79)
- Fix tests (1bc3493)
- Harmoniza node engines (cb12ffb)
- Hot fix (7165ba0)
- Hot fix (8f00f6f)
- Rename subgenerator (74f6221)
- Update test infrastructure (c66a4aa)
Other 3
Notes
- 1.3.6 (08ce21c)
- bring middleware back in after update (fixes SAPDocuments/Tutorials#5067 and fixes SAPDocuments/Tuto (c62104e), closes SAPDocuments/Tutorials#5067 SAPDocuments/Tutorials#5093
- Support p13n for FLP apps (07d8c0b)
Other 11
Notes
- [FLP] add tile to catalog (b94e718)
- [FLP] add translation config (b93a835)
- 1.3.2 (2012855)
- don't add ui5 middleware to static router (170d4c5), closes #30
- fix issue #25 (951f00f), closes #25
- Use an older version of mbt as there is a bug in the new one (d28ee9f)
- Use favicon (c5d3d48)
- fix(app): Fix lint errors (c4df165)
- fix(formatter): Fix formatter (4f637c8)
- feat(BaseController): Adding the BaseController and formatter (e51a66b)
- feat(BaseController): Fix lint and activate install again after creation (8697b1b)
Other 19
Notes
- 1.3.0 (6e4cd59)
- Add default value for type confirm (9753b4f)
- Add launch.json for easier debugging (d62ef27)
- Add new eslint rule to enforce code quality (30c589d)
- Add npmrc files to new modules to allow executing in unconfigured node environments (5e71187)
- Add parallilization to speed up test runs in circleci (c4d1341)
- Add subgenerator to support FLP applications (e12631f)
- Align sandbox and real cloud config (60808bb)
- fix #20 (4a73466), closes #20
- Fix error (7909271)
- Implement eslint rules and enforce (a0a1dc6)
- Implement same eslint rules for generated project (7cf9f73)
- Refactor manifest.json manipulations with promises (df71aeb)
- Return actual error when mocha runs (498f767)
- switch to double quotes (9acfbe3)
- throw nicely formatted errors (62d8510)
- Update dependencies (9b900cb)
- Update deps (fb1535c)
- Use native fs component to modify files in subgenerators (e033fb9)
Other 12
Notes
- 1.2.0 (c3f4a5c)
- Added functionality for component and model (25eabca)
- added option to add view to route (e209680)
- Added the ? for data source (c4622b4)
- Changed name of component to component usage (d4a7823)
- replaced console with this (1297ca6)
- replaced console with this (4cf8885)
- replaced console with this.log (3316742)
- Update index.js (9103153)
- Update package.json (205ffec)
- Update README.md (b760adf)
- updated name to component usage (f676aed)
Other 10
Notes
- 1.0.0 (0766df1)
- adapt tests (931fb88)
- Allow usage of sub-generators also for other projects - fix #14 (3d2d43d), closes #14
- Ask for target platform (1f0aaf2)
- fix underscore prefix issue (1506e27)
- handle local run with incorrect path by overwriting xs-app.json (7f9150f)
- run git init after generation (17a6815)
- separate run from deploy dependencies (9ff3d5d)
- simplify app router config (bf0561b)
- supress git output (b83a002)
Other 49
Notes
- 0.3.0 (1fd01dc)
- 0.3.1 (d0dc472)
- add more setup steps for CF (a602bf0)
- add more tests (45180e8)
- add plain and simple circleci (fbeed16)
- add prefix to generator in readme (ab274cd)
- Add second i18n file to prevent warnings during test (77b66b4)
- add simple karma test suite to make sure the generated ui5 project works as expected (9b9d55c)
- Add stickers (ca5c491)
- Add test cases for all major config options (+fix bugs found) (2614c82)
- Added Description section (6166cd1)
- change config order (3523edd)
- Change dev dependicies according to current best practices. Update deps of the generator itself (6109a54)
- Change run config of circleci (f037103)
- Change test structure (96855e7)
- change test timeouts (0e7e632)
- changing docker image to run chrome tests (2ce805f)
- Do not disable package-lock file (97599b0)
- fix #2 - don't mention view type in files (e873505), closes #2
- fix md link (ba0dd3a)
- Fix npm publish issue - enrich files-property (daa6c38)
- Fix npmrc file for CF deployment (5056cb4)
- fix readme (4df1ed1)
- fix tests (e1e6cff)
- Fix wrong view name issue (3172ac7)
- Formatting suggestions (4e53f24)
- Incorporate suggestions, add contribution notes and issue template (6098ae1)
- Initial commit (46b68cb)
- link contribution.md file (44edff1)
- Make readme ready to publish (2796be5)
- move existing project to new repo (319a5ac)
- New release: Added tests and incorporated community feedback (3cd52bc)
- remove logo from readme (7b66357)
- Remove non-existing "main" entry in package.json (fc7c6b3)
- Restructure readme file (938d0c2)
- separate
dependenciesanddevdependenciesdue to SAP/ui5-project#146 (d803e1c), closes SAP/ui5-project#146 - Simplify test structure of templates (5cb7b4b)
- update app router (2111748)
- Update author info and license (67c3efe)
- Update code to current OpenUI5 best practices (d67663a)
- Update dependencies (3d1bb84)
- Update Dependencies, add shx to copy files independent of the platform OS (40348f3)
- Update Dependencies, add shx to copy files independent of the platform OS (9dbd86c)
- Update deploy command inreadme (8e38c9d)
- Update deps (05a0ec7)
- Update deps and add new test for build process (38abcbb)
- Update readme file (0744d9c)
- Update readme for deployment (e819a10)
- Upgrade to UI5 Tooling v1.1.0 (4b58f8d)
Others providing
Compare all 32 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 classfrom ABAP
- 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 appfrom UI5
- 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 CAPfrom BTP/BAIP
- @cap-handler/generator@cap-handler/generatorInteractive generator for CAP event handlers: reads the model through the reflection API, asks which service, target and phase, then writes the handler file and wires the import and registration into the service implementation.independent, capInteractive generator for CAP event handler filesfrom CAP
- com.sap.cds:cds-maven-plugincom.sap.cds:cds-maven-pluginThe Maven plugin that runs CDS build steps in a CAP Java project: compiling the model, generating typed Java accessor interfaces and adding facets to an existing project.sap official, capMaven plugin running CDS build steps in a CAP Java projectfrom CAP
- com.sap.cds:cds-services-archetypecom.sap.cds:cds-services-archetypeA Maven archetype that generates a new CAP Java project: a Spring Boot service with a starter CDS model, wired to the CDS Maven plugin for its build.sap official, capMaven archetype generating a new CAP Java projectfrom CAP
- @khalidmh/capx@khalidmh/capxAn opinionated installer for CAP Node.js projects — asks a short set of questions, runs cds init, adds the chosen facets, then writes the configuration and starter files that make those choices work together.independent, capInteractive project installer for CAP Node.jsfrom 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 htmlfrom UI5
- AbapGeneratorAbapGeneratorAn ABAP transaction, ZABAP_GENERATOR, that generates a Model-View-Controller-style project by copying a template package's objects into a new one under the project's name.independent, abapABAP transaction generating an MVC-style project from a templatefrom ABAP
- 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 Codefrom CAP
- @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, capCommand line client and development toolkit for CAPfrom CAP
- @sap/generator-cap-project@sap/generator-cap-projectThe CAP project generator behind SAP Business Application Studio's wizard; its readme says it is meant to be used only there.sap official, capCAP project generator behind SAP Business Application Studio's wizardfrom CAP
- @sap/generator-cds@sap/generator-cdsA CDS project generator, deprecated by its own readme in favour of installing @sap/cds-dk globally.sap official, capCDS project generator, deprecated in favour of @sap/cds-dkfrom CAP
- @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 codefrom CAP
- @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 projectfrom UI5
- @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 appsfrom UI5
- @sap-ux/fiori-generator-shared@sap-ux/fiori-generator-sharedThe shared functions and types the Fiori generators are built from; a dependency of theirs rather than a generator itself.sap official, capShared functions and types of the Fiori generatorsfrom CAP
- @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 projectfrom UI5
- @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 codefrom UI5
- create-easy-ui5create-easy-ui5An 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.community org, ui5npm-init wrapper for the Easy-UI5 Yeoman generatorfrom UI5
- 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 appfrom UI5
- 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 projectsfrom UI5
- 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 applicationfrom UI5
- 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 npmfrom UI5
- 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 Componentsfrom UI5
- 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 libraryfrom UI5
- 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 applicationsfrom UI5
- 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 ODatafrom UI5
- 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 applicationfrom UI5
- 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 libraryfrom UI5
- 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 appfrom UI5
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-generator-easy-ui5- JSON
- /artifacts/ui5-community-generator-easy-ui5.json
- MCP
- Connecting an agent