diff --git a/karma.conf.cjs b/karma.conf.cjs index 2852c6faca..120da4a175 100644 --- a/karma.conf.cjs +++ b/karma.conf.cjs @@ -1,34 +1,49 @@ -process.env.CHROME_BIN = require("puppeteer").executablePath(); -const webpackConfig = require("./webpack.config.cjs"); -const webpack = require("webpack"); +process.env.CHROME_BIN = require('puppeteer').executablePath(); +const webpack = require('webpack'); -module.exports = function (config) { +module.exports = function(config) { config.set({ - frameworks: ["webpack", "mocha"], - files: ["src/lib/**/!(node).spec.ts"], + frameworks: ['webpack', 'mocha'], + files: ['src/lib/**/!(node).spec.ts'], preprocessors: { - "src/lib/**/!(node).spec.ts": ["webpack"], + 'src/lib/**/!(node).spec.ts': ['webpack'] }, - envPreprocessor: ["CI"], - reporters: ["progress"], - browsers: ["ChromeHeadless"], + envPreprocessor: ['CI'], + reporters: ['progress'], + browsers: ['ChromeHeadless'], singleRun: true, client: { mocha: { - timeout: 6000, // Default is 2s - }, + timeout: 6000 // Default is 2s + } }, webpack: { - mode: "production", - module: webpackConfig.module, + mode: 'production', + module: { + rules: [ + { + test: /\.(js|tsx?)$/, + use: 'ts-loader', + exclude: /(node_modules)|(node\.spec\.ts)/ + }, + { + test: /node\.spec\.ts$/, + use: 'ignore-loader' + } + ] + }, plugins: [ new webpack.DefinePlugin({ - "process.env.CI": process.env.CI || false, + 'process.env.CI': process.env.CI || false }), - ...webpackConfig.plugins, + new webpack.ProvidePlugin({ + process: 'process/browser.js' + }) ], - resolve: webpackConfig.resolve, - stats: { warnings: false }, - }, + resolve: { + extensions: ['.ts', '.js'] + }, + stats: { warnings: false } + } }); }; diff --git a/webpack.config.cjs b/webpack.config.cjs deleted file mode 100644 index 62b1cac614..0000000000 --- a/webpack.config.cjs +++ /dev/null @@ -1,50 +0,0 @@ -const webpack = require("webpack"); -const path = require("path"); - -module.exports = { - mode: "development", - entry: { - "js-waku": "./src/index.ts", - }, - devtool: "inline-source-map", - module: { - rules: [ - { - test: /\.(js|tsx?)$/, - use: "ts-loader", - exclude: /(node_modules)|(node\.spec\.ts)/, - }, - { - test: /node\.spec\.ts$/, - use: "ignore-loader", - }, - ], - }, - plugins: [ - new webpack.ProvidePlugin({ - process: "process/browser.js", - Buffer: ["buffer", "Buffer"], - }), - ], - resolve: { - extensions: [".ts", ".js"], - fallback: { - buffer: require.resolve("buffer/"), - crypto: false, - stream: require.resolve("stream-browserify"), - }, - }, - output: { - filename: "[name].js", - path: path.resolve(__dirname, "build/umd"), - library: "jswaku", - libraryTarget: "umd", - globalObject: "this", - }, - optimization: { - splitChunks: { - name: "vendors", - chunks: "all", - }, - }, -};