UNPKG

angular-ide

Version:

Provides a seamless integration with the Angular IDE from the command-line for developers looking for an enhanced development experience with Angular.

96 lines (75 loc) 2.17 kB
'use strict'; const NGEventType = require('../utils/consts').NGEventType; const BuildStatus = require('../utils/consts').BuildStatus; const NGServerStatus = require('../utils/consts').NGServerStatus; // TODO: Replace the hardocoded params with real ones function extractBuildError(text) { let buildEvent = null; if (text.indexOf('ERROR in') >= 0) { buildEvent = { type: NGEventType.BUILD_ERROR, params: { file: '/work/genuitec/testy_angular3/src/app/index.ts:5:19', line: '5', column: '19', }, }; } return buildEvent; } function extractNGServerRunning(text) { let buildEvent = null; const serverIsRunning = /NG Live Development Server is running|NG Live Development Server is listening|Angular Live Development Server|Project is running at/; if (text.match(serverIsRunning)) { buildEvent = { type: NGEventType.NG_SERVER_STATUS, params: { status: NGServerStatus.RUNNING, }, }; } return buildEvent; } function extractBuildStarted(text) { let buildEvent = null; const webpackCompiling = /webpack: bundle is now INVALID|Compiling...|building modules|building/; if (text.match(webpackCompiling)) { buildEvent = { type: NGEventType.BUILD_STATUS, params: { status: BuildStatus.BUILD_STARTED, }, }; } return buildEvent; } function extractBuildFinished(text) { let buildEvent = null; const webpackBuildFinished = /webpack: bundle is now VALID|Compiled successfully.|Failed to compile|Compiled with warnings/; if (text.match(webpackBuildFinished)) { buildEvent = { type: NGEventType.BUILD_STATUS, params: { status: BuildStatus.BUILD_FINISHED, }, }; } return buildEvent; } const buildEventExtractors = [ extractNGServerRunning, extractBuildStarted, extractBuildFinished, extractBuildError, ]; function extractNGEvent(text) { let buildEvent = null; for (let i = 0; i < buildEventExtractors.length; i++) { buildEvent = buildEventExtractors[i].call(this, text); if (buildEvent) { break; } } return buildEvent; } module.exports = extractNGEvent;