Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jan 07, 2014
@saschakiefer saschakiefer Merge branch 'release-0.2.0' into develop fb1b7e8
Commits on Jan 16, 2014
@js1972 Merge remote-tracking branch 'upstream/develop' into develop eb531df
Commits on Jan 17, 2014
@js1972 fix formatting of fiori templates and remove .jshintrc reporter optio…
…n causing issues in sublime
@js1972 wrap fiori master-detail app javascript in anonymous functions so as …
…to not pollute global namespace
@js1972 fix tests - ensure yeoman-generator is >= 0.16.0 by updating yo; adde…
…d test for fiori master/detail app
Commits on Jan 18, 2014
@js1972 refactor generatortests into separate files f48bb31
@js1972 remove useless editor config file that was created by generator-gener…
@js1972 Add default watch task to gruntfile - performs jshint and mochaTest o…
…n generator files. Also touched _Root.view.xml and _Root.controller.js just to test the watch task
@js1972 add test for uiComponent sub-generator 2886288
@js1972 add test for facelessComponent sub-generator 0a29653
Commits on Jan 19, 2014
@js1972 feat: add local http server
Added the JADS ( Node.js http server script as a grunt task. Running 'grunt execute' now launches an express web http server to serve the generated app. The JADS server includes proxy capabilities. Goto localhost:8080 to run the generated app in the browser. The port can be configured in the JADS/config.js file.
@js1972 fix: removed git sub module for JADS - files now tracked 3be0e83
@js1972 fix(JADS): enable sapui5 alias in config.js e1eabf8
@js1972 fix(JADS): Fix failing test 2aadabc
@saschakiefer saschakiefer fix(gen:fiori): change root view to XML vie instead of JS view
chore(jshint): remove unused reporting options
style(gen:fiori): wrap files in anon functions
test: fixing tests
refactor(test): refactor tests into separate files for each generator
chore(config): remove useless editor.config file that was created by generator-generator
chore(grunt): add watch task
test(gen:uiComponent): add missing test
test(gen:facelessComponent): add missing test
@saschakiefer saschakiefer chore(config): chmage the yeoman-generator version dependency abf69bd
@saschakiefer saschakiefer feature(gen): add OpenUI5 to local repository via bower 70ab430
@saschakiefer saschakiefer feature(gen): add server task using JADS and serve the UI5 resources …
…from the local bower repository
Commits on Jan 21, 2014
@saschakiefer saschakiefer add general UI5 location prompt to script base f1bcde1
@saschakiefer saschakiefer apply UI location to application generator and classical app template d0e973a
@saschakiefer saschakiefer exclude downlaoding UI5 during bower install, if custom location is c…
@saschakiefer saschakiefer exclude generating an ui5 alias in the JADS server configuration when…
… ui5 is loaded from a custom location
@saschakiefer saschakiefer add UI5 location option to Fiori template 806fdb6
@saschakiefer saschakiefer feature(gen): add possibility to chose where OpenUI5 is loaded from (…
…local copy installed by bower or already existing location)

If the user chooses to load the OpenUI5 API with bower, the dependencies are created in the package.json configuration and an alias is created in the JADS configuration.
If the user specifies a custom location neither the dependencies nor the alias are generated.

closes #24
Commits on Jan 22, 2014
@js1972 refactor(JADS): Refactor to use JADS web server as a grunt plugin
Convert JADS script to a Grunt Task - published on as grunt-jads.
Refactor the Gruntfile.js for generated apps to use the new grunt task.
Commits on Jan 23, 2014
@js1972 feat(server): Enable grunt-jads to serve generated apps
grunt-jads is a grunt plugin wrapper for JADS (Just Another Development Server: It uses the node express module to setup a web server. Run with 'grunt server'.
To enable url aliases on the server changes were required to the generated Gruntfile to set the alias paths based on the UI5 location entered by the user.
script-base.js was also changed to enable this.
Added .jsbeautifyrc files to the project so that we can decide where and when the jsFormat'ing applies. This was necessary otherwise the generated Gruntfile would look ugly with the format on save option. So now - for general development: format_on_save is true. However in the templates directory, format_on_save is false. You can still format by right-clicking and choosing format and even narrowing it down by selecting specific text.
Fixed issues saschakiefer#28 by removing references to sapui5 and replacing with openui5.
Adding grunt-jads closes issue: saschakiefer#25.
@js1972 refactor(gruntfile): change grunt-jads usage to lower-case cb57090
@js1972 fix(fiori app): Fix generated title for fiori apps
Fiori apps were being generated with a fixed title. Changed to dynamic based on application name prompt in the generator. Fixed issue: saschakiefer#27.
@js1972 fix(tests): fixed generator tests failing since UI5 library options w…
…ere added

The app-classic and app-fiori-master-detail tests needs the prompts added for the UI5 library options. Added to current pull-request: saschakiefer#31
Commits on Jan 24, 2014
@js1972 chore(build): Remove support for Node.js 0.8.0 as per Yeoman toolset
After recent update to Yeoman, some node dependencies now only work on Node.js 0.10 and above.
@js1972 feat(build): Switch from grunt-jads to grunt-contrib-connect.
Switched from our basic grunt-jads Node.js http server to grunt-contrib-connect. grunt-contrib-connect coupled with grunt-connect-proxy and grunt-contrib-watch combine to enable live reloading of code changes with a Node.js web server that can handle https and proxying resources.
Changed the UI5 location code to simply enter the bower location or the direct location entered by the user (typically the remote sap server). No url aliases are setup. If necessary the user can still easily set them up by specifying further base locations in the grunt-contrib-connect task.
Commits on Jan 25, 2014
@js1972 feat(build): enable livereload of xml views 27fa19e
@js1972 feat(gen): html page to demo web proxy capabilities.
This page is not setup for scaffolding by the generator yet. It needs to be refactored as per @qmacro's single page app architecture. I've put it in here so as not to lose it for now...
@js1972 refactor(gen): refactor the generated gruntfile without the web proxy…
… as default.

Our current generated apps don't require a proxy out-of-the-box so set the gruntfile this way - no need instantiating one for no reason. However, in future, generated apps that do require proxy services will enable this via generator promtps.
@js1972 merge build_process changes into develop
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
@js1972 feat(gen): Added single page mvc app.
Added scaffolding for Single Page MVC application as per @qmacro's SPA app example at the SublimeUI5 repo. This style is handy for testing and building small widgets, etc.
Also fixed code formatting of the Classic app which had some spaces in paren's from old jsFormat settings.
@js1972 refactor(gen): Fixup some code comments in the app generator. 1d17dcd
Commits on Jan 27, 2014
@js1972 feat(apps): Add Tiles app generation.
Add option to generate a Fiori-like Tiles app. This app currently uses a demo odata service so a proxy version of the gruntfile is used.
Commits on Jan 28, 2014
@js1972 refactor(gen): Refactor the generation of the Tiles App to use a mock…
… OData service
Commits on Jan 29, 2014
@js1972 refactor(Fiori Apps): Refactor to use XMLResourceBundleDeclaration
Refactor to declare the resource bundle in the XML root view instead of the usual boilerplate JS with a sap.ui.model.resource.ResourceModel.
Add "smarttabs" to .jshintrc file to stop jshint complaints about spaces in comments.
@js1972 refactor(spa): Refactor to convert single quotes to double as per con…
@js1972 test(gen): Add tests for Tiles App and fix deprecated grunt function …
…to check expected files
@js1972 refactor(gen): Refactor the app generator (index.js)
Refactor app/index.js to move basic prompts into script-base.js.
Fix silly bug introduced into the classic app index.html.
Refactor generator prompts to remove the unnecessary fiori app types list as we now handle choosing which type of app to generate with a simple list.
Commits on Jan 31, 2014
@js1972 fix(gen): Fix jsformat error and add back .gitignore for generated apps
Be careful to remove yuour local sublime text jsFormat settings as we use .jsbeautifyrc files now. This commit fixes some formatting that screwed up because I didn't remove the local settings. This was in the Formatter and Groupt utilities used by the Fiori apps.
Fixed silly bug introduced when refactoring the generator. .gitignore is now scaffolded for all genrated apps.
Commits on Feb 01, 2014
@js1972 fix(tiles app): remove hard-coded UI5 location for the Northwind mock…
… service.

Sinon.js is now dynamically referenced as in the bootstrap.
ODataModelFakeService.js is now referenced locally and scaffolded into the model folder. Could not dynamically reference it as test_resources are not part of the bower dependency.
@js1972 feat(gen build): add prompt for local server port.
Add prompt for local server port (defaulting to 8080) as per saschakiefer#34.
@js1972 Merge feature branch spa into develop. cce6a9e
@js1972 feat(build): added prompt to enable livereload 5beba82
Commits on Feb 02, 2014
@js1972 refactor(gen): Change comments in scaffolded gruntfile to block style.
As per: saschakiefer#39
Also a slight refactor of the same gruntfile so that the mock Northwind service is ignored for watches and live-reloads - but only where its used, which is currently just the tiles app.
Commits on Feb 03, 2014
@saschakiefer saschakiefer refactor(gen): change port prompt 377a80f
@saschakiefer saschakiefer refactor(gen): remove dependency of classical application generator f…
…rom view generator

Following the discussion the app generator does not call the view generator any more, but automatically scaffolds a JS view called Main in the view/ directory.
Since the dependency is broken, the node module "node-localstorage" is not needed any more an was removed from package.json

closes #19
Commits on Feb 04, 2014
@js1972 fix(tiles app): Fix the Tiles app to use the correct port if the user…
… doesn't use the mock northwind service.

When a Tiles app was genreated the url for using the real Northwind service still had 8080 hard-coded as the port - fixed to be the localServerPort variable.
Improved the comments in the Tile app index.html regarding the mock OData service. Explaining that the two scripts enabling the mock service can be deleted to use the real Northwind service and that the proxy must then be configured in Gruntfile.js to get around CORS issue.
@js1972 fix(gen): Fixed basic details prompts
The application-type prompts were overwriting the basic details prompts, such that they had the value undefined and therefore would not get templated into index.html nor package.json.

Closes saschakiefer#44
@js1972 refactor(gen): Update package.json dependency versions
Update the package.json dependency versions for the generator and app templates.

Based-on: saschakiefer#41
Commits on Feb 05, 2014
@saschakiefer saschakiefer Merge branch 'livereload' of
 into js1972-livereload

@saschakiefer saschakiefer Merge branch 'js1972-livereload' into develop 0f165bb
@saschakiefer saschakiefer fix(gen): reintroduce the possibility to choose between XML and JS vi…
…ew for the classical app

closes #19
@saschakiefer saschakiefer test(app): add test for checking classical app with XML view
closes #19
Commits on Feb 07, 2014
@js1972 test(tiles app): Added tests for index.html scaffolding
Added tests to ensure that index.html is templated properly with the correct variables based on user prompts

Based-on: #45
@js1972 test(tiles app): minor refactor acf3807
Commits on Feb 12, 2014
@js1972 test(tiles app): Added extra tests for index.html scaffolding
Now testing for correct templating of UI5 bootstrap location, Component namespace and title in index.html.
Also removed extra whitespace from _index.html.

Based-on: #45
@js1972 chore(package.json): Fix formatting - had lost tab 4 when using David…
… tool to update deps
Commits on Feb 14, 2014
@js1972 refactor(fiori apps): Change to EventBus for navigation
Refactor the fiori-style apps (Splitter, Tiles) to use the EventBus for navigation instead of coupling all the page view controllers to the root controller.
Whether this really simplifies your app or not is a matter of personal preference, but it is the best-practice according to the current UI5 SDK:

Also includes minor adjustments to standardise the use of whitespace.

Fixes #50
Commits on Feb 20, 2014
@saschakiefer saschakiefer Merge pull request #52 from js1972/eventbus
refactor(fiori apps): Change to EventBus for navigation
Commits on Feb 21, 2014
@saschakiefer saschakiefer feat(app): update openui5-bower version to 1.18.8 aee6ff4
@saschakiefer saschakiefer feat(Components): Handle component namespaces
- prompt if the user want's to add the application namespace to the object path or not
- if not, the generator tries to add the path to the object root in the bootstarp or as a local resource
- if yes, the gnerator adds the application path (read from the index.html bootsrap - first object root) and suggest it as application path. The user has the possibility to change that if needed.

fixes #47 #2
@saschakiefer saschakiefer Merge branch 'feature/namespaceSupport' into develop f652938
Commits on Feb 23, 2014
@js1972 fix(file rewrite): fix file re-write capability.
- Fix formatting for html template files to be all tabs for whitespace (some spaces had crept in) which stuffs up the formatting of file rewriting.

- Added an args option to the rewrite() function to specify extra indents.

fix #55
@js1972 fix(rewrite): Handle needle not found error in rewrite function.
Throw exception - handled by current default handler - when the needle is not found in the rewrite fucntion.

Fixes #54
@js1972 fix(rewrite): improve error message when needle not found error.
fixes #54
@js1972 fix(rewrite) add missing semi-colon dd41ce0
@saschakiefer saschakiefer Merge Pull Request 9b49db4
Commits on Feb 24, 2014
@js1972 fix(rewrite): Handle formatting of json comments when adding new reso…
…urce roots

Add new method addCommaToLine(args) which allows you to find a line in a file
 and add a terminating comment char at a specified offset from that line. Uses
 same methods as in rewrite(args).

Fixes #55 #57
@js1972 refactor(sub-gen): Refactor error handling when writing resource root…
…s from the component sub-generator

Fixes #54 #55
Commits on Feb 25, 2014
@saschakiefer saschakiefer Merge pull request #58 from js1972/format
fix(rewrite): Handle formatting of json comments when adding new resourc...
@saschakiefer saschakiefer fix(application): clean up quint task in the generated Gruntfile.js
fixes #46
@saschakiefer saschakiefer docs(gen): Add explaination for the namespace option for sub generators a1a3130
@saschakiefer saschakiefer Bumped version to 0.2.1 and updated the chnagelog c756e51
@saschakiefer saschakiefer Merge branch 'release-0.2.1' e39cf2a