mirror of
https://github.com/bacher09/pwgen-for-bios.git
synced 2024-09-19 15:28:54 -04:00
da4eb4318f
Now project is using ES6 modules and displays coverage reports for browser tests (made via karma), while nodejs tests only keygens.
116 lines
3.6 KiB
JavaScript
116 lines
3.6 KiB
JavaScript
const path = require("path");
|
|
|
|
module.exports = function(config) {
|
|
|
|
var customLaunchers = {
|
|
sl_ios_safari: {
|
|
base: 'SauceLabs',
|
|
browserName: 'safari',
|
|
platform: 'iOS',
|
|
deviceName: 'iPhone 7 Simulator',
|
|
version: '10.3',
|
|
deviceOrientation: 'portrait'
|
|
},
|
|
sl_safari_7: {
|
|
base: "SauceLabs",
|
|
browserName: "safari",
|
|
platform: "OS X 10.11",
|
|
version: "10.0"
|
|
},
|
|
sl_edge_13: {
|
|
base: "SauceLabs",
|
|
browserName: 'MicrosoftEdge',
|
|
platform: 'Windows 10',
|
|
version: '13.10586'
|
|
},
|
|
ChromeHeadlessTravis: {
|
|
base: "ChromeHeadless",
|
|
flags: ['--no-sandbox']
|
|
}
|
|
};
|
|
|
|
var configuration = {
|
|
frameworks: ["jasmine"],
|
|
files: [
|
|
{pattern: './ci/spec-bundle.js', watched: false}
|
|
],
|
|
preprocessors: {
|
|
'./ci/spec-bundle.js': ['webpack'],
|
|
},
|
|
webpackMiddleware: {
|
|
scripts: 'errors-only'
|
|
},
|
|
webpack: {
|
|
devtool: "inline-source-map",
|
|
mode: "development",
|
|
resolve: {
|
|
extensions: ['.ts', '.js', '.mjs'],
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.ts$/,
|
|
exclude: /node_modules/,
|
|
use: [
|
|
"@jsdevtools/coverage-istanbul-loader",
|
|
{loader: 'ts-loader', options: {transpileOnly: true}}
|
|
]
|
|
},
|
|
{
|
|
test: /\.m?js$/,
|
|
exclude: /node_modules/,
|
|
use: [{loader: 'babel-loader', options: {presets: ['@babel/preset-env']}}]
|
|
}
|
|
]
|
|
},
|
|
},
|
|
mime: {
|
|
'text/x-typescript': ['ts', 'tsx']
|
|
},
|
|
sauceLabs: {
|
|
testName: "Bios-pw Unit tests",
|
|
retryLimit: 2,
|
|
recordVideo: false,
|
|
recordScreenshots: false
|
|
},
|
|
reporters: ["progress", "saucelabs", "coverage-istanbul"],
|
|
coverageIstanbulReporter: {
|
|
reports: ['text', 'text-summary', "lcovonly"],
|
|
dir: path.join(__dirname, "coverage"),
|
|
combineBrowserReports: true,
|
|
fixWebpackSourcePaths: true,
|
|
},
|
|
browsers: ["ChromeHeadless", "FirefoxHeadless"],
|
|
customLaunchers: customLaunchers,
|
|
singleRun: true,
|
|
concurrency: 2,
|
|
plugins: [
|
|
'karma-jasmine',
|
|
'karma-chrome-launcher',
|
|
'karma-firefox-launcher',
|
|
'karma-sauce-launcher',
|
|
'karma-webpack',
|
|
'karma-coverage-istanbul-reporter'
|
|
]
|
|
};
|
|
|
|
if (process.env.TRAVIS) {
|
|
configuration.browsers = ['ChromeHeadlessTravis', 'FirefoxHeadless'];
|
|
}
|
|
|
|
if (process.env.SAUCE && process.env.SAUCE_USERNAME) {
|
|
var currentBrowsers = configuration.browsers;
|
|
var sauceBrowsers = Object.keys(customLaunchers).filter((s) => s.startsWith('sl_'));
|
|
configuration.browsers = currentBrowsers.concat(sauceBrowsers);
|
|
|
|
if (process.env.TRAVIS) {
|
|
var buildNumber = process.env.TRAVIS_BUILD_NUMBER;
|
|
var travisBuildId = process.env.TRAVIS_BUILD_ID;
|
|
var buildId = `TRAVIS ${buildNumber} (${travisBuildId})`;
|
|
configuration.sauceLabs.build = buildId;
|
|
configuration.sauceLabs.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER;
|
|
}
|
|
}
|
|
|
|
config.set(configuration);
|
|
}
|