/* eslint-env node */
+'use strict'
+
const path = require('path')
const ip = require('ip')
-const {
- browsers,
- browsersKeys
-} = require('./browsers')
+const { browsers, browsersKeys } = require('./browsers')
-const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'node_modules/jquery/dist/jquery.slim.min.js'
-const bundle = process.env.BUNDLE === 'true'
-const browserStack = process.env.BROWSER === 'true'
+const USE_OLD_JQUERY = Boolean(process.env.USE_OLD_JQUERY)
+const BUNDLE = Boolean(process.env.BUNDLE)
+const BROWSERSTACK = Boolean(process.env.BROWSERSTACK)
+const JQUERY_FILE = USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'node_modules/jquery/dist/jquery.slim.min.js'
const frameworks = [
'qunit',
}
}
-if (bundle) {
+if (BUNDLE) {
frameworks.push('detectBrowsers')
plugins.push(
'karma-chrome-launcher',
conf.customLaunchers = customLaunchers
conf.detectBrowsers = detectBrowsers
files = files.concat([
- jqueryFile,
+ JQUERY_FILE,
'dist/js/bootstrap.js'
])
-} else if (browserStack) {
+} else if (BROWSERSTACK) {
conf.hostname = ip.address()
conf.browserStack = {
username: process.env.BROWSER_STACK_USERNAME,
'node_modules/jquery/dist/jquery.slim.min.js',
'js/dist/util.js',
'js/dist/tooltip.js',
- 'js/dist/!(util|index|tooltip).js' // include all of our js/dist files except util.js, index.js and tooltip.js
+ // include all of our js/dist files except util.js, index.js and tooltip.js
+ 'js/dist/!(util|index|tooltip).js'
])
} else {
frameworks.push('detectBrowsers')
plugins.push(
'karma-chrome-launcher',
'karma-firefox-launcher',
- 'karma-detect-browsers',
- 'karma-coverage-istanbul-reporter'
+ 'karma-detect-browsers'
)
files = files.concat([
- jqueryFile,
+ JQUERY_FILE,
'js/coverage/dist/util.js',
'js/coverage/dist/tooltip.js',
- 'js/coverage/dist/!(util|index|tooltip).js' // include all of our js/dist files except util.js, index.js and tooltip.js
+ // include all of our js/dist files except util.js, index.js and tooltip.js
+ 'js/coverage/dist/!(util|index|tooltip).js'
])
- reporters.push('coverage-istanbul')
conf.customLaunchers = customLaunchers
conf.detectBrowsers = detectBrowsers
- conf.coverageIstanbulReporter = {
- dir: path.resolve(__dirname, '../coverage/'),
- reports: ['lcov', 'text-summary'],
- thresholds: {
- emitWarning: false,
- global: {
- statements: 90,
- branches: 86,
- functions: 89,
- lines: 90
+ if (!USE_OLD_JQUERY) {
+ plugins.push('karma-coverage-istanbul-reporter')
+ reporters.push('coverage-istanbul')
+ conf.coverageIstanbulReporter = {
+ dir: path.resolve(__dirname, '../coverage/'),
+ reports: ['lcov', 'text-summary'],
+ thresholds: {
+ emitWarning: false,
+ global: {
+ statements: 90,
+ branches: 86,
+ functions: 89,
+ lines: 90
+ }
}
}
}
conf.files = files
module.exports = karmaConfig => {
- // possible values: karmaConfig.LOG_DISABLE || karmaConfig.LOG_ERROR || karmaConfig.LOG_WARN || karmaConfig.LOG_INFO || karmaConfig.LOG_DEBUG
- conf.logLevel = karmaConfig.LOG_ERROR || karmaConfig.LOG_WARN
+ conf.logLevel = karmaConfig.LOG_ERROR
karmaConfig.set(conf)
}
"js-test-karma-bundle": "cross-env BUNDLE=true npm run js-test-karma",
"js-test-karma-bundle-old": "cross-env BUNDLE=true USE_OLD_JQUERY=true npm run js-test-karma",
"js-test-integration": "rollup --config js/tests/integration/rollup.bundle.js",
- "js-test-cloud": "cross-env BROWSER=true npm run js-test-karma",
+ "js-test-cloud": "cross-env BROWSERSTACK=true npm run js-test-karma",
"lint": "npm-run-all --parallel js-lint css-lint lockfile-lint",
"docs": "npm-run-all docs-build docs-lint",
"docs-build": "hugo --cleanDestinationDir",