js-noise/karma.conf.cjs

63 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");
const rollupConfig = {
input: {
index: "dist/index.js",
},
output: {
dir: "bundle",
format: "esm",
},
plugins: [
commonjs(),
json(),
nodeResolve({
browser: true,
preferBuiltins: false,
extensions: [".js", ".ts"],
}),
],
};
2022-11-13 09:39:26 -04:00
const output = {
2022-11-15 17:56:25 -04:00
path: path.join(os.tmpdir(), "_karma_webpack_") + Math.floor(Math.random() * 1000000),
2022-11-13 09:39:26 -04:00
};
module.exports = function (config) {
config.set({
2023-02-02 00:21:38 +01:00
frameworks: ["rollup", "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,
included: false,
served: true,
},
],
envPreprocessor: ["CI"],
reporters: ["progress"],
browsers: ["ChromeHeadless"],
singleRun: true,
client: {
mocha: {
timeout: 6000, // Default is 2s
},
},
2023-02-02 00:24:47 +01:00
rollupPreprocessor: { ...rollupConfig },
2022-11-13 09:39:26 -04:00
});
};