js-noise/karma.conf.cjs

60 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-11-13 09:39:26 -04:00
process.env.CHROME_BIN = require("puppeteer").executablePath();
const os = require("os");
const path = require("path");
2023-02-02 00:24:47 +01:00
2023-02-02 00:31:20 +01:00
const { nodeResolve } = require("@rollup/plugin-node-resolve");
const commonjs = require("@rollup/plugin-commonjs");
const json = require("@rollup/plugin-json");
2023-02-02 00:41:04 +01:00
const output = {
path: path.join(os.tmpdir(), "_karma_webpack_") + Math.floor(Math.random() * 1000000),
};
2023-02-02 00:31:20 +01:00
const rollupConfig = {
input: {
2023-02-02 00:41:04 +01:00
index: `${output.path}/dist/index.js`,
2023-02-02 00:31:20 +01:00
},
output: {
dir: "bundle",
format: "esm",
},
plugins: [
commonjs(),
json(),
nodeResolve({
browser: true,
preferBuiltins: false,
extensions: [".js", ".ts"],
}),
],
};
2022-11-13 09:39:26 -04:00
module.exports = function (config) {
config.set({
2023-02-02 00:36:09 +01:00
frameworks: ["mocha"],
2022-11-13 09:39:26 -04:00
preprocessors: {
2023-02-02 00:21:38 +01:00
"**/*.ts": ["rollup"],
2022-11-13 09:39:26 -04:00
},
files: [
"src/**/*.spec.ts",
"src/**/*.ts",
{
pattern: `${output.path}/**/*`,
watched: false,
},
],
envPreprocessor: ["CI"],
reporters: ["progress"],
browsers: ["ChromeHeadless"],
singleRun: true,
client: {
mocha: {
timeout: 6000, // Default is 2s
},
},
2023-02-02 00:41:04 +01:00
rollupPreprocessor: rollupConfig,
2022-11-13 09:39:26 -04:00
});
};