Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.
/ generator-oasp Public archive

Yeoman Genarator for AngularJS applications powered by OASP4JS

License

Notifications You must be signed in to change notification settings

oasp/generator-oasp

Repository files navigation

generator-oasp Build Status

Yeoman generator for AngularJS applications powered by OASP4JS.

Note

OASP has been superseded by devonfw, the Open Source Standard Software Development Platform for state of the art Cloud Native Micro Service and Multi Platform Rich Web Apps, supported by Capgemini.

Individual products within OASP have been renamed to a corresponding one in devonfw.

For example:

  • OAPS4j → devon4j

  • OASP4js → devon4ng

  • OASP4NET → devon4NET

devonfw® is an exclusive and registered (European Trademark) product of Capgemini. Capgemini reserves all intellectual and industrial property rights over devonfw but publishes it under the Apache License, Version 2 – like OASP- which makes devonfw 100% Open Source. See: https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)

Getting Started

Before you start to use generator-oasp it is important to install the prerequisites. You will need the Node.js, Bower and Gulp. Here you can learn how to install the necessary tools.

Why it is worth using

It offers more than other application seeds

There are a lot of JavaScript/AngularJS application seeds like angular-seed or angularjs-seed. All of them are great, but they focus rather on a quick & easy start and work well for small-scale projects. oasp4js is built as a base for bigger, modularized, enterprise projects, where different modules are often developed independently and simultaneously by many teams.

It does not reinvent the wheel

oasp4js just brings its idea on an application structure and makes use of well-known tools such as Gulp or Bower which support developers in their activities. This all makes coding, testing and building the application extremely efficient.

What is Yeoman?

Trick question. It’s not a thing. It’s this guy:

JHaAlBJ

Basically, he wears a top hat, lives in your computer, and waits for you to tell him what kind of application you wish to create.

Not every new computer comes with a Yeoman pre-installed. He lives in the npm package repository. You only have to ask for him once, then he packs up and moves into your hard drive. Make sure you clean up, he likes new and shiny things.

Hint: If you are using Windows Command Line it is recommended to run it as an administrator.

npm install -g yo

Yeoman Generators

Yeoman travels light. He didn’t pack any generators when he moved in. You can think of a generator like a plug-in. You get to choose what type of application you wish to create, such as a Backbone application or even a Chrome extension.

To install generator-oasp from npm, run:

npm install -g generator-oasp

Create a directory in which you will later call the generator:

mkdir <directory_name>
cd <directory_name>

Finally, initiate the generator in the created directory:

yo oasp

Enjoy

Please note that all commands below must be executed in project root directory.

Developing

Start the application using Gulp:

gulp serve

The above Gulp’s task opens the application in your default browser and watches for any HTML/JavaScript/CSS changes. Once you do one, the page is reloaded automatically!

Testing

Run application’s Jasmine tests:

gulp test:tdd

This Gulp’s task uses the Karma test runner to execute Jasmine tests (against the PhantomJS) and watches for any change in your JavaScript files (both sources and specs). Test Driven Development has never been easier :)

If you would like to run the tests against a real browser (rather than against the PhantomJS) or use it to debug a test, call:

gulp test:tdd:debug

Building

Build the application:

gulp serve:dist

The above Gulp’s task creates the myapp/dist directory and put there HTML documents, CSS files (compiled from Less files) and JavaScript files (merged, minimized and obfuscated).

More info

For more details, please refer to the wiki.