{"id":18319865,"url":"https://github.com/ui5-community/generator-ui5-control","last_synced_at":"2025-04-09T14:23:08.307Z","repository":{"id":103254426,"uuid":"336487103","full_name":"ui5-community/generator-ui5-control","owner":"ui5-community","description":"yeoman-based (sub-)generator for a UI5 custom control, prepped for npm distribution as ui5-cc-*","archived":false,"fork":false,"pushed_at":"2021-03-29T19:36:59.000Z","size":5226,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-15T08:20:15.367Z","etag":null,"topics":["control","easy-ui5","ui5","yeoman","yeoman-generator"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ui5-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-06T08:04:48.000Z","updated_at":"2024-06-24T21:39:40.000Z","dependencies_parsed_at":"2023-10-15T00:19:47.080Z","dependency_job_id":null,"html_url":"https://github.com/ui5-community/generator-ui5-control","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui5-community%2Fgenerator-ui5-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui5-community%2Fgenerator-ui5-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui5-community%2Fgenerator-ui5-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ui5-community%2Fgenerator-ui5-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ui5-community","download_url":"https://codeload.github.com/ui5-community/generator-ui5-control/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054209,"owners_count":21039953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["control","easy-ui5","ui5","yeoman","yeoman-generator"],"created_at":"2024-11-05T18:14:31.360Z","updated_at":"2025-04-09T14:23:08.278Z","avatar_url":"https://github.com/ui5-community.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# generator for a UI5 custom control\n\nScaffold a UI5 custom control that is structured in such a way that it can also distributed as a `node` module via `npm`.  \nMainly intended for re-use via [`easy-ui5`](https://github.com/SAP/generator-easy-ui5), but also suitable to run standalone.\n\n## use w/ `easy-ui5`\n\ndo `yo easy-ui5` and select this generator when prompted\n\n## use w/ yeoman locally/standalone\n\n![generating a ui5 custom control](./generate-ui5-control.gif)\n\n```bash\n$\u003e npm i -g yo\n$\u003e yo ./path-to-this-repo/app\n\n     _-----_     ╭──────────────────────────╮\n    |       |    │  Welcome to the amazing  │\n    |--(o)--|    │   UI5 custom control     │\n   `---------´   │        generator!        │\n    ( _´U`_ )    ╰──────────────────────────╯\n    /___A___\\   /\n     |  ~  |\n   __'.___.'__\n ´   `  |° ´ Y `\n\n? What's the name space your custom control(s) should live in? (my.ui5.cc)\n```\n\n## use w/ options supplied\n\n```bash\n$\u003e yo ./path-to-this-repo/app --controlNamespace=bla.fasel --buildDir=../some/dir\n# will make the control live in namespace 'bla.fasel\"\n# and put the built control in directory `cwd` + '../some/dir'\n```\n\n## aftermath\n\nthe generator also provides a full dev- and test-environment for your new and shiny custom control 😱 !\n\n```bash\n$\u003e cd path/to/generator/result\n$\u003e npm run test:manual\n# ...\ninfo normalizer:translators:ui5Framework Using OpenUI5 version: 1.86.3\ninfo server:custommiddleware:livereload Livereload server started!\nServer started\nURL: http://localhost:8081\n```\n\nAs obvious from the above, the `manual` test command boots up a barebones UI5 app using your new custom control, inclusing live reload capabilites. So once you edit the control, the app auto-reloads and changes are visible immediately.\n\n```bash\n$\u003e npm run test\n# ...\n PASS  test/ui5-app/basic.test.js\n  my.ui5.cc.Control\n    ✓ should find the my.ui5.cc.Control in index.html (36 ms)\n\nTest Suites: 1 passed, 1 total\nTests:       1 passed, 1 total\nSnapshots:   0 total\nTime:        1.103 s\nRan all test suites.\n```\n\n## test for the generator\n\nall tests are located in `__tests__`.  \n`jest` is used as test framework and runner.\n\n## contributing\n\n- as of now: stick to `yo` v3 (not 5) and `yeoman-generator` v4.x (not 5) due to incompatability issues\n- use the `prettier` config in `.prettierrc` in this repo\n- please supply an additional test per new feature and/or fixed bug\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fui5-community%2Fgenerator-ui5-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fui5-community%2Fgenerator-ui5-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fui5-community%2Fgenerator-ui5-control/lists"}