From 02a0dfcf3e9d4e365d18ff48387f6ef485a64301 Mon Sep 17 00:00:00 2001
From: Alexandre-Herve
Date: Mon, 26 Jan 2015 18:55:51 +0100
Subject: [PATCH 1/7] first modifications
---
app/index.js | 8 +-
app/templates/root/_Gruntfile.js | 40 ++++----
app/templates/root/_bower.json | 11 ++-
app/templates/root/src/app/_app.coffee | 6 +-
app/templates/root/src/app/about/about.coffee | 22 -----
app/templates/root/src/app/about/about.js | 28 ------
.../root/src/app/about/about.tpl.html | 3 -
app/templates/root/src/app/home/_home.coffee | 41 ---------
app/templates/root/src/app/home/_home.js | 48 ----------
.../root/src/app/home/_home.spec.coffee | 12 ---
app/templates/root/src/app/home/_home.spec.js | 13 ---
app/templates/root/src/app/home/home.less | 3 -
app/templates/root/src/app/home/home.tpl.html | 11 ---
app/templates/root/src/less/README.md | 28 ------
app/templates/root/src/less/variables.less | 12 ---
app/templates/root/src/scss/.DS_Store | Bin 0 -> 6148 bytes
.../root/src/scss/_angular_material.scss | 87 ++++++++++++++++++
.../src/{less/main.less => scss/main.scss} | 14 +--
18 files changed, 121 insertions(+), 266 deletions(-)
delete mode 100644 app/templates/root/src/app/about/about.coffee
delete mode 100644 app/templates/root/src/app/about/about.js
delete mode 100644 app/templates/root/src/app/about/about.tpl.html
delete mode 100644 app/templates/root/src/app/home/_home.coffee
delete mode 100644 app/templates/root/src/app/home/_home.js
delete mode 100644 app/templates/root/src/app/home/_home.spec.coffee
delete mode 100644 app/templates/root/src/app/home/_home.spec.js
delete mode 100644 app/templates/root/src/app/home/home.less
delete mode 100644 app/templates/root/src/app/home/home.tpl.html
delete mode 100644 app/templates/root/src/less/README.md
delete mode 100644 app/templates/root/src/less/variables.less
create mode 100644 app/templates/root/src/scss/.DS_Store
create mode 100644 app/templates/root/src/scss/_angular_material.scss
rename app/templates/root/src/{less/main.less => scss/main.scss} (61%)
diff --git a/app/index.js b/app/index.js
index e3a49ca..2a3a1c5 100644
--- a/app/index.js
+++ b/app/index.js
@@ -59,12 +59,6 @@ var NgbpGenerator = yeoman.generators.Base.extend({
message: 'Would you like to use Coffeescript?',
default: false
},
- {
- type: 'confirm',
- name: 'includeAngularResource',
- message: 'Do you want to include angular-resource, helpful for calling RESTful apis?',
- default: true
- },
];
this.prompt(prompts, function (props) {
@@ -121,4 +115,4 @@ var NgbpGenerator = yeoman.generators.Base.extend({
});
-module.exports = NgbpGenerator;
\ No newline at end of file
+module.exports = NgbpGenerator;
diff --git a/app/templates/root/_Gruntfile.js b/app/templates/root/_Gruntfile.js
index d229a58..d854c5e 100644
--- a/app/templates/root/_Gruntfile.js
+++ b/app/templates/root/_Gruntfile.js
@@ -11,7 +11,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-coffee');
- grunt.loadNpmTasks('grunt-contrib-less');
+ grung.loadNpmTasks('grunt-libsass');
grunt.loadNpmTasks('grunt-coffeelint');
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-ng-annotate');
@@ -30,7 +30,7 @@ module.exports = function(grunt) {
* build tasks. 'js' is all project javascript, except tests.
* 'commonTemplates' contains our reusable components' ('src/common')
* template HTML files, while 'appTemplates' contains the templates for
- * our app's code. 'html' is just our main HTML file. 'less' is our main
+ * our app's code. 'html' is just our main HTML file. 'scss' is our main
* stylesheet, and 'unit' contains our app's unit tests.
*/
app_files: {
@@ -44,7 +44,7 @@ module.exports = function(grunt) {
commonTemplates: [ 'src/common/**/*.tpl.html' ],
html: [ 'src/index.html' ],
- less: 'src/less/main.less'
+ scss: 'src/scss/main.scss'
},
/**
@@ -76,12 +76,18 @@ module.exports = function(grunt) {
*/
vendor_files: {
js: [
+ 'vendor/jquery/dist/jquery.js',
'vendor/angular/angular.js',
- <% if (includeAngularResource) {%>'vendor/angular-resource/angular-resource.js',<% } %>
- 'vendor/angular-bootstrap/ui-bootstrap-tpls.min.js',
'vendor/placeholders/angular-placeholders-0.0.1-SNAPSHOT.min.js',
'vendor/angular-ui-router/release/angular-ui-router.js',
- 'vendor/angular-ui-utils/modules/route/route.js'
+ 'vendor/angular-ui-utils/modules/route/route.js',
+ 'vendor/angular-animate/angular-animate.js',
+ 'vendor/angular-aria/angular-aria.js',
+ 'vendor/angular-material/angular-material.js',
+ 'vendor/angular-mocks/angular-mocks.js',
+ 'vendor/lodash/dist/lodash.js',
+ 'vendor/restangular/restangular.js'
+
],
css: [
],
@@ -260,19 +266,19 @@ module.exports = function(grunt) {
},
/**
- * `grunt-contrib-less` handles our LESS compilation and uglification automatically.
- * Only our 'main.less' file is included in compilation; all other files
+ * `grunt-libsass` handles our SCSS compilation and uglification automatically.
+ * Only our 'main.scss' file is included in compilation; all other files
* must be imported from this file.
*/
- less: {
+ libsass: {
build: {
files: {
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css': '<%%= app_files.less %>'
+ '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css': '<%%= app_files.scss %>'
}
},
compile: {
files: {
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css': '<%%= app_files.less %>'
+ '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css': '<%%= app_files.scss %>'
},
options: {
cleancss: true,
@@ -287,7 +293,7 @@ module.exports = function(grunt) {
* are linted based on the policies listed in 'options'. But we can also
* specify exclusionary patterns by prefixing them with an exclamation
* point (!); this is useful when code comes from a third party but is
- * nonetheless inside 'src/'.
+ * nonethescss inside 'src/'.
*/
jshint: {
src: [
@@ -526,9 +532,9 @@ module.exports = function(grunt) {
/**
* When the CSS files change, we need to compile and minify them.
*/
- less: {
- files: [ 'src/**/*.less' ],
- tasks: [ 'less:build' ]
+ scss: {
+ files: [ 'src/**/*.scss' ],
+ tasks: [ 'libsass:build' ]
},
/**
@@ -579,7 +585,7 @@ module.exports = function(grunt) {
// The 'build' task gets your app ready to run for development and testing.
grunt.registerTask('build', [
- 'clean', 'html2js', 'jshint', 'coffeelint', 'coffee', 'less:build',
+ 'clean', 'html2js', 'jshint', 'coffeelint', 'coffee', 'libsass:build',
'concat:build_css', 'copy:build_app_assets', 'copy:build_vendor_assets',
'copy:build_appjs', 'copy:build_vendorjs', 'ngAnnotate:build', 'index:build', 'karmaconfig',
'karma:continuous'
@@ -588,7 +594,7 @@ module.exports = function(grunt) {
// The 'compile' task gets your app ready for deployment by concatenating and minifying your code.
// Note - compile builds off of the build dir (look at concat:compile_js), so run grunt build before grunt compile
grunt.registerTask('compile', [
- 'less:compile', 'copy:compile_assets', 'concat:compile_js', 'uglify', 'index:compile'
+ 'libsass:compile', 'copy:compile_assets', 'concat:compile_js', 'uglify', 'index:compile'
]);
// A utility function to get all app JavaScript sources.
diff --git a/app/templates/root/_bower.json b/app/templates/root/_bower.json
index aa09f71..74d35db 100644
--- a/app/templates/root/_bower.json
+++ b/app/templates/root/_bower.json
@@ -4,12 +4,17 @@
"_comment": "Any dependencies added here require a manual edit to vendor_files in /Gruntfile.js and (??? verify the following) /build/karma-unit.js (e.g 'vendor/angular-resource/angular-resource.js')",
"devDependencies": {
"angular": "~1.2.9",
- <% if (includeAngularResource) {%>"angular-resource": "~1.2.9",<% } %>
"angular-mocks": "~1.2.9",
"bootstrap": "~3.1",
"angular-bootstrap": "~0.10.0",
- "angular-ui-router": "~0.2.7"
+ "angular-material-source": "git@github.com:angular/material.git",
+ "angular-ui-router": "~0.2.7",
+ "angular-material" : "~0.7.0",
+ "restangular" : "~1.4.0"
},
- "dependencies": {}
+ "dependencies": {},
+ "resolutions": {
+ "angular": "1.3.10"
+ }
}
diff --git a/app/templates/root/src/app/_app.coffee b/app/templates/root/src/app/_app.coffee
index f4f147e..45ac923 100644
--- a/app/templates/root/src/app/_app.coffee
+++ b/app/templates/root/src/app/_app.coffee
@@ -1,6 +1,4 @@
do (app=angular.module "<%= projectName %>", [
- '<%= projectName %>.home',
- '<%= projectName %>.about',
'templates-app',
'templates-common',
'ui.router.state',
@@ -8,9 +6,7 @@ do (app=angular.module "<%= projectName %>", [
]) ->
app.config ($stateProvider, $urlRouterProvider) ->
- $urlRouterProvider.otherwise '/home'
-
- app.run ->
+ $urlRouterProvider.otherwise ''
app.controller 'AppController', ($scope) ->
diff --git a/app/templates/root/src/app/about/about.coffee b/app/templates/root/src/app/about/about.coffee
deleted file mode 100644
index a8b4719..0000000
--- a/app/templates/root/src/app/about/about.coffee
+++ /dev/null
@@ -1,22 +0,0 @@
-do (app=angular.module "<%= projectName %>.about", [
- 'ui.router'
-]) ->
- app.config ($stateProvider) ->
- $stateProvider.state 'about',
- url: '/about'
- views:
- "main":
- controller: 'AboutController'
- templateUrl: 'about/about.tpl.html'
- data:
- pageTitle: 'About'
-
-
- app.controller 'AboutController', ($scope) ->
- init = ->
- # A definitive place to put everything that needs to run
- # when the controller starts. Avoid writing any code outside
- # of this function that executes immediately.
-
- init()
-
diff --git a/app/templates/root/src/app/about/about.js b/app/templates/root/src/app/about/about.js
deleted file mode 100644
index 8156881..0000000
--- a/app/templates/root/src/app/about/about.js
+++ /dev/null
@@ -1,28 +0,0 @@
-(function(app) {
-
- app.config(function ($stateProvider) {
- $stateProvider.state('about', {
- url: '/about',
- views: {
- "main": {
- controller: 'AboutController',
- templateUrl: 'about/about.tpl.html'
- }
- },
- data:{ pageTitle: 'About' }
- });
- });
-
- app.controller('AboutController', function ($scope) {
-
- var init = function() {
- // A definitive place to put everything that needs to run when the controller starts. Avoid
- // writing any code outside of this function that executes immediately.
- };
-
- init();
- });
-
-}(angular.module("<%= projectName %>.about", [
- 'ui.router'
-])));
\ No newline at end of file
diff --git a/app/templates/root/src/app/about/about.tpl.html b/app/templates/root/src/app/about/about.tpl.html
deleted file mode 100644
index d9f495d..0000000
--- a/app/templates/root/src/app/about/about.tpl.html
+++ /dev/null
@@ -1,3 +0,0 @@
-About
-
-This is what this is about.
\ No newline at end of file
diff --git a/app/templates/root/src/app/home/_home.coffee b/app/templates/root/src/app/home/_home.coffee
deleted file mode 100644
index 3bce8c3..0000000
--- a/app/templates/root/src/app/home/_home.coffee
+++ /dev/null
@@ -1,41 +0,0 @@
-###
-# Each section of the site has its own module. It probably also has
-# submodules, though this boilerplate is too simple to demonstrate it. Within
-# 'src/app/home', however, could exist several additional folders representing
-# additional modules that would then be listed as dependencies of this one.
-# For example, a 'note' section could have the submodules 'note.create',
-# 'note.delete', 'note.edit', etc.
-#
-# Regardless, so long as dependencies are managed correctly, the build process
-# will automatically take take of the rest.
-###
-do (app=angular.module "<%= projectName %>.home", [
- 'ui.router'
-]) ->
- app.config ($stateProvider) ->
- $stateProvider.state 'home',
- url: '/home'
- views:
- "main":
- controller: 'HomeController'
- templateUrl: 'home/home.tpl.html'
- data:
- pageTitle: 'Home'
-
-
- # As you add controllers to a module and they grow in size, feel free to
- # place them in their own files. Let each module grow organically, adding
- # appropriate organization and sub-folders as needed.
- app.controller 'HomeController', ($scope) ->
- init = ->
- # A definitive place to put everything that needs to run when the
- # controller starts. Avoid writing any code outside of this function
- # that executes immediately.
-
- $scope.someVar = 'blue'
- $scope.someList = ['one', 'two', 'three']
- $scope.someFunctionUsedByTheHomePage = ->
- alert('Congratulations')
-
- init()
-
diff --git a/app/templates/root/src/app/home/_home.js b/app/templates/root/src/app/home/_home.js
deleted file mode 100644
index 1fdef9f..0000000
--- a/app/templates/root/src/app/home/_home.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Each section of the site has its own module. It probably also has
- * submodules, though this boilerplate is too simple to demonstrate it. Within
- * 'src/app/home', however, could exist several additional folders representing
- * additional modules that would then be listed as dependencies of this one.
- * For example, a 'note' section could have the submodules 'note.create',
- * 'note.delete', 'note.edit', etc.
- *
- * Regardless, so long as dependencies are managed correctly, the build process
- * will automatically take take of the rest.
- */
-(function(app) {
-
- app.config(function ($stateProvider) {
- $stateProvider.state('home', {
- url: '/home',
- views: {
- "main": {
- controller: 'HomeController',
- templateUrl: 'home/home.tpl.html'
- }
- },
- data:{ pageTitle: 'Home' }
- });
- });
-
- // As you add controllers to a module and they grow in size, feel free to place them in their own files.
- // Let each module grow organically, adding appropriate organization and sub-folders as needed.
- app.controller('HomeController', function ($scope) {
-
- var init = function() {
- // A definitive place to put everything that needs to run when the controller starts. Avoid
- // writing any code outside of this function that executes immediately.
- };
-
- $scope.someVar = 'blue';
- $scope.someList = ['one', 'two', 'three'];
- $scope.someFunctionUsedByTheHomePage = function () {
- alert('Congratulations');
- };
-
- init();
- });
-
-// The name of the module, followed by its dependencies (at the bottom to facilitate enclosure)
-}(angular.module("<%= projectName %>.home", [
- 'ui.router'
-])));
\ No newline at end of file
diff --git a/app/templates/root/src/app/home/_home.spec.coffee b/app/templates/root/src/app/home/_home.spec.coffee
deleted file mode 100644
index c9653aa..0000000
--- a/app/templates/root/src/app/home/_home.spec.coffee
+++ /dev/null
@@ -1,12 +0,0 @@
-###
-# Tests sit right alongside the file they are testing, which is more intuitive
-# and portable than separating 'src' and 'test' directories. Additionally, the
-# build process will exclude all '.spec.js' files from the build
-# automatically.
-###
-describe 'home section', ->
- beforeEach(module '<%= projectName %>.home')
-
- it('should have a dummy test', inject ->
- expect(true).toBeTruthy()
- )
diff --git a/app/templates/root/src/app/home/_home.spec.js b/app/templates/root/src/app/home/_home.spec.js
deleted file mode 100644
index c9657bc..0000000
--- a/app/templates/root/src/app/home/_home.spec.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Tests sit right alongside the file they are testing, which is more intuitive
- * and portable than separating 'src' and 'test' directories. Additionally, the
- * build process will exclude all '.spec.js' files from the build
- * automatically.
- */
-describe('home section', function () {
- beforeEach(module('<%= projectName %>.home'));
-
- it('should have a dummy test', inject(function() {
- expect(true).toBeTruthy();
- }));
-});
diff --git a/app/templates/root/src/app/home/home.less b/app/templates/root/src/app/home/home.less
deleted file mode 100644
index 1252815..0000000
--- a/app/templates/root/src/app/home/home.less
+++ /dev/null
@@ -1,3 +0,0 @@
-.homeClass {
- margin: 0 0 0 0;
-}
\ No newline at end of file
diff --git a/app/templates/root/src/app/home/home.tpl.html b/app/templates/root/src/app/home/home.tpl.html
deleted file mode 100644
index acfebb5..0000000
--- a/app/templates/root/src/app/home/home.tpl.html
+++ /dev/null
@@ -1,11 +0,0 @@
-Home of <%= _.humanize(projectName) %>
-
-Code it up
-
-
-
-
- Click Me
-
\ No newline at end of file
diff --git a/app/templates/root/src/less/README.md b/app/templates/root/src/less/README.md
deleted file mode 100644
index a767315..0000000
--- a/app/templates/root/src/less/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# The `src/less` Directory
-
-This folder is actually fairly self-explanatory: it contains your LESS/CSS files to be compiled during the build.
-The only important thing to note is that *only* `main.less` will be processed during the build, meaning that all
-other stylesheets must be *imported* into that one.
-
-This should operate somewhat like the routing; the `main.less` file contains all of the site-wide styles, while
-any styles that are route-specific should be imported into here from LESS files kept alongside the JavaScript
-and HTML sources of that component. For example, the `home` section of the site has some custom styles, which
-are imported like so:
-
-```css
-@import '../app/home/home.less';
-```
-
-The same principal, though not demonstrated in the code, would also apply to reusable components. CSS or LESS
-files from external components would also be imported. If, for example, we had a Twitter feed directive with
-an accompanying template and style, we would similarly import it:
-
-```css
-@import '../common/twitterFeed/twitterFeedDirective.less';
-```
-
-Using this decentralized approach for all our code (JavaScript, HTML, and CSS) creates a framework where a
-component's directory can be dragged and dropped into *any other project* and it will "just work".
-
-I would like to eventually automate the importing during the build so that manually importing it here would no
-longer be required, but more thought must be put in to whether this is the best approach.
diff --git a/app/templates/root/src/less/variables.less b/app/templates/root/src/less/variables.less
deleted file mode 100644
index 1a53959..0000000
--- a/app/templates/root/src/less/variables.less
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * These are the variables used throughout the application. This is where
- * overwrites that are not specific to components should be maintained.
- */
-
-
-
-/**
- * Typography-related.
- */
-
-@sansFontFamily: 'Roboto', sans-serif;
\ No newline at end of file
diff --git a/app/templates/root/src/scss/.DS_Store b/app/templates/root/src/scss/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6
GIT binary patch
literal 6148
zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3
zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ
zLs35+`xjp>T0
Date: Mon, 26 Jan 2015 23:40:56 +0100
Subject: [PATCH 2/7] fix scss import
---
app/templates/root/_Gruntfile.js | 2 +-
app/templates/root/_package.json | 2 +-
.../root/src/scss/_angular_material.scss | 105 ++++++++----------
app/templates/root/src/scss/main.scss | 2 +-
package.json | 5 +-
5 files changed, 55 insertions(+), 61 deletions(-)
diff --git a/app/templates/root/_Gruntfile.js b/app/templates/root/_Gruntfile.js
index d854c5e..5100eec 100644
--- a/app/templates/root/_Gruntfile.js
+++ b/app/templates/root/_Gruntfile.js
@@ -11,7 +11,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-coffee');
- grung.loadNpmTasks('grunt-libsass');
+ grunt.loadNpmTasks('grunt-libsass');
grunt.loadNpmTasks('grunt-coffeelint');
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-ng-annotate');
diff --git a/app/templates/root/_package.json b/app/templates/root/_package.json
index 34aea66..eeb26cf 100644
--- a/app/templates/root/_package.json
+++ b/app/templates/root/_package.json
@@ -12,7 +12,7 @@
"grunt-contrib-concat": "^0.3.0",
"grunt-contrib-watch": "^0.6.1",
"grunt-contrib-coffee": "^0.10.1",
- "grunt-contrib-less": "~0.11.0",
+ "grunt-libsass": "^0.2.0",
"grunt-coffeelint": "0.0.10",
"grunt-html2js": "^0.2.4",
"grunt-ng-annotate": "^0.3.2",
diff --git a/app/templates/root/src/scss/_angular_material.scss b/app/templates/root/src/scss/_angular_material.scss
index d29921b..2640e7c 100644
--- a/app/templates/root/src/scss/_angular_material.scss
+++ b/app/templates/root/src/scss/_angular_material.scss
@@ -2,86 +2,79 @@
* core angular material scss
*/
-@import '../../../vendor/angular-material-source/src/core/style/layout';
-@import '../../../vendor/angular-material-source/src/core/style/mixins';
-@import '../../../vendor/angular-material-source/src/core/style/structure';
-@import '../../../vendor/angular-material-source/src/core/style/variables';
+@import '../../vendor/angular-material-source/src/core/style/variables';
+@import '../../vendor/angular-material-source/src/core/style/layout';
+@import '../../vendor/angular-material-source/src/core/style/mixins';
+@import '../../vendor/angular-material-source/src/core/style/structure';
/*
- * components
+ components
*/
-@import '../../../vendor/angular-material-source/src/components/backdrop/backdrop';
-@import '../../../vendor/angular-material-source/src/components/backdrop/backdrop-theme';
+@import '../../vendor/angular-material-source/src/components/backdrop/backdrop';
+@import '../../vendor/angular-material-source/src/components/backdrop/backdrop-theme';
-@import '../../../vendor/angular-material-source/src/components/bottomSheet/bottomSheet';
-@import '../../../vendor/angular-material-source/src/components/bottomSheet/bottomSheet-theme';
+@import '../../vendor/angular-material-source/src/components/bottomSheet/bottomSheet';
+@import '../../vendor/angular-material-source/src/components/bottomSheet/bottomSheet-theme';
-@import '../../../vendor/angular-material-source/src/components/button/button';
-@import '../../../vendor/angular-material-source/src/components/button/button-theme';
+@import '../../vendor/angular-material-source/src/components/button/button';
+@import '../../vendor/angular-material-source/src/components/button/button-theme';
-@import '../../../vendor/angular-material-source/src/components/card/card';
-@import '../../../vendor/angular-material-source/src/components/card/card-theme';
+@import '../../vendor/angular-material-source/src/components/card/card';
+@import '../../vendor/angular-material-source/src/components/card/card-theme';
-@import '../../../vendor/angular-material-source/src/components/checkbox/checkbox';
-@import '../../../vendor/angular-material-source/src/components/checkbox/checkbox-theme';
+@import '../../vendor/angular-material-source/src/components/checkbox/checkbox';
+@import '../../vendor/angular-material-source/src/components/checkbox/checkbox-theme';
-@import '../../../vendor/angular-material-source/src/components/content/content';
-@import '../../../vendor/angular-material-source/src/components/content/content-theme';
+@import '../../vendor/angular-material-source/src/components/content/content';
+@import '../../vendor/angular-material-source/src/components/content/content-theme';
-@import '../../../vendor/angular-material-source/src/components/dialog/dialog';
-@import '../../../vendor/angular-material-source/src/components/dialog/dialog-theme';
+@import '../../vendor/angular-material-source/src/components/dialog/dialog';
+@import '../../vendor/angular-material-source/src/components/dialog/dialog-theme';
-@import '../../../vendor/angular-material-source/src/components/divider/divider';
-@import '../../../vendor/angular-material-source/src/components/divider/divider-theme';
+@import '../../vendor/angular-material-source/src/components/divider/divider';
+@import '../../vendor/angular-material-source/src/components/divider/divider-theme';
-@import '../../../vendor/angular-material-source/src/components/icon/icon';
-@import '../../../vendor/angular-material-source/src/components/icon/icon-theme';
+@import '../../vendor/angular-material-source/src/components/icon/icon';
-@import '../../../vendor/angular-material-source/src/components/input/input';
-@import '../../../vendor/angular-material-source/src/components/input/input-theme';
+@import '../../vendor/angular-material-source/src/components/input/input';
+@import '../../vendor/angular-material-source/src/components/input/input-theme';
-@import '../../../vendor/angular-material-source/src/components/list/list';
-@import '../../../vendor/angular-material-source/src/components/list/list-theme';
+@import '../../vendor/angular-material-source/src/components/list/list';
-@import '../../../vendor/angular-material-source/src/components/progressCircular/progressCircular';
-@import '../../../vendor/angular-material-source/src/components/progressCircular/progressCircular-theme';
+@import '../../vendor/angular-material-source/src/components/progressCircular/progressCircular';
+@import '../../vendor/angular-material-source/src/components/progressCircular/progressCircular-theme';
-@import '../../../vendor/angular-material-source/src/components/progressLinear/progressLinear';
-@import '../../../vendor/angular-material-source/src/components/progressLinear/progressLinear-theme';
+@import '../../vendor/angular-material-source/src/components/progressLinear/progressLinear';
+@import '../../vendor/angular-material-source/src/components/progressLinear/progressLinear-theme';
-@import '../../../vendor/angular-material-source/src/components/radioButton/radioButton';
-@import '../../../vendor/angular-material-source/src/components/radioButton/radioButton-theme';
+@import '../../vendor/angular-material-source/src/components/radioButton/radio-button';
+@import '../../vendor/angular-material-source/src/components/radioButton/radio-button-theme';
-@import '../../../vendor/angular-material-source/src/components/sidenav/sidenav';
-@import '../../../vendor/angular-material-source/src/components/sidenav/sidenav-theme';
+@import '../../vendor/angular-material-source/src/components/sidenav/sidenav';
+@import '../../vendor/angular-material-source/src/components/sidenav/sidenav-theme';
-@import '../../../vendor/angular-material-source/src/components/slider/slider';
-@import '../../../vendor/angular-material-source/src/components/slider/slider-theme';
+@import '../../vendor/angular-material-source/src/components/slider/slider';
+@import '../../vendor/angular-material-source/src/components/slider/slider-theme';
-@import '../../../vendor/angular-material-source/src/components/sticky/sticky';
-@import '../../../vendor/angular-material-source/src/components/sticky/sticky-theme';
+@import '../../vendor/angular-material-source/src/components/sticky/sticky';
-@import '../../../vendor/angular-material-source/src/components/subheader/subheader';
-@import '../../../vendor/angular-material-source/src/components/subheader/subheader-theme';
+@import '../../vendor/angular-material-source/src/components/subheader/subheader';
+@import '../../vendor/angular-material-source/src/components/subheader/subheader-theme';
-@import '../../../vendor/angular-material-source/src/components/swipe/swipe';
-@import '../../../vendor/angular-material-source/src/components/swipe/swipe-theme';
+@import '../../vendor/angular-material-source/src/components/switch/switch';
+@import '../../vendor/angular-material-source/src/components/switch/switch-theme';
-@import '../../../vendor/angular-material-source/src/components/switch/switch';
-@import '../../../vendor/angular-material-source/src/components/switch/switch-theme';
+@import '../../vendor/angular-material-source/src/components/tabs/tabs';
+@import '../../vendor/angular-material-source/src/components/tabs/tabs-theme';
-@import '../../../vendor/angular-material-source/src/components/tabs/tabs';
-@import '../../../vendor/angular-material-source/src/components/tabs/tabs-theme';
+@import '../../vendor/angular-material-source/src/components/textField/textField';
+@import '../../vendor/angular-material-source/src/components/textField/textField-theme';
-@import '../../../vendor/angular-material-source/src/components/textFields/textFields';
-@import '../../../vendor/angular-material-source/src/components/textFields/textFields-theme';
+@import '../../vendor/angular-material-source/src/components/toast/toast';
+@import '../../vendor/angular-material-source/src/components/toast/toast-theme';
-@import '../../../vendor/angular-material-source/src/components/toast/toast';
-@import '../../../vendor/angular-material-source/src/components/toast/toast-theme';
+@import '../../vendor/angular-material-source/src/components/toolbar/toolbar';
+@import '../../vendor/angular-material-source/src/components/toolbar/toolbar-theme';
-@import '../../../vendor/angular-material-source/src/components/toolbar/toolbar';
-@import '../../../vendor/angular-material-source/src/components/toolbar/toolbar-theme';
-
-@import '../../../vendor/angular-material-source/src/components/whiteframe/whiteframe';
-@import '../../../vendor/angular-material-source/src/components/whiteframe/whiteframe-theme';
+@import '../../vendor/angular-material-source/src/components/whiteframe/whiteframe';
diff --git a/app/templates/root/src/scss/main.scss b/app/templates/root/src/scss/main.scss
index 8054ef0..3d94773 100644
--- a/app/templates/root/src/scss/main.scss
+++ b/app/templates/root/src/scss/main.scss
@@ -5,7 +5,7 @@
*/
-@import 'angular-material';
+@import 'angular_material';
diff --git a/package.json b/package.json
index bfd5de9..26d0763 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,10 @@
{
- "name": "generator-ngbp",
+ "name": "generator-angular-material",
"version": "0.1.2",
- "description": "Yeoman generator based on the ngBoilerplate kickstarter, a best-practice boilerplate for scalable Angular projects built on a highly modular, folder-by-feature structure.",
+ "description": "Yeoman generator based on angular-material and the ngBoilerplate kickstarter, a best-practice boilerplate for scalable Angular projects built on a highly modular, folder-by-feature structure.",
"keywords": [
"yeoman-generator",
+ "angular-material",
"angular",
"angularjs",
"boilerplate",
From 9142b88d69874e0e5b5841818afff26280101d2f Mon Sep 17 00:00:00 2001
From: Alexandre-Herve
Date: Tue, 27 Jan 2015 15:46:50 +0100
Subject: [PATCH 3/7] changed module
---
app/index.js | 7 +-
app/templates/root/_Gruntfile.js | 666 ------------------
app/templates/root/_bower.json | 4 +-
app/templates/root/_package.json | 51 +-
app/templates/root/gulpfile.coffee | 112 +++
app/templates/root/src/_index.html | 35 -
app/templates/root/src/_index.jade | 25 +
app/templates/root/src/app/_app.coffee | 19 +-
app/templates/root/src/app/app.spec.coffee | 19 +-
.../root/src/{scss => style}/.DS_Store | Bin
.../{scss => style}/_angular_material.scss | 0
.../root/src/{scss => style}/main.scss | 11 +-
module/index.js | 10 +-
.../{_moduleHtml.tpl.html => _module.jade} | 0
.../templates/{_module.less => _module.scss} | 0
package.json | 13 +-
16 files changed, 197 insertions(+), 775 deletions(-)
delete mode 100644 app/templates/root/_Gruntfile.js
create mode 100644 app/templates/root/gulpfile.coffee
delete mode 100644 app/templates/root/src/_index.html
create mode 100644 app/templates/root/src/_index.jade
rename app/templates/root/src/{scss => style}/.DS_Store (100%)
rename app/templates/root/src/{scss => style}/_angular_material.scss (100%)
rename app/templates/root/src/{scss => style}/main.scss (63%)
rename module/templates/{_moduleHtml.tpl.html => _module.jade} (100%)
rename module/templates/{_module.less => _module.scss} (100%)
diff --git a/app/index.js b/app/index.js
index 2a3a1c5..d03bd00 100644
--- a/app/index.js
+++ b/app/index.js
@@ -5,7 +5,7 @@ var yeoman = require('yeoman-generator');
var chalk = require('chalk');
-var NgbpGenerator = yeoman.generators.Base.extend({
+var NgbpMaterialGenerator = yeoman.generators.Base.extend({
init: function () {
this.pkg = require('../package.json');
@@ -57,7 +57,7 @@ var NgbpGenerator = yeoman.generators.Base.extend({
type: 'confirm',
name: 'useCoffeescript',
message: 'Would you like to use Coffeescript?',
- default: false
+ default: true
},
];
@@ -65,7 +65,6 @@ var NgbpGenerator = yeoman.generators.Base.extend({
this.projectName = props.projectName;
this.author = props.author;
this.useCoffeescript = props.useCoffeescript;
- this.includeAngularResource = props.includeAngularResource;
done();
}.bind(this));
@@ -115,4 +114,4 @@ var NgbpGenerator = yeoman.generators.Base.extend({
});
-module.exports = NgbpGenerator;
+module.exports = NgbpMaterialGenerator;
diff --git a/app/templates/root/_Gruntfile.js b/app/templates/root/_Gruntfile.js
deleted file mode 100644
index 5100eec..0000000
--- a/app/templates/root/_Gruntfile.js
+++ /dev/null
@@ -1,666 +0,0 @@
-module.exports = function(grunt) {
-
- var _ = require('lodash');
-
- // Load required Grunt tasks. These are installed based on the versions listed
- // * in 'package.json' when you do 'npm install' in this directory.
- grunt.loadNpmTasks('grunt-contrib-clean');
- grunt.loadNpmTasks('grunt-contrib-copy');
- grunt.loadNpmTasks('grunt-contrib-jshint');
- grunt.loadNpmTasks('grunt-contrib-concat');
- grunt.loadNpmTasks('grunt-contrib-watch');
- grunt.loadNpmTasks('grunt-contrib-uglify');
- grunt.loadNpmTasks('grunt-contrib-coffee');
- grunt.loadNpmTasks('grunt-libsass');
- grunt.loadNpmTasks('grunt-coffeelint');
- grunt.loadNpmTasks('grunt-karma');
- grunt.loadNpmTasks('grunt-ng-annotate');
- grunt.loadNpmTasks('grunt-html2js');
- grunt.loadNpmTasks('grunt-express');
-
- /** ********************************************************************************* */
- /** **************************** File Config **************************************** */
- var fileConfig = {
- build_dir: 'build',
- compile_dir: 'bin',
-
- /**
- * This is a collection of file patterns for our app code (the
- * stuff in 'src/'). These paths are used in the configuration of
- * build tasks. 'js' is all project javascript, except tests.
- * 'commonTemplates' contains our reusable components' ('src/common')
- * template HTML files, while 'appTemplates' contains the templates for
- * our app's code. 'html' is just our main HTML file. 'scss' is our main
- * stylesheet, and 'unit' contains our app's unit tests.
- */
- app_files: {
- js: [ 'src/**/*.js', '!src/**/*.spec.js', '!src/assets/**/*.js' ],
- jsunit: [ 'src/**/*.spec.js' ],
-
- coffee: [ 'src/**/*.coffee', '!src/**/*.spec.coffee' ],
- coffeeunit: [ 'src/**/*.spec.coffee' ],
-
- appTemplates: [ 'src/app/**/*.tpl.html' ],
- commonTemplates: [ 'src/common/**/*.tpl.html' ],
-
- html: [ 'src/index.html' ],
- scss: 'src/scss/main.scss'
- },
-
- /**
- * This is a collection of files used during testing only.
- */
- test_files: {
- js: [
- 'vendor/angular-mocks/angular-mocks.js'
- ]
- },
-
- /**
- * This is the same as 'app_files', except it contains patterns that
- * reference vendor code ('vendor/') that we need to place into the build
- * process somewhere. While the 'app_files' property ensures all
- * standardized files are collected for compilation, it is the user's job
- * to ensure non-standardized (i.e. vendor-related) files are handled
- * appropriately in 'vendor_files.js'.
- *
- * The 'vendor_files.js' property holds files to be automatically
- * concatenated and minified with our project source files.
- *
- * The 'vendor_files.css' property holds any CSS files to be automatically
- * included in our app.
- *
- * The 'vendor_files.assets' property holds any assets to be copied along
- * with our app's assets. This structure is flattened, so it is not
- * recommended that you use wildcards.
- */
- vendor_files: {
- js: [
- 'vendor/jquery/dist/jquery.js',
- 'vendor/angular/angular.js',
- 'vendor/placeholders/angular-placeholders-0.0.1-SNAPSHOT.min.js',
- 'vendor/angular-ui-router/release/angular-ui-router.js',
- 'vendor/angular-ui-utils/modules/route/route.js',
- 'vendor/angular-animate/angular-animate.js',
- 'vendor/angular-aria/angular-aria.js',
- 'vendor/angular-material/angular-material.js',
- 'vendor/angular-mocks/angular-mocks.js',
- 'vendor/lodash/dist/lodash.js',
- 'vendor/restangular/restangular.js'
-
- ],
- css: [
- ],
- assets: [
- ]
- }
- };
-
- /** ********************************************************************************* */
- /** **************************** Task Config **************************************** */
- var taskConfig = {
- pkg: grunt.file.readJSON("package.json"),
-
- /**
- * The banner is the comment that is placed at the top of our compiled
- * source files. It is first processed as a Grunt template, where the '<%='
- * pairs are evaluated based on this very configuration object.
- */
- meta: {
- banner:
- '/**\n' +
- ' * <%%= pkg.name %> - v<%%= pkg.version %> - <%%= grunt.template.today("yyyy-mm-dd") %>\n' +
- ' *\n' +
- ' * Copyright (c) <%%= grunt.template.today("yyyy") %> <%%= pkg.author %>\n' +
- ' */\n'
- },
-
- /**
- * The directories to delete when 'grunt clean' is executed.
- */
- clean: [
- '<%%= build_dir %>',
- '<%%= compile_dir %>'
- ],
-
- /**
- * The 'copy' task just copies files from A to B. We use it here to copy
- * our project assets (images, fonts, etc.) and javascripts into
- * 'build_dir', and then to copy the assets to 'compile_dir'.
- */
- copy: {
- build_app_assets: {
- files: [
- {
- src: [ '**' ],
- dest: '<%%= build_dir %>/assets/',
- cwd: 'src/assets',
- expand: true
- }
- ]
- },
- build_vendor_assets: {
- files: [
- {
- src: [ '<%%= vendor_files.assets %>' ],
- dest: '<%%= build_dir %>/assets/',
- cwd: '.',
- expand: true,
- flatten: true
- }
- ]
- },
- build_appjs: {
- files: [
- {
- src: [ '<%%= app_files.js %>' ],
- dest: '<%%= build_dir %>/',
- cwd: '.',
- expand: true
- }
- ]
- },
- build_vendorjs: {
- files: [
- {
- src: [ '<%%= vendor_files.js %>' ],
- dest: '<%%= build_dir %>/',
- cwd: '.',
- expand: true
- }
- ]
- },
- compile_assets: {
- files: [
- {
- src: [ '**' ],
- dest: '<%%= compile_dir %>/assets',
- cwd: '<%%= build_dir %>/assets',
- expand: true
- }
- ]
- }
- },
-
- /**
- * 'grunt concat' concatenates multiple source files into a single file.
- */
- concat: {
- // The 'build_css' target concatenates compiled CSS and vendor CSS together.
- build_css: {
- src: [
- '<%%= vendor_files.css %>',
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css'
- ],
- dest: '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css'
- },
- // The 'compile_js' target concatenates app and vendor js code together.
- compile_js: {
- options: {
- banner: '<%%= meta.banner %>'
- },
- src: [
- '<%%= vendor_files.js %>',
- 'module.prefix',
- '<%%= build_dir %>/src/**/*.js',
- '<%%= html2js.app.dest %>',
- '<%%= html2js.common.dest %>',
- 'module.suffix'
- ],
- dest: '<%%= compile_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.js'
- }
- },
-
- /**
- * 'grunt coffee' compiles the CoffeeScript sources. To work well with the
- * rest of the build, we have a separate compilation task for sources and
- * specs so they can go to different places. For example, we need the
- * sources to live with the rest of the copied JavaScript so we can include
- * it in the final build, but we don't want to include our specs there.
- */
- coffee: {
- source: {
- options: {
- bare: true
- },
- expand: true,
- cwd: '.',
- src: [ '<%%= app_files.coffee %>' ],
- dest: '<%%= build_dir %>',
- ext: '.js'
- }
- },
-
- /**
- * 'ng-annotate' annotates the sources for safe minification. That is, it allows us
- * to code without the array syntax.
- */
- ngAnnotate: {
- options: {
- singleQuotes: true
- },
- build: {
- files:[
- {
- src: [ '<%%= app_files.js %>' ],
- cwd: '<%%= build_dir %>',
- dest: '<%%= build_dir %>',
- expand: true
- },
- ]
- },
- },
-
- /**
- * Minify the sources!
- */
- uglify: {
- compile: {
- options: {
- banner: '<%%= meta.banner %>'
- },
- files: {
- '<%%= concat.compile_js.dest %>': '<%%= concat.compile_js.dest %>'
- }
- }
- },
-
- /**
- * `grunt-libsass` handles our SCSS compilation and uglification automatically.
- * Only our 'main.scss' file is included in compilation; all other files
- * must be imported from this file.
- */
- libsass: {
- build: {
- files: {
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css': '<%%= app_files.scss %>'
- }
- },
- compile: {
- files: {
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css': '<%%= app_files.scss %>'
- },
- options: {
- cleancss: true,
- compress: true
- }
- }
- },
-
- /**
- * 'jshint' defines the rules of our linter as well as which files we
- * should check. This file, all javascript sources, and all our unit tests
- * are linted based on the policies listed in 'options'. But we can also
- * specify exclusionary patterns by prefixing them with an exclamation
- * point (!); this is useful when code comes from a third party but is
- * nonethescss inside 'src/'.
- */
- jshint: {
- src: [
- '<%%= app_files.js %>'
- ],
- test: [
- '<%%= app_files.jsunit %>'
- ],
- gruntfile: [
- 'Gruntfile.js'
- ],
- options: {
- curly: true,
- immed: true,
- newcap: true,
- noarg: true,
- sub: true,
- boss: true,
- eqnull: true
- },
- globals: {}
- },
-
- /**
- * 'coffeelint' does the same as 'jshint', but for CoffeeScript.
- * CoffeeScript is not the default in ngBoilerplate, so we're just using
- * the defaults here.
- */
- coffeelint: {
- src: {
- files: {
- src: [ '<%%= app_files.coffee %>' ]
- }
- },
- test: {
- files: {
- src: [ '<%%= app_files.coffeeunit %>' ]
- }
- }
- },
-
- /**
- * HTML2JS is a Grunt plugin that takes all of your template files and
- * places them into JavaScript files as strings that are added to
- * AngularJS's template cache. This means that the templates too become
- * part of the initial payload as one JavaScript file. Neat!
- */
- html2js: {
- // These are the templates from 'src/app'.
- app: {
- options: {
- base: 'src/app'
- },
- src: [ '<%%= app_files.appTemplates %>' ],
- dest: '<%%= build_dir %>/templates-app.js'
- },
-
- // These are the templates from 'src/common'.
- common: {
- options: {
- base: 'src/common'
- },
- src: [ '<%%= app_files.commonTemplates %>' ],
- dest: '<%%= build_dir %>/templates-common.js'
- }
- },
-
- /**
- * The 'index' task compiles the 'index.html' file as a Grunt template. CSS
- * and JS files co-exist here but they get split apart later.
- */
- index: {
-
- /**
- * During development, we don't want to have wait for compilation,
- * concatenation, minification, etc. So to avoid these steps, we simply
- * add all script files directly to the '' of 'index.html'. The
- * 'src' property contains the list of included files.
- */
- build: {
- dir: '<%%= build_dir %>',
- src: [
- '<%%= vendor_files.js %>',
- '<%%= build_dir %>/src/**/*.js',
- '<%%= html2js.common.dest %>',
- '<%%= html2js.app.dest %>',
- '<%%= vendor_files.css %>',
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css'
- ]
- },
-
- /**
- * When it is time to have a completely compiled application, we can
- * alter the above to include only a single JavaScript and a single CSS
- * file. Now we're back!
- */
- compile: {
- dir: '<%%= compile_dir %>',
- src: [
- '<%%= concat.compile_js.dest %>',
- '<%%= vendor_files.css %>',
- '<%%= build_dir %>/assets/<%%= pkg.name %>-<%%= pkg.version %>.css'
- ]
- }
- },
-
- express: {
- devServer: {
- options: {
- port: 9000,
- hostname: 'localhost',
- serverreload: false,
- bases: 'build',
- livereload: true
- }
- }
- },
-
- /**
- * The Karma configurations.
- */
- karma: {
- options: {
- configFile: '<%%= build_dir %>/karma-unit.js'
- },
- unit: {
- runnerPort: 9019,
- background: true
- },
- continuous: {
- singleRun: true
- }
- },
-
- /**
- * This task compiles the karma template so that changes to its file array
- * don't have to be managed manually.
- */
- karmaconfig: {
- unit: {
- dir: '<%%= build_dir %>',
- src: [
- '<%%= vendor_files.js %>',
- '<%%= html2js.app.dest %>',
- '<%%= html2js.common.dest %>',
- '<%%= test_files.js %>'
- ]
- }
- },
-
- /**
- * And for rapid development, we have a watch set up that checks to see if
- * any of the files listed below change, and then to execute the listed
- * tasks when they do. This just saves us from having to type "grunt" into
- * the command-line every time we want to see what we're working on; we can
- * instead just leave "grunt watch" running in a background terminal. Set it
- * and forget it, as Ron Popeil used to tell us.
- *
- * But we don't need the same thing to happen for all the files.
- */
- delta: {
- /**
- * By default, we want the Live Reload to work for all tasks; this is
- * overridden in some tasks (like this file) where browser resources are
- * unaffected. It runs by default on port 35729, which your browser
- * plugin should auto-detect.
- */
- options: {
- livereload: true
- },
-
- /**
- * When the Gruntfile changes, we just want to lint it. In fact, when
- * your Gruntfile changes, it will automatically be reloaded!
- */
- gruntfile: {
- files: 'Gruntfile.js',
- tasks: [ 'jshint:gruntfile' ],
- options: {
- livereload: false
- }
- },
-
- /**
- * When our JavaScript source files change, we want to run lint them and
- * run our unit tests.
- */
- jssrc: {
- files: [
- '<%%= app_files.js %>'
- ],
- tasks: [ 'jshint:src', 'karma:unit:run', 'copy:build_appjs', 'index:build' ]
- },
-
- /**
- * When our CoffeeScript source files change, we want to run lint them and
- * run our unit tests.
- */
- coffeesrc: {
- files: [
- '<%%= app_files.coffee %>'
- ],
- tasks: [ 'coffeelint:src', 'coffee:source', 'karma:unit:run', 'copy:build_appjs' ]
- },
-
- /**
- * When assets are changed, copy them. Note that this will *not* copy new
- * files, so this is probably not very useful.
- */
- assets: {
- files: [
- 'src/assets/**/*'
- ],
- tasks: [ 'copy:build_app_assets' ]
- },
-
- /**
- * When index.html changes, we need to compile it.
- */
- html: {
- files: [ '<%%= app_files.html %>' ],
- tasks: [ 'index:build' ]
- },
-
- /**
- * When our templates change, we only rewrite the template cache.
- */
- tpls: {
- files: [
- '<%%= app_files.appTemplates %>',
- '<%%= app_files.commonTemplates %>'
- ],
- tasks: [ 'html2js' ]
- },
-
- /**
- * When the CSS files change, we need to compile and minify them.
- */
- scss: {
- files: [ 'src/**/*.scss' ],
- tasks: [ 'libsass:build' ]
- },
-
- /**
- * When a JavaScript unit test file changes, we only want to lint it and
- * run the unit tests. We don't want to do any live reloading.
- */
- jsunit: {
- files: [
- '<%%= app_files.jsunit %>'
- ],
- tasks: [ 'jshint:test', 'karma:unit:run' ],
- options: {
- livereload: false
- }
- },
-
- /**
- * When a CoffeeScript unit test file changes, we only want to lint it and
- * run the unit tests. We don't want to do any live reloading.
- */
- coffeeunit: {
- files: [
- '<%%= app_files.coffeeunit %>'
- ],
- tasks: [ 'coffeelint:test', 'karma:unit:run' ],
- options: {
- livereload: false
- }
- }
- }
- };
-
-
- /** ********************************************************************************* */
- /** **************************** Project Configuration ****************************** */
- grunt.initConfig(_.extend(taskConfig, fileConfig));
-
- // In order to make it safe to just compile or copy *only* what was changed,
- // we need to ensure we are starting from a clean, fresh build. So we rename
- // the 'watch' task to 'delta' (that's why the configuration var above is
- // 'delta') and then add a new task called 'watch' that does a clean build
- // before watching for changes.
- grunt.renameTask('watch', 'delta');
- grunt.registerTask('watch', [ 'build', 'karma:unit', 'express', 'delta' ]);
-
- // The default task is to build and compile.
- grunt.registerTask('default', [ 'build', 'compile' ]);
-
- // The 'build' task gets your app ready to run for development and testing.
- grunt.registerTask('build', [
- 'clean', 'html2js', 'jshint', 'coffeelint', 'coffee', 'libsass:build',
- 'concat:build_css', 'copy:build_app_assets', 'copy:build_vendor_assets',
- 'copy:build_appjs', 'copy:build_vendorjs', 'ngAnnotate:build', 'index:build', 'karmaconfig',
- 'karma:continuous'
- ]);
-
- // The 'compile' task gets your app ready for deployment by concatenating and minifying your code.
- // Note - compile builds off of the build dir (look at concat:compile_js), so run grunt build before grunt compile
- grunt.registerTask('compile', [
- 'libsass:compile', 'copy:compile_assets', 'concat:compile_js', 'uglify', 'index:compile'
- ]);
-
- // A utility function to get all app JavaScript sources.
- function filterForJS (files) {
- return files.filter(function (file) {
- return file.match(/\.js$/);
- });
- }
-
- // A utility function to get all app CSS sources.
- function filterForCSS (files) {
- return files.filter( function (file) {
- return file.match(/\.css$/);
- });
- }
-
- // The index.html template includes the stylesheet and javascript sources
- // based on dynamic names calculated in this Gruntfile. This task assembles
- // the list into variables for the template to use and then runs the
- // compilation.
- grunt.registerMultiTask('index', 'Process index.html template', function () {
- var dirRE = new RegExp('^(' + grunt.config('build_dir') + '|' + grunt.config('compile_dir') + ')\/', 'g');
-
- // this.fileSrc comes from either build:src, compile:src, or karmaconfig:src in the index config defined above
- // see - http://gruntjs.com/api/inside-tasks#this.filessrc for documentation
- var jsFiles = filterForJS(this.filesSrc).map(function (file) {
- return file.replace(dirRE, '');
- });
- var cssFiles = filterForCSS(this.filesSrc).map(function (file) {
- return file.replace(dirRE, '');
- });
-
- // this.data.dir comes from either build:dir, compile:dir, or karmaconfig:dir in the index config defined above
- // see - http://gruntjs.com/api/inside-tasks#this.data for documentation
- grunt.file.copy('src/index.html', this.data.dir + '/index.html', {
- process: function (contents, path) {
- // These are the variables looped over in our index.html exposed as "scripts", "styles", and "version"
- return grunt.template.process(contents, {
- data: {
- scripts: jsFiles,
- styles: cssFiles,
- version: grunt.config('pkg.version'),
- author: grunt.config('pkg.author'),
- date: grunt.template.today("yyyy")
- }
- });
- }
- });
- });
-
- // In order to avoid having to specify manually the files needed for karma to
- // run, we use grunt to manage the list for us. The 'karma/*' files are
- // compiled as grunt templates for use by Karma. Yay!
- grunt.registerMultiTask('karmaconfig', 'Process karma config templates', function () {
- var jsFiles = filterForJS(this.filesSrc);
-
- grunt.file.copy('karma/karma-unit.tpl.js', grunt.config('build_dir') + '/karma-unit.js', {
- process: function (contents, path) {
- // This is the variable looped over in the karma template of our index.html exposed as "scripts"
- return grunt.template.process(contents, {
- data: {
- scripts: jsFiles
- }
- });
- }
- });
- });
-
-};
diff --git a/app/templates/root/_bower.json b/app/templates/root/_bower.json
index 74d35db..f9c22c8 100644
--- a/app/templates/root/_bower.json
+++ b/app/templates/root/_bower.json
@@ -4,7 +4,7 @@
"_comment": "Any dependencies added here require a manual edit to vendor_files in /Gruntfile.js and (??? verify the following) /build/karma-unit.js (e.g 'vendor/angular-resource/angular-resource.js')",
"devDependencies": {
"angular": "~1.2.9",
- "angular-mocks": "~1.2.9",
+ "angular-mocks": "~1.3.11",
"bootstrap": "~3.1",
"angular-bootstrap": "~0.10.0",
"angular-material-source": "git@github.com:angular/material.git",
@@ -14,7 +14,7 @@
},
"dependencies": {},
"resolutions": {
- "angular": "1.3.10"
+ "angular": "1.3.11"
}
}
diff --git a/app/templates/root/_package.json b/app/templates/root/_package.json
index eeb26cf..bba857d 100644
--- a/app/templates/root/_package.json
+++ b/app/templates/root/_package.json
@@ -2,28 +2,31 @@
"name": "<%= projectName %>",
"version": "0.0.1",
"author": "<%= author %>",
- "devDependencies": {
- "grunt": "~0.4.2",
- "grunt-contrib-jshint": "^0.9.2",
- "grunt-contrib-nodeunit": "~0.2.0",
- "grunt-contrib-uglify": "~0.2.7",
- "grunt-contrib-clean": "^0.5.0",
- "grunt-contrib-copy": "^0.5.0",
- "grunt-contrib-concat": "^0.3.0",
- "grunt-contrib-watch": "^0.6.1",
- "grunt-contrib-coffee": "^0.10.1",
- "grunt-libsass": "^0.2.0",
- "grunt-coffeelint": "0.0.10",
- "grunt-html2js": "^0.2.4",
- "grunt-ng-annotate": "^0.3.2",
- "grunt-express": "^1.2.1",
- "karma": "^0.12.9",
- "grunt-karma": "^0.8.2",
- "karma-jasmine": "^0.1.5",
- "karma-firefox-launcher": "^0.1.3",
- "karma-chrome-launcher": "^0.1.3",
- "karma-phantomjs-launcher": "^0.1.3",
- "karma-coffee-preprocessor": "^0.2.1",
- "lodash": "^2.4.1"
- }
+ "dependencies": {
+ "bower": "~1.3.5",
+ "coffee-script": "~1.7.1",
+ "gulp": "~3.8.7",
+ "gulp-changed": "~0.4.0",
+ "gulp-coffee": "~2.0.1",
+ "gulp-concat": "^2.4.3",
+ "gulp-connect": "~2.0.6",
+ "gulp-filter": "^2.0.0",
+ "gulp-if": "^1.2.5",
+ "gulp-inject": "~0.4.1",
+ "gulp-jade": "~0.5.0",
+ "gulp-karma": "0.0.4",
+ "gulp-plumber": "~0.6.3",
+ "gulp-rename": "^1.2.0",
+ "gulp-sass": "~1.3.2",
+ "gulp-sourcemaps": "~1.1.1",
+ "gulp-util": "~2.2.17",
+ "gulp-watch": "~0.6.8",
+ "karma": "~0.12.16",
+ "path": "^0.11.14",
+ "stream-series": "^0.1.1"
+ },
+ "devDependencies": {
+ "karma-jasmine": "~0.1.5",
+ "karma-chrome-launcher": "~0.1.4"
+ }
}
diff --git a/app/templates/root/gulpfile.coffee b/app/templates/root/gulpfile.coffee
new file mode 100644
index 0000000..84c0b59
--- /dev/null
+++ b/app/templates/root/gulpfile.coffee
@@ -0,0 +1,112 @@
+gulp = require 'gulp'
+gutil = require 'gulp-util'
+connect = require 'gulp-connect'
+jade = require 'gulp-jade'
+sass = require 'gulp-sass'
+sourcemaps = require 'gulp-sourcemaps'
+coffee = require 'gulp-coffee'
+inject = require 'gulp-inject'
+karma = require 'gulp-karma'
+changed = require 'gulp-changed'
+watch = require 'gulp-watch'
+plumber = require 'gulp-plumber'
+globs = require './globs'
+series = require 'stream-series'
+path = require('path')
+filter = require('gulp-filter')
+concat = require('gulp-concat')
+rename = require('gulp-rename')
+gulpif = require('gulp-if')
+
+# Paths
+index_path = 'build/index.html'
+src_dir = 'src/'
+build_dir = 'build/'
+build_vendor_dir = 'build/vendor/'
+
+
+gulp.task 'connect', ->
+ connect.server
+ root : ['build']
+ livereload : true
+ return
+
+
+gulp.task 'move:jade', ->
+ gulp.src globs.jade
+ .pipe plumber()
+ .pipe jade({ pretty : true })
+ .pipe inject(gulp.src(globs.app, { read : false }), { ignorePath : ['build'], addRootSlash : false })
+ .pipe gulp.dest(build_dir)
+
+
+gulp.task 'move:sass', ->
+ gulp.src globs.sass
+ .pipe plumber()
+ .pipe(concat('main.scss'))
+ .pipe(sourcemaps.init())
+ .pipe(sass())
+ .pipe(sourcemaps.write())
+ .pipe(rename (path)->
+ path.dirname = '/style'
+ path
+ )
+ .pipe gulp.dest(build_dir)
+
+gulp.task 'move:coffee', ->
+ gulp.src globs.coffee
+ .pipe plumber()
+ .pipe coffee({ bare : true })
+ .pipe gulp.dest(build_dir)
+
+
+gulp.task 'move:vendor', ->
+ gulp.src globs.vendor
+ .pipe plumber()
+ .pipe gulp.dest(build_vendor_dir)
+
+
+gulp.task 'run:karma', ->
+ gulp.src globs.karma
+ .pipe karma
+ configFile : 'karma.conf.js'
+ action : 'watch'
+ .on 'error', (err) ->
+ throw err
+ return
+
+
+gulp.task 'watch', ->
+ gulp.watch globs.vendor, ['move:vendor']
+ gulp.watch globs.jade, ['move:jade']
+ gulp.watch globs.sass, ['move:sass']
+ gulp.watch globs.coffee, ['move:coffee']
+ gulp.watch globs.karma, ['run:karma']
+
+
+gulp.task 'move:files', ['move:vendor', 'move:sass', 'move:coffee'], ->
+ gulp.start 'move:jade'
+
+gulp.task 'default', ['move:files', 'connect', 'watch']
+
+`
+/** *****************************************
+ *
+ * Internal helper functions
+ *
+ ** ***************************************** */
+
+
+function readModuleArg() {
+ var module = argv.c ? 'material.components.' + argv.c : (argv.module || argv.m);
+ if (!module) {
+ gutil.log('\nProvide a compnent argument via \`-c\`:',
+ '\nExample: -c toast');
+ gutil.log('\nOr provide a module argument via \`--module\` or \`-m\`.',
+ '\nExample: --module=material.components.toast or -m material.components.dialog');
+ process.exit(1);
+ }
+ return module;
+}
+`
+
diff --git a/app/templates/root/src/_index.html b/app/templates/root/src/_index.html
deleted file mode 100644
index a99a353..0000000
--- a/app/templates/root/src/_index.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
- <%% styles.forEach( function ( file ) { %>
- <%% }); %>
-
- <%% scripts.forEach( function ( file ) { %>
- <%% }); %>
-
-
-
-
-
-
-
- (c) <%%= date %> <%%= author %>
-
-
-
diff --git a/app/templates/root/src/_index.jade b/app/templates/root/src/_index.jade
new file mode 100644
index 0000000..302898c
--- /dev/null
+++ b/app/templates/root/src/_index.jade
@@ -0,0 +1,25 @@
+doctype html
+html(lang="en", ng-app="angularNgbpMaterial")
+ head
+ title= pageTitle
+
+ // inject:css
+ // Note that inject and endinject must be surrounded by a space on both sides
+ // endinject
+
+ // inject:js
+ // Note that inject and endinject must be surrounded by a space on both sides
+ // endinject
+
+ body(ng-controller="AppController", ng-cloak)
+
+ div(layout="column", layout-fill)
+ md-toolbar.md-primary
+ .md-toolbar-tools
+ | my title lol
+ span( flex )
+ md-button
+ | look ! a button !
+
+
+
diff --git a/app/templates/root/src/app/_app.coffee b/app/templates/root/src/app/_app.coffee
index 45ac923..bd8e58f 100644
--- a/app/templates/root/src/app/_app.coffee
+++ b/app/templates/root/src/app/_app.coffee
@@ -1,14 +1,19 @@
-do (app=angular.module "<%= projectName %>", [
- 'templates-app',
- 'templates-common',
- 'ui.router.state',
+do (app=angular.module "angularNgbpMaterial", [
'ui.router',
+ 'ngMaterial'
]) ->
+ app.config ([
+ '$mdThemingProvider',
+ ($mdThemingProvider)->
+ console.log $mdThemingProvider
+ $mdThemingProvider.theme('default')
+ .primaryColor('deep-purple')
+ .accentColor('cyan')
+ .warnColor('pink')
+ ])
+
app.config ($stateProvider, $urlRouterProvider) ->
$urlRouterProvider.otherwise ''
app.controller 'AppController', ($scope) ->
-
-
-
diff --git a/app/templates/root/src/app/app.spec.coffee b/app/templates/root/src/app/app.spec.coffee
index f03f2a9..25192fd 100644
--- a/app/templates/root/src/app/app.spec.coffee
+++ b/app/templates/root/src/app/app.spec.coffee
@@ -1,17 +1,4 @@
-describe 'AppController', ->
- describe 'isCurrentUrl', ->
- AppCtrl = null
+describe 'Controller', ->
+ it 'should be dummy', ->
+ expect(true).toBeTruthy()
- beforeEach(module '<%= projectName %>')
-
- beforeEach(inject ($controller, _$location_, $rootScope) ->
- $location = _$location_
- $scope = $rootScope.$new()
- AppCtrl = $controller 'AppController',
- $location: $location
- $scope: $scope
- )
-
- it('should pass a dummy test', inject ->
- expect(AppCtrl).toBeTruthy()
- )
diff --git a/app/templates/root/src/scss/.DS_Store b/app/templates/root/src/style/.DS_Store
similarity index 100%
rename from app/templates/root/src/scss/.DS_Store
rename to app/templates/root/src/style/.DS_Store
diff --git a/app/templates/root/src/scss/_angular_material.scss b/app/templates/root/src/style/_angular_material.scss
similarity index 100%
rename from app/templates/root/src/scss/_angular_material.scss
rename to app/templates/root/src/style/_angular_material.scss
diff --git a/app/templates/root/src/scss/main.scss b/app/templates/root/src/style/main.scss
similarity index 63%
rename from app/templates/root/src/scss/main.scss
rename to app/templates/root/src/style/main.scss
index 3d94773..df946f3 100644
--- a/app/templates/root/src/scss/main.scss
+++ b/app/templates/root/src/style/main.scss
@@ -5,7 +5,7 @@
*/
-@import 'angular_material';
+//@import 'angular_material';
@@ -20,12 +20,3 @@
src: local('Roboto Regular'), local('Roboto-Regular'), url(fonts/Roboto-Regular.woff) format('woff');
}
-
-/**
- * Now that all app-wide styles have been applied, we can load the styles for
- * all the submodules and components we are using.
- *
- * TODO: In a later version of this boilerplate, I'd like to automate this.
- */
-
-
diff --git a/module/index.js b/module/index.js
index 66e8d3a..5187d2f 100644
--- a/module/index.js
+++ b/module/index.js
@@ -52,8 +52,8 @@ var ModuleGenerator = yeoman.generators.NamedBase.extend({
this.template('_module.js', path.join(modulePath, this.camelModuleName + '.js'));
this.template('_moduleSpec.js', path.join(modulePath, this.camelModuleName + '.spec.js'));
}
- this.template('_moduleHtml.tpl.html', path.join(modulePath, this.camelModuleName + '.tpl.html'));
- this.template('_module.less', path.join(modulePath, this.camelModuleName + '.less'));
+ this.template('_module.jade', path.join(modulePath, this.camelModuleName + '.jade'));
+ this.template('_module.scss', path.join(modulePath, this.camelModuleName + '.scss'));
this._addModuleToAppJs(this.projectName, this.camelModuleName, this.lowerModuleName);
@@ -63,8 +63,8 @@ var ModuleGenerator = yeoman.generators.NamedBase.extend({
},
touchIndexHtml: function() {
- // Touch the index.html file to force the index grunt task to rebuild it (that task adds the new module to the scripts)
- var indexHtmlFilePath = 'src/index.html';
+ // Touch the index.jade file to force the index grunt task to rebuild it (that task adds the new module to the scripts)
+ var indexHtmlFilePath = 'src/index.jade';
touch(indexHtmlFilePath, {mtime: true});
},
@@ -88,4 +88,4 @@ var ModuleGenerator = yeoman.generators.NamedBase.extend({
});
-module.exports = ModuleGenerator;
\ No newline at end of file
+module.exports = ModuleGenerator;
diff --git a/module/templates/_moduleHtml.tpl.html b/module/templates/_module.jade
similarity index 100%
rename from module/templates/_moduleHtml.tpl.html
rename to module/templates/_module.jade
diff --git a/module/templates/_module.less b/module/templates/_module.scss
similarity index 100%
rename from module/templates/_module.less
rename to module/templates/_module.scss
diff --git a/package.json b/package.json
index 26d0763..621547b 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,10 @@
{
- "name": "generator-angular-material",
+ "name": "generator-ngbp-material",
"version": "0.1.2",
"description": "Yeoman generator based on angular-material and the ngBoilerplate kickstarter, a best-practice boilerplate for scalable Angular projects built on a highly modular, folder-by-feature structure.",
"keywords": [
"yeoman-generator",
+ "jade",
"angular-material",
"angular",
"angularjs",
@@ -14,18 +15,18 @@
"framework",
"module",
"client",
- "grunt",
+ "gulp",
"karma",
"express",
"app"
],
"license": "MIT",
"main": "app/index.js",
- "repository": "thardy/generator-ngbp",
+ "repository": "Alexandre-herve/generator-ngbp-material",
"author": {
- "name": "Tim Hardy",
- "email": "",
- "url": "https://github.com/thardy"
+ "name": "Alexandre Hervé",
+ "email": "alexandre.herve9@gmail.com",
+ "url": ""
},
"engines": {
"node": ">=0.10.0"
From 92f6fbe5ea74699aded1c9d3e6e403e4132e6c55 Mon Sep 17 00:00:00 2001
From: Alexandre-Herve
Date: Tue, 27 Jan 2015 15:57:49 +0100
Subject: [PATCH 4/7] added missing config files
---
app/templates/root/_globs.coffee | 68 ++++++++++++++++
.../{gulpfile.coffee => _gulpfile.coffee} | 0
app/templates/root/_karma.conf.js | 66 +++++++++++++++
.../root/src/style/_angular_material.scss | 80 -------------------
4 files changed, 134 insertions(+), 80 deletions(-)
create mode 100644 app/templates/root/_globs.coffee
rename app/templates/root/{gulpfile.coffee => _gulpfile.coffee} (100%)
create mode 100644 app/templates/root/_karma.conf.js
delete mode 100644 app/templates/root/src/style/_angular_material.scss
diff --git a/app/templates/root/_globs.coffee b/app/templates/root/_globs.coffee
new file mode 100644
index 0000000..3d93c3e
--- /dev/null
+++ b/app/templates/root/_globs.coffee
@@ -0,0 +1,68 @@
+globs = {}
+
+globs.coffee = 'src/**/*.coffee'
+globs.jade = 'src/**/*.jade'
+globs.src = 'src/**/*'
+globs.build = 'build/**/*'
+globs.html = 'build/**/*.html'
+globs.app_js = 'build/app/**/*.js'
+globs.app_sass = 'src/style/app.scss'
+globs.app_css = 'build/style/main.css'
+globs.vendor_js = 'build/vendor/**/*.js'
+globs.vendor_css = 'build/vendor/**/*.css'
+globs.vendor = 'vendor/**/*'
+
+# choose the angular material themes you want to use
+# globs.themes = [ 'cyan', 'deep-purple', 'pink' ]
+
+globs.theme = 'vendor/angular-material-source/src/core/style/variables.scss'
+
+globs.sass = [
+ # angular material core
+ 'vendor/angular-material-source/src/core/style/variables.scss'
+ 'vendor/angular-material-source/src/core/style/mixins.scss'
+ 'vendor/angular-material-source/src/core/style/structure.scss'
+ 'vendor/angular-material-source/src/core/style/layout.scss'
+
+ # angular material components
+ 'vendor/angular-material-source/src/components/**/*.scss'
+ '!vendor/angular-material-source/src/components/**/*-theme.scss'
+
+ # application style
+ 'src/**/*.scss'
+]
+
+globs.themeSass = [
+ 'vendor/angular-material-source/src/components/**/*-theme.scss'
+ 'src/core/style/variables.scss'
+ 'src/core/style/mixins.scss'
+]
+
+globs.karma = [
+ 'build/vendor/angular/angular.js'
+ 'build/vendor/angular-mocks/angular-mocks.js'
+ 'vendor/angular-ui-router/release/angular-ui-router.js'
+ globs.app_js
+]
+
+globs.app = [
+ # you need to reference bower modules here
+ 'vendor/jquery/dist/jquery.js',
+ 'vendor/angular/angular.js',
+ 'vendor/placeholders/angular-placeholders-0.0.1-SNAPSHOT.min.js',
+ 'vendor/hammerjs/hammer.min.js',
+ 'vendor/angular-ui-router/release/angular-ui-router.js',
+ 'vendor/angular-ui-utils/modules/route/route.js',
+ 'vendor/angular-animate/angular-animate.js',
+ 'vendor/angular-aria/angular-aria.js',
+ 'vendor/angular-material/angular-material.js',
+ 'vendor/angular-mocks/angular-mocks.js',
+ 'vendor/lodash/dist/lodash.js',
+ 'vendor/restangular/restangular.js'
+
+ globs.app_js
+ "!build/app/**/*.spec.js"
+ globs.app_css
+]
+
+module.exports = globs
diff --git a/app/templates/root/gulpfile.coffee b/app/templates/root/_gulpfile.coffee
similarity index 100%
rename from app/templates/root/gulpfile.coffee
rename to app/templates/root/_gulpfile.coffee
diff --git a/app/templates/root/_karma.conf.js b/app/templates/root/_karma.conf.js
new file mode 100644
index 0000000..530c480
--- /dev/null
+++ b/app/templates/root/_karma.conf.js
@@ -0,0 +1,66 @@
+// Karma configuration
+// Generated on Sun Jun 15 2014 20:10:28 GMT-0600 (MDT)
+
+module.exports = function(config) {
+ config.set({
+
+ // base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '',
+
+
+ // frameworks to use
+ // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: ['jasmine'],
+
+
+ // list of files / patterns to load in the browser
+ files: [],
+
+
+ // list of files to exclude
+ exclude: [
+
+ ],
+
+
+ // preprocess matching files before serving them to the browser
+ // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {
+
+ },
+
+
+ // test results reporter to use
+ // possible values: 'dots', 'progress'
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['progress'],
+
+
+ // web server port
+ port: 9876,
+
+
+ // enable / disable colors in the output (reporters and logs)
+ colors: true,
+
+
+ // level of logging
+ // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+ logLevel: config.LOG_INFO,
+
+
+ // enable / disable watching file and executing tests whenever any file changes
+ autoWatch: true,
+
+
+ // start these browsers
+ // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: ['Chrome'],
+
+
+ // Continuous Integration mode
+ // if true, Karma captures browsers, runs the tests and exits
+ singleRun: false
+ });
+};
+
diff --git a/app/templates/root/src/style/_angular_material.scss b/app/templates/root/src/style/_angular_material.scss
deleted file mode 100644
index 2640e7c..0000000
--- a/app/templates/root/src/style/_angular_material.scss
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * core angular material scss
- */
-
-@import '../../vendor/angular-material-source/src/core/style/variables';
-@import '../../vendor/angular-material-source/src/core/style/layout';
-@import '../../vendor/angular-material-source/src/core/style/mixins';
-@import '../../vendor/angular-material-source/src/core/style/structure';
-
-/*
- components
- */
-
-@import '../../vendor/angular-material-source/src/components/backdrop/backdrop';
-@import '../../vendor/angular-material-source/src/components/backdrop/backdrop-theme';
-
-@import '../../vendor/angular-material-source/src/components/bottomSheet/bottomSheet';
-@import '../../vendor/angular-material-source/src/components/bottomSheet/bottomSheet-theme';
-
-@import '../../vendor/angular-material-source/src/components/button/button';
-@import '../../vendor/angular-material-source/src/components/button/button-theme';
-
-@import '../../vendor/angular-material-source/src/components/card/card';
-@import '../../vendor/angular-material-source/src/components/card/card-theme';
-
-@import '../../vendor/angular-material-source/src/components/checkbox/checkbox';
-@import '../../vendor/angular-material-source/src/components/checkbox/checkbox-theme';
-
-@import '../../vendor/angular-material-source/src/components/content/content';
-@import '../../vendor/angular-material-source/src/components/content/content-theme';
-
-@import '../../vendor/angular-material-source/src/components/dialog/dialog';
-@import '../../vendor/angular-material-source/src/components/dialog/dialog-theme';
-
-@import '../../vendor/angular-material-source/src/components/divider/divider';
-@import '../../vendor/angular-material-source/src/components/divider/divider-theme';
-
-@import '../../vendor/angular-material-source/src/components/icon/icon';
-
-@import '../../vendor/angular-material-source/src/components/input/input';
-@import '../../vendor/angular-material-source/src/components/input/input-theme';
-
-@import '../../vendor/angular-material-source/src/components/list/list';
-
-@import '../../vendor/angular-material-source/src/components/progressCircular/progressCircular';
-@import '../../vendor/angular-material-source/src/components/progressCircular/progressCircular-theme';
-
-@import '../../vendor/angular-material-source/src/components/progressLinear/progressLinear';
-@import '../../vendor/angular-material-source/src/components/progressLinear/progressLinear-theme';
-
-@import '../../vendor/angular-material-source/src/components/radioButton/radio-button';
-@import '../../vendor/angular-material-source/src/components/radioButton/radio-button-theme';
-
-@import '../../vendor/angular-material-source/src/components/sidenav/sidenav';
-@import '../../vendor/angular-material-source/src/components/sidenav/sidenav-theme';
-
-@import '../../vendor/angular-material-source/src/components/slider/slider';
-@import '../../vendor/angular-material-source/src/components/slider/slider-theme';
-
-@import '../../vendor/angular-material-source/src/components/sticky/sticky';
-
-@import '../../vendor/angular-material-source/src/components/subheader/subheader';
-@import '../../vendor/angular-material-source/src/components/subheader/subheader-theme';
-
-@import '../../vendor/angular-material-source/src/components/switch/switch';
-@import '../../vendor/angular-material-source/src/components/switch/switch-theme';
-
-@import '../../vendor/angular-material-source/src/components/tabs/tabs';
-@import '../../vendor/angular-material-source/src/components/tabs/tabs-theme';
-
-@import '../../vendor/angular-material-source/src/components/textField/textField';
-@import '../../vendor/angular-material-source/src/components/textField/textField-theme';
-
-@import '../../vendor/angular-material-source/src/components/toast/toast';
-@import '../../vendor/angular-material-source/src/components/toast/toast-theme';
-
-@import '../../vendor/angular-material-source/src/components/toolbar/toolbar';
-@import '../../vendor/angular-material-source/src/components/toolbar/toolbar-theme';
-
-@import '../../vendor/angular-material-source/src/components/whiteframe/whiteframe';
From b191a4a9c0a4d7a7abb24ee0d628c85df0efdce5 Mon Sep 17 00:00:00 2001
From: Alexandre-Herve
Date: Tue, 27 Jan 2015 16:14:04 +0100
Subject: [PATCH 5/7] package meta
---
package.json | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 621547b..80ab358 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "generator-ngbp-material",
- "version": "0.1.2",
+ "version": "0.1.0",
"description": "Yeoman generator based on angular-material and the ngBoilerplate kickstarter, a best-practice boilerplate for scalable Angular projects built on a highly modular, folder-by-feature structure.",
"keywords": [
"yeoman-generator",
@@ -22,7 +22,14 @@
],
"license": "MIT",
"main": "app/index.js",
- "repository": "Alexandre-herve/generator-ngbp-material",
+ "bugs": {
+ "url": "https://github.com/Alexandre-Herve/generator-ngbp-material/issues",
+ "email": "alexandre.herve9@gmail.com"
+ },
+ "repository": {
+ "url": "https://github.com/Alexandre-Herve/generator-ngbp-material",
+ "type": "git"
+ },
"author": {
"name": "Alexandre Hervé",
"email": "alexandre.herve9@gmail.com",
From 9ec841f2211f3f7669fbe0a145970381a611c048 Mon Sep 17 00:00:00 2001
From: Alexandre-Herve
Date: Tue, 27 Jan 2015 16:17:42 +0100
Subject: [PATCH 6/7] package keywords update
---
package.json | 2 ++
1 file changed, 2 insertions(+)
diff --git a/package.json b/package.json
index 80ab358..e4c853e 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,9 @@
"keywords": [
"yeoman-generator",
"jade",
+ "coffee",
"angular-material",
+ "material-design",
"angular",
"angularjs",
"boilerplate",
From 1850fa7ac7bee92861b4701bac33575f4b72d4a7 Mon Sep 17 00:00:00 2001
From: Alexandre-Herve
Date: Tue, 27 Jan 2015 16:21:32 +0100
Subject: [PATCH 7/7] update Readme and yo log
---
README.md | 10 +++++-----
app/index.js | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 118d59b..829345b 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
-# generator-ngbp
+# generator-ngbp-material
-> Yeoman Generator based on the popular ngBoilerplate AngularJS kickstarter. ngBoilerplate is a best-practice boilerplate for scalable Angular projects built on a highly modular, folder-by-feature structure. You work in vertical slices on a daily basis (view, controller, service, etc), so why not organize your projects to optimize your workflow, maximize discoverability, and get copy-paste module reuse for free?
+> Yeoman Generator based on angular-material and the popular ngBoilerplate AngularJS kickstarter. ngBoilerplate is a best-practice boilerplate for scalable Angular projects built on a highly modular, folder-by-feature structure. You work in vertical slices on a daily basis (view, controller, service, etc), so why not organize your projects to optimize your workflow, maximize discoverability, and get copy-paste module reuse for free?
## Quick Start
Install generator-ngbp from npm, run:
```
-$ npm install -g generator-ngbp
+$ npm install -g generator-ngbp-angular
```
Create a new directory for your project and cd into it:
@@ -20,7 +20,7 @@ $ cd my-new-project
Initiate the generator:
```
-$ yo ngbp
+$ yo ngbp-material
```
### Sub-Generators
@@ -31,7 +31,7 @@ There's only one subgenerator at the moment
To create a new module...
```
-$ yo ngbp:module "moduleName"
+$ yo ngbp-material:module "moduleName"
```
You can specify the root folder of the module via prompt - default is "app".
diff --git a/app/index.js b/app/index.js
index d03bd00..85dbc1f 100644
--- a/app/index.js
+++ b/app/index.js
@@ -25,11 +25,11 @@ var NgbpMaterialGenerator = yeoman.generators.Base.extend({
//this.spawnCommand('grunt', ['build']);
this.log(chalk.green(
'\nYou\'re good to go!!!!\n' +
- 'Simply running ') + chalk.cyan.bold("grunt watch") + chalk.green(' will do the following:\n' +
+ 'Simply running ') + chalk.cyan.bold("gulp") + chalk.green(' will do the following:\n' +
' - Build everything (concat, create js templates of html, etc) and place it into a "build" folder\n' +
' - Run all your tests\n' +
' - Watch your files for changes to do the above without any intervention\n' +
- ' - Launch express server to host your app at http://localhost:9000/index.html\n' +
+ ' - Launch express server to host your app at http://localhost:8080/index.html\n' +
' - Setup LiveReload so you immediately see changes in your browser (you still have to enable LiveReload on your browser)\n'));
});
},