Update babel, webpack, karma, jasmine and istanbul
Update to babel v7 and webpack v4 Remove runtime depend on corejs-2 which is unsupported. Just switch to runtime which requires polyfills be provided by the end user. Remove NSP - the service is being shut down and the important bits are built in to npm now. istanbul has been replaced by the nyc runner. Update karma to latest. Update yaml-loader and json-loader Disable browser testing for now - we'll bring it back in a followup. Change-Id: I45d1f77bb43e5d67f4154c5149fac77b853e3686
This commit is contained in:
parent
8354146c11
commit
7f843d7ecb
11
.babelrc
11
.babelrc
@ -1,4 +1,11 @@
|
|||||||
{
|
{
|
||||||
"presets": ["es2015"],
|
"presets": [
|
||||||
"plugins": ["transform-runtime"]
|
"@babel/preset-env"
|
||||||
|
],
|
||||||
|
"plugins": ["@babel/plugin-transform-runtime"],
|
||||||
|
"env": {
|
||||||
|
"test": {
|
||||||
|
"plugins": [ "istanbul" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ export default (config) => {
|
|||||||
// test results reporter to use
|
// test results reporter to use
|
||||||
// possible values: 'dots', 'progress'
|
// possible values: 'dots', 'progress'
|
||||||
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
||||||
reporters: ['progress', 'coverage', 'threshold'],
|
reporters: ['progress', 'coverage'],
|
||||||
|
|
||||||
// web server port
|
// web server port
|
||||||
port: 9876,
|
port: 9876,
|
||||||
@ -73,13 +73,5 @@ export default (config) => {
|
|||||||
dir: '../../cover/' + testDir + '/browser/' //path to created html doc
|
dir: '../../cover/' + testDir + '/browser/' //path to created html doc
|
||||||
},
|
},
|
||||||
|
|
||||||
// The current coverage threshold values. These should never drop.
|
|
||||||
thresholdReporter: {
|
|
||||||
statements: 88,
|
|
||||||
branches: 64,
|
|
||||||
functions: 77,
|
|
||||||
lines: 75
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
require('babel-register');
|
require('@babel/register');
|
||||||
module.exports = require('./karma.conf.babel').default;
|
module.exports = require('./karma.conf.babel').default;
|
||||||
|
55
package.json
55
package.json
@ -5,15 +5,14 @@
|
|||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"configure-devstack": "babel-node ./configure-devstack.js",
|
"configure-devstack": "babel-node ./configure-devstack.js",
|
||||||
"test": "npm run test:node; npm run test:browser",
|
"test": "npm run test:node",
|
||||||
"test:node": "istanbul cover jasmine JASMINE_CONFIG_PATH=test/unit/jasmine.json",
|
"test:node": "nyc babel-node test/unit/run.js",
|
||||||
"test:browser": "karma start",
|
"test:browser": "karma start",
|
||||||
"posttest:node": "istanbul check-coverage",
|
"posttest:node": "nyc check-coverage",
|
||||||
"functional-test": "npm run functional-test:node ; npm run functional-test:browser",
|
"functional-test": "npm run functional-test:node ; npm run functional-test:browser",
|
||||||
"functional-test:node": "istanbul cover --dir cover/functional/node jasmine JASMINE_CONFIG_PATH=test/functional/jasmine.json",
|
"functional-test:node": "nyc --dir cover/functional/node babel-node test/functional/run.js",
|
||||||
"functional-test:browser": "karma start --basePath test/functional/",
|
"functional-test:browser": "karma start --basePath test/functional/",
|
||||||
"lint": "eslint ./",
|
"lint": "eslint ./",
|
||||||
"prepublish": "nsp check; npm run build",
|
|
||||||
"build": "babel src -d dist && webpack",
|
"build": "babel src -d dist && webpack",
|
||||||
"docs": "npm run jsdoc; (cd ./doc && make html)",
|
"docs": "npm run jsdoc; (cd ./doc && make html)",
|
||||||
"jsdoc": "jsdoc -t node_modules/jsdoc-sphinx/template -d ./doc/source/jsdoc ./src"
|
"jsdoc": "jsdoc -t node_modules/jsdoc-sphinx/template -d ./doc/source/jsdoc ./src"
|
||||||
@ -29,39 +28,41 @@
|
|||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"homepage": "http://www.openstack.org/",
|
"homepage": "http://www.openstack.org/",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"babel-runtime": "^6.11.6",
|
"@babel/runtime": "^7.0.0",
|
||||||
"isomorphic-fetch": "^2.2.1",
|
"isomorphic-fetch": "^2.2.1",
|
||||||
"loglevel": "^1.4.1",
|
"loglevel": "^1.4.1",
|
||||||
"url-parse": "^1.1.3"
|
"url-parse": "^1.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-cli": "^6.10.1",
|
"@babel/cli": "^7.0.0",
|
||||||
"babel-core": "^6.10.4",
|
"@babel/core": "^7.0.0",
|
||||||
"babel-loader": "^6.2.4",
|
"@babel/node": "^7.0.0",
|
||||||
|
"@babel/plugin-transform-runtime": "^7.0.0",
|
||||||
|
"@babel/preset-env": "^7.0.0",
|
||||||
|
"@babel/register": "^7.0.0",
|
||||||
|
"babel-core": "^7.0.0-bridge.0",
|
||||||
|
"babel-loader": "^8.1.0",
|
||||||
|
"babel-plugin-istanbul": "^6.0.0",
|
||||||
"babel-plugin-transform-inline-environment-variables": "^6.8.0",
|
"babel-plugin-transform-inline-environment-variables": "^6.8.0",
|
||||||
"babel-plugin-transform-runtime": "^6.15.0",
|
|
||||||
"babel-preset-es2015": "^6.9.0",
|
|
||||||
"babel-register": "^6.9.0",
|
|
||||||
"eslint": "^3.0.0",
|
"eslint": "^3.0.0",
|
||||||
"eslint-config-openstack": "4.0.1",
|
"eslint-config-openstack": "4.0.1",
|
||||||
"fetch-mock": "^5.0.5",
|
"fetch-mock": "^5.0.5",
|
||||||
"istanbul": "^1.0.0-alpha.2",
|
"jasmine": "^3.5.0",
|
||||||
"jasmine": "^2.4.1",
|
"js-yaml": "^3.14.0",
|
||||||
"jasmine-core": "^2.4.1",
|
|
||||||
"js-yaml": "^3.6.1",
|
|
||||||
"jsdoc": "^3.4.0",
|
"jsdoc": "^3.4.0",
|
||||||
"jsdoc-sphinx": "0.0.6",
|
"jsdoc-sphinx": "0.0.6",
|
||||||
"json-loader": "^0.5.4",
|
"json-loader": "^0.5.7",
|
||||||
"karma": "^1.1.1",
|
"karma": "^5.0.9",
|
||||||
"karma-chrome-launcher": "^1.0.1",
|
"karma-chrome-launcher": "^3.1.0",
|
||||||
"karma-coverage": "^1.1.0",
|
"karma-cli": "^2.0.0",
|
||||||
"karma-firefox-launcher": "^1.0.0",
|
"karma-coverage": "^2.0.2",
|
||||||
"karma-jasmine": "^1.0.2",
|
"karma-firefox-launcher": "^1.3.0",
|
||||||
"karma-threshold-reporter": "^0.1.15",
|
"karma-jasmine": "^3.1.1",
|
||||||
"karma-webpack": "^1.7.0",
|
"karma-webpack": "^4.0.2",
|
||||||
"nsp": "^2.4.0",
|
"nyc": "^15.0.1",
|
||||||
"webpack": "^1.13.1",
|
"webpack": "^4.43.0",
|
||||||
"yaml-loader": "^0.4.0"
|
"webpack-cli": "^3.3.11",
|
||||||
|
"yaml-loader": "^0.6.0"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist"
|
||||||
|
5
test/functional/run.js
Normal file
5
test/functional/run.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import Jasmine from 'jasmine';
|
||||||
|
|
||||||
|
const jasmine = new Jasmine();
|
||||||
|
jasmine.loadConfigFile('test/functional/jasmine.json');
|
||||||
|
jasmine.execute();
|
5
test/unit/run.js
Normal file
5
test/unit/run.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import Jasmine from 'jasmine';
|
||||||
|
|
||||||
|
const jasmine = new Jasmine();
|
||||||
|
jasmine.loadConfigFile('test/unit/jasmine.json');
|
||||||
|
jasmine.execute();
|
@ -1,28 +1,35 @@
|
|||||||
|
import path from 'path';
|
||||||
import webpack from 'webpack';
|
import webpack from 'webpack';
|
||||||
import cloudsYamlPath from './test/functional/helpers/cloudsYamlPath';
|
import cloudsYamlPath from './test/functional/helpers/cloudsYamlPath';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
entry: ['./src/index.js'],
|
entry: ['./src/index.js'],
|
||||||
output: {
|
output: {
|
||||||
path: './dist',
|
path: path.resolve(__dirname, 'dist'),
|
||||||
filename: 'js-openstack-lib.js',
|
filename: 'js-openstack-lib.js',
|
||||||
library: 'JSOpenStackLib',
|
library: 'JSOpenStackLib',
|
||||||
libraryTarget: 'umd'
|
libraryTarget: 'umd'
|
||||||
},
|
},
|
||||||
module: {
|
module: {
|
||||||
loaders: [
|
rules: [
|
||||||
{
|
{
|
||||||
test: /\.js$/,
|
test: /\.m?js$/,
|
||||||
loader: 'babel',
|
|
||||||
exclude: /node_modules/,
|
exclude: /node_modules/,
|
||||||
query: {
|
use: {
|
||||||
plugins: ['transform-inline-environment-variables']
|
loader: 'babel-loader',
|
||||||
|
options: {
|
||||||
|
presets: ['@babel/preset-env'],
|
||||||
|
plugins: ['transform-inline-environment-variables']
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new webpack.NormalModuleReplacementPlugin(/helpers\/cloudsConfig/,
|
new webpack.NormalModuleReplacementPlugin(/helpers\/cloudsConfig/,
|
||||||
'json!yaml!' + cloudsYamlPath)
|
'json!yaml!' + cloudsYamlPath)
|
||||||
]
|
],
|
||||||
|
node: {
|
||||||
|
fs: "empty"
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user