Skip to content

Commit

Permalink
Updated to the latest angular-leaflet build features
Browse files Browse the repository at this point in the history
  • Loading branch information
tombatossals committed Sep 4, 2014
1 parent 6050fa6 commit 292bd21
Show file tree
Hide file tree
Showing 27 changed files with 823 additions and 394 deletions.
303 changes: 2 additions & 301 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,302 +1,3 @@
module.exports = function(grunt) {

require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
var fs = require('fs'),
saucelabsConfig = fs.existsSync('saucelabs.json') && grunt.file.readJSON('saucelabs.json');

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
shell: {
options: {
stdout: true
},
selenium: {
command: 'node_modules/protractor/bin/webdriver-manager start',
options: {
stdout: false,
async: true
}
},
protractor_update: {
command: 'node_modules/protractor/bin/webdriver-manager update'
},
npm_install: {
command: 'npm install'
}
},

changelog: {},

bump: {
options: {
files: ['package.json'],
updateConfigs: [],
commit: true,
commitMessage: 'Release v%VERSION%',
commitFiles: ['package.json'],
createTag: true,
tagName: 'v%VERSION%',
tagMessage: 'Version %VERSION%',
push: true,
pushTo: 'origin',
gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d'
}
},

connect: {
options: {
base: ''
},
webserver: {
options: {
port: 8888,
keepalive: true
}
},
devserver: {
options: {
port: 8888
}
},
testserver: {
options: {
port: 9999
}
},
coverage: {
options: {
base: 'coverage/',
directory: 'coverage/',
port: 5555,
keepalive: true
}
}
},

protractor: {
options: {
keepAlive: true,
configFile: "test/protractor.conf.js"
},
singlerun: {},
saucelabs: {
options: {
args: saucelabsConfig
}
},
auto: {
keepAlive: true,
options: {
args: {
seleniumPort: 4444
}
}
}
},

uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
files: {
'dist/<%= pkg.name %>.min.no-header.js': ['dist/angular-openlayers-directive.ngmin.js']
}
}
},

ngmin: {
directives: {
expand: true,
cwd: 'dist',
src: ['angular-openlayers-directive.js'],
dest: 'dist',
ext: '.ngmin.js',
flatten: 'src/'
}
},

jshint: {
options: {
node: true,
browser: true,
esnext: true,
bitwise: true,
curly: true,
eqeqeq: true,
immed: true,
indent: 4,
latedef: true,
newcap: true,
noarg: true,
regexp: true,
undef: true,
unused: true,
trailing: true,
smarttabs: true,
globals: {
angular: false,
OpenLayers: false,
// Jasmine
jasmine : false,
isCommonJS : false,
exports : false,
spyOn : false,
it : false,
xit : false,
expect : false,
runs : false,
waits : false,
waitsFor : false,
beforeEach : false,
afterEach : false,
describe : false,
xdescribe : false,

// Protractor
protractor: false,
browser: false,
by: false,
element: false

}
},
source: {
src: ['src/directives/*.js', 'src/services/*.js']
},
tests: {
src: ['test/unit/*.js', 'test/e2e/*.js'],
},
grunt: {
src: ['Gruntfile.js']
}
},

karma: {
unit: {
configFile: 'test/karma-unit.conf.js',
autoWatch: false,
singleRun: true
},
unit_auto: {
configFile: 'test/karma-unit.conf.js',
autoWatch: true,
singleRun: false
},
unit_coverage: {
configFile: 'test/karma-unit.conf.js',
autoWatch: false,
singleRun: true,
//logLevel: 'DEBUG',
reporters: ['progress', 'coverage'],
preprocessors: {
'dist/angular-openlayers-directive.js': ['coverage']
},
coverageReporter: {
type : 'html',
dir : 'coverage/'
}
}
},

watch: {
options : {
livereload: 7777
},
source: {
files: ['src/**/*.js', 'test/unit/**'],
tasks: [
'jshint',
'concat:dist',
'ngmin',
'uglify',
'test:unit',
'concat:license'
]
},
protractor: {
files: ['src/**/*.js','test/e2e/**/*.js'],
tasks: ['protractor:auto']
}
},

open: {
devserver: {
path: 'http://localhost:8888'
},
coverage: {
path: 'http://localhost:5555'
}
},

bower: {
install: {
// options: {
// targetDir: './bower_components',
// cleanup: true
// }
}
},

concat: {
dist: {
options: {
banner: '(function() {\n\n"use strict";\n\n',
footer: '\n}());'
},
src: [
'src/directives/openlayers.js',
'src/directives/center.js',
//'src/directives/tiles.js',
//'src/directives/legend.js',
//'src/directives/geojson.js',
//'src/directives/layers.js',
//'src/directives/bounds.js',
//'src/directives/markers.js',
//'src/directives/paths.js',
//'src/directives/controls.js',
//'src/directives/eventBroadcast.js',
//'src/directives/maxBounds.js',
'src/services/*.js'
],
dest: 'dist/angular-openlayers-directive.js',
},
license: {
src: [
'src/header-MIT-license.txt',
'dist/angular-openlayers-directive.min.no-header.js'
],
dest: 'dist/angular-openlayers-directive.min.js',
},
}
});

//single run tests
grunt.registerTask('test', ['jshint','test:unit', 'test:e2e']);
grunt.registerTask('test:unit', ['karma:unit']);
grunt.registerTask('test:e2e', ['shell:protractor_update', 'connect:testserver', 'protractor:singlerun']);

//autotest and watch tests
grunt.registerTask('autotest', ['karma:unit_auto']);
grunt.registerTask('autotest:unit', ['karma:unit_auto']);
grunt.registerTask('autotest:e2e', ['connect:testserver', 'shell:selenium', 'watch:protractor']);

//coverage testing
grunt.registerTask('test:coverage', ['karma:unit_coverage']);
grunt.registerTask('coverage', ['karma:unit_coverage', 'open:coverage', 'connect:coverage']);

//installation-related
grunt.registerTask('install', ['shell:npm_install', 'bower:install', 'shell:protractor_update']);

//defaults
grunt.registerTask('default', ['watch:source']);

//development
grunt.registerTask('dev', ['connect:devserver', 'open:devserver', 'watch:source']);

//server daemon
grunt.registerTask('serve', ['connect:webserver']);

//travis
grunt.registerTask('travis', 'bower:install', 'test:unit');
module.exports = function (grunt) {
require('load-grunt-config')(grunt);
};
40 changes: 31 additions & 9 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,35 @@
{
"name": "angular-leaflet-directive",
"name": "angular-openlayers-directive",
"description": "AngularJS directive to embed an interact with maps managed by OpenLayers library",
"keywords": [
"angularjs",
"javascript",
"directive",
"openlayers"
],
"main": [
"dist/angular-openlayers-directive.js"
],
"dependencies": {
"angular": "1.2.x",
"angular-route": "1.2.x",
"angular-animate": "1.2.x",
"angular-mocks": "1.2.x",
"openlayers": "2.13.x"
"angular": "latest",
"openlayers": "latest"
},
"resolutions": {
"angular": "1.2.4"
}
"devDependencies": {
"jquery": "*",
"bootstrap": "*",
"angular-route": "*",
"angular-animate": "*",
"angular-mocks": "*"
},
"ignore": [
"**/.*",
"src",
"doc",
"examples",
"test",
"*.md",
"Gruntfile.js",
"package.json",
"bower.json"
]
}
Loading

0 comments on commit 292bd21

Please sign in to comment.