From 29dbecb4d9118010f03aba27cbc5c4a097bb3606 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Sat, 29 Oct 2016 18:20:58 -0200 Subject: [PATCH 1/8] :bug: Install npm and karma-cli on travis Travis CI is falling because it is not finding npm and karma-cli in order to perform the tests (seems like they are not installed on the VMs). We just need configure before_install option at .travis.yml, ensuring that packages are present before starting the unit tests. --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index c279fe9..4d64de7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,9 @@ node_js: - '0.10' - '0.12' - stable +before_install: + - npm install -g npm + - npm install -g karma-cli sudo: false install: - npm install -g bower From 18c8365a8c20b3429fd13cde0c16188e8f603e26 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Sat, 29 Oct 2016 13:36:36 -0200 Subject: [PATCH 2/8] :wrench: Ignore automatic files Minor .gitignore upgrade: - Remove duplicated folders - Upgrade list of automatically created files that should be ignored - Use GitHub Node.js .gitignore template (see https://goo.gl/hx0XE) - Also ignore Emacs and VSCode automatic files --- .gitignore | 65 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 3249e0f..65eab82 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,61 @@ -dist/ -test/coverage/ -node_modules/ -bower_components/ +# Logs +*.log +logs +npm-debug.log* + +# Runtime data +*.pid +*.pid.lock +*.seed +pids + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +bower_components +jspm_packages +node_modules + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Directory used by test tools like Coverage and Grump +dist test/coverage -.idea \ No newline at end of file + +# Emacs +*~ +.*~ +.\#* +\#* + +# JetBrains WebStorm +.idea + +# Microsoft Visual Studio Code +.vscode From d3171a8b6dc41aaf634284715d22997fdced7206 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Sat, 29 Oct 2016 18:03:38 -0200 Subject: [PATCH 3/8] :bug: Upgrade karma development package Update required in order to Travis CI run the unit tests --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 522ecd1..a5c64a8 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "grunt-karma": "^0.8.3", "grunt-notify": "~0.2.7", "istanbul": "^0.3.2", - "karma": "~0.12.8", + "karma": "~0.13.9", "karma-chai": "0.0.2", "karma-coverage": "^0.2.6", "karma-failed-reporter": "0.0.2", From c67b2de74502f9c83a3259c38749265267a9da56 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Wed, 2 Nov 2016 13:43:23 -0200 Subject: [PATCH 4/8] :lipstick: Sort dependencies lexicographically --- bower.json | 2 +- package.json | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bower.json b/bower.json index 181b482..a7ccdec 100644 --- a/bower.json +++ b/bower.json @@ -32,8 +32,8 @@ "index.html" ], "dependencies": { - "firebase": "2.0.x", "backbone": "<=1.1.0", + "firebase": "2.0.x", "underscore": "~1.5.2" }, "devDependencies": { diff --git a/package.json b/package.json index a5c64a8..fc3a0ab 100644 --- a/package.json +++ b/package.json @@ -38,14 +38,18 @@ "grunt": "~0.4.1", "grunt-cli": "0.1.13", "grunt-contrib-concat": "^0.5.0", + "grunt-contrib-connect": "^0.9.0", "grunt-contrib-jshint": "~0.6.2", "grunt-contrib-uglify": "~0.2.2", "grunt-contrib-watch": "~0.5.1", + "grunt-copy": "^0.1.0", "grunt-karma": "^0.8.3", "grunt-notify": "~0.2.7", + "grunt-serve": "^0.1.6", "istanbul": "^0.3.2", "karma": "~0.13.9", "karma-chai": "0.0.2", + "karma-chrome-launcher": "^0.1.4", "karma-coverage": "^0.2.6", "karma-failed-reporter": "0.0.2", "karma-mocha": "~0.1.0", @@ -54,11 +58,7 @@ "karma-sinon": "~1.0.0", "karma-spec-reporter": "0.0.13", "mocha": "~1.14.0", - "requirejs": "~2.1.9", - "karma-chrome-launcher": "^0.1.4", - "grunt-copy": "^0.1.0", - "grunt-contrib-connect": "^0.9.0", - "grunt-serve": "^0.1.6" + "requirejs": "~2.1.9" }, "scripts": { "test": "grunt test", From 51b3788f395fb464b1a7561faeaa94f122f5fdd2 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Wed, 2 Nov 2016 16:03:21 -0200 Subject: [PATCH 5/8] :package: Update npm and bower package dependencies Updated all package dependencies to its latest version, except Firebase and Backbone. This is an intermediary step before actually upgrading to latest backend version. Removed gulp-server and use gulp-contrib-connect instead (updating Gruntfile.js task also is required to perform the unit tests). We also installed chai and sinon because they are required by karma-chai and karma-sinon respectivelly. --- Gruntfile.js | 5 ++--- bower.json | 4 ++-- package.json | 53 ++++++++++++++++++++++++++-------------------------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index a23b837..5bfb80e 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -96,18 +96,17 @@ module.exports = function(grunt) { }); grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-notify'); grunt.loadNpmTasks('grunt-karma'); - grunt.loadNpmTasks('grunt-copy'); - grunt.loadNpmTasks('grunt-serve'); // Unit tests grunt.registerTask('test', ['karma:unit']); grunt.registerTask('build', ['jshint', 'concat', 'uglify']); grunt.registerTask('default', ['build', 'test']); - grunt.registerTask('todo', ['build', 'serve']); + grunt.registerTask('todo', ['build', 'connect']); }; diff --git a/bower.json b/bower.json index a7ccdec..1e40db0 100644 --- a/bower.json +++ b/bower.json @@ -32,9 +32,9 @@ "index.html" ], "dependencies": { - "backbone": "<=1.1.0", + "backbone": "<=1.3.3", "firebase": "2.0.x", - "underscore": "~1.5.2" + "underscore": "~1.8.3" }, "devDependencies": { "mockfirebase": "~0.3.0" diff --git a/package.json b/package.json index fc3a0ab..ebe64f9 100644 --- a/package.json +++ b/package.json @@ -33,32 +33,33 @@ "firebase": "2.0.x" }, "devDependencies": { - "chai-backbone": "~0.9.2", - "coveralls": "^2.11.1", - "grunt": "~0.4.1", - "grunt-cli": "0.1.13", - "grunt-contrib-concat": "^0.5.0", - "grunt-contrib-connect": "^0.9.0", - "grunt-contrib-jshint": "~0.6.2", - "grunt-contrib-uglify": "~0.2.2", - "grunt-contrib-watch": "~0.5.1", - "grunt-copy": "^0.1.0", - "grunt-karma": "^0.8.3", - "grunt-notify": "~0.2.7", - "grunt-serve": "^0.1.6", - "istanbul": "^0.3.2", - "karma": "~0.13.9", - "karma-chai": "0.0.2", - "karma-chrome-launcher": "^0.1.4", - "karma-coverage": "^0.2.6", - "karma-failed-reporter": "0.0.2", - "karma-mocha": "~0.1.0", - "karma-phantomjs-launcher": "~0.1.0", - "karma-requirejs": "~0.2.0", - "karma-sinon": "~1.0.0", - "karma-spec-reporter": "0.0.13", - "mocha": "~1.14.0", - "requirejs": "~2.1.9" + "chai": "~3.5.0", + "chai-backbone": "~0.9.4", + "coveralls": "^2.11.15", + "grunt": "~1.0.1", + "grunt-cli": "1.2.0", + "grunt-contrib-concat": "^1.0.1", + "grunt-contrib-connect": "^1.0.2", + "grunt-contrib-copy": "~1.0.0", + "grunt-contrib-jshint": "~1.0.0", + "grunt-contrib-uglify": "~2.0.0", + "grunt-contrib-watch": "~1.0.0", + "grunt-karma": "^2.0.0", + "grunt-notify": "~0.4.5", + "istanbul": "^0.4.5", + "karma": "~1.3.0", + "karma-chai": "0.1.0", + "karma-chrome-launcher": "^2.0.0", + "karma-coverage": "^1.1.1", + "karma-failed-reporter": "0.0.3", + "karma-mocha": "~1.3.0", + "karma-phantomjs-launcher": "~1.0.2", + "karma-requirejs": "~1.1.0", + "karma-sinon": "~1.0.5", + "karma-spec-reporter": "0.0.26", + "mocha": "~3.1.2", + "requirejs": "~2.3.2", + "sinon" : "~1.17.6" }, "scripts": { "test": "grunt test", From ca2591d1864448ddb8d1bb953a24e7646d1b5b89 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Wed, 2 Nov 2016 15:18:06 -0200 Subject: [PATCH 6/8] :bug: Fix Firebase.Collection#fetch test Fix Backbone.Firebase.Collection#fetch test to properly check if a collection was successfully synced with Firebase backend. --- test/specs/collection_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/specs/collection_test.js b/test/specs/collection_test.js index b114e20..6cd3eb0 100644 --- a/test/specs/collection_test.js +++ b/test/specs/collection_test.js @@ -395,9 +395,9 @@ describe('Backbone.Firebase.Collection', function() { collection.fetch(); collection.on('sync', function() { successCalled = true; + expect(successCalled).to.be.ok; }); collection.firebase.flush(); - expect(successCalled).to.be.ok; }); }); From 5afc3022ae3846fc8715df2cc47fe5d34a5569b7 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Thu, 17 Nov 2016 08:58:28 -0200 Subject: [PATCH 7/8] :books: Fix open source license field on package.json --- package.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/package.json b/package.json index ebe64f9..4897703 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "description": "The officially supported Backbone binding for Firebase", "version": "0.0.0", "author": "Firebase (https://firebase.google.com/)", + "license": "MIT", "homepage": "https://github.com/firebase/backbonefire/", "repository": { "type": "git", @@ -11,12 +12,6 @@ "bugs": { "url": "https://github.com/firebase/backbonefire/issues" }, - "licenses": [ - { - "type": "MIT", - "url": "http://firebase.mit-license.org/" - } - ], "keywords": [ "backbone", "firebase", From df6ee2d395d6faf80dbdc04e62f8e23298fe5de5 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Mon, 21 Nov 2016 08:01:01 -0200 Subject: [PATCH 8/8] :wrench: Change log --- changelog.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/changelog.txt b/changelog.txt index e69de29..592342d 100644 --- a/changelog.txt +++ b/changelog.txt @@ -0,0 +1,7 @@ +fixed - Fix open source license field on package.json +fixed - Firebase.Collection#fetch test is now passing +changed - Update npm and bower package dependencies +changed - Sort dependencies lexicographically +fixed - Upgrade karma development package +feature - Ignore Emacs and VSCode automatic files +fixed - Travis CI setup pre-install npm and karma-cli