tsds-web-test-runner
Version:
Development stack for TypeScript libraries
92 lines • 3.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return createConfig;
}
});
var _devserveresbuild = require("@web/dev-server-esbuild");
var _devserverimportmaps = require("@web/dev-server-import-maps");
var _testrunnerplaywright = require("@web/test-runner-playwright");
var _webpackmerge = require("webpack-merge");
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function(key) {
_define_property(target, key, source[key]);
});
}
return target;
}
var options = {
concurrency: 1,
launchOptions: {
headless: true
}
};
function createConfig() {
var mergeConfig = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var config = {
browserStartTimeout: 600000,
testsStartTimeout: 600000,
staticLogging: true,
nodeResolve: true,
browsers: [
(0, _testrunnerplaywright.playwrightLauncher)(_object_spread({
product: 'chromium'
}, options)),
(0, _testrunnerplaywright.playwrightLauncher)(_object_spread({
product: 'firefox'
}, options)),
(0, _testrunnerplaywright.playwrightLauncher)(_object_spread({
product: 'webkit'
}, options))
],
plugins: [
(0, _devserverimportmaps.importMapsPlugin)({
inject: {
importMap: {
imports: {
assert: 'https://esm.sh/assert'
}
}
}
}),
(0, _devserveresbuild.esbuildPlugin)({
loaders: {
'.ts': 'ts',
'.tsx': 'tsx',
'.jsx': 'jsx',
'.cjs': 'js',
'.mjs': 'js'
},
jsxFactory: 'React.createElement',
jsxFragment: 'Fragment'
})
]
};
return (0, _webpackmerge.merge)(mergeConfig, config);
}
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }