Add transpilation for IE11 and skip linux tests

This commit is contained in:
Juanjo Diaz 2018-05-24 00:26:34 +03:00
parent 8727f598c2
commit cdb860ad84
5 changed files with 13789 additions and 2008 deletions

View File

@ -1,9 +1,10 @@
// Karma configuration // Karma configuration
module.exports = function(config) { module.exports = function(config) {
var customLaunchers = {}; const customLaunchers = {};
var browsers = []; let browsers = [];
var useSauce = false; let useSauce = false;
let transpileToES5 = ['internet explorer'].includes(process.env.TEST_BROWSER_NAME);
// use Sauce when running on Travis // use Sauce when running on Travis
if (process.env.TRAVIS_JOB_NUMBER) { if (process.env.TRAVIS_JOB_NUMBER) {
@ -11,19 +12,19 @@ module.exports = function(config) {
} }
if (useSauce && process.env.TEST_BROWSER_NAME && process.env.TEST_BROWSER_NAME != 'PhantomJS') { if (useSauce && process.env.TEST_BROWSER_NAME && process.env.TEST_BROWSER_NAME != 'PhantomJS') {
var names = process.env.TEST_BROWSER_NAME.split(','); const names = process.env.TEST_BROWSER_NAME.split(',');
var platforms = process.env.TEST_BROWSER_OS.split(','); const platforms = process.env.TEST_BROWSER_OS.split(',');
var versions = []; const versions = process.env.TEST_BROWSER_VERSION
if (process.env.TEST_BROWSER_VERSION) { ? process.env.TEST_BROWSER_VERSION.split(',')
versions = process.env.TEST_BROWSER_VERSION.split(','); : [null];
} else {
versions = [null];
}
for (var i = 0; i < names.length; i++) { for (let i = 0; i < names.length; i++) {
for (var j = 0; j < platforms.length; j++) { for (let j = 0; j < platforms.length; j++) {
for (var k = 0; k < versions.length; k++) { // FIXME Skip tests in Linux since Sauce Labs browser versions are ancient.
var launcher_name = 'sl_' + platforms[j].replace(/[^a-zA-Z0-9]/g, '') + '_' + names[i]; // https://github.com/novnc/noVNC/pull/1013#issuecomment-382749805
if (platforms[j] === 'Linux') continue;
for (let k = 0; k < versions.length; k++) {
let launcher_name = 'sl_' + platforms[j].replace(/[^a-zA-Z0-9]/g, '') + '_' + names[i];
if (versions[k]) { if (versions[k]) {
launcher_name += '_' + versions[k]; launcher_name += '_' + versions[k];
} }
@ -48,7 +49,7 @@ module.exports = function(config) {
browsers = []; browsers = [];
} }
var my_conf = { const my_conf = {
// base path that will be used to resolve all patterns (eg. files, exclude) // base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '', basePath: '',
@ -103,6 +104,7 @@ module.exports = function(config) {
babelPreprocessor: { babelPreprocessor: {
options: { options: {
presets: transpileToES5 ? ['es2015'] : [],
plugins: ['transform-es2015-modules-amd', 'syntax-dynamic-import'], plugins: ['transform-es2015-modules-amd', 'syntax-dynamic-import'],
sourceMap: 'inline', sourceMap: 'inline',
}, },

View File

@ -36,6 +36,7 @@
"babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0",
"babel-plugin-transform-es2015-modules-systemjs": "^6.22.0", "babel-plugin-transform-es2015-modules-systemjs": "^6.22.0",
"babel-plugin-transform-es2015-modules-umd": "^6.22.0", "babel-plugin-transform-es2015-modules-umd": "^6.22.0",
"babel-preset-es2015": "^6.24.1",
"babelify": "^7.3.0", "babelify": "^7.3.0",
"browserify": "^13.1.0", "browserify": "^13.1.0",
"chai": "^3.5.0", "chai": "^3.5.0",

View File

@ -151,6 +151,7 @@ var make_lib_files = function (import_format, source_maps, with_app_dir, only_le
// NB: we need to make a copy of babel_opts, since babel sets some defaults on it // NB: we need to make a copy of babel_opts, since babel sets some defaults on it
const babel_opts = () => ({ const babel_opts = () => ({
plugins: [`transform-es2015-modules-${import_format}`], plugins: [`transform-es2015-modules-${import_format}`],
presets: ['es2015'],
ast: false, ast: false,
sourceMaps: source_maps, sourceMaps: source_maps,
}); });

File diff suppressed because one or more lines are too long

View File

@ -6,6 +6,7 @@ import babelTransformES2015ModulesSystemJS from 'babel-plugin-transform-es2015-m
var babelTransform = require('babel-core').transform; var babelTransform = require('babel-core').transform;
var babelTransformDynamicImport = require('babel-plugin-syntax-dynamic-import'); var babelTransformDynamicImport = require('babel-plugin-syntax-dynamic-import');
var babelTransformES2015ModulesSystemJS = require('babel-plugin-transform-es2015-modules-systemjs'); var babelTransformES2015ModulesSystemJS = require('babel-plugin-transform-es2015-modules-systemjs');
var babelPresetES2015 = require('babel-preset-es2015');
self.onmessage = function (evt) { self.onmessage = function (evt) {
// transform source with Babel // transform source with Babel
@ -17,6 +18,7 @@ self.onmessage = function (evt) {
sourceMaps: 'inline', sourceMaps: 'inline',
babelrc: false, babelrc: false,
plugins: [babelTransformDynamicImport, babelTransformES2015ModulesSystemJS], plugins: [babelTransformDynamicImport, babelTransformES2015ModulesSystemJS],
presets: [babelPresetES2015],
}); });
self.postMessage({key: evt.data.key, code: output.code, source: evt.data.source}); self.postMessage({key: evt.data.key, code: output.code, source: evt.data.source});