diff --git a/.gitignore b/.gitignore index f77b675c7e..a39ab0b3e4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /examples/*.html.png /examples/example-list.js /examples/example-list.xml +/node_modules/ diff --git a/package.json b/package.json new file mode 100644 index 0000000000..48ab5d8f12 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "openlayers", + "version": "3.0.0-beta", + "description": "Mapping library", + "scripts": { + "start": "node tasks/serve.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/openlayers/ol3.git" + }, + "license": "BSD", + "bugs": { + "url": "https://github.com/openlayers/ol3/issues" + }, + "devDependencies": { + "closure-util": "*" + } +} diff --git a/tasks/serve.js b/tasks/serve.js new file mode 100644 index 0000000000..e868aa6ebc --- /dev/null +++ b/tasks/serve.js @@ -0,0 +1,46 @@ +/** + * This task starts a dev server that provides a script loader for OpenLayers + * and Closure Library. In addition, a static server hosts all files in the + * repository. + */ + +var path = require('path'); +var url = require('url'); + +var closure = require('closure-util'); +var log = closure.log; + +log.info('ol', 'Parsing dependencies ...'); +var manager = new closure.Manager({ + closure: true, // use the bundled Closure Library + lib: [ + 'src/**/*.js', + 'test/spec/**/*.test.js' + ], + main: 'examples/*.js' +}); +manager.on('error', function(e) { + log.error('ol', e.message); +}); +manager.on('ready', function() { + var server = new closure.Server({ + manager: manager, + loader: /^\/\w+\/loader.js/, + getMain: function(req) { + var main; + var query = url.parse(req.url, true).query; + if (query.id) { + var referer = req.headers.referer; + if (referer) { + var from = path.join(process.cwd(), + path.dirname(url.parse(referer).pathname)); + main = path.resolve(from, query.id + '.js'); + } + } + return main; + } + }); + server.listen(3000, function() { + log.info('ol', 'Listening on http://localhost:3000/ (Ctrl+C to stop)'); + }); +}); diff --git a/test/index.html b/test/index.html new file mode 100644 index 0000000000..83de1522a9 --- /dev/null +++ b/test/index.html @@ -0,0 +1,50 @@ + + + + OL Spec Runner + + + + + +
+ + + + + + + + + + + + + + + + +