js-noise/karma.conf.cjs
2023-02-02 00:33:27 +01:00

62 lines
1.2 KiB
JavaScript

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