diff --git a/examples/custom-controls.js b/examples/custom-controls.js index 84a826285e..fdbe5b9120 100644 --- a/examples/custom-controls.js +++ b/examples/custom-controls.js @@ -1,4 +1,4 @@ -import _ol_ from '../src/ol.js'; +import _ol_ from '../src/ol/index.js'; import _ol_Map_ from '../src/ol/Map.js'; import _ol_View_ from '../src/ol/View.js'; import _ol_control_ from '../src/ol/control.js'; diff --git a/examples/custom-interactions.js b/examples/custom-interactions.js index 9c557fd198..89b2e91ade 100644 --- a/examples/custom-interactions.js +++ b/examples/custom-interactions.js @@ -1,4 +1,4 @@ -import _ol_ from '../src/ol.js'; +import _ol_ from '../src/ol/index.js'; import _ol_Feature_ from '../src/ol/Feature.js'; import _ol_Map_ from '../src/ol/Map.js'; import _ol_View_ from '../src/ol/View.js'; diff --git a/examples/webpack/config.js b/examples/webpack/config.js index dddddd3c76..5fe6dcf727 100644 --- a/examples/webpack/config.js +++ b/examples/webpack/config.js @@ -1,6 +1,8 @@ +const MinifyPlugin = require('babel-minify-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); const ExampleBuilder = require('./example-builder'); const fs = require('fs'); +const merge = require('webpack-merge'); const path = require('path'); const webpack = require('webpack'); @@ -15,7 +17,7 @@ examples.forEach(example => { entry[example] = `./${example}.js`; }); -module.exports = { +const main = { context: src, target: 'web', entry: entry, @@ -36,8 +38,45 @@ module.exports = { {from: 'index.html', to: 'index.html'} ]) ], + devtool: 'source-map', output: { filename: '[name].js', path: path.join(__dirname, '..', '..', 'build', 'examples') } }; + +// configuration specific to the dev environment +const dev = { + plugins: [ + new webpack.EnvironmentPlugin( + Object.assign({NODE_ENV: 'development'}, process.env) + ) + ] +}; + +// configuration specific to the prod environment +const prod = { + plugins: [ + new webpack.EnvironmentPlugin( + Object.assign({NODE_ENV: 'production'}, process.env) + ), + new MinifyPlugin() + ] +}; + + +module.exports = env => { + let config; + + switch (env) { + case 'prod': { + config = merge(main, prod); + break; + } + default: { + config = merge(main, dev); + } + } + + return config; +}; diff --git a/package.json b/package.json index dba538b3c2..fbc22a01b4 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "transform-examples": "jscodeshift --transform transforms/module.js examples", "transform-test": "jscodeshift --transform transforms/module.js test", "transform": "npm run changecase-src && npm run transform-src && npm run transform-examples && npm run transform-test && npm run lint -- --fix", - "build-examples": "webpack --config examples/webpack/config.js" + "serve-examples": "mkdir -p build/examples && webpack --config examples/webpack/config.js --watch & serve build/examples", + "build-examples": "webpack --config examples/webpack/config.js --env=prod" }, "main": "dist/ol.js", "repository": { @@ -55,11 +56,12 @@ "walk": "2.3.9" }, "devDependencies": { + "babel-minify-webpack-plugin": "^0.2.0", "clean-css-cli": "4.1.10", + "copy-webpack-plugin": "^4.0.1", "coveralls": "3.0.0", "debounce": "^1.1.0", "eslint": "4.13.1", - "copy-webpack-plugin": "^4.0.1", "eslint-config-openlayers": "7.0.0", "eslint-plugin-openlayers-internal": "^3.1.0", "expect.js": "0.3.1", @@ -86,12 +88,14 @@ "phantomjs-prebuilt": "2.1.16", "pixelmatch": "^4.0.2", "proj4": "2.4.4", + "serve": "^6.0.6", "serve-files": "1.0.1", "sinon": "4.1.3", "slimerjs": "0.10.3", "url-polyfill": "^1.0.7", "webpack": "^3.5.5", - "webpack-dev-server": "^2.7.1" + "webpack-dev-server": "^2.7.1", + "webpack-merge": "^4.1.0" }, "eslintConfig": { "extends": "openlayers", diff --git a/test/spec/ol/assertionerror.test.js b/test/spec/ol/assertionerror.test.js index 1bafb85721..7c1699d5dc 100644 --- a/test/spec/ol/assertionerror.test.js +++ b/test/spec/ol/assertionerror.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../src/ol.js'; +import _ol_ from '../../../src/ol/index.js'; import _ol_AssertionError_ from '../../../src/ol/AssertionError.js'; describe('ol.AssertionError', function() { diff --git a/test/spec/ol/color.test.js b/test/spec/ol/color.test.js index 30c3d74cec..5708eabd34 100644 --- a/test/spec/ol/color.test.js +++ b/test/spec/ol/color.test.js @@ -1,5 +1,5 @@ import _ol_color_ from '../../../src/ol/color.js'; -import _ol_ from '../../../src/ol.js'; +import _ol_ from '../../../src/ol/index.js'; describe('ol.color', function() { diff --git a/test/spec/ol/index.test.js b/test/spec/ol/index.test.js index d72b38614b..efac6b7e92 100644 --- a/test/spec/ol/index.test.js +++ b/test/spec/ol/index.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../src/ol.js'; +import _ol_ from '../../../src/ol/index.js'; describe('getUid()', function() { it('is constant once generated', function() { diff --git a/test/spec/ol/interaction/draganddrop.test.js b/test/spec/ol/interaction/draganddrop.test.js index a4d5a9e6bd..d2b0370944 100644 --- a/test/spec/ol/interaction/draganddrop.test.js +++ b/test/spec/ol/interaction/draganddrop.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_View_ from '../../../../src/ol/View.js'; import _ol_events_Event_ from '../../../../src/ol/events/Event.js'; import _ol_events_EventTarget_ from '../../../../src/ol/events/EventTarget.js'; diff --git a/test/spec/ol/layer/group.test.js b/test/spec/ol/layer/group.test.js index 1f2bc94c3e..a35bf368de 100644 --- a/test/spec/ol/layer/group.test.js +++ b/test/spec/ol/layer/group.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_array_ from '../../../../src/ol/array.js'; import _ol_Collection_ from '../../../../src/ol/Collection.js'; import _ol_extent_ from '../../../../src/ol/extent.js'; diff --git a/test/spec/ol/layer/layer.test.js b/test/spec/ol/layer/layer.test.js index 2cbf01cd55..e8430ef1f3 100644 --- a/test/spec/ol/layer/layer.test.js +++ b/test/spec/ol/layer/layer.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_Map_ from '../../../../src/ol/Map.js'; import _ol_layer_Layer_ from '../../../../src/ol/layer/Layer.js'; import _ol_proj_ from '../../../../src/ol/proj.js'; diff --git a/test/spec/ol/net.test.js b/test/spec/ol/net.test.js index 436bcdcb64..531df511ce 100644 --- a/test/spec/ol/net.test.js +++ b/test/spec/ol/net.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../src/ol.js'; +import _ol_ from '../../../src/ol/index.js'; import _ol_net_ from '../../../src/ol/net.js'; describe('ol.net', function() { diff --git a/test/spec/ol/render/webgl/circlereplay.test.js b/test/spec/ol/render/webgl/circlereplay.test.js index 79d9939478..7462c5b1eb 100644 --- a/test/spec/ol/render/webgl/circlereplay.test.js +++ b/test/spec/ol/render/webgl/circlereplay.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_geom_Circle_ from '../../../../../src/ol/geom/Circle.js'; import _ol_render_webgl_CircleReplay_ from '../../../../../src/ol/render/webgl/CircleReplay.js'; diff --git a/test/spec/ol/render/webgl/linestringreplay.test.js b/test/spec/ol/render/webgl/linestringreplay.test.js index 2e9eceb8d7..3bc1e5941b 100644 --- a/test/spec/ol/render/webgl/linestringreplay.test.js +++ b/test/spec/ol/render/webgl/linestringreplay.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_geom_LineString_ from '../../../../../src/ol/geom/LineString.js'; import _ol_geom_MultiLineString_ from '../../../../../src/ol/geom/MultiLineString.js'; diff --git a/test/spec/ol/render/webgl/polygonreplay.test.js b/test/spec/ol/render/webgl/polygonreplay.test.js index 8f3241bdef..53901ef26f 100644 --- a/test/spec/ol/render/webgl/polygonreplay.test.js +++ b/test/spec/ol/render/webgl/polygonreplay.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_geom_MultiPolygon_ from '../../../../../src/ol/geom/MultiPolygon.js'; import _ol_geom_Polygon_ from '../../../../../src/ol/geom/Polygon.js'; diff --git a/test/spec/ol/renderer/canvas/map.test.js b/test/spec/ol/renderer/canvas/map.test.js index 74922b1b2e..244cab1160 100644 --- a/test/spec/ol/renderer/canvas/map.test.js +++ b/test/spec/ol/renderer/canvas/map.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_Map_ from '../../../../../src/ol/Map.js'; import _ol_View_ from '../../../../../src/ol/View.js'; diff --git a/test/spec/ol/renderer/canvas/replay.test.js b/test/spec/ol/renderer/canvas/replay.test.js index 9dcf9b92f6..2803fed89b 100644 --- a/test/spec/ol/renderer/canvas/replay.test.js +++ b/test/spec/ol/renderer/canvas/replay.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_geom_GeometryCollection_ from '../../../../../src/ol/geom/GeometryCollection.js'; import _ol_geom_LineString_ from '../../../../../src/ol/geom/LineString.js'; diff --git a/test/spec/ol/renderer/canvas/vectorlayer.test.js b/test/spec/ol/renderer/canvas/vectorlayer.test.js index 540d373010..93c5a22248 100644 --- a/test/spec/ol/renderer/canvas/vectorlayer.test.js +++ b/test/spec/ol/renderer/canvas/vectorlayer.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_Map_ from '../../../../../src/ol/Map.js'; import _ol_View_ from '../../../../../src/ol/View.js'; diff --git a/test/spec/ol/renderer/canvas/vectortilelayer.test.js b/test/spec/ol/renderer/canvas/vectortilelayer.test.js index 3c9d19b044..39c72abef0 100644 --- a/test/spec/ol/renderer/canvas/vectortilelayer.test.js +++ b/test/spec/ol/renderer/canvas/vectortilelayer.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../../src/ol.js'; +import _ol_ from '../../../../../src/ol/index.js'; import _ol_obj_ from '../../../../../src/ol/obj.js'; import _ol_Feature_ from '../../../../../src/ol/Feature.js'; import _ol_Map_ from '../../../../../src/ol/Map.js'; diff --git a/test/spec/ol/renderer/vector.test.js b/test/spec/ol/renderer/vector.test.js index 0710af7bcd..bfb18c48a4 100644 --- a/test/spec/ol/renderer/vector.test.js +++ b/test/spec/ol/renderer/vector.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_events_ from '../../../../src/ol/events.js'; import _ol_geom_LineString_ from '../../../../src/ol/geom/LineString.js'; import _ol_geom_Point_ from '../../../../src/ol/geom/Point.js'; diff --git a/test/spec/ol/source/tile.test.js b/test/spec/ol/source/tile.test.js index 2881eff258..65d3b96cbc 100644 --- a/test/spec/ol/source/tile.test.js +++ b/test/spec/ol/source/tile.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_Tile_ from '../../../../src/ol/Tile.js'; import _ol_TileRange_ from '../../../../src/ol/TileRange.js'; import _ol_proj_ from '../../../../src/ol/proj.js'; diff --git a/test/spec/ol/source/zoomify.test.js b/test/spec/ol/source/zoomify.test.js index 9063773590..0d9591ce3e 100644 --- a/test/spec/ol/source/zoomify.test.js +++ b/test/spec/ol/source/zoomify.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_events_ from '../../../../src/ol/events.js'; import _ol_proj_Projection_ from '../../../../src/ol/proj/Projection.js'; import _ol_source_Zoomify_ from '../../../../src/ol/source/Zoomify.js'; diff --git a/test/spec/ol/style/icon.test.js b/test/spec/ol/style/icon.test.js index b1783cc3f2..66f9e97088 100644 --- a/test/spec/ol/style/icon.test.js +++ b/test/spec/ol/style/icon.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_style_ from '../../../../src/ol/style.js'; import _ol_style_Icon_ from '../../../../src/ol/style/Icon.js'; import _ol_style_IconImage_ from '../../../../src/ol/style/IconImage.js'; diff --git a/test/spec/ol/style/iconimagecache.test.js b/test/spec/ol/style/iconimagecache.test.js index a41dbbb486..7f518706dc 100644 --- a/test/spec/ol/style/iconimagecache.test.js +++ b/test/spec/ol/style/iconimagecache.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_events_ from '../../../../src/ol/events.js'; import _ol_style_ from '../../../../src/ol/style.js'; import _ol_style_IconImage_ from '../../../../src/ol/style/IconImage.js'; diff --git a/test/spec/ol/tile.test.js b/test/spec/ol/tile.test.js index cda9d3ad97..1fffdc2fd2 100644 --- a/test/spec/ol/tile.test.js +++ b/test/spec/ol/tile.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../src/ol.js'; +import _ol_ from '../../../src/ol/index.js'; import _ol_ImageTile_ from '../../../src/ol/ImageTile.js'; import _ol_Tile_ from '../../../src/ol/Tile.js'; import _ol_TileState_ from '../../../src/ol/TileState.js'; diff --git a/test/spec/ol/tilegrid/tilegrid.test.js b/test/spec/ol/tilegrid/tilegrid.test.js index 6888aea045..4110375af2 100644 --- a/test/spec/ol/tilegrid/tilegrid.test.js +++ b/test/spec/ol/tilegrid/tilegrid.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../../src/ol.js'; +import _ol_ from '../../../../src/ol/index.js'; import _ol_TileRange_ from '../../../../src/ol/TileRange.js'; import _ol_extent_ from '../../../../src/ol/extent.js'; import _ol_proj_ from '../../../../src/ol/proj.js'; diff --git a/test/spec/ol/view.test.js b/test/spec/ol/view.test.js index 111cde4d5f..dbec56420d 100644 --- a/test/spec/ol/view.test.js +++ b/test/spec/ol/view.test.js @@ -1,4 +1,4 @@ -import _ol_ from '../../../src/ol.js'; +import _ol_ from '../../../src/ol/index.js'; import _ol_Map_ from '../../../src/ol/Map.js'; import _ol_View_ from '../../../src/ol/View.js'; import _ol_ViewHint_ from '../../../src/ol/ViewHint.js';