diff --git a/.eslintrc.json b/.eslintrc.json index 6d4248b9..5b620a1c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -18,7 +18,9 @@ }, "globals": { "should": true, - "sinon": true + "sinon": true, + "__VERSION__": true, + "__NAME__": true }, "rules": { "mocha-no-only/mocha-no-only": "off", diff --git a/karma.conf.js b/karma.conf.js index dd72b5a5..15b39ad3 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,3 +1,6 @@ +const webpack = require("webpack"); +const packageData = require("./package.json"); + const isWindows = /^win/.test(process.platform); const isMacOS = /^darwin/.test(process.platform); // Create custom launcher in case running with Travis @@ -39,6 +42,12 @@ module.exports = function (config) { 'coverage' ], webpack: { + plugins: [ + new webpack.DefinePlugin({ + __VERSION__: JSON.stringify(packageData.version), + __NAME__: JSON.stringify(packageData.name) + }) + ], devtool: 'inline-source-map', module: { rules: [{ diff --git a/src/k-provider/ovp/ovp-provider.js b/src/k-provider/ovp/ovp-provider.js index d33a932f..0f63f5cb 100644 --- a/src/k-provider/ovp/ovp-provider.js +++ b/src/k-provider/ovp/ovp-provider.js @@ -25,6 +25,9 @@ type playerConfig = { plugins: Object }; +declare var __VERSION__: string; +declare var __NAME__: string; + /** * Ovp provider * @classdesc @@ -184,3 +187,5 @@ export class OvpProvider { } export default OvpProvider; +const packageName = __NAME__ + "-ovp"; +export {__VERSION__ as VERSION, packageName as NAME}; diff --git a/src/k-provider/ovp/services/stats-service.js b/src/k-provider/ovp/services/stats-service.js index f5ca7601..5348b303 100644 --- a/src/k-provider/ovp/services/stats-service.js +++ b/src/k-provider/ovp/services/stats-service.js @@ -4,6 +4,9 @@ import RequestBuilder from '../../request-builder' import Configuration from '../config' import {param} from '../../../util/param' +declare var __VERSION__: string; +declare var __NAME__: string; + const SERVICE_NAME: string = "stats"; /** * Ovp stats service methods @@ -37,3 +40,5 @@ export default class StatsService extends OvpService { } export {StatsService, Configuration, RequestBuilder}; +const packageName = __NAME__ + "-stats-service"; +export {__VERSION__ as VERSION, packageName as NAME}; diff --git a/webpack.config.js b/webpack.config.js index 540f0b36..3fc37e01 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,6 +3,18 @@ const webpack = require("webpack"); const path = require("path"); const PROD = (process.env.NODE_ENV === 'production'); +const packageData = require("./package.json"); + +let plugins = [ + new webpack.DefinePlugin({ + __VERSION__: JSON.stringify(packageData.version), + __NAME__: JSON.stringify(packageData.name) + }) +]; + +if (PROD) { + plugins.push(new webpack.optimize.UglifyJsPlugin({sourceMap: true})); +} module.exports = { context: __dirname + "/src", @@ -23,7 +35,7 @@ module.exports = { devtoolModuleFilenameTemplate: "./providers/[resource-path]", }, devtool: 'source-map', - plugins: PROD ? [new webpack.optimize.UglifyJsPlugin({sourceMap: true})] : [], + plugins: plugins, module: { rules: [{ test: /\.js$/,