Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 1 | // Copyright 2019 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 5 | // TODO(1011259): switch to true. |
Yang Guo | 4fd355c | 2019-09-19 10:59:03 +0200 | [diff] [blame] | 6 | let external_devtools_frontend = true; |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 7 | let node_modules_path = external_devtools_frontend |
| 8 | ? '' |
| 9 | : '../../../../third_party/devtools-node-modules/third_party/node_modules/'; |
| 10 | |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 11 | module.exports = function(config) { |
| 12 | const options = { |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 13 | basePath: '', |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 14 | |
Tim van der Lippe | b336f04 | 2019-11-07 15:54:25 +0000 | [diff] [blame] | 15 | files: [ |
| 16 | {pattern: 'front_end/**/*.js', included: false, served: true}, {pattern: 'test/unittests/**/*.ts', type: 'module'} |
| 17 | ], |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 18 | |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 19 | reporters: ['dots', 'coverage-istanbul'], |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 20 | |
| 21 | preprocessors: { |
Yang Guo | d584b90 | 2019-10-14 12:17:30 +0000 | [diff] [blame] | 22 | './test/unittests/**/*.ts': ['karma-typescript'], |
Al Muthanna Athamina | ce506bd | 2019-10-31 16:13:22 +0100 | [diff] [blame] | 23 | './front_end/common/*.js': ['karma-coverage-istanbul-instrumenter'], |
Al Muthanna Athamina | 7eee1a6 | 2019-11-08 15:01:07 +0100 | [diff] [blame] | 24 | './front_end/workspace/*.js': ['karma-coverage-istanbul-instrumenter'], |
| 25 | './front_end/ui/*.js': ['karma-coverage-istanbul-instrumenter'] |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 26 | }, |
| 27 | |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 28 | browsers: ['ChromeHeadless'], |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 29 | |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 30 | frameworks: ['mocha', 'chai', 'karma-typescript'], |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 31 | |
| 32 | karmaTypescriptConfig: { |
| 33 | compilerOptions: { |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 34 | target: 'esnext', |
| 35 | module: 'esnext', |
Tim van der Lippe | b336f04 | 2019-11-07 15:54:25 +0000 | [diff] [blame] | 36 | typeRoots: external_devtools_frontend ? undefined : [node_modules_path + '@types'], |
| 37 | lib: ['esnext', 'dom'] |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 38 | }, |
Tim van der Lippe | b336f04 | 2019-11-07 15:54:25 +0000 | [diff] [blame] | 39 | coverageOptions: {instrumentation: false}, |
| 40 | bundlerOptions: {resolve: {directories: [node_modules_path]}}, |
| 41 | exclude: ['scripts'] |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 42 | }, |
| 43 | |
| 44 | proxies: { |
| 45 | '/front_end': '/base/front_end', |
| 46 | }, |
| 47 | |
| 48 | plugins: [ |
Tim van der Lippe | b336f04 | 2019-11-07 15:54:25 +0000 | [diff] [blame] | 49 | 'karma-chrome-launcher', 'karma-mocha', 'karma-chai', 'karma-typescript', |
Yang Guo | 236072b | 2019-10-04 20:31:17 +0000 | [diff] [blame] | 50 | require(node_modules_path + 'karma-coverage-istanbul-instrumenter'), |
| 51 | require(node_modules_path + 'karma-coverage-istanbul-reporter') |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 52 | ], |
| 53 | |
Tim van der Lippe | b336f04 | 2019-11-07 15:54:25 +0000 | [diff] [blame] | 54 | coverageIstanbulInstrumenter: {esModules: true}, |
Paul Lewis | 4fd8f6e | 2019-09-30 15:05:45 +0000 | [diff] [blame] | 55 | |
Tim van der Lippe | b336f04 | 2019-11-07 15:54:25 +0000 | [diff] [blame] | 56 | coverageIstanbulReporter: {reports: ['text', 'html'], dir: 'karma-coverage'}, |
Paul Lewis | 4fd8f6e | 2019-09-30 15:05:45 +0000 | [diff] [blame] | 57 | |
Paul Lewis | e441d1d | 2019-09-16 14:40:20 +0000 | [diff] [blame] | 58 | singleRun: true |
| 59 | }; |
| 60 | |
| 61 | config.set(options); |
| 62 | }; |