generator-kbc-ui-app v0.2.0
Keboola Connection UI App Generator
Based on generator-angular
Scaffolds new angular based application ready for deploy into Keboola Connection.
Usage
Install generator-kbc-ui-app:
npm install -g yo generator-kbc-ui-appMake a new directory, and cd into it:
mkdir my-new-project && cd $_Run yo kbc-ui-app
Naming conventions
Please follow these:
- Github repository name - keboola/kbc-ui-your-app
- Application module name - kbc.yourApp (You will be asked for this name by generator)
Generators
Available generators:
- kbc-ui-app (aka kbc-ui-app:app)
- kbc-ui-app:controller
- kbc-ui-app:directive
- kbc-ui-app:filter
- kbc-ui-app:route
- kbc-ui-app:service
- kbc-ui-app:provider
- kbc-ui-app:factory
- kbc-ui-app:value
- kbc-ui-app:constant
- kbc-ui-app:decorator
- kbc-ui-app:view
- kbc-ui-app:keys
Note: Generators are to be run from the root directory of your app.
App
Sets up a new AngularJS app, generating all the boilerplate you need to get started. The app generator also optionally installs AngularJS modules, such as angular-resource.
Example:
yo angularRoute
Generates a controller and view, and configures a route in app/scripts/app.js connecting them.
Example:
yo angular:route myrouteProduces app/scripts/controllers/myroute.js:
angular.module('myMod').controller('MyrouteCtrl', function ($scope) {
// ...
});Produces app/views/myroute.html:
<p>This is the myroute view</p>Controller
Generates a controller in app/scripts/controllers.
Example:
yo angular:controller userProduces app/scripts/controllers/user.js:
angular.module('myMod').controller('UserCtrl', function ($scope) {
// ...
});Directive
Generates a directive in app/scripts/directives.
Example:
yo angular:directive myDirectiveProduces app/scripts/directives/myDirective.js:
angular.module('myMod').directive('myDirective', function () {
return {
template: '<div></div>',
restrict: 'E',
link: function postLink(scope, element, attrs) {
element.text('this is the myDirective directive');
}
};
});Filter
Generates a filter in app/scripts/filters.
Example:
yo angular:filter myFilterProduces app/scripts/filters/myFilter.js:
angular.module('myMod').filter('myFilter', function () {
return function (input) {
return 'myFilter filter:' + input;
};
});View
Generates an HTML view file in app/views.
Example:
yo angular:view userProduces app/views/user.html:
<p>This is the user view</p>Service
Generates an AngularJS service.
Example:
yo angular:service myServiceProduces app/scripts/services/myService.js:
angular.module('myMod').service('myService', function () {
// ...
});You can also do yo angular:factory, yo angular:provider, yo angular:value, and yo angular:constant for other types of services.
Decorator
Generates an AngularJS service decorator.
Example:
yo angular:decorator serviceNameProduces app/scripts/decorators/serviceNameDecorator.js:
angular.module('myMod').config(function ($provide) {
$provide.decorator('serviceName', function ($delegate) {
// ...
return $delegate;
});
});AWS Keys
To be able to deploy application to AWS S3 you have to provide AWS access keys.
Example:
yo kbc-ui-app:keysProduces: aws-keys.json which is read by grunt:
{
"AWSAccessKeyId": "your_id",
"AWSSecretKey": "your_secret"
}Bower Components
The following packages are always installed by the app generator:
- angular
- angular-mocks
- angular-scenario
- angular-kb
The following additional modules are available as components on bower, and installable via bower install:
- angular-cookies
- angular-loader
- angular-resource
- angular-sanitize
- angular-route
All of these can be updated with bower update as new versions of AngularJS are released.
Configuration
Yeoman generated projects can be further tweaked according to your needs by modifying project files appropriately.
Travis
To be able to build generated project on Travis please follow these steps:
- Create new project on Github and push project into that project
- Run
gem install travis travis login- login using github credentialstravis enable- set up github travis webhooktravis encrypt AWS_ACCESS_KEY_ID=your_key --addtravis encrypt AWS_SECRET_ACCESS_KEY=your_secret --add- Commit and push changes in .travis.yml file
- Visit https://travis-ci.org/ your project should be builded now
11 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago