diff --git a/.eslintrc b/.eslintrc index 884fef611290..9de08ca094fb 100644 --- a/.eslintrc +++ b/.eslintrc @@ -356,9 +356,7 @@ ".storybook/*.js", "tests/js/*.js", "tests/e2e/*.js", - "tests/e2e/config/*.js", - "assets/src/dashboard/karma-tests.cjs", - "assets/src/edit-story/karma-tests.cjs" + "tests/e2e/config/*.js" ], "extends": [ "plugin:node/recommended", diff --git a/assets/src/dashboard/karma-tests.cjs b/assets/src/dashboard/karma-tests.cjs deleted file mode 100644 index d33318ad8e4a..000000000000 --- a/assets/src/dashboard/karma-tests.cjs +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2020 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Collect all Karma tests together for the test webpack config. -const testsContext = require.context('.', true, /\.karma\.js$/); -testsContext.keys().forEach(testsContext); diff --git a/assets/src/edit-story/karma-tests.cjs b/assets/src/edit-story/karma-tests.cjs deleted file mode 100644 index d33318ad8e4a..000000000000 --- a/assets/src/edit-story/karma-tests.cjs +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2020 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Collect all Karma tests together for the test webpack config. -const testsContext = require.context('.', true, /\.karma\.js$/); -testsContext.keys().forEach(testsContext); diff --git a/karma-dashboard.config.cjs b/karma-dashboard.config.cjs index b9257dc81f79..cda0fc90b465 100644 --- a/karma-dashboard.config.cjs +++ b/karma-dashboard.config.cjs @@ -57,11 +57,11 @@ module.exports = function (config) { // Frameworks to use. // Available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['jasmine', 'karma-puppeteer-client'], + frameworks: ['jasmine', 'karma-puppeteer-client', 'webpack'], // list of files / patterns to load in the browser files: [ - { pattern: 'assets/src/dashboard/karma-tests.cjs', watched: false }, + { pattern: 'assets/src/dashboard/**/karma/**/*.js', watched: false }, { pattern: 'karma/fixture/init.js', watched: false }, { pattern: '__static__/**/*', @@ -79,7 +79,7 @@ module.exports = function (config) { // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { - 'assets/src/dashboard/karma-tests.cjs': ['webpack', 'sourcemap'], + 'assets/src/dashboard/**/karma/**/*.js': ['webpack', 'sourcemap'], }, proxies: { diff --git a/karma-edit-story.config.cjs b/karma-edit-story.config.cjs index 083996f92550..07f0cef442f0 100644 --- a/karma-edit-story.config.cjs +++ b/karma-edit-story.config.cjs @@ -57,11 +57,11 @@ module.exports = function (config) { // Frameworks to use. // Available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['jasmine', 'karma-puppeteer-client'], + frameworks: ['jasmine', 'karma-puppeteer-client', 'webpack'], // list of files / patterns to load in the browser files: [ - { pattern: 'assets/src/edit-story/karma-tests.cjs', watched: false }, + { pattern: 'assets/src/edit-story/**/karma/**/*.js', watched: false }, { pattern: 'karma/fixture/init.js', watched: false }, { pattern: '__static__/**/*', @@ -79,7 +79,7 @@ module.exports = function (config) { // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { - 'assets/src/edit-story/karma-tests.cjs': ['webpack', 'sourcemap'], + 'assets/src/edit-story/**/karma/**/*.js': ['webpack', 'sourcemap'], }, proxies: { diff --git a/package-lock.json b/package-lock.json index ee4d2a7ffc98..b171cbfdabfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22689,84 +22689,14 @@ } }, "karma-webpack": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz", - "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==", + "version": "5.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.0-alpha.5.tgz", + "integrity": "sha512-K+JmYbljzIK4tos98Wg1Z1unn1ymU0IF7o0U5CAAQzAORxzqI74YpjjrOp+7mfmR+2wfZxEogk3t0AKLa37EMw==", "dev": true, "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.1", - "schema-utils": "^1.0.0", - "source-map": "^0.7.3", - "webpack-dev-middleware": "^3.7.0" - }, - "dependencies": { - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - } - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "webpack-merge": "^4.1.5" } }, "keyv": { diff --git a/package.json b/package.json index f71e639e6a1c..cf85c61a76c7 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,7 @@ "karma-jasmine": "^4.0.1", "karma-sourcemap-loader": "^0.3.8", "karma-spec-reporter": "0.0.32", - "karma-webpack": "^4.0.2", + "karma-webpack": "^5.0.0-alpha.5", "lint-staged": "^10.5.3", "markdown-table": "^2.0.0", "markdownlint-cli": "^0.26.0", diff --git a/webpack.config.test.cjs b/webpack.config.test.cjs index 0e2559adc9c1..2f89a6e3b10f 100644 --- a/webpack.config.test.cjs +++ b/webpack.config.test.cjs @@ -36,7 +36,7 @@ function getConfig(group, { coverage = false } = {}) { ...webpackConfig, // Karma watches the test entry points, so we don't need to specify // them here. Webpack watches dependencies. - entry: null, + entry: undefined, mode: 'development', devtool: 'inline-source-map', output: {