@angular-devkit/build-webpack 0.12.3 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@angular-devkit/build-webpack",
3
- "version": "0.12.3",
3
+ "version": "0.13.0",
4
4
  "description": "Webpack Builder for Architect",
5
5
  "main": "src/index.js",
6
6
  "typings": "src/index.d.ts",
7
7
  "builders": "builders.json",
8
8
  "dependencies": {
9
- "@angular-devkit/architect": "0.12.3",
10
- "@angular-devkit/core": "7.2.3",
9
+ "@angular-devkit/architect": "0.13.0",
10
+ "@angular-devkit/core": "7.3.0",
11
11
  "rxjs": "6.3.3"
12
12
  },
13
13
  "peerDependencies": {
@@ -19,6 +19,7 @@ export declare class WebpackBuilder implements Builder<WebpackBuilderSchema> {
19
19
  constructor(context: BuilderContext);
20
20
  run(builderConfig: BuilderConfiguration<WebpackBuilderSchema>): Observable<BuildEvent>;
21
21
  loadWebpackConfig(webpackConfigPath: string): Observable<webpack.Configuration>;
22
+ protected createWebpackCompiler(config: webpack.Configuration): webpack.Compiler;
22
23
  runWebpack(config: webpack.Configuration, loggingCb?: LoggingCallback): Observable<BuildEvent>;
23
24
  }
24
25
  export default WebpackBuilder;
@@ -16,9 +16,12 @@ class WebpackBuilder {
16
16
  loadWebpackConfig(webpackConfigPath) {
17
17
  return rxjs_1.from(Promise.resolve().then(() => require(webpackConfigPath)));
18
18
  }
19
+ createWebpackCompiler(config) {
20
+ return webpack(config);
21
+ }
19
22
  runWebpack(config, loggingCb = exports.defaultLoggingCb) {
20
23
  return new rxjs_1.Observable(obs => {
21
- const webpackCompiler = webpack(config);
24
+ const webpackCompiler = this.createWebpackCompiler(config);
22
25
  const callback = (err, stats) => {
23
26
  if (err) {
24
27
  return obs.error(err);
@@ -52,4 +55,4 @@ class WebpackBuilder {
52
55
  }
53
56
  exports.WebpackBuilder = WebpackBuilder;
54
57
  exports.default = WebpackBuilder;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX3dlYnBhY2svc3JjL3dlYnBhY2svaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSwrQ0FBd0Y7QUFDeEYsK0JBQXdDO0FBQ3hDLDhDQUEyQztBQUMzQyxtQ0FBbUM7QUFRdEIsUUFBQSxnQkFBZ0IsR0FBb0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQ3pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUU1QyxNQUFhLGNBQWM7SUFFekIsWUFBbUIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBSSxDQUFDO0lBRS9DLEdBQUcsQ0FBQyxhQUF5RDtRQUMzRCxNQUFNLFVBQVUsR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUNwRCxnQkFBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRCxxQkFBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNoRCxPQUFPLFdBQUksc0NBQVEsaUJBQWlCLEdBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sVUFBVSxDQUNmLE1BQTZCLEVBQUUsU0FBUyxHQUFHLHdCQUFnQjtRQUUzRCxPQUFPLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFeEMsTUFBTSxRQUFRLEdBQXNDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNqRSxJQUFJLEdBQUcsRUFBRTtvQkFDUCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3ZCO2dCQUVELGFBQWE7Z0JBQ2IsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRTFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUNqQixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ2hCO1lBQ0gsQ0FBQyxDQUFDO1lBRUYsSUFBSTtnQkFDRixJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7b0JBQ2hCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO29CQUMvQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFFL0QsNERBQTREO29CQUM1RCxPQUFPLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3hDO3FCQUFNO29CQUNMLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQy9CO2FBQ0Y7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixJQUFJLEdBQUcsRUFBRTtvQkFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3ZCLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQzNFO2dCQUNELE1BQU0sR0FBRyxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpERCx3Q0F5REM7QUFFRCxrQkFBZSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge1xuICBCdWlsZEV2ZW50LFxuICBCdWlsZGVyLFxuICBCdWlsZGVyQ29uZmlndXJhdGlvbixcbiAgQnVpbGRlckNvbnRleHQsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9hcmNoaXRlY3QnO1xuaW1wb3J0IHsgUGF0aCwgZ2V0U3lzdGVtUGF0aCwgbG9nZ2luZywgbm9ybWFsaXplLCByZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgd2VicGFjayBmcm9tICd3ZWJwYWNrJztcbmltcG9ydCB7IFdlYnBhY2tCdWlsZGVyU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nZ2luZ0NhbGxiYWNrIHtcbiAgKHN0YXRzOiB3ZWJwYWNrLlN0YXRzLCBjb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbiwgbG9nZ2VyOiBsb2dnaW5nLkxvZ2dlcik6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TG9nZ2luZ0NiOiBMb2dnaW5nQ2FsbGJhY2sgPSAoc3RhdHMsIGNvbmZpZywgbG9nZ2VyKSA9PlxuICBsb2dnZXIuaW5mbyhzdGF0cy50b1N0cmluZyhjb25maWcuc3RhdHMpKTtcblxuZXhwb3J0IGNsYXNzIFdlYnBhY2tCdWlsZGVyIGltcGxlbWVudHMgQnVpbGRlcjxXZWJwYWNrQnVpbGRlclNjaGVtYT4ge1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250ZXh0OiBCdWlsZGVyQ29udGV4dCkgeyB9XG5cbiAgcnVuKGJ1aWxkZXJDb25maWc6IEJ1aWxkZXJDb25maWd1cmF0aW9uPFdlYnBhY2tCdWlsZGVyU2NoZW1hPik6IE9ic2VydmFibGU8QnVpbGRFdmVudD4ge1xuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSByZXNvbHZlKHRoaXMuY29udGV4dC53b3Jrc3BhY2Uucm9vdCxcbiAgICAgIG5vcm1hbGl6ZShidWlsZGVyQ29uZmlnLm9wdGlvbnMud2VicGFja0NvbmZpZykpO1xuXG4gICAgcmV0dXJuIHRoaXMubG9hZFdlYnBhY2tDb25maWcoZ2V0U3lzdGVtUGF0aChjb25maWdQYXRoKSkucGlwZShcbiAgICAgIGNvbmNhdE1hcChjb25maWcgPT4gdGhpcy5ydW5XZWJwYWNrKGNvbmZpZykpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbG9hZFdlYnBhY2tDb25maWcod2VicGFja0NvbmZpZ1BhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8d2VicGFjay5Db25maWd1cmF0aW9uPiB7XG4gICAgcmV0dXJuIGZyb20oaW1wb3J0KHdlYnBhY2tDb25maWdQYXRoKSk7XG4gIH1cblxuICBwdWJsaWMgcnVuV2VicGFjayhcbiAgICBjb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbiwgbG9nZ2luZ0NiID0gZGVmYXVsdExvZ2dpbmdDYixcbiAgKTogT2JzZXJ2YWJsZTxCdWlsZEV2ZW50PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9icyA9PiB7XG4gICAgICBjb25zdCB3ZWJwYWNrQ29tcGlsZXIgPSB3ZWJwYWNrKGNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGNhbGxiYWNrOiB3ZWJwYWNrLmNvbXBpbGVyLkNvbXBpbGVyQ2FsbGJhY2sgPSAoZXJyLCBzdGF0cykgPT4ge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG9icy5lcnJvcihlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTG9nIHN0YXRzLlxuICAgICAgICBsb2dnaW5nQ2Ioc3RhdHMsIGNvbmZpZywgdGhpcy5jb250ZXh0LmxvZ2dlcik7XG5cbiAgICAgICAgb2JzLm5leHQoeyBzdWNjZXNzOiAhc3RhdHMuaGFzRXJyb3JzKCkgfSk7XG5cbiAgICAgICAgaWYgKCFjb25maWcud2F0Y2gpIHtcbiAgICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKGNvbmZpZy53YXRjaCkge1xuICAgICAgICAgIGNvbnN0IHdhdGNoT3B0aW9ucyA9IGNvbmZpZy53YXRjaE9wdGlvbnMgfHwge307XG4gICAgICAgICAgY29uc3Qgd2F0Y2hpbmcgPSB3ZWJwYWNrQ29tcGlsZXIud2F0Y2god2F0Y2hPcHRpb25zLCBjYWxsYmFjayk7XG5cbiAgICAgICAgICAvLyBUZWFyZG93biBsb2dpYy4gQ2xvc2UgdGhlIHdhdGNoZXIgd2hlbiB1bnN1YnNjcmliZWQgZnJvbS5cbiAgICAgICAgICByZXR1cm4gKCkgPT4gd2F0Y2hpbmcuY2xvc2UoKCkgPT4geyB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3ZWJwYWNrQ29tcGlsZXIucnVuKGNhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHQubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgJ1xcbkFuIGVycm9yIG9jY3VyZWQgZHVyaW5nIHRoZSBidWlsZDpcXG4nICsgKChlcnIgJiYgZXJyLnN0YWNrKSB8fCBlcnIpKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgV2VicGFja0J1aWxkZXI7XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX3dlYnBhY2svc3JjL3dlYnBhY2svaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSwrQ0FBd0Y7QUFDeEYsK0JBQXdDO0FBQ3hDLDhDQUEyQztBQUMzQyxtQ0FBbUM7QUFRdEIsUUFBQSxnQkFBZ0IsR0FBb0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQ3pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUU1QyxNQUFhLGNBQWM7SUFFekIsWUFBbUIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBSSxDQUFDO0lBRS9DLEdBQUcsQ0FBQyxhQUF5RDtRQUMzRCxNQUFNLFVBQVUsR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUNwRCxnQkFBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRCxxQkFBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNoRCxPQUFPLFdBQUksc0NBQVEsaUJBQWlCLEdBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRVMscUJBQXFCLENBQUMsTUFBNkI7UUFDM0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVUsQ0FDZixNQUE2QixFQUFFLFNBQVMsR0FBRyx3QkFBZ0I7UUFFM0QsT0FBTyxJQUFJLGlCQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTNELE1BQU0sUUFBUSxHQUFzQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDakUsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QjtnQkFFRCxhQUFhO2dCQUNiLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTlDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUUxQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDakIsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUNoQjtZQUNILENBQUMsQ0FBQztZQUVGLElBQUk7Z0JBQ0YsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUNoQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztvQkFDL0MsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBRS9ELDREQUE0RDtvQkFDNUQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN4QztxQkFBTTtvQkFDTCxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUMvQjthQUNGO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxHQUFHLEVBQUU7b0JBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN2Qix3Q0FBd0MsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUMzRTtnQkFDRCxNQUFNLEdBQUcsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE3REQsd0NBNkRDO0FBRUQsa0JBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtcbiAgQnVpbGRFdmVudCxcbiAgQnVpbGRlcixcbiAgQnVpbGRlckNvbmZpZ3VyYXRpb24sXG4gIEJ1aWxkZXJDb250ZXh0LFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvYXJjaGl0ZWN0JztcbmltcG9ydCB7IFBhdGgsIGdldFN5c3RlbVBhdGgsIGxvZ2dpbmcsIG5vcm1hbGl6ZSwgcmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIHdlYnBhY2sgZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgeyBXZWJwYWNrQnVpbGRlclNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dpbmdDYWxsYmFjayB7XG4gIChzdGF0czogd2VicGFjay5TdGF0cywgY29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24sIGxvZ2dlcjogbG9nZ2luZy5Mb2dnZXIpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdExvZ2dpbmdDYjogTG9nZ2luZ0NhbGxiYWNrID0gKHN0YXRzLCBjb25maWcsIGxvZ2dlcikgPT5cbiAgbG9nZ2VyLmluZm8oc3RhdHMudG9TdHJpbmcoY29uZmlnLnN0YXRzKSk7XG5cbmV4cG9ydCBjbGFzcyBXZWJwYWNrQnVpbGRlciBpbXBsZW1lbnRzIEJ1aWxkZXI8V2VicGFja0J1aWxkZXJTY2hlbWE+IHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGV4dDogQnVpbGRlckNvbnRleHQpIHsgfVxuXG4gIHJ1bihidWlsZGVyQ29uZmlnOiBCdWlsZGVyQ29uZmlndXJhdGlvbjxXZWJwYWNrQnVpbGRlclNjaGVtYT4pOiBPYnNlcnZhYmxlPEJ1aWxkRXZlbnQ+IHtcbiAgICBjb25zdCBjb25maWdQYXRoID0gcmVzb2x2ZSh0aGlzLmNvbnRleHQud29ya3NwYWNlLnJvb3QsXG4gICAgICBub3JtYWxpemUoYnVpbGRlckNvbmZpZy5vcHRpb25zLndlYnBhY2tDb25maWcpKTtcblxuICAgIHJldHVybiB0aGlzLmxvYWRXZWJwYWNrQ29uZmlnKGdldFN5c3RlbVBhdGgoY29uZmlnUGF0aCkpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoY29uZmlnID0+IHRoaXMucnVuV2VicGFjayhjb25maWcpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRXZWJwYWNrQ29uZmlnKHdlYnBhY2tDb25maWdQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHdlYnBhY2suQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiBmcm9tKGltcG9ydCh3ZWJwYWNrQ29uZmlnUGF0aCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVdlYnBhY2tDb21waWxlcihjb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbik6IHdlYnBhY2suQ29tcGlsZXIge1xuICAgIHJldHVybiB3ZWJwYWNrKGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcnVuV2VicGFjayhcbiAgICBjb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbiwgbG9nZ2luZ0NiID0gZGVmYXVsdExvZ2dpbmdDYixcbiAgKTogT2JzZXJ2YWJsZTxCdWlsZEV2ZW50PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9icyA9PiB7XG4gICAgICBjb25zdCB3ZWJwYWNrQ29tcGlsZXIgPSB0aGlzLmNyZWF0ZVdlYnBhY2tDb21waWxlcihjb25maWcpO1xuXG4gICAgICBjb25zdCBjYWxsYmFjazogd2VicGFjay5jb21waWxlci5Db21waWxlckNhbGxiYWNrID0gKGVyciwgc3RhdHMpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBvYnMuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvZyBzdGF0cy5cbiAgICAgICAgbG9nZ2luZ0NiKHN0YXRzLCBjb25maWcsIHRoaXMuY29udGV4dC5sb2dnZXIpO1xuXG4gICAgICAgIG9icy5uZXh0KHsgc3VjY2VzczogIXN0YXRzLmhhc0Vycm9ycygpIH0pO1xuXG4gICAgICAgIGlmICghY29uZmlnLndhdGNoKSB7XG4gICAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChjb25maWcud2F0Y2gpIHtcbiAgICAgICAgICBjb25zdCB3YXRjaE9wdGlvbnMgPSBjb25maWcud2F0Y2hPcHRpb25zIHx8IHt9O1xuICAgICAgICAgIGNvbnN0IHdhdGNoaW5nID0gd2VicGFja0NvbXBpbGVyLndhdGNoKHdhdGNoT3B0aW9ucywgY2FsbGJhY2spO1xuXG4gICAgICAgICAgLy8gVGVhcmRvd24gbG9naWMuIENsb3NlIHRoZSB3YXRjaGVyIHdoZW4gdW5zdWJzY3JpYmVkIGZyb20uXG4gICAgICAgICAgcmV0dXJuICgpID0+IHdhdGNoaW5nLmNsb3NlKCgpID0+IHsgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2VicGFja0NvbXBpbGVyLnJ1bihjYWxsYmFjayk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgdGhpcy5jb250ZXh0LmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICdcXG5BbiBlcnJvciBvY2N1cmVkIGR1cmluZyB0aGUgYnVpbGQ6XFxuJyArICgoZXJyICYmIGVyci5zdGFjaykgfHwgZXJyKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFdlYnBhY2tCdWlsZGVyO1xuIl19
@@ -11,11 +11,16 @@ import * as webpack from 'webpack';
11
11
  import * as WebpackDevServer from 'webpack-dev-server';
12
12
  import { LoggingCallback } from '../webpack';
13
13
  import { WebpackDevServerBuilderSchema } from './schema';
14
+ export interface DevServerResult {
15
+ port: number;
16
+ family: string;
17
+ address: string;
18
+ }
14
19
  export declare class WebpackDevServerBuilder implements Builder<WebpackDevServerBuilderSchema> {
15
20
  context: BuilderContext;
16
21
  constructor(context: BuilderContext);
17
- run(builderConfig: BuilderConfiguration<WebpackDevServerBuilderSchema>): Observable<BuildEvent>;
22
+ run(builderConfig: BuilderConfiguration<WebpackDevServerBuilderSchema>): Observable<BuildEvent<DevServerResult>>;
18
23
  loadWebpackConfig(webpackConfigPath: string): Observable<webpack.Configuration>;
19
- runWebpackDevServer(webpackConfig: webpack.Configuration, devServerCfg?: WebpackDevServer.Configuration, loggingCb?: LoggingCallback): Observable<BuildEvent>;
24
+ runWebpackDevServer(webpackConfig: webpack.Configuration, devServerCfg?: WebpackDevServer.Configuration, loggingCb?: LoggingCallback): Observable<BuildEvent<DevServerResult>>;
20
25
  }
21
26
  export default WebpackDevServerBuilder;
@@ -28,7 +28,9 @@ class WebpackDevServerBuilder {
28
28
  return new rxjs_1.Observable(obs => {
29
29
  const devServerConfig = devServerCfg || webpackConfig.devServer || {};
30
30
  devServerConfig.host = devServerConfig.host || 'localhost';
31
- devServerConfig.port = devServerConfig.port || 8080;
31
+ if (devServerConfig.port == undefined) {
32
+ devServerConfig.port = 8080;
33
+ }
32
34
  if (devServerConfig.stats) {
33
35
  webpackConfig.stats = devServerConfig.stats;
34
36
  }
@@ -36,15 +38,22 @@ class WebpackDevServerBuilder {
36
38
  devServerConfig.stats = false;
37
39
  const webpackCompiler = webpack(webpackConfig);
38
40
  const server = new WebpackDevServer(webpackCompiler, devServerConfig);
41
+ let result;
39
42
  webpackCompiler.hooks.done.tap('build-webpack', (stats) => {
40
43
  // Log stats.
41
44
  loggingCb(stats, webpackConfig, this.context.logger);
42
- obs.next({ success: !stats.hasErrors() });
45
+ obs.next({ success: !stats.hasErrors(), result });
43
46
  });
44
- server.listen(devServerConfig.port, devServerConfig.host, (err) => {
47
+ server.listen(devServerConfig.port, devServerConfig.host, function (err) {
45
48
  if (err) {
46
49
  obs.error(err);
47
50
  }
51
+ else {
52
+ // this is ignored because of ts errors
53
+ // that this is overshadowed by it's outer contain
54
+ // @ts-ignore;
55
+ result = this.address();
56
+ }
48
57
  });
49
58
  // Teardown logic. Close the server when unsubscribed from.
50
59
  return () => server.close();
@@ -53,4 +62,4 @@ class WebpackDevServerBuilder {
53
62
  }
54
63
  exports.WebpackDevServerBuilder = WebpackDevServerBuilder;
55
64
  exports.default = WebpackDevServerBuilder;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX3dlYnBhY2svc3JjL3dlYnBhY2stZGV2LXNlcnZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQVFILCtDQUErRTtBQUMvRSwrQkFBd0M7QUFDeEMsOENBQTJDO0FBQzNDLG1DQUFtQztBQUNuQyx1REFBdUQ7QUFDdkQsd0NBQStEO0FBSS9ELE1BQWEsdUJBQXVCO0lBRWxDLFlBQW1CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUksQ0FBQztJQUUvQyxHQUFHLENBQUMsYUFBa0U7UUFDcEUsTUFBTSxVQUFVLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFDcEQsZ0JBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0QscUJBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNoRCxPQUFPLFdBQUksc0NBQVEsaUJBQWlCLEdBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLGFBQW9DLEVBQ3BDLFlBQTZDLEVBQzdDLFlBQTZCLDBCQUFnQjtRQUU3QyxPQUFPLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixNQUFNLGVBQWUsR0FBRyxZQUFZLElBQUksYUFBYSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDdEUsZUFBZSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztZQUMzRCxlQUFlLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1lBRXBELElBQUksZUFBZSxDQUFDLEtBQUssRUFBRTtnQkFDekIsYUFBYSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsS0FBNEMsQ0FBQzthQUNwRjtZQUNELG9FQUFvRTtZQUNwRSxlQUFlLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUU5QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFFdEUsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN4RCxhQUFhO2dCQUNiLFNBQVMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRXJELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FDWCxlQUFlLENBQUMsSUFBSSxFQUNwQixlQUFlLENBQUMsSUFBSSxFQUNwQixDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLElBQUksR0FBRyxFQUFFO29CQUNQLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2hCO1lBQ0gsQ0FBQyxDQUNGLENBQUM7WUFFRiwyREFBMkQ7WUFDM0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF6REQsMERBeURDO0FBR0Qsa0JBQWUsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEJ1aWxkRXZlbnQsXG4gIEJ1aWxkZXIsXG4gIEJ1aWxkZXJDb25maWd1cmF0aW9uLFxuICBCdWlsZGVyQ29udGV4dCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2FyY2hpdGVjdCc7XG5pbXBvcnQgeyBQYXRoLCBnZXRTeXN0ZW1QYXRoLCBub3JtYWxpemUsIHJlc29sdmUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyB3ZWJwYWNrIGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0ICogYXMgV2VicGFja0RldlNlcnZlciBmcm9tICd3ZWJwYWNrLWRldi1zZXJ2ZXInO1xuaW1wb3J0IHsgTG9nZ2luZ0NhbGxiYWNrLCBkZWZhdWx0TG9nZ2luZ0NiIH0gZnJvbSAnLi4vd2VicGFjayc7XG5pbXBvcnQgeyBXZWJwYWNrRGV2U2VydmVyQnVpbGRlclNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcblxuXG5leHBvcnQgY2xhc3MgV2VicGFja0RldlNlcnZlckJ1aWxkZXIgaW1wbGVtZW50cyBCdWlsZGVyPFdlYnBhY2tEZXZTZXJ2ZXJCdWlsZGVyU2NoZW1hPiB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRleHQ6IEJ1aWxkZXJDb250ZXh0KSB7IH1cblxuICBydW4oYnVpbGRlckNvbmZpZzogQnVpbGRlckNvbmZpZ3VyYXRpb248V2VicGFja0RldlNlcnZlckJ1aWxkZXJTY2hlbWE+KTogT2JzZXJ2YWJsZTxCdWlsZEV2ZW50PiB7XG4gICAgY29uc3QgY29uZmlnUGF0aCA9IHJlc29sdmUodGhpcy5jb250ZXh0LndvcmtzcGFjZS5yb290LFxuICAgICAgbm9ybWFsaXplKGJ1aWxkZXJDb25maWcub3B0aW9ucy53ZWJwYWNrQ29uZmlnKSk7XG5cbiAgICByZXR1cm4gdGhpcy5sb2FkV2VicGFja0NvbmZpZyhnZXRTeXN0ZW1QYXRoKGNvbmZpZ1BhdGgpKS5waXBlKFxuICAgICAgY29uY2F0TWFwKGNvbmZpZyA9PiB0aGlzLnJ1bldlYnBhY2tEZXZTZXJ2ZXIoY29uZmlnKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkV2VicGFja0NvbmZpZyh3ZWJwYWNrQ29uZmlnUGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTx3ZWJwYWNrLkNvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gZnJvbShpbXBvcnQod2VicGFja0NvbmZpZ1BhdGgpKTtcbiAgfVxuXG4gIHB1YmxpYyBydW5XZWJwYWNrRGV2U2VydmVyKFxuICAgIHdlYnBhY2tDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbixcbiAgICBkZXZTZXJ2ZXJDZmc/OiBXZWJwYWNrRGV2U2VydmVyLkNvbmZpZ3VyYXRpb24sXG4gICAgbG9nZ2luZ0NiOiBMb2dnaW5nQ2FsbGJhY2sgPSBkZWZhdWx0TG9nZ2luZ0NiLFxuICApOiBPYnNlcnZhYmxlPEJ1aWxkRXZlbnQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzID0+IHtcbiAgICAgIGNvbnN0IGRldlNlcnZlckNvbmZpZyA9IGRldlNlcnZlckNmZyB8fCB3ZWJwYWNrQ29uZmlnLmRldlNlcnZlciB8fCB7fTtcbiAgICAgIGRldlNlcnZlckNvbmZpZy5ob3N0ID0gZGV2U2VydmVyQ29uZmlnLmhvc3QgfHwgJ2xvY2FsaG9zdCc7XG4gICAgICBkZXZTZXJ2ZXJDb25maWcucG9ydCA9IGRldlNlcnZlckNvbmZpZy5wb3J0IHx8IDgwODA7XG5cbiAgICAgIGlmIChkZXZTZXJ2ZXJDb25maWcuc3RhdHMpIHtcbiAgICAgICAgd2VicGFja0NvbmZpZy5zdGF0cyA9IGRldlNlcnZlckNvbmZpZy5zdGF0cyBhcyB3ZWJwYWNrLlN0YXRzLlRvU3RyaW5nT3B0aW9uc09iamVjdDtcbiAgICAgIH1cbiAgICAgIC8vIERpc2FibGUgc3RhdHMgcmVwb3J0aW5nIGJ5IHRoZSBkZXZzZXJ2ZXIsIHdlIGhhdmUgb3VyIG93biBsb2dnZXIuXG4gICAgICBkZXZTZXJ2ZXJDb25maWcuc3RhdHMgPSBmYWxzZTtcblxuICAgICAgY29uc3Qgd2VicGFja0NvbXBpbGVyID0gd2VicGFjayh3ZWJwYWNrQ29uZmlnKTtcbiAgICAgIGNvbnN0IHNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKHdlYnBhY2tDb21waWxlciwgZGV2U2VydmVyQ29uZmlnKTtcblxuICAgICAgd2VicGFja0NvbXBpbGVyLmhvb2tzLmRvbmUudGFwKCdidWlsZC13ZWJwYWNrJywgKHN0YXRzKSA9PiB7XG4gICAgICAgIC8vIExvZyBzdGF0cy5cbiAgICAgICAgbG9nZ2luZ0NiKHN0YXRzLCB3ZWJwYWNrQ29uZmlnLCB0aGlzLmNvbnRleHQubG9nZ2VyKTtcblxuICAgICAgICBvYnMubmV4dCh7IHN1Y2Nlc3M6ICFzdGF0cy5oYXNFcnJvcnMoKSB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBzZXJ2ZXIubGlzdGVuKFxuICAgICAgICBkZXZTZXJ2ZXJDb25maWcucG9ydCxcbiAgICAgICAgZGV2U2VydmVyQ29uZmlnLmhvc3QsXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICBvYnMuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICAvLyBUZWFyZG93biBsb2dpYy4gQ2xvc2UgdGhlIHNlcnZlciB3aGVuIHVuc3Vic2NyaWJlZCBmcm9tLlxuICAgICAgcmV0dXJuICgpID0+IHNlcnZlci5jbG9zZSgpO1xuICAgIH0pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgV2VicGFja0RldlNlcnZlckJ1aWxkZXI7XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX3dlYnBhY2svc3JjL3dlYnBhY2stZGV2LXNlcnZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQVFILCtDQUF5RTtBQUV6RSwrQkFBd0M7QUFDeEMsOENBQTJDO0FBQzNDLG1DQUFtQztBQUNuQyx1REFBdUQ7QUFDdkQsd0NBQStEO0FBUy9ELE1BQWEsdUJBQXVCO0lBRWxDLFlBQW1CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUksQ0FBQztJQUUvQyxHQUFHLENBQUMsYUFBa0U7UUFFcEUsTUFBTSxVQUFVLEdBQUcsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFDcEQsZ0JBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0QscUJBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLGlCQUF5QjtRQUNoRCxPQUFPLFdBQUksc0NBQVEsaUJBQWlCLEdBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLGFBQW9DLEVBQ3BDLFlBQTZDLEVBQzdDLFlBQTZCLDBCQUFnQjtRQUU3QyxPQUFPLElBQUksaUJBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixNQUFNLGVBQWUsR0FBRyxZQUFZLElBQUksYUFBYSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDdEUsZUFBZSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztZQUMzRCxJQUFJLGVBQWUsQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO2dCQUNyQyxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzthQUM3QjtZQUVELElBQUksZUFBZSxDQUFDLEtBQUssRUFBRTtnQkFDekIsYUFBYSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsS0FBNEMsQ0FBQzthQUNwRjtZQUNELG9FQUFvRTtZQUNwRSxlQUFlLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUU5QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDdEUsSUFBSSxNQUFtQyxDQUFDO1lBRXhDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDeEQsYUFBYTtnQkFDYixTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUVyRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLENBQUMsTUFBTSxDQUNYLGVBQWUsQ0FBQyxJQUFJLEVBQ3BCLGVBQWUsQ0FBQyxJQUFJLEVBQ3BCLFVBQVUsR0FBRztnQkFDWCxJQUFJLEdBQUcsRUFBRTtvQkFDUCxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNoQjtxQkFBTTtvQkFDTCx1Q0FBdUM7b0JBQ3ZDLGtEQUFrRDtvQkFDbEQsY0FBYztvQkFDZCxNQUFNLEdBQUksSUFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDekM7WUFDSCxDQUFDLENBQ0YsQ0FBQztZQUVGLDJEQUEyRDtZQUMzRCxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWxFRCwwREFrRUM7QUFHRCxrQkFBZSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtcbiAgQnVpbGRFdmVudCxcbiAgQnVpbGRlcixcbiAgQnVpbGRlckNvbmZpZ3VyYXRpb24sXG4gIEJ1aWxkZXJDb250ZXh0LFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvYXJjaGl0ZWN0JztcbmltcG9ydCB7IGdldFN5c3RlbVBhdGgsIG5vcm1hbGl6ZSwgcmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCAqIGFzIG5ldCBmcm9tICduZXQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgd2VicGFjayBmcm9tICd3ZWJwYWNrJztcbmltcG9ydCAqIGFzIFdlYnBhY2tEZXZTZXJ2ZXIgZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcbmltcG9ydCB7IExvZ2dpbmdDYWxsYmFjaywgZGVmYXVsdExvZ2dpbmdDYiB9IGZyb20gJy4uL3dlYnBhY2snO1xuaW1wb3J0IHsgV2VicGFja0RldlNlcnZlckJ1aWxkZXJTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2U2VydmVyUmVzdWx0IHtcbiAgcG9ydDogbnVtYmVyO1xuICBmYW1pbHk6IHN0cmluZztcbiAgYWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgV2VicGFja0RldlNlcnZlckJ1aWxkZXIgaW1wbGVtZW50cyBCdWlsZGVyPFdlYnBhY2tEZXZTZXJ2ZXJCdWlsZGVyU2NoZW1hPiB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRleHQ6IEJ1aWxkZXJDb250ZXh0KSB7IH1cblxuICBydW4oYnVpbGRlckNvbmZpZzogQnVpbGRlckNvbmZpZ3VyYXRpb248V2VicGFja0RldlNlcnZlckJ1aWxkZXJTY2hlbWE+KVxuICAgIDogT2JzZXJ2YWJsZTxCdWlsZEV2ZW50PERldlNlcnZlclJlc3VsdD4+IHtcbiAgICBjb25zdCBjb25maWdQYXRoID0gcmVzb2x2ZSh0aGlzLmNvbnRleHQud29ya3NwYWNlLnJvb3QsXG4gICAgICBub3JtYWxpemUoYnVpbGRlckNvbmZpZy5vcHRpb25zLndlYnBhY2tDb25maWcpKTtcblxuICAgIHJldHVybiB0aGlzLmxvYWRXZWJwYWNrQ29uZmlnKGdldFN5c3RlbVBhdGgoY29uZmlnUGF0aCkpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoY29uZmlnID0+IHRoaXMucnVuV2VicGFja0RldlNlcnZlcihjb25maWcpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRXZWJwYWNrQ29uZmlnKHdlYnBhY2tDb25maWdQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHdlYnBhY2suQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiBmcm9tKGltcG9ydCh3ZWJwYWNrQ29uZmlnUGF0aCkpO1xuICB9XG5cbiAgcHVibGljIHJ1bldlYnBhY2tEZXZTZXJ2ZXIoXG4gICAgd2VicGFja0NvbmZpZzogd2VicGFjay5Db25maWd1cmF0aW9uLFxuICAgIGRldlNlcnZlckNmZz86IFdlYnBhY2tEZXZTZXJ2ZXIuQ29uZmlndXJhdGlvbixcbiAgICBsb2dnaW5nQ2I6IExvZ2dpbmdDYWxsYmFjayA9IGRlZmF1bHRMb2dnaW5nQ2IsXG4gICk6IE9ic2VydmFibGU8QnVpbGRFdmVudDxEZXZTZXJ2ZXJSZXN1bHQ+PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9icyA9PiB7XG4gICAgICBjb25zdCBkZXZTZXJ2ZXJDb25maWcgPSBkZXZTZXJ2ZXJDZmcgfHwgd2VicGFja0NvbmZpZy5kZXZTZXJ2ZXIgfHwge307XG4gICAgICBkZXZTZXJ2ZXJDb25maWcuaG9zdCA9IGRldlNlcnZlckNvbmZpZy5ob3N0IHx8ICdsb2NhbGhvc3QnO1xuICAgICAgaWYgKGRldlNlcnZlckNvbmZpZy5wb3J0ID09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZXZTZXJ2ZXJDb25maWcucG9ydCA9IDgwODA7XG4gICAgICB9XG5cbiAgICAgIGlmIChkZXZTZXJ2ZXJDb25maWcuc3RhdHMpIHtcbiAgICAgICAgd2VicGFja0NvbmZpZy5zdGF0cyA9IGRldlNlcnZlckNvbmZpZy5zdGF0cyBhcyB3ZWJwYWNrLlN0YXRzLlRvU3RyaW5nT3B0aW9uc09iamVjdDtcbiAgICAgIH1cbiAgICAgIC8vIERpc2FibGUgc3RhdHMgcmVwb3J0aW5nIGJ5IHRoZSBkZXZzZXJ2ZXIsIHdlIGhhdmUgb3VyIG93biBsb2dnZXIuXG4gICAgICBkZXZTZXJ2ZXJDb25maWcuc3RhdHMgPSBmYWxzZTtcblxuICAgICAgY29uc3Qgd2VicGFja0NvbXBpbGVyID0gd2VicGFjayh3ZWJwYWNrQ29uZmlnKTtcbiAgICAgIGNvbnN0IHNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKHdlYnBhY2tDb21waWxlciwgZGV2U2VydmVyQ29uZmlnKTtcbiAgICAgIGxldCByZXN1bHQ6IHVuZGVmaW5lZCB8IERldlNlcnZlclJlc3VsdDtcblxuICAgICAgd2VicGFja0NvbXBpbGVyLmhvb2tzLmRvbmUudGFwKCdidWlsZC13ZWJwYWNrJywgKHN0YXRzKSA9PiB7XG4gICAgICAgIC8vIExvZyBzdGF0cy5cbiAgICAgICAgbG9nZ2luZ0NiKHN0YXRzLCB3ZWJwYWNrQ29uZmlnLCB0aGlzLmNvbnRleHQubG9nZ2VyKTtcblxuICAgICAgICBvYnMubmV4dCh7IHN1Y2Nlc3M6ICFzdGF0cy5oYXNFcnJvcnMoKSwgcmVzdWx0IH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHNlcnZlci5saXN0ZW4oXG4gICAgICAgIGRldlNlcnZlckNvbmZpZy5wb3J0LFxuICAgICAgICBkZXZTZXJ2ZXJDb25maWcuaG9zdCxcbiAgICAgICAgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIG9icy5lcnJvcihlcnIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIGlnbm9yZWQgYmVjYXVzZSBvZiB0cyBlcnJvcnNcbiAgICAgICAgICAgIC8vIHRoYXQgdGhpcyBpcyBvdmVyc2hhZG93ZWQgYnkgaXQncyBvdXRlciBjb250YWluXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlO1xuICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgYXMgbmV0LlNlcnZlcikuYWRkcmVzcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIC8vIFRlYXJkb3duIGxvZ2ljLiBDbG9zZSB0aGUgc2VydmVyIHdoZW4gdW5zdWJzY3JpYmVkIGZyb20uXG4gICAgICByZXR1cm4gKCkgPT4gc2VydmVyLmNsb3NlKCk7XG4gICAgfSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCBXZWJwYWNrRGV2U2VydmVyQnVpbGRlcjtcbiJdfQ==