diff --git a/config/webpack.config.js b/config/webpack.config.js index 64de2056..24a28524 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -3,6 +3,7 @@ var webpack = require('webpack'); var path = require('path'); var loaders = require('./webpack.loaders'); var HtmlWebpackPlugin = require('html-webpack-plugin'); +var CopyWebpackPlugin = require('copy-webpack-plugin'); const HOST = process.env.HOST || "127.0.0.1"; const PORT = process.env.PORT || "8888"; @@ -59,6 +60,12 @@ module.exports = { new HtmlWebpackPlugin({ title: 'Maputnik', template: './src/template.html' - }) + }), + new CopyWebpackPlugin([ + { + from: './src/manifest.json', + to: 'manifest.json' + } + ]) ] }; diff --git a/config/webpack.production.config.js b/config/webpack.production.config.js index e0d9a732..01a5c4e9 100644 --- a/config/webpack.production.config.js +++ b/config/webpack.production.config.js @@ -6,6 +6,7 @@ var ExtractTextPlugin = require('extract-text-webpack-plugin'); var HtmlWebpackPlugin = require('html-webpack-plugin'); var WebpackCleanupPlugin = require('webpack-cleanup-plugin'); var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +var CopyWebpackPlugin = require('copy-webpack-plugin'); var OUTPATH; if(process.env.CIRCLE_ARTIFACTS) { @@ -80,6 +81,12 @@ module.exports = { template: './src/template.html', title: 'Maputnik' }), + new CopyWebpackPlugin([ + { + from: './src/manifest.json', + to: 'manifest.json' + } + ]), new BundleAnalyzerPlugin({ analyzerMode: 'static', defaultSizes: 'gzip', diff --git a/package-lock.json b/package-lock.json index 5020cfd0..2873aa6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2544,6 +2544,49 @@ "toggle-selection": "1.0.6" } }, + "copy-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-cL/Wl3Y1QmmKThl/mWeGB+HH3YH+25tn8nhqEGsZda4Yn7GqGnDZ+TbeKJ7A6zvrxyNhhuviYAxn/tCyyAqh8Q==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "glob": "7.1.2", + "is-glob": "4.0.0", + "loader-utils": "0.2.17", + "lodash": "4.17.4", + "minimatch": "3.0.4" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", diff --git a/package.json b/package.json index 06204f01..4987c465 100644 --- a/package.json +++ b/package.json @@ -99,6 +99,7 @@ "babel-preset-react": "^6.24.1", "babel-runtime": "^6.26.0", "base64-loader": "^1.0.0", + "copy-webpack-plugin": "^4.2.0", "css-loader": "^0.28.7", "eslint": "^4.10.0", "eslint-plugin-react": "^7.4.0", diff --git a/src/components/icons/LineIcon.jsx b/src/components/icons/LineIcon.jsx index ab5acbdc..67e54035 100644 --- a/src/components/icons/LineIcon.jsx +++ b/src/components/icons/LineIcon.jsx @@ -6,7 +6,7 @@ export default class FillIcon extends React.Component { render() { return ( - + ) } diff --git a/src/components/icons/SymbolIcon.jsx b/src/components/icons/SymbolIcon.jsx index 941d9b97..961ba4e5 100644 --- a/src/components/icons/SymbolIcon.jsx +++ b/src/components/icons/SymbolIcon.jsx @@ -6,8 +6,8 @@ export default class SymbolIcon extends React.Component { render() { return ( - - + + ) diff --git a/src/components/layers/LayerListGroup.jsx b/src/components/layers/LayerListGroup.jsx index ccf7f384..ab36ab0e 100644 --- a/src/components/layers/LayerListGroup.jsx +++ b/src/components/layers/LayerListGroup.jsx @@ -10,7 +10,7 @@ export default class LayerListGroup extends React.Component { } render() { - return
+ return
  • this.props.onActiveToggle(!this.props.isActive)} > @@ -21,6 +21,6 @@ export default class LayerListGroup extends React.Component { isCollapsed={this.props.isActive} />
    -
  • + } } diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 00000000..bd9be0f1 --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,9 @@ +{ + "name": "Maputnik", + "short_name": "Maputnik", + "description": "Visual Map Designer", + "start_url": ".", + "display": "browser", + "background_color": "#1c1f24", + "theme_color": "#1c1f24" +} diff --git a/src/template.html b/src/template.html index 94eceb44..bfa8284c 100644 --- a/src/template.html +++ b/src/template.html @@ -4,6 +4,7 @@ <%= htmlWebpackPlugin.options.title %> +