Closed eugenet8k closed 1 year ago
karma-webpack
3 is not compatible with webpack
4. The peerdependencies were incorrect in v3.0.0
, you should have a warning now.
We have release candidates of karma-webpack
4 which are available with npm i -D karma-webpack@next
. A full release should be out in the next few weeks. Let me know if you encounter the issue with the release candidate.
@matthieu-foucault thanks for the info! I will keep my eyes on this and try with upcoming v4
. (Also, yeah, it worked with v3.0.0
and I can't recall seeing a warning.)
@matthieu-foucault I'm having this issue with 4.0.0-rc.5. Any solutions?
@LilSebastian5000 have you got a small example that reproduces the issue?
I'm having this issue with 5.0.0-alpha.2
<--- Last few GCs --->
[56850:0x102801000] 283009 ms: Scavenge 1362.1 (1419.9) -> 1361.6 (1420.4) MB, 29.1 / 0.0 ms (average mu = 0.163, current mu = 0.104) allocation failure
[56850:0x102801000] 283033 ms: Scavenge 1362.4 (1420.4) -> 1362.3 (1421.9) MB, 16.3 / 0.0 ms (average mu = 0.163, current mu = 0.104) allocation failure
[56850:0x102801000] 283950 ms: Mark-sweep 1363.2 (1421.9) -> 1362.7 (1421.4) MB, 913.0 / 0.0 ms (average mu = 0.117, current mu = 0.065) allocation failure scavenge might not succeed
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x272a2e6dbe3d]
1: StubFrame [pc: 0x272a2e6847bb]
2: ConstructFrame [pc: 0x272a2e68d145]
Security context: 0x366e3729e6e1 <JSObject>
3: DoJoin(aka DoJoin) [0x366e37285e89] [native array.js:~87] [pc=0x272a2f76d22d](this=0x366ee9e026f1 <undefined>,l=0x366e93142181 <JSArray[10]>,m=10,A=0x366ee9e028c9 <true>,w=0x366e555afc91 <String[1]: />,v=0x366ee9e029a1 <false>)
4: Join(aka Join) [0x366e37285ed9] [nati...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x10003b125 node::Abort() [/usr/local/bin/node]
2: 0x10003b32f node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
3: 0x1001a8e85 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
4: 0x1005742a2 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
5: 0x100576d75 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/usr/local/bin/node]
6: 0x100572c1f v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
7: 0x100570df4 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
8: 0x10057d68c v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
9: 0x10057d70f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
10: 0x10054d054 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/usr/local/bin/node]
11: 0x1007d4f24 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/local/bin/node]
12: 0x272a2e6dbe3d
13: 0x272a2e6847bb
My config, logged from within karma-webpack:
{ mode: 'development',
output:
{ filename: '[name].js',
path:
'/var/folders/yf/snctl2s92dbdb9d3cp87kyhc0000gn/T/_karma_webpack_' },
stats:
{ modules: false,
colors: true,
assets: false,
builtAt: false,
cached: false,
cachedAssets: false,
children: false,
chunkModules: false,
chunks: false,
entrypoints: false,
errorDetails: false,
excludeAssets: [Function: excludeAssets],
hash: false,
reasons: false,
source: false,
timings: true,
version: false,
warnings: false },
watch: true,
optimization:
{ runtimeChunk: 'single',
splitChunks:
{ chunks: 'all',
minSize: 0,
cacheGroups:
{ commons: { name: 'commons', chunks: 'all', minChunks: 1 } } },
concatenateModules: false,
minimizer: [] },
plugins:
[ KarmaSyncPlugin {
karmaEmitter:
Server {
_events:
[Object: null prototype] { load_error: [Function], exit: [ [Function], [Function] ] },
_eventsCount: 2,
_maxListeners: undefined,
log: Logger { category: 'karma-server', context: {} },
loadErrors: [],
_injector:
Injector {
_providers:
[Object: null prototype] {
helper:
[ [Function: value],
{ browserFullNameToShort: [Function],
isDefined: [Function],
mmPatternWeight: [Function],
mmComparePatternWeights: [Function],
isFunction: [Function: isFunction],
isString: [Function: isString],
isObject: [Function: isObject],
isArray: [Function: isArray],
isNumber: [Function: isNumber],
isUrlAbsolute: [Function],
camelToSnake: [Function],
ucFirst: [Function],
dashToCamel: [Function],
arrayRemove: [Function],
merge: [Function],
formatTimeInterval: [Function],
normalizeWinPath: [Function: identity],
mkdirIfNotExists: [Function],
defer: [Function],
saveOriginalArgs: [Function],
restoreOriginalArgs: [Function] },
'value' ],
logger:
[ [Function: value],
{ create: [Function: create],
setup: [Function: setup],
setupFromConfig: [Function: setupFromConfig],
_rebindLog4js4testing: [Function] },
'value' ],
done: [ [Function: value], [Function], 'value' ],
emitter: [ [Function: value], [Circular], 'value' ],
server: [ [Function: value], [Circular], 'value' ],
watcher:
[ [Function: value],
{ [Function: watch]
'$inject':
[ 'config.files',
'config.exclude',
'fileList',
'config.usePolling',
'emitter' ] },
'value' ],
launcher:
[ [Function: instantiate],
{ [Function: Launcher]
'$inject': [ 'server', 'emitter', 'injector' ],
generateId: [Function] },
'type' ],
config:
[ [Function: value],
Config {
LOG_DISABLE: 'OFF',
LOG_ERROR: 'ERROR',
LOG_WARN: 'WARN',
LOG_INFO: 'INFO',
LOG_DEBUG: 'DEBUG',
frameworks:
[ 'webpack', 'source-map-support', 'jasmine-jquery', 'jasmine' ],
protocol: 'http:',
port: 9876,
listenAddress: '0.0.0.0',
hostname: 'localhost',
httpsServerConfig: {},
basePath: '/project/scripts/build',
files:
[ Pattern {
pattern:
'/project/scripts/build/legacyVendors.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/scripts/jasmine.test.helper.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/src/cc@(App|User)/**/*.@(spec|tests).js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 1, 1, 2, 0, 0 ],
type: undefined } ],
browserConsoleLogOptions: { level: 'debug', format: '%b %T: %m', terminal: true },
customContextFile: null,
customDebugFile: null,
customClientContextFile: null,
exclude:
[ '/project/scripts/build/karma.config' ],
logLevel: 'ERROR',
colors: true,
autoWatch: true,
autoWatchBatchDelay: 250,
restartOnFileChange: false,
usePolling: false,
reporters: [ 'dots', 'notify', 'coverage' ],
singleRun: false,
browsers: [ 'ChromeHeadlessNoSandbox' ],
captureTimeout: 60000,
proxies: {},
proxyValidateSSL: true,
preprocessors:
[Object: null prototype] {
'/project/scripts/jasmine.test.helper.js': [ 'webpack' ],
'/project/src/cc@(App|User)/**/*.@(spec|tests).js': [ 'webpack' ],
'/project/scripts/build/**/*': [ 'concat' ],
'/project/scripts/build/**/!(*.spec|*.tests).js': [ 'coverage' ] },
urlRoot: '/',
upstreamProxy: undefined,
reportSlowerThan: 0,
loggers:
[ { type: 'console',
layout: { type: 'pattern', pattern: '%[%d{DATE}:%p [%c]: %]%m' } } ],
transports: [ 'polling', 'websocket' ],
forceJSONP: false,
plugins:
[ 'karma-*',
[Object: null prototype] {
'launcher:ChromeHeadlessNoSandbox': [ 'factory', [Function] ] } ],
client:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
defaultClient:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
browserDisconnectTimeout: 2000,
browserDisconnectTolerance: 0,
browserNoActivityTimeout: 120000,
processKillTimeout: 2000,
concurrency: Infinity,
failOnEmptyTestSuite: true,
retryLimit: 2,
detached: false,
crossOriginAttribute: true,
browserSocketTimeout: 20000,
cmd: 'start',
configFile:
'/project/scripts/build/karma.config',
customLaunchers:
{ ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: [ '--no-sandbox' ] } },
concat:
{ footer: '',
header: '',
outputs:
[ { file: 'legacyVendors.js',
inputs:
[ '/project/node_modules/jquery/dist/jquery.js',
'/project/app/webroot/lib/ext/ext-all.js',
'/project/app/webroot/lib/deft/deft.js',
'/project/app/webroot/lib/cmon/cmon-fixes.js',
'/project/app/webroot/lib/cmon/cmon-event-handler.js',
'/project/app/webroot/lib/cmon/cmon-common-messages.js',
'/project/app/webroot/lib/hashchange.js',
'/project/node_modules/prettycron/prettycron.js',
'/project/app/webroot/lib/cmon/cmon-1.2.9.js',
'/project/app/webroot/lib/google-analytics/google-analytics.js',
'/project/node_modules/lodash/lodash.js',
'/project/node_modules/moment/moment.js',
'/project/node_modules/moment-timezone/builds/moment-timezone-with-data.js',
'/project/app/webroot/lib/tour/jquery.cookie.js',
'/project/app/webroot/lib/ace-editor/ace.js',
'/project/app/webroot/lib/ace-editor/mode-apacheconf.js',
'/project/app/webroot/lib/ace-editor/mode-javascript.js',
'/project/node_modules/angular/angular.js',
'/project/app/webroot/lib/tour/google-code-prettify/prettify.js',
'/project/app/webroot/lib/tour/bootstrap-alert.js',
'/project/app/webroot/lib/tour/bootstrap-tour.js',
'/project/app/webroot/lib/bootstrap/js/typeahead.bundle.js',
'/project/app/webroot/lib/bootstrap/tags/bootstrap-tagsinput.min.js',
'/project/app/webroot/lib/custom/splitmenubuttons.js',
'/project/app/webroot/lib/vis/vis.js',
'/project/app/webroot/lib/highlighttextarea/jquery.highlighttextarea.js',
'/project/app/webroot/lib/types/Date.js',
'/project/app/webroot/lib/types/String.js',
'/project/app/webroot/lib/types/Array.js',
'/project/app/webroot/lib/crontab/CronObject.js',
'/project/node_modules/highcharts/highcharts.js',
'/project/app/webroot/lib/daterangepicker.js',
'/project/app/webroot/lib/highcharts/js/export-csv.js' ] } ] },
coverageReporter:
{ check:
{ global: { branches: 30, functions: 48, lines: 60, statements: 60 } },
reporters:
[ { type: 'json',
dir: '/project/reports/coverage',
subdir: '.' },
{ type: 'text-summary' } ] },
notifyReporter: { reportEachFailure: true, reportSuccess: false },
webpack:
{ devtool: 'inline-source-map',
entry: {},
mode: 'development',
module:
{ rules:
[ { test: /\.(c|sa|sc)ss$/, use: [ 'ignore-loader' ] },
{ test: /\.html$/,
use:
[ { loader: 'ngtemplate-loader',
options:
{ exportAsEs6Default: true,
relativeTo: '/project/src',
requireAngular: true } },
{ loader: 'html-loader',
options: { attrs: [], minifyCSS: false, minimize: false } } ] },
{ test: /\.json$/,
type: 'javascript/auto',
use: [ 'json5-loader' ] },
{ exclude: /node_modules|app\/webroot|\.(spec|tests)\.js$/,
test: /\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] },
{ exclude: /node_modules/,
test: /\.(spec|tests)\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] } ] },
optimization:
{ concatenateModules: false,
minimizer: [],
splitChunks: { chunks: 'all' } },
output: {},
plugins: [],
resolve:
{ alias:
{ ccApp: '/project/src/ccApp',
ccDesignSystem: '/project/src/ccDesignSystem',
ccUser: '/project/src/ccUser',
extCss:
'/project/app/Assets/stylesheets',
node_modules: '/project/node_modules',
webroot: '/project/app/webroot' } },
stats:
{ assets: false,
builtAt: false,
cached: false,
cachedAssets: false,
children: false,
chunkModules: false,
chunks: false,
entrypoints: false,
errorDetails: false,
excludeAssets: [Function: excludeAssets],
hash: false,
modules: false,
reasons: false,
source: false,
timings: true,
version: false,
warnings: false },
watch: true },
webpackMiddleware: { logLevel: 'error', stats: 'errors-only' } },
'value' ],
preprocess:
[ [Function: invoke],
{ [Function: createPreprocessor]
'$inject': [ 'config.preprocessors', 'config.basePath', 'injector' ] },
'factory' ],
fileList:
[ [Function: invoke],
{ [Function] '$inject': [ 'config', 'emitter', 'preprocess' ] },
'factory' ],
webServer:
[ [Function: invoke],
{ [Function: createWebServer] '$inject': [ 'injector', 'config' ] },
'factory' ],
serveFile:
[ [Function: invoke],
{ [Function: createServeFile] '$inject': [ 'config' ] },
'factory' ],
serveStaticFile:
[ [Function: invoke],
{ [Function: createServeStaticFile] '$inject': [ 'config' ] },
'factory' ],
filesPromise:
[ [Function: invoke], [Function: createFilesPromise], 'factory' ],
readFilePromise:
[ [Function: invoke],
{ [Function: createReadFilePromise] '$inject': [] },
'factory' ],
socketServer:
[ [Function: invoke],
[Function: createSocketIoServer],
'factory' ],
executor: [ [Function: invoke], [Function], 'factory' ],
customFileHandlers: [ [Function: value], [], 'value' ],
customScriptTypes: [ [Function: value], [], 'value' ],
reporter:
[ [Function: invoke],
{ [Function: createReporters]
'$inject': [ 'config.reporters', 'config', 'emitter', 'injector' ] },
'factory' ],
capturedBrowsers: [ [Function: invoke], [Function], 'factory' ],
args: [ [Function: value], {}, 'value' ],
timer:
[ [Function: value],
{ setTimeout: [Function: setTimeout],
clearTimeout: [Function: clearTimeout] },
'value' ],
'launcher:Chrome':
[ [Function: instantiate],
{ [Function: ChromeBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromeHeadless':
[ [Function: instantiate],
{ [Function: ChromeHeadlessBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromeCanary':
[ [Function: instantiate],
{ [Function: ChromeCanaryBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromeCanaryHeadless':
[ [Function: instantiate],
{ [Function: ChromeCanaryHeadlessBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:Chromium':
[ [Function: instantiate],
{ [Function: ChromiumBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromiumHeadless':
[ [Function: instantiate],
[Function: ChromiumHeadlessBrowser],
'type' ],
'launcher:Dartium':
[ [Function: instantiate],
{ [Function: DartiumBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
test: [ undefined, undefined, undefined ],
'preprocessor:concat':
[ [Function: invoke],
{ [Function: initPreprocessor] '$inject': [ 'config.basePath', 'config.concat', 'logger' ] },
'factory' ],
'preprocessor:coverage':
[ [Function: invoke],
{ [Function: createCoveragePreprocessor]
'$inject':
[ 'logger',
'helper',
'config.basePath',
'config.reporters',
'config.coverageReporter' ] },
'factory' ],
'reporter:coverage':
[ [Function: instantiate],
{ [Function: CoverageReporter] '$inject': [ 'config', 'helper', 'logger', 'emitter' ] },
'type' ],
'framework:jasmine':
[ [Function: invoke],
{ [Function: initJasmine] '$inject': [ 'config.files' ] },
'factory' ],
'framework:jasmine-jquery':
[ [Function: invoke],
{ [Function: initJasmine_jquery] '$inject': [ 'config.files' ] },
'factory' ],
'reporter:notify':
[ [Function: instantiate],
{ [Function: NotifyReporter]
'$inject':
[ 'baseReporterDecorator',
'helper',
'logger',
'config',
'formatError' ] },
'type' ],
'framework:source-map-support':
[ [Function: invoke],
{ [Function: init] '$inject': [ 'config.files' ] },
'factory' ],
'preprocessor:webpack':
[ [Function: invoke],
{ [Function: preprocessorFactory] '$inject': [ 'config', 'emitter' ] },
'factory' ],
'framework:webpack':
[ [Function: invoke],
{ [Function: registerExtraWebpackFiles] '$inject': [ 'config' ] },
'factory' ],
registerExtraWebpackFiles: [ undefined, undefined, undefined ],
configToWebpackEntries: [ undefined, undefined, undefined ],
'launcher:ChromeHeadlessNoSandbox': [ [Function: invoke], [Function], 'factory' ] },
_instances:
[Object: null prototype] {
injector: [Circular],
config:
Config {
LOG_DISABLE: 'OFF',
LOG_ERROR: 'ERROR',
LOG_WARN: 'WARN',
LOG_INFO: 'INFO',
LOG_DEBUG: 'DEBUG',
frameworks:
[ 'webpack', 'source-map-support', 'jasmine-jquery', 'jasmine' ],
protocol: 'http:',
port: 9876,
listenAddress: '0.0.0.0',
hostname: 'localhost',
httpsServerConfig: {},
basePath: '/project/scripts/build',
files:
[ Pattern {
pattern:
'/project/scripts/build/legacyVendors.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/scripts/jasmine.test.helper.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/src/cc@(App|User)/**/*.@(spec|tests).js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 1, 1, 2, 0, 0 ],
type: undefined } ],
browserConsoleLogOptions: { level: 'debug', format: '%b %T: %m', terminal: true },
customContextFile: null,
customDebugFile: null,
customClientContextFile: null,
exclude:
[ '/project/scripts/build/karma.config' ],
logLevel: 'ERROR',
colors: true,
autoWatch: true,
autoWatchBatchDelay: 250,
restartOnFileChange: false,
usePolling: false,
reporters: [ 'dots', 'notify', 'coverage' ],
singleRun: false,
browsers: [ 'ChromeHeadlessNoSandbox' ],
captureTimeout: 60000,
proxies: {},
proxyValidateSSL: true,
preprocessors:
[Object: null prototype] {
'/project/scripts/jasmine.test.helper.js': [ 'webpack' ],
'/project/src/cc@(App|User)/**/*.@(spec|tests).js': [ 'webpack' ],
'/project/scripts/build/**/*': [ 'concat' ],
'/project/scripts/build/**/!(*.spec|*.tests).js': [ 'coverage' ] },
urlRoot: '/',
upstreamProxy: undefined,
reportSlowerThan: 0,
loggers:
[ { type: 'console',
layout: { type: 'pattern', pattern: '%[%d{DATE}:%p [%c]: %]%m' } } ],
transports: [ 'polling', 'websocket' ],
forceJSONP: false,
plugins:
[ 'karma-*',
[Object: null prototype] {
'launcher:ChromeHeadlessNoSandbox': [ 'factory', [Function] ] } ],
client:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
defaultClient:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
browserDisconnectTimeout: 2000,
browserDisconnectTolerance: 0,
browserNoActivityTimeout: 120000,
processKillTimeout: 2000,
concurrency: Infinity,
failOnEmptyTestSuite: true,
retryLimit: 2,
detached: false,
crossOriginAttribute: true,
browserSocketTimeout: 20000,
cmd: 'start',
configFile:
'/project/scripts/build/karma.config',
customLaunchers:
{ ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: [ '--no-sandbox' ] } },
concat:
{ footer: '',
header: '',
outputs:
[ { file: 'legacyVendors.js',
inputs:
[ '/project/node_modules/jquery/dist/jquery.js',
'/project/app/webroot/lib/ext/ext-all.js',
'/project/app/webroot/lib/deft/deft.js',
'/project/app/webroot/lib/cmon/cmon-fixes.js',
'/project/app/webroot/lib/cmon/cmon-event-handler.js',
'/project/app/webroot/lib/cmon/cmon-common-messages.js',
'/project/app/webroot/lib/hashchange.js',
'/project/node_modules/prettycron/prettycron.js',
'/project/app/webroot/lib/cmon/cmon-1.2.9.js',
'/project/app/webroot/lib/google-analytics/google-analytics.js',
'/project/node_modules/lodash/lodash.js',
'/project/node_modules/moment/moment.js',
'/project/node_modules/moment-timezone/builds/moment-timezone-with-data.js',
'/project/app/webroot/lib/tour/jquery.cookie.js',
'/project/app/webroot/lib/ace-editor/ace.js',
'/project/app/webroot/lib/ace-editor/mode-apacheconf.js',
'/project/app/webroot/lib/ace-editor/mode-javascript.js',
'/project/node_modules/angular/angular.js',
'/project/app/webroot/lib/tour/google-code-prettify/prettify.js',
'/project/app/webroot/lib/tour/bootstrap-alert.js',
'/project/app/webroot/lib/tour/bootstrap-tour.js',
'/project/app/webroot/lib/bootstrap/js/typeahead.bundle.js',
'/project/app/webroot/lib/bootstrap/tags/bootstrap-tagsinput.min.js',
'/project/app/webroot/lib/custom/splitmenubuttons.js',
'/project/app/webroot/lib/vis/vis.js',
'/project/app/webroot/lib/highlighttextarea/jquery.highlighttextarea.js',
'/project/app/webroot/lib/types/Date.js',
'/project/app/webroot/lib/types/String.js',
'/project/app/webroot/lib/types/Array.js',
'/project/app/webroot/lib/crontab/CronObject.js',
'/project/node_modules/highcharts/highcharts.js',
'/project/app/webroot/lib/daterangepicker.js',
'/project/app/webroot/lib/highcharts/js/export-csv.js' ] } ] },
coverageReporter:
{ check:
{ global: { branches: 30, functions: 48, lines: 60, statements: 60 } },
reporters:
[ { type: 'json',
dir: '/project/reports/coverage',
subdir: '.' },
{ type: 'text-summary' } ] },
notifyReporter: { reportEachFailure: true, reportSuccess: false },
webpack:
{ devtool: 'inline-source-map',
entry: {},
mode: 'development',
module:
{ rules:
[ { test: /\.(c|sa|sc)ss$/, use: [ 'ignore-loader' ] },
{ test: /\.html$/,
use:
[ { loader: 'ngtemplate-loader',
options:
{ exportAsEs6Default: true,
relativeTo: '/project/src',
requireAngular: true } },
{ loader: 'html-loader',
options: { attrs: [], minifyCSS: false, minimize: false } } ] },
{ test: /\.json$/,
type: 'javascript/auto',
use: [ 'json5-loader' ] },
{ exclude: /node_modules|app\/webroot|\.(spec|tests)\.js$/,
test: /\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] },
{ exclude: /node_modules/,
test: /\.(spec|tests)\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] } ] },
optimization:
{ concatenateModules: false,
minimizer: [],
splitChunks: { chunks: 'all' } },
output: {},
plugins: [],
resolve:
{ alias:
{ ccApp: '/project/src/ccApp',
ccDesignSystem: '/project/src/ccDesignSystem',
ccUser: '/project/src/ccUser',
extCss:
'/project/app/Assets/stylesheets',
node_modules: '/project/node_modules',
webroot: '/project/app/webroot' } },
stats:
{ assets: false,
builtAt: false,
cached: false,
cachedAssets: false,
children: false,
chunkModules: false,
chunks: false,
entrypoints: false,
errorDetails: false,
excludeAssets: [Function: excludeAssets],
hash: false,
modules: false,
reasons: false,
source: false,
timings: true,
version: false,
warnings: false },
watch: true },
webpackMiddleware: { logLevel: 'error', stats: 'errors-only' } },
server: [Circular],
emitter: [Circular],
launcher:
Launcher {
_browsers: [],
launchSingle:
{ [Function]
'$inject':
[ 'config.protocol',
'config.hostname',
'config.port',
'config.urlRoot',
'config.upstreamProxy',
'config.processKillTimeout' ] },
launch:
{ [Function]
'$inject':
[ 'config.browsers',
'config.concurrency',
'config.processKillTimeout' ] },
kill: [Function],
restart: [Function],
killAll: [Function],
areAllCaptured: [Function],
markCaptured: [Function] },
logger:
{ create: [Function: create],
setup: [Function: setup],
setupFromConfig: [Function: setupFromConfig],
_rebindLog4js4testing: [Function] },
helper:
{ browserFullNameToShort: [Function],
isDefined: [Function],
mmPatternWeight: [Function],
mmComparePatternWeights: [Function],
isFunction: [Function: isFunction],
isString: [Function: isString],
isObject: [Function: isObject],
isArray: [Function: isArray],
isNumber: [Function: isNumber],
isUrlAbsolute: [Function],
camelToSnake: [Function],
ucFirst: [Function],
dashToCamel: [Function],
arrayRemove: [Function],
merge: [Function],
formatTimeInterval: [Function],
normalizeWinPath: [Function: identity],
mkdirIfNotExists: [Function],
defer: [Function],
saveOriginalArgs: [Function],
restoreOriginalArgs: [Function] },
'preprocessor:coverage': [Function],
'preprocessor:concat': [Function] },
get: [Function: get],
invoke: [Function: invoke],
instantiate: [Function: instantiate],
createChild: [Function: createChild] },
_boundServer:
Server {
_events:
[Object: null prototype] { error: [Function], listening: [Function] },
_eventsCount: 2,
_maxListeners: undefined,
_connections: 0,
_handle:
TCP {
reading: false,
onread: null,
onconnection: [Function: onconnection],
[Symbol(owner)]: [Circular] },
_usingWorkers: false,
_workers: [],
_unref: false,
allowHalfOpen: false,
pauseOnConnect: false,
_connectionKey: '4:0.0.0.0:9876',
[Symbol(asyncId)]: 15 } },
controller:
KarmaWebpackController {
isActive: false,
bundlesContent: {},
hasBeenBuiltAtLeastOnce: false,
__webpackOptions: [Circular],
__karmaEmitter:
Server {
_events:
[Object: null prototype] { load_error: [Function], exit: [ [Function], [Function] ] },
_eventsCount: 2,
_maxListeners: undefined,
log: Logger { category: 'karma-server', context: {} },
loadErrors: [],
_injector:
Injector {
_providers:
[Object: null prototype] {
helper:
[ [Function: value],
{ browserFullNameToShort: [Function],
isDefined: [Function],
mmPatternWeight: [Function],
mmComparePatternWeights: [Function],
isFunction: [Function: isFunction],
isString: [Function: isString],
isObject: [Function: isObject],
isArray: [Function: isArray],
isNumber: [Function: isNumber],
isUrlAbsolute: [Function],
camelToSnake: [Function],
ucFirst: [Function],
dashToCamel: [Function],
arrayRemove: [Function],
merge: [Function],
formatTimeInterval: [Function],
normalizeWinPath: [Function: identity],
mkdirIfNotExists: [Function],
defer: [Function],
saveOriginalArgs: [Function],
restoreOriginalArgs: [Function] },
'value' ],
logger:
[ [Function: value],
{ create: [Function: create],
setup: [Function: setup],
setupFromConfig: [Function: setupFromConfig],
_rebindLog4js4testing: [Function] },
'value' ],
done: [ [Function: value], [Function], 'value' ],
emitter: [ [Function: value], [Circular], 'value' ],
server: [ [Function: value], [Circular], 'value' ],
watcher:
[ [Function: value],
{ [Function: watch]
'$inject':
[ 'config.files',
'config.exclude',
'fileList',
'config.usePolling',
'emitter' ] },
'value' ],
launcher:
[ [Function: instantiate],
{ [Function: Launcher]
'$inject': [ 'server', 'emitter', 'injector' ],
generateId: [Function] },
'type' ],
config:
[ [Function: value],
Config {
LOG_DISABLE: 'OFF',
LOG_ERROR: 'ERROR',
LOG_WARN: 'WARN',
LOG_INFO: 'INFO',
LOG_DEBUG: 'DEBUG',
frameworks:
[ 'webpack', 'source-map-support', 'jasmine-jquery', 'jasmine' ],
protocol: 'http:',
port: 9876,
listenAddress: '0.0.0.0',
hostname: 'localhost',
httpsServerConfig: {},
basePath: '/project/scripts/build',
files:
[ Pattern {
pattern:
'/project/scripts/build/legacyVendors.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/scripts/jasmine.test.helper.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/src/cc@(App|User)/**/*.@(spec|tests).js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 1, 1, 2, 0, 0 ],
type: undefined } ],
browserConsoleLogOptions: { level: 'debug', format: '%b %T: %m', terminal: true },
customContextFile: null,
customDebugFile: null,
customClientContextFile: null,
exclude:
[ '/project/scripts/build/karma.config' ],
logLevel: 'ERROR',
colors: true,
autoWatch: true,
autoWatchBatchDelay: 250,
restartOnFileChange: false,
usePolling: false,
reporters: [ 'dots', 'notify', 'coverage' ],
singleRun: false,
browsers: [ 'ChromeHeadlessNoSandbox' ],
captureTimeout: 60000,
proxies: {},
proxyValidateSSL: true,
preprocessors:
[Object: null prototype] {
'/project/scripts/jasmine.test.helper.js': [ 'webpack' ],
'/project/src/cc@(App|User)/**/*.@(spec|tests).js': [ 'webpack' ],
'/project/scripts/build/**/*': [ 'concat' ],
'/project/scripts/build/**/!(*.spec|*.tests).js': [ 'coverage' ] },
urlRoot: '/',
upstreamProxy: undefined,
reportSlowerThan: 0,
loggers:
[ { type: 'console',
layout: { type: 'pattern', pattern: '%[%d{DATE}:%p [%c]: %]%m' } } ],
transports: [ 'polling', 'websocket' ],
forceJSONP: false,
plugins:
[ 'karma-*',
[Object: null prototype] {
'launcher:ChromeHeadlessNoSandbox': [ 'factory', [Function] ] } ],
client:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
defaultClient:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
browserDisconnectTimeout: 2000,
browserDisconnectTolerance: 0,
browserNoActivityTimeout: 120000,
processKillTimeout: 2000,
concurrency: Infinity,
failOnEmptyTestSuite: true,
retryLimit: 2,
detached: false,
crossOriginAttribute: true,
browserSocketTimeout: 20000,
cmd: 'start',
configFile:
'/project/scripts/build/karma.config',
customLaunchers:
{ ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: [ '--no-sandbox' ] } },
concat:
{ footer: '',
header: '',
outputs:
[ { file: 'legacyVendors.js',
inputs:
[ '/project/node_modules/jquery/dist/jquery.js',
'/project/app/webroot/lib/ext/ext-all.js',
'/project/app/webroot/lib/deft/deft.js',
'/project/app/webroot/lib/cmon/cmon-fixes.js',
'/project/app/webroot/lib/cmon/cmon-event-handler.js',
'/project/app/webroot/lib/cmon/cmon-common-messages.js',
'/project/app/webroot/lib/hashchange.js',
'/project/node_modules/prettycron/prettycron.js',
'/project/app/webroot/lib/cmon/cmon-1.2.9.js',
'/project/app/webroot/lib/google-analytics/google-analytics.js',
'/project/node_modules/lodash/lodash.js',
'/project/node_modules/moment/moment.js',
'/project/node_modules/moment-timezone/builds/moment-timezone-with-data.js',
'/project/app/webroot/lib/tour/jquery.cookie.js',
'/project/app/webroot/lib/ace-editor/ace.js',
'/project/app/webroot/lib/ace-editor/mode-apacheconf.js',
'/project/app/webroot/lib/ace-editor/mode-javascript.js',
'/project/node_modules/angular/angular.js',
'/project/app/webroot/lib/tour/google-code-prettify/prettify.js',
'/project/app/webroot/lib/tour/bootstrap-alert.js',
'/project/app/webroot/lib/tour/bootstrap-tour.js',
'/project/app/webroot/lib/bootstrap/js/typeahead.bundle.js',
'/project/app/webroot/lib/bootstrap/tags/bootstrap-tagsinput.min.js',
'/project/app/webroot/lib/custom/splitmenubuttons.js',
'/project/app/webroot/lib/vis/vis.js',
'/project/app/webroot/lib/highlighttextarea/jquery.highlighttextarea.js',
'/project/app/webroot/lib/types/Date.js',
'/project/app/webroot/lib/types/String.js',
'/project/app/webroot/lib/types/Array.js',
'/project/app/webroot/lib/crontab/CronObject.js',
'/project/node_modules/highcharts/highcharts.js',
'/project/app/webroot/lib/daterangepicker.js',
'/project/app/webroot/lib/highcharts/js/export-csv.js' ] } ] },
coverageReporter:
{ check:
{ global: { branches: 30, functions: 48, lines: 60, statements: 60 } },
reporters:
[ { type: 'json',
dir: '/project/reports/coverage',
subdir: '.' },
{ type: 'text-summary' } ] },
notifyReporter: { reportEachFailure: true, reportSuccess: false },
webpack:
{ devtool: 'inline-source-map',
entry: {},
mode: 'development',
module:
{ rules:
[ { test: /\.(c|sa|sc)ss$/, use: [ 'ignore-loader' ] },
{ test: /\.html$/,
use:
[ { loader: 'ngtemplate-loader',
options:
{ exportAsEs6Default: true,
relativeTo: '/project/src',
requireAngular: true } },
{ loader: 'html-loader',
options: { attrs: [], minifyCSS: false, minimize: false } } ] },
{ test: /\.json$/,
type: 'javascript/auto',
use: [ 'json5-loader' ] },
{ exclude: /node_modules|app\/webroot|\.(spec|tests)\.js$/,
test: /\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] },
{ exclude: /node_modules/,
test: /\.(spec|tests)\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] } ] },
optimization:
{ concatenateModules: false,
minimizer: [],
splitChunks: { chunks: 'all' } },
output: {},
plugins: [],
resolve:
{ alias:
{ ccApp: '/project/src/ccApp',
ccDesignSystem: '/project/src/ccDesignSystem',
ccUser: '/project/src/ccUser',
extCss:
'/project/app/Assets/stylesheets',
node_modules: '/project/node_modules',
webroot: '/project/app/webroot' } },
stats:
{ assets: false,
builtAt: false,
cached: false,
cachedAssets: false,
children: false,
chunkModules: false,
chunks: false,
entrypoints: false,
errorDetails: false,
excludeAssets: [Function: excludeAssets],
hash: false,
modules: false,
reasons: false,
source: false,
timings: true,
version: false,
warnings: false },
watch: true },
webpackMiddleware: { logLevel: 'error', stats: 'errors-only' } },
'value' ],
preprocess:
[ [Function: invoke],
{ [Function: createPreprocessor]
'$inject': [ 'config.preprocessors', 'config.basePath', 'injector' ] },
'factory' ],
fileList:
[ [Function: invoke],
{ [Function] '$inject': [ 'config', 'emitter', 'preprocess' ] },
'factory' ],
webServer:
[ [Function: invoke],
{ [Function: createWebServer] '$inject': [ 'injector', 'config' ] },
'factory' ],
serveFile:
[ [Function: invoke],
{ [Function: createServeFile] '$inject': [ 'config' ] },
'factory' ],
serveStaticFile:
[ [Function: invoke],
{ [Function: createServeStaticFile] '$inject': [ 'config' ] },
'factory' ],
filesPromise:
[ [Function: invoke], [Function: createFilesPromise], 'factory' ],
readFilePromise:
[ [Function: invoke],
{ [Function: createReadFilePromise] '$inject': [] },
'factory' ],
socketServer:
[ [Function: invoke],
[Function: createSocketIoServer],
'factory' ],
executor: [ [Function: invoke], [Function], 'factory' ],
customFileHandlers: [ [Function: value], [], 'value' ],
customScriptTypes: [ [Function: value], [], 'value' ],
reporter:
[ [Function: invoke],
{ [Function: createReporters]
'$inject': [ 'config.reporters', 'config', 'emitter', 'injector' ] },
'factory' ],
capturedBrowsers: [ [Function: invoke], [Function], 'factory' ],
args: [ [Function: value], {}, 'value' ],
timer:
[ [Function: value],
{ setTimeout: [Function: setTimeout],
clearTimeout: [Function: clearTimeout] },
'value' ],
'launcher:Chrome':
[ [Function: instantiate],
{ [Function: ChromeBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromeHeadless':
[ [Function: instantiate],
{ [Function: ChromeHeadlessBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromeCanary':
[ [Function: instantiate],
{ [Function: ChromeCanaryBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromeCanaryHeadless':
[ [Function: instantiate],
{ [Function: ChromeCanaryHeadlessBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:Chromium':
[ [Function: instantiate],
{ [Function: ChromiumBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
'launcher:ChromiumHeadless':
[ [Function: instantiate],
[Function: ChromiumHeadlessBrowser],
'type' ],
'launcher:Dartium':
[ [Function: instantiate],
{ [Function: DartiumBrowser] '$inject': [ 'baseBrowserDecorator', 'args' ] },
'type' ],
test: [ undefined, undefined, undefined ],
'preprocessor:concat':
[ [Function: invoke],
{ [Function: initPreprocessor] '$inject': [ 'config.basePath', 'config.concat', 'logger' ] },
'factory' ],
'preprocessor:coverage':
[ [Function: invoke],
{ [Function: createCoveragePreprocessor]
'$inject':
[ 'logger',
'helper',
'config.basePath',
'config.reporters',
'config.coverageReporter' ] },
'factory' ],
'reporter:coverage':
[ [Function: instantiate],
{ [Function: CoverageReporter] '$inject': [ 'config', 'helper', 'logger', 'emitter' ] },
'type' ],
'framework:jasmine':
[ [Function: invoke],
{ [Function: initJasmine] '$inject': [ 'config.files' ] },
'factory' ],
'framework:jasmine-jquery':
[ [Function: invoke],
{ [Function: initJasmine_jquery] '$inject': [ 'config.files' ] },
'factory' ],
'reporter:notify':
[ [Function: instantiate],
{ [Function: NotifyReporter]
'$inject':
[ 'baseReporterDecorator',
'helper',
'logger',
'config',
'formatError' ] },
'type' ],
'framework:source-map-support':
[ [Function: invoke],
{ [Function: init] '$inject': [ 'config.files' ] },
'factory' ],
'preprocessor:webpack':
[ [Function: invoke],
{ [Function: preprocessorFactory] '$inject': [ 'config', 'emitter' ] },
'factory' ],
'framework:webpack':
[ [Function: invoke],
{ [Function: registerExtraWebpackFiles] '$inject': [ 'config' ] },
'factory' ],
registerExtraWebpackFiles: [ undefined, undefined, undefined ],
configToWebpackEntries: [ undefined, undefined, undefined ],
'launcher:ChromeHeadlessNoSandbox': [ [Function: invoke], [Function], 'factory' ] },
_instances:
[Object: null prototype] {
injector: [Circular],
config:
Config {
LOG_DISABLE: 'OFF',
LOG_ERROR: 'ERROR',
LOG_WARN: 'WARN',
LOG_INFO: 'INFO',
LOG_DEBUG: 'DEBUG',
frameworks:
[ 'webpack', 'source-map-support', 'jasmine-jquery', 'jasmine' ],
protocol: 'http:',
port: 9876,
listenAddress: '0.0.0.0',
hostname: 'localhost',
httpsServerConfig: {},
basePath: '/project/scripts/build',
files:
[ Pattern {
pattern:
'/project/scripts/build/legacyVendors.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/scripts/jasmine.test.helper.js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 0 ],
type: undefined },
Pattern {
pattern:
'/project/src/cc@(App|User)/**/*.@(spec|tests).js',
served: true,
included: true,
watched: false,
nocache: false,
weight: [ 1, 1, 1, 2, 0, 0 ],
type: undefined } ],
browserConsoleLogOptions: { level: 'debug', format: '%b %T: %m', terminal: true },
customContextFile: null,
customDebugFile: null,
customClientContextFile: null,
exclude:
[ '/project/scripts/build/karma.config' ],
logLevel: 'ERROR',
colors: true,
autoWatch: true,
autoWatchBatchDelay: 250,
restartOnFileChange: false,
usePolling: false,
reporters: [ 'dots', 'notify', 'coverage' ],
singleRun: false,
browsers: [ 'ChromeHeadlessNoSandbox' ],
captureTimeout: 60000,
proxies: {},
proxyValidateSSL: true,
preprocessors:
[Object: null prototype] {
'/project/scripts/jasmine.test.helper.js': [ 'webpack' ],
'/project/src/cc@(App|User)/**/*.@(spec|tests).js': [ 'webpack' ],
'/project/scripts/build/**/*': [ 'concat' ],
'/project/scripts/build/**/!(*.spec|*.tests).js': [ 'coverage' ] },
urlRoot: '/',
upstreamProxy: undefined,
reportSlowerThan: 0,
loggers:
[ { type: 'console',
layout: { type: 'pattern', pattern: '%[%d{DATE}:%p [%c]: %]%m' } } ],
transports: [ 'polling', 'websocket' ],
forceJSONP: false,
plugins:
[ 'karma-*',
[Object: null prototype] {
'launcher:ChromeHeadlessNoSandbox': [ 'factory', [Function] ] } ],
client:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
defaultClient:
{ args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true },
browserDisconnectTimeout: 2000,
browserDisconnectTolerance: 0,
browserNoActivityTimeout: 120000,
processKillTimeout: 2000,
concurrency: Infinity,
failOnEmptyTestSuite: true,
retryLimit: 2,
detached: false,
crossOriginAttribute: true,
browserSocketTimeout: 20000,
cmd: 'start',
configFile:
'/project/scripts/build/karma.config',
customLaunchers:
{ ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: [ '--no-sandbox' ] } },
concat:
{ footer: '',
header: '',
outputs:
[ { file: 'legacyVendors.js',
inputs:
[ /* 33 file paths */ ] } ] },
coverageReporter:
{ check:
{ global: { branches: 30, functions: 48, lines: 60, statements: 60 } },
reporters:
[ { type: 'json',
dir: '/project/reports/coverage',
subdir: '.' },
{ type: 'text-summary' } ] },
notifyReporter: { reportEachFailure: true, reportSuccess: false },
webpack:
{ devtool: 'inline-source-map',
entry: {},
mode: 'development',
module:
{ rules:
[ { test: /\.(c|sa|sc)ss$/, use: [ 'ignore-loader' ] },
{ test: /\.html$/,
use:
[ { loader: 'ngtemplate-loader',
options:
{ exportAsEs6Default: true,
relativeTo: '/project/src',
requireAngular: true } },
{ loader: 'html-loader',
options: { attrs: [], minifyCSS: false, minimize: false } } ] },
{ test: /\.json$/,
type: 'javascript/auto',
use: [ 'json5-loader' ] },
{ exclude: /node_modules|app\/webroot|\.(spec|tests)\.js$/,
test: /\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] },
{ exclude: /node_modules/,
test: /\.(spec|tests)\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] } ] },
optimization:
{ concatenateModules: false,
minimizer: [],
splitChunks: { chunks: 'all' } },
output: {},
plugins: [],
resolve:
{ alias:
{ ccApp: '/project/src/ccApp',
ccDesignSystem: '/project/src/ccDesignSystem',
ccUser: '/project/src/ccUser',
extCss:
'/project/app/Assets/stylesheets',
node_modules: '/project/node_modules',
webroot: '/project/app/webroot' } },
stats:
{ assets: false,
builtAt: false,
cached: false,
cachedAssets: false,
children: false,
chunkModules: false,
chunks: false,
entrypoints: false,
errorDetails: false,
excludeAssets: [Function: excludeAssets],
hash: false,
modules: false,
reasons: false,
source: false,
timings: true,
version: false,
warnings: false },
watch: true },
webpackMiddleware: { logLevel: 'error', stats: 'errors-only' } },
server: [Circular],
emitter: [Circular],
launcher:
Launcher {
_browsers: [],
launchSingle:
{ [Function]
'$inject':
[ 'config.protocol',
'config.hostname',
'config.port',
'config.urlRoot',
'config.upstreamProxy',
'config.processKillTimeout' ] },
launch:
{ [Function]
'$inject':
[ 'config.browsers',
'config.concurrency',
'config.processKillTimeout' ] },
kill: [Function],
restart: [Function],
killAll: [Function],
areAllCaptured: [Function],
markCaptured: [Function] },
logger:
{ create: [Function: create],
setup: [Function: setup],
setupFromConfig: [Function: setupFromConfig],
_rebindLog4js4testing: [Function] },
helper:
{ browserFullNameToShort: [Function],
isDefined: [Function],
mmPatternWeight: [Function],
mmComparePatternWeights: [Function],
isFunction: [Function: isFunction],
isString: [Function: isString],
isObject: [Function: isObject],
isArray: [Function: isArray],
isNumber: [Function: isNumber],
isUrlAbsolute: [Function],
camelToSnake: [Function],
ucFirst: [Function],
dashToCamel: [Function],
arrayRemove: [Function],
merge: [Function],
formatTimeInterval: [Function],
normalizeWinPath: [Function: identity],
mkdirIfNotExists: [Function],
defer: [Function],
saveOriginalArgs: [Function],
restoreOriginalArgs: [Function] },
'preprocessor:coverage': [Function],
'preprocessor:concat': [Function] },
get: [Function: get],
invoke: [Function: invoke],
instantiate: [Function: instantiate],
createChild: [Function: createChild] },
_boundServer:
Server {
_events:
[Object: null prototype] { error: [Function], listening: [Function] },
_eventsCount: 2,
_maxListeners: undefined,
_connections: 0,
_handle:
TCP {
reading: false,
onread: null,
onconnection: [Function: onconnection],
[Symbol(owner)]: [Circular] },
_usingWorkers: false,
_workers: [],
_unref: false,
allowHalfOpen: false,
pauseOnConnect: false,
_connectionKey: '4:0.0.0.0:9876',
[Symbol(asyncId)]: 15 } } } } ],
entry:
{ /* 940 file paths */ },
devtool: 'inline-source-map',
module:
{ rules:
[ { test: /\.(c|sa|sc)ss$/, use: [ 'ignore-loader' ] },
{ test: /\.html$/,
use:
[ { loader: 'ngtemplate-loader',
options:
{ exportAsEs6Default: true,
relativeTo: '/project/src',
requireAngular: true } },
{ loader: 'html-loader',
options: { attrs: [], minifyCSS: false, minimize: false } } ] },
{ test: /\.json$/,
type: 'javascript/auto',
use: [ 'json5-loader' ] },
{ exclude: /node_modules|app\/webroot|\.(spec|tests)\.js$/,
test: /\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] },
{ exclude: /node_modules/,
test: /\.(spec|tests)\.js$/,
use:
[ { loader: 'babel-loader',
options:
{ cacheDirectory: true,
extends:
'/project/scripts/build/babel.config.js',
plugins: [ 'istanbul' ] } } ] } ] },
resolve:
{ alias:
{ ccApp: '/project/src/ccApp',
ccDesignSystem: '/project/src/ccDesignSystem',
ccUser: '/project/src/ccUser',
extCss:
'/project/app/Assets/stylesheets',
node_modules: '/project/node_modules',
webroot: '/project/app/webroot' } } }
This prevents the issue from occurring:
NODE_OPTIONS=--max_old_space_size=4096
@stevenvachon That is not a solution, it's a workaround, and only for your particular use case. For larger apps, even 4096MB is not enough. There is clearly a memory leak somewhere.
@eranimo thanks for clearing that up. If you think my comment is that unhelpful to everyone, feel free to remove it.
No problem! It did confirm that this is actually memory related, so thanks.
@eugenet8k @stevenvachon
How many test and project files are you roughly working with? I want to see if I can reproduce this locally somehow. My first guess is that a large amount of test files or project files could cause this, but it could very well be something else
I'm no longer involved in the project encountering this issue.
Closing as inactive
After migrating from v3.0.0 to v.3.0.5 I am getting JavaScript heap out of memory error:
Expected Behavior
It works well with karma-webpack v3.0.0, it is expected that my tests run without JS runtime errors.
Actual Behavior
The process is hanging during webpack compilation phase.
Code
// webpack.config.js https://gist.github.com/eugenet8k/c1c5a1efc8c3078519ea87b10860df50