diff --git a/package-lock.json b/package-lock.json index 1f8cac46..ac819bfc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "coriolis_shipyard", - "version": "2.9.1", + "version": "2.9.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5923f4d1..4af0628e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coriolis_shipyard", - "version": "2.9.3", + "version": "2.9.4", "repository": { "type": "git", "url": "https://github.com/EDCD/coriolis" diff --git a/src/app/Coriolis.jsx b/src/app/Coriolis.jsx index cb2178c1..e1906f91 100644 --- a/src/app/Coriolis.jsx +++ b/src/app/Coriolis.jsx @@ -134,9 +134,9 @@ export default class Coriolis extends React.Component { console && console.error && console.error(arguments); // eslint-disable-line no-console if (errObj) { if (errObj instanceof Error) { - Bugsnag.notifyException(errObj) // eslint-disable-line + bugsnagClient.notify(errObj) // eslint-disable-line } else if (errObj instanceof String) { - Bugsnag.notify(msg, errObj) // eslint-disable-line + bugsnagClient.notify(msg, errObj) // eslint-disable-line } } this.setState({ diff --git a/src/app/utils/BlueprintFunctions.js b/src/app/utils/BlueprintFunctions.js index 8b0dd7bc..10c84b55 100644 --- a/src/app/utils/BlueprintFunctions.js +++ b/src/app/utils/BlueprintFunctions.js @@ -232,25 +232,6 @@ export function getBlueprint(name, module) { } const blueprint = JSON.parse(JSON.stringify(found)); if (module) { - if (module.grp === 'bh' || module.grp === 'hr' || module.grp === 'sg' || module.grp === 'psg' || module.grp === 'bsg') { - // Bulkheads, hull reinforcements and shield generators need to have their resistances altered by the base values - for (const grade in blueprint.grades) { - for (const feature in blueprint.grades[grade].features) { - if (feature === 'explres') { - blueprint.grades[grade].features[feature][0] *= (1 - module.explres); - blueprint.grades[grade].features[feature][1] *= (1 - module.explres); - } - if (feature === 'kinres') { - blueprint.grades[grade].features[feature][0] *= (1 - module.kinres); - blueprint.grades[grade].features[feature][1] *= (1 - module.kinres); - } - if (feature === 'thermres') { - blueprint.grades[grade].features[feature][0] *= (1 - module.thermres); - blueprint.grades[grade].features[feature][1] *= (1 - module.thermres); - } - } - } - } if (module.grp === 'sb') { // Shield boosters are treated internally as straight modifiers, so rather than (for example) // being a 4% boost they are a 104% multiplier. We need to fix the values here so that they look diff --git a/src/index.ejs b/src/index.ejs index 6ea611aa..292928ed 100644 --- a/src/index.ejs +++ b/src/index.ejs @@ -55,10 +55,12 @@ - - + + +
diff --git a/webpack.config.dev.js b/webpack.config.dev.js index e9fdde54..584e0bed 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -1,29 +1,30 @@ -var path = require('path'); -var exec = require('child_process').exec; -var webpack = require('webpack'); -var pkgJson = require('./package'); -var HtmlWebpackPlugin = require("html-webpack-plugin"); -var ExtractTextPlugin = require("extract-text-webpack-plugin"); -var WebpackNotifierPlugin = require('webpack-notifier'); +const path = require('path') +const exec = require('child_process').exec +const webpack = require('webpack') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const ExtractTextPlugin = require('extract-text-webpack-plugin') +const WebpackNotifierPlugin = require('webpack-notifier') +const pkgJson = require('./package') function CopyDirPlugin(source, destination) { - this.source = source; - this.destination = destination; + this.source = source + this.destination = destination +} + +CopyDirPlugin.prototype.apply = function (compiler) { + compiler.plugin('done', () => { + console.log(compiler.outputPath, this.destination) + exec('cp -r ' + this.source + ' ' + path.join(compiler.outputPath, this.destination)) + }) } -CopyDirPlugin.prototype.apply = function(compiler) { - compiler.plugin('done', function() { - console.log(compiler.outputPath, this.destination); - exec('cp -r ' + this.source + ' ' + path.join(compiler.outputPath, this.destination)); - }.bind(this)); -}; module.exports = { - devtool: 'eval', + devtool: 'source-map', devServer: { - headers: { "Access-Control-Allow-Origin": "*" } + headers: {'Access-Control-Allow-Origin': '*'} }, entry: { - app: [ 'webpack-dev-server/client?http://0.0.0.0:3300', 'webpack/hot/only-dev-server', path.join(__dirname, "src/app/index.js") ], + app: ['webpack-dev-server/client?http://0.0.0.0:3300', 'webpack/hot/only-dev-server', path.join(__dirname, 'src/app/index.js')], lib: ['d3', 'react', 'react-dom', 'classnames', 'fbemitter', 'lz-string'] }, resolve: { @@ -38,19 +39,19 @@ module.exports = { plugins: [ new CopyDirPlugin(path.join(__dirname, 'src/.htaccess'), ''), new webpack.optimize.CommonsChunkPlugin({ - name: 'lib', - filename: 'lib.js' + name: 'lib', + filename: 'lib.js' }), new HtmlWebpackPlugin({ - inject: false, - template: path.join(__dirname, "src/index.ejs"), - version: pkgJson.version, - gapiKey: process.env.CORIOLIS_GAPI_KEY || '', + inject: false, + template: path.join(__dirname, 'src/index.ejs'), + version: pkgJson.version, + gapiKey: process.env.CORIOLIS_GAPI_KEY || '' }), new ExtractTextPlugin({ - filename: 'app.css', - disable: false, - allChunks: true + filename: 'app.css', + disable: false, + allChunks: true }), new WebpackNotifierPlugin({alwaysNotify: true}), new webpack.HotModuleReplacementPlugin(), @@ -58,14 +59,14 @@ module.exports = { ], module: { rules: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader'}) }, - { test: /\.less$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader!less-loader'}) }, - { test: /\.(js|jsx)$/, loaders: [ 'babel-loader' ], include: path.join(__dirname, 'src') }, - { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff' }, - { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff' }, - { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/octet-stream' }, - { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader' }, - { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=image/svg+xml' } + {test: /\.css$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader'})}, + {test: /\.less$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader!less-loader'})}, + {test: /\.(js|jsx)$/, loaders: ['babel-loader'], include: path.join(__dirname, 'src')}, + {test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff'}, + {test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff'}, + {test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/octet-stream'}, + {test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader'}, + {test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=image/svg+xml'} ] } -}; +} diff --git a/webpack.config.prod.js b/webpack.config.prod.js index 003c06c5..9332d7bd 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -1,22 +1,23 @@ -var path = require('path'); -var exec = require('child_process').exec; -var webpack = require('webpack'); -var pkgJson = require('./package'); -var HtmlWebpackPlugin = require("html-webpack-plugin"); -var ExtractTextPlugin = require("extract-text-webpack-plugin"); -var AppCachePlugin = require('appcache-webpack-plugin'); -var { BugsnagSourceMapUploaderPlugin } = require('webpack-bugsnag-plugins'); +const path = require('path') +const exec = require('child_process').exec +const webpack = require('webpack') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const ExtractTextPlugin = require('extract-text-webpack-plugin') +const AppCachePlugin = require('appcache-webpack-plugin') +const {BugsnagSourceMapUploaderPlugin, BugsnagBuildReporterPlugin} = require('webpack-bugsnag-plugins') +const pkgJson = require('./package') -function CopyDirPlugin(source, destination) { - this.source = source; - this.destination = destination; +function CopyDirPlugin (source, destination) { + this.source = source + this.destination = destination +} + +CopyDirPlugin.prototype.apply = function (compiler) { + compiler.plugin('done', () => { + console.log(compiler.outputPath, this.destination) + exec('cp -r ' + this.source + ' ' + path.join(compiler.outputPath, this.destination)) + }) } -CopyDirPlugin.prototype.apply = function(compiler) { - compiler.plugin('done', function() { - console.log(compiler.outputPath, this.destination); - exec('cp -r ' + this.source + ' ' + path.join(compiler.outputPath, this.destination)); - }.bind(this)); -}; module.exports = { cache: true, @@ -44,27 +45,27 @@ module.exports = { // filename: 'lib.[chunkhash:6].js' //}), new HtmlWebpackPlugin({ - inject: false, - appCache: 'coriolis.appcache', - minify: { - collapseBooleanAttributes: true, - collapseWhitespace: true, - removeAttributeQuotes: true, - removeComments: true, - removeEmptyAttributes: true, - removeRedundantAttributes: true, - removeScriptTypeAttributes: true, - removeStyleLinkTypeAttributes: true - }, - template: path.join(__dirname, "src/index.ejs"), - uaTracking: process.env.CORIOLIS_UA_TRACKING || '', - gapiKey: process.env.CORIOLIS_GAPI_KEY || '', - version: pkgJson.version + inject: false, + appCache: 'coriolis.appcache', + minify: { + collapseBooleanAttributes: true, + collapseWhitespace: true, + removeAttributeQuotes: true, + removeComments: true, + removeEmptyAttributes: true, + removeRedundantAttributes: true, + removeScriptTypeAttributes: true, + removeStyleLinkTypeAttributes: true + }, + template: path.join(__dirname, 'src/index.ejs'), + uaTracking: process.env.CORIOLIS_UA_TRACKING || '', + gapiKey: process.env.CORIOLIS_GAPI_KEY || '', + version: pkgJson.version }), new ExtractTextPlugin({ - filename: '[contenthash:6].css', - disable: false, - allChunks: true + filename: '[contenthash:6].css', + disable: false, + allChunks: true }), new BugsnagSourceMapUploaderPlugin({ apiKey: 'ba9fae819372850fb660755341fa6ef5', @@ -82,14 +83,14 @@ module.exports = { ], module: { rules: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader'}) }, - { test: /\.less$/, loader: ExtractTextPlugin.extract({ fallback: 'style-loader',use: 'css-loader!less-loader'}) }, - { test: /\.(js|jsx)$/, loader: 'babel-loader?cacheDirectory=true', include: path.join(__dirname, 'src') }, - { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff' }, - { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff' }, - { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/octet-stream' }, - { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader' }, - { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=image/svg+xml' } + {test: /\.css$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader'})}, + {test: /\.less$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader!less-loader'})}, + {test: /\.(js|jsx)$/, loader: 'babel-loader?cacheDirectory=true', include: path.join(__dirname, 'src')}, + {test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff'}, + {test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff'}, + {test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/octet-stream'}, + {test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader'}, + {test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=image/svg+xml'} ] } -}; +}