UNPKG

opentok-network-test-js

Version:

Precall network test for applications using the OpenTok platform.

81 lines (80 loc) 2.09 kB
const path = require('path'); const webpack = require('webpack'); const webpackConfig = require('./webpack.config'); const nodeExternals = require('webpack-node-externals'); module.exports = function (config) { let sauceLaunchers = { chrome: { base: 'Chrome', flags: ['--use-fake-ui-for-media-stream', '--use-fake-device-for-media-stream'] }, firefox: { base: 'Firefox', prefs: { 'media.navigator.permission.disabled': true, 'media.navigator.streams.fake': true, 'app.update.enabled': false, } } }; let browser; if (process.env.BROWSER === 'safari') { browser = process.env.BVER === 'unstable' ? 'SafariTechPreview' : 'Safari' } else { browser = process.env.BROWSER || 'chrome'; } config.set({ hostname: '127.0.0.1', basePath: './test', files: [{ pattern: '*.spec.ts'}], autoWatch: true, singleRun: true, frameworks: ['jasmine'], customLaunchers: sauceLaunchers, colors: true, browsers: [browser], preprocessors: { '*.spec.ts': ['webpack', 'sourcemap'], }, webpack: { module: { rules: [{ test: /\.tsx?$/, use: [ { loader: 'ts-loader', options: { transpileOnly: true, } }, ], }], }, resolve: webpackConfig.resolve, devtool: 'inline-source-map', plugins: [ new webpack.SourceMapDevToolPlugin({ filename: null, test: /\.(ts|js)(x?)$/ // to allow webpack to pass sourcemap if the file is ts or js. }) ], }, webpackMiddleware: { stats: 'errors-only' }, mime: { 'text/x-typescript': ['ts'] }, junitReporter: { outputFile: 'test_out/unit.xml', suite: 'unit' }, sauceLabs: { startConnect: false, tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER, username: process.env.SAUCE_USERNAME, accessKey: process.env.SAUCE_ACCESS_KEY }, reporters: ['mocha', 'saucelabs'] }); };