From eb545dde12fdbdc895dc541425f8ccf39c1a6c2a Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Sat, 29 Oct 2016 18:20:58 -0200 Subject: [PATCH 1/7] :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 1e078e4613efee2f074fe20a09858eb5abb14cc8 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Thu, 27 Oct 2016 16:23:19 -0200 Subject: [PATCH 2/7] :books: Update version number references to v0.5.1 Update all files that mention BackboneFire reference number to v0.5.1. --- bower.json | 2 +- examples/todos/bower.json | 2 +- examples/todos/js/backbonefire.js | 2 +- examples/todos/package.json | 2 +- package.json | 2 +- src/backbonefire.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bower.json b/bower.json index 181b482..d7e6f8f 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "backbonefire", "description": "The officially supported Backbone binding for Firebase", - "version": "0.0.0", + "version": "0.5.1", "authors": [ "Firebase (https://firebase.google.com/)" ], diff --git a/examples/todos/bower.json b/examples/todos/bower.json index 3398958..2b9a16d 100644 --- a/examples/todos/bower.json +++ b/examples/todos/bower.json @@ -1,6 +1,6 @@ { "name": "todomvc-backbonefire", - "version": "0.0.0", + "version": "0.5.1", "private": true, "dependencies": { "backbone": "~1.1.0", diff --git a/examples/todos/js/backbonefire.js b/examples/todos/js/backbonefire.js index afaefa0..ea64d1b 100644 --- a/examples/todos/js/backbonefire.js +++ b/examples/todos/js/backbonefire.js @@ -9,7 +9,7 @@ define([ * bindings let you use special model and collection types that allow for * synchronizing data with Firebase. * - * BackboneFire 0.0.0 + * BackboneFire 0.5.1 * https://github.com/firebase/backbonefire/ * License: MIT */ diff --git a/examples/todos/package.json b/examples/todos/package.json index eb53247..5707bd4 100644 --- a/examples/todos/package.json +++ b/examples/todos/package.json @@ -1,6 +1,6 @@ { "name": "backbone-fire-todo", - "version": "0.0.0", + "version": "0.5.1", "description": "Todo example using Backbone Fire.", "main": "index.html", "scripts": { diff --git a/package.json b/package.json index 522ecd1..086cfb7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "backbonefire", "description": "The officially supported Backbone binding for Firebase", - "version": "0.0.0", + "version": "0.5.1", "author": "Firebase (https://firebase.google.com/)", "homepage": "https://github.com/firebase/backbonefire/", "repository": { diff --git a/src/backbonefire.js b/src/backbonefire.js index 0e208b5..e1eb477 100644 --- a/src/backbonefire.js +++ b/src/backbonefire.js @@ -3,7 +3,7 @@ * bindings let you use special model and collection types that allow for * synchronizing data with Firebase. * - * BackboneFire 0.0.0 + * BackboneFire 0.5.1 * https://github.com/firebase/backbonefire/ * License: MIT */ From b3ea72ddeb587edd1b83e2177aea78d5988cbad5 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Sat, 29 Oct 2016 13:36:36 -0200 Subject: [PATCH 3/7] :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 00c0529b1cecf9cc3d5f8aec128747ee85f48b57 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Sat, 29 Oct 2016 18:03:38 -0200 Subject: [PATCH 4/7] :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 086cfb7..2713532 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 2af3e0df21cd5c339e110fe560151d40b516e722 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Wed, 2 Nov 2016 13:43:23 -0200 Subject: [PATCH 5/7] :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 d7e6f8f..ca7fe8f 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 2713532..eab45db 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 f8b39bc766b6d98c5721a7ce351aae1dc50b14a5 Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Wed, 2 Nov 2016 16:03:21 -0200 Subject: [PATCH 6/7] :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 | 2 +- package.json | 53 ++++++++++++++++++++++++++-------------------------- 3 files changed, 30 insertions(+), 30 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 ca7fe8f..77e3ecf 100644 --- a/bower.json +++ b/bower.json @@ -34,7 +34,7 @@ "dependencies": { "backbone": "<=1.1.0", "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 eab45db..0b37a03 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.14", + "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.2.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 1344abef4f687a0339e28c9a4ba5c25cd541aabc Mon Sep 17 00:00:00 2001 From: JP Ventura Date: Wed, 2 Nov 2016 15:18:06 -0200 Subject: [PATCH 7/7] :rotating_light: 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; }); });