Skip to content
This repository was archived by the owner on May 1, 2020. It is now read-only.

Commit 8d73da9

Browse files
committed
feat(events): emit bundler events
1 parent ad425b9 commit 8d73da9

File tree

5 files changed

+25
-3
lines changed

5 files changed

+25
-3
lines changed

bin/ion-dev.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Ionic Dev Server: Dev Logger
1+
// Ionic Dev Server: Client Side Logger
22

33
window.IonicDevServer = {
44

src/dev-server/dev-server.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Ionic Dev Server: Server Side Logger
2+
23
import { getConfigValueDefault, hasConfigValue } from '../util/config';
34
import { Logger } from '../util/logger';
45
import { Server as WebSocketServer } from 'ws';

src/rollup.ts

+6
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ export function rollup(context: BuildContext, configFile: string) {
1414

1515
const logger = new Logger('rollup');
1616

17+
emit(EventType.BundlerStart, context);
18+
1719
return rollupWorker(context, configFile)
1820
.then(() => {
21+
emit(EventType.BunderFinish, context);
1922
logger.finish();
2023
})
2124
.catch(err => {
@@ -29,8 +32,11 @@ export function rollupUpdate(event: string, filePath: string, context: BuildCont
2932

3033
const configFile = getUserConfigFile(context, taskInfo, null);
3134

35+
emit(EventType.BundlerStart, context);
36+
3237
return rollupWorker(context, configFile)
3338
.then(() => {
39+
emit(EventType.BunderFinish, context);
3440
logger.finish();
3541
})
3642
.catch(err => {

src/util/events.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export function on(event: EventType, listener: {(context: BuildContext, arg: any
99
return emmitter.on('event' + event.toString(), listener);
1010
}
1111

12-
export function emit(event: EventType, context: BuildContext, arg: any) {
12+
export function emit(event: EventType, context: BuildContext, arg?: any) {
1313
return emmitter.emit('event' + event.toString(), context, arg);
1414
}
1515

@@ -18,5 +18,11 @@ export enum EventType {
1818
FileAdd,
1919
FileDelete,
2020
DirectoryAdd,
21-
DirectoryDelete
21+
DirectoryDelete,
22+
BundlerStart,
23+
BunderFinish,
24+
TranspilerStart,
25+
TranspilerFinish,
26+
SassStart,
27+
SassFinish,
2228
};

src/webpack.ts

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { BuildContext, TaskInfo } from './util/interfaces';
22
import { BuildError, Logger } from './util/logger';
33
import { cacheTranspiledTsFiles, setModulePathsCache } from './util/helpers';
4+
import { emit, EventType } from './util/events';
45
import { fillConfigDefaults, generateContext, getUserConfigFile, replacePathVars } from './util/config';
56
import { InMemoryFileSystem } from './util/in-memory-file-system';
67
import { join } from 'path';
@@ -15,8 +16,11 @@ export function webpack(context: BuildContext, configFile: string) {
1516

1617
const logger = new Logger('webpack');
1718

19+
emit(EventType.BundlerStart, context);
20+
1821
return webpackWorker(context, configFile)
1922
.then(() => {
23+
emit(EventType.BunderFinish, context);
2024
logger.finish();
2125
})
2226
.catch(err => {
@@ -31,8 +35,11 @@ export function webpackUpdate(event: string, path: string, context: BuildContext
3135

3236
cacheTranspiledTsFiles(context.tsFiles);
3337

38+
emit(EventType.BundlerStart, context);
39+
3440
return webpackWorker(context, configFile)
3541
.then(() => {
42+
emit(EventType.BunderFinish, context);
3643
logger.finish();
3744
})
3845
.catch(err => {
@@ -74,6 +81,8 @@ export function webpackWorker(context: BuildContext, configFile: string): Promis
7481
// to always bundle to know which modules are used
7582
setModulePathsCache(context.moduleFiles);
7683

84+
emit(EventType.FileChange, context, webpackConfig.output.path);
85+
7786
resolve();
7887
}
7988
});

0 commit comments

Comments
 (0)