From baaadad34de19a37372d813af117a6aed04f299f Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 18:15:26 -0500 Subject: [PATCH 1/7] Update dev dependencies. --- package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 3e0b81f2..b4586534 100644 --- a/package.json +++ b/package.json @@ -16,17 +16,17 @@ }, "devDependencies": { "grunt": "^0.4.5", - "grunt-contrib-clean": "^0.5.0", - "grunt-contrib-compress": "^0.9.1", - "grunt-contrib-concat": "^0.4.0", - "grunt-contrib-connect": "^0.7.1", - "grunt-contrib-jshint": "^0.10.0", - "grunt-contrib-uglify": "^0.4.0", + "grunt-contrib-clean": "^0.7.0", + "grunt-contrib-compress": "^0.13.0", + "grunt-contrib-concat": "^0.5.1", + "grunt-contrib-connect": "^0.11.2", + "grunt-contrib-jshint": "^0.11.0", + "grunt-contrib-uglify": "^0.11.0", "grunt-contrib-watch": "^0.6.1", "grunt-git-describe": "^2.3.2", - "grunt-qunit-istanbul": "^0.5.0", - "grunt-text-replace": "^0.3.11", - "qunitjs": "^1.18.0" + "grunt-qunit-istanbul": "^0.6.0", + "grunt-text-replace": "^0.4.0", + "qunitjs": "^1.20.0" }, "scripts": { "test": "grunt test" From c17f22f82bf701dd25ea462fb8ab1b537f7361e1 Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 18:16:54 -0500 Subject: [PATCH 2/7] Generate source map for concat. Remove comments except banner for min. --- Gruntfile.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 8c7ff60a..2328bb37 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -57,6 +57,12 @@ module.exports = function(grunt) { "src/world.js" ]; + var banner = "//! <%= pkg.name %> <%= pkg.version %>\n" + + "//! Built on <%= grunt.template.today('yyyy-mm-dd') %>\n" + + "//! Git commit: <%= gitInfo %>\n" + + "//! http://openseadragon.github.io\n" + + "//! License: http://openseadragon.github.io/license/\n\n"; + // ---------- grunt.event.once('git-describe', function (rev) { grunt.config.set('gitInfo', rev); @@ -85,12 +91,9 @@ module.exports = function(grunt) { }, concat: { options: { - banner: "//! <%= pkg.name %> <%= pkg.version %>\n" + - "//! Built on <%= grunt.template.today('yyyy-mm-dd') %>\n" + - "//! Git commit: <%= gitInfo %>\n" + - "//! http://openseadragon.github.io\n" + - "//! License: http://openseadragon.github.io/license/\n\n", - process: true + banner: banner, + process: true, + sourceMap: true }, dist: { src: [ "" ].concat(sources), @@ -111,9 +114,11 @@ module.exports = function(grunt) { }, uglify: { options: { - preserveComments: "some", + preserveComments: false, + banner: banner, sourceMap: true, - sourceMapName: 'build/openseadragon/openseadragon.min.js.map' + sourceMapName: 'build/openseadragon/openseadragon.min.js.map', + sourceMapIn: 'build/openseadragon/openseadragon.js.map' }, openseadragon: { src: [ distribution ], From 4fea91e9360bce072d9d6f1c2b64e4a3913cd890 Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 18:32:08 -0500 Subject: [PATCH 3/7] Add build as pre-publish step to npm. Fix #784 --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index b4586534..7da958cc 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "qunitjs": "^1.20.0" }, "scripts": { - "test": "grunt test" + "test": "grunt test", + "prepublish": "grunt build" } } From c032b19944187a100df7f199bf4e520122395c1b Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 18:53:23 -0500 Subject: [PATCH 4/7] Create CONTRIBUTING.md file. Fix #783 --- CONTRIBUTING.md | 77 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 85 +++---------------------------------------------- 2 files changed, 81 insertions(+), 81 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..b2f61e97 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,77 @@ +### Contributing + +OpenSeadragon is truly a community project; we welcome your involvement! + +When contributing, please attempt to match the code style already in the codebase. +However, we are in the process of changing our code style (see #456), so avoid spaces inside parentheses and square brackets. Note that we use four spaces per indentation stop. For easier setup you can also install [EditorConfig](http://editorconfig.org/) if your IDE is supported. For more thoughts on code style, see [idiomatic.js](https://github.com/rwldrn/idiomatic.js/). + +When fixing bugs and adding features, when appropriate please also: + +* Update related doc comments (we use [JSDoc 3](http://usejsdoc.org/)) +* Add/update related unit tests + +If you're new to the project, check out our [good first bug](https://github.com/openseadragon/openseadragon/issues?labels=good+first+bug&page=1&state=open) issues for some places to dip your toe in the water. + +If you're new to open source in general, check out [GitHub's open source intro guide](https://guides.github.com/overviews/os-contributing/). + +### First Time Setup + +All command-line operations for building and testing OpenSeadragon are scripted using [Grunt](http://gruntjs.com/) which is based on [Node.js](http://nodejs.org/). To get set up: + +1. Install Node, if you haven't already (available at the link above) +1. Install the Grunt command line runner (if you haven't already); on the command line, run `npm install -g grunt-cli` +1. Clone the openseadragon repository +1. On the command line, go in to the openseadragon folder +1. Run `npm install` + +You're set, all development dependencies should have been installed and the project built... +continue reading for build and test instructions. + +### Building from Source + +To build, just run (on the command line, in the openseadragon folder): + + grunt + +If you want Grunt to watch your source files and rebuild every time you change one, use: + + grunt watch + +To have it watch your source files and also run a server for you to test in: + + grunt dev + +The built files appear in the `build` folder. + +If you want to build tar and zip files for distribution (they will also appear in the `build` folder), use: + + grunt package + +Note that the `build` folder is masked with .gitignore; it's just for your local use, and won't be checked in to the repository. + +You can also publish the built version to the site-build repository. This assumes you have cloned it next to this repository. The command is: + + grunt publish + +... which will delete the existing openseadragon folder, along with the .zip and .tar.gz files, out of the site-build folder and replace them with newly built ones from the source in this repository; you'll then need to commit the changes to site-build. + +### Testing + +Our tests are based on [QUnit](http://qunitjs.com/) and [PhantomJS](http://phantomjs.org/); they're both installed when you run `npm install`. To run on the command line: + + grunt test + +If you wish to work interactively with the tests or test your changes: + + grunt connect watch + +and open `http://localhost:8000/test/test.html` in your browser. + +Another good page, if you want to interactively test out your changes, is `http://localhost:8000/test/demo/basic.html`. + +You can also get a report of the tests' code coverage: + + grunt coverage + +The report shows up at `coverage/html/index.html` viewable in a browser. + diff --git a/README.md b/README.md index 2462fdb5..6b09dd6f 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # OpenSeadragon -[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/openseadragon/openseadragon?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/openseadragon/openseadragon?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://secure.travis-ci.org/openseadragon/openseadragon.png?branch=master)](http://travis-ci.org/openseadragon/openseadragon) An open-source, web-based viewer for zoomable images, implemented in pure JavaScript. -See it in action and get started using it at http://openseadragon.github.io/. +See it in action and get started using it at (http://openseadragon.github.io/). ## Stable Builds @@ -11,85 +11,8 @@ See the [GitHub releases page](https://github.com/openseadragon/openseadragon/re ## Development -If you want to use OpenSeadragon in your own projects, you can find the latest stable build, API documentation, and example code at http://openseadragon.github.io/. If you want to modify OpenSeadragon and/or contribute to its development, read on. - -### First Time Setup - -All command-line operations for building and testing OpenSeadragon are scripted using [Grunt](http://gruntjs.com/) which is based on [Node.js](http://nodejs.org/). To get set up: - -1. Install Node, if you haven't already (available at the link above) -1. Install the Grunt command line runner (if you haven't already); on the command line, run `npm install -g grunt-cli` -1. Clone the openseadragon repository -1. On the command line, go in to the openseadragon folder -1. Run `npm install` - -You're set... continue reading for build and test instructions. - -### Building from Source - -To build, just run (on the command line, in the openseadragon folder): - - grunt - -If you want Grunt to watch your source files and rebuild every time you change one, use: - - grunt watch - -To have it watch your source files and also run a server for you to test in: - - grunt dev - -The built files appear in the `build` folder. - -If you want to build tar and zip files for distribution (they will also appear in the `build` folder), use: - - grunt package - -Note that the `build` folder is masked with .gitignore; it's just for your local use, and won't be checked in to the repository. - -You can also publish the built version to the site-build repository. This assumes you have cloned it next to this repository. The command is: - - grunt publish - -... which will delete the existing openseadragon folder, along with the .zip and .tar.gz files, out of the site-build folder and replace them with newly built ones from the source in this repository; you'll then need to commit the changes to site-build. - -### Testing - -Our tests are based on [QUnit](http://qunitjs.com/) and [PhantomJS](http://phantomjs.org/); they're both installed when you run `npm install`. At the moment we don't have much in the way of tests, but we're working to fix that. To run on the command line: - - grunt test - -If you wish to work interactively with the tests or test your changes: - - grunt connect watch - -and open `http://localhost:8000/test/test.html` in your browser. - -Another good page, if you want to interactively test out your changes, is `http://localhost:8000/test/demo/basic.html`. - -You can also get a report of the tests' code coverage: - - grunt coverage - -The report shows up at `coverage/html/index.html` viewable in a browser. - -### Contributing - -OpenSeadragon is truly a community project; we welcome your involvement! - -When contributing, please attempt to match the code style already in the codebase. Note that we use four spaces per indentation stop. For easier setup you can also install [EditorConfig](http://editorconfig.org/) if your IDE is supported. For more thoughts on code style, see [idiomatic.js](https://github.com/rwldrn/idiomatic.js/). - -When fixing bugs and adding features, when appropriate please also: - -* Update related doc comments (we use [JSDoc 3](http://usejsdoc.org/)) -* Add/update related unit tests - -If you're new to the project, check out our [good first bug](https://github.com/openseadragon/openseadragon/issues?labels=good+first+bug&page=1&state=open) issues for some places to dip your toe in the water. - -If you're new to open source in general, check out [GitHub's open source intro guide](https://guides.github.com/overviews/os-contributing/). +If you want to use OpenSeadragon in your own projects, you can find the latest stable build, API documentation, and example code at (http://openseadragon.github.io/). If you want to modify OpenSeadragon and/or contribute to its development, read the [contributing guide](https://github.com/openseadragon/openseadragon/blob/master/CONTRIBUTING.md) for instructions. ## License -OpenSeadragon is released under the New BSD license. For details, see the file LICENSE.txt. - -[![Build Status](https://secure.travis-ci.org/openseadragon/openseadragon.png?branch=master)](http://travis-ci.org/openseadragon/openseadragon) +OpenSeadragon is released under the New BSD license. For details, see the [LICENSE.txt file](https://github.com/openseadragon/openseadragon/blob/master/LICENSE.txt). From 2d27944d4eb8577b69ebfef2fab2d2cd62a1d280 Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 18:57:34 -0500 Subject: [PATCH 5/7] Fix links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6b09dd6f..f8564916 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ An open-source, web-based viewer for zoomable images, implemented in pure JavaScript. -See it in action and get started using it at (http://openseadragon.github.io/). +See it in action and get started using it at [http://openseadragon.github.io/](http://openseadragon.github.io/). ## Stable Builds @@ -11,7 +11,7 @@ See the [GitHub releases page](https://github.com/openseadragon/openseadragon/re ## Development -If you want to use OpenSeadragon in your own projects, you can find the latest stable build, API documentation, and example code at (http://openseadragon.github.io/). If you want to modify OpenSeadragon and/or contribute to its development, read the [contributing guide](https://github.com/openseadragon/openseadragon/blob/master/CONTRIBUTING.md) for instructions. +If you want to use OpenSeadragon in your own projects, you can find the latest stable build, API documentation, and example code at [http://openseadragon.github.io/](http://openseadragon.github.io/). If you want to modify OpenSeadragon and/or contribute to its development, read the [contributing guide](https://github.com/openseadragon/openseadragon/blob/master/CONTRIBUTING.md) for instructions. ## License From 9258d33cafa065c99be54d4782019f53399eed77 Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 19:01:17 -0500 Subject: [PATCH 6/7] Set travisCI nodejs version to stable. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4d5c98af..0e4b44d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js sudo: false node_js: - - 0.10 + - "stable" before_script: - npm install -g grunt-cli From 20756423af1bb3c08554d211bf4685a74b089372 Mon Sep 17 00:00:00 2001 From: Antoine Vandecreme Date: Tue, 26 Jan 2016 19:14:45 -0500 Subject: [PATCH 7/7] Tell travis to install grunt before doing anything else. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0e4b44d8..e6921125 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,5 +2,5 @@ language: node_js sudo: false node_js: - "stable" -before_script: +before_install: - npm install -g grunt-cli