source: frontend/node_modules/fork-ts-checker-webpack-plugin/lib/hooks/tapStartToConnectAndRunReporter.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 6.1 KB
Line 
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 return new (P || (P = Promise))(function (resolve, reject) {
5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 step((generator = generator.apply(thisArg, _arguments || [])).next());
9 });
10};
11Object.defineProperty(exports, "__esModule", { value: true });
12const pluginHooks_1 = require("./pluginHooks");
13const reporter_1 = require("../reporter");
14const OperationCanceledError_1 = require("../error/OperationCanceledError");
15const tapDoneToAsyncGetIssues_1 = require("./tapDoneToAsyncGetIssues");
16const tapAfterCompileToGetIssues_1 = require("./tapAfterCompileToGetIssues");
17const interceptDoneToGetWebpackDevServerTap_1 = require("./interceptDoneToGetWebpackDevServerTap");
18const ForkTsCheckerWebpackPlugin_1 = require("../ForkTsCheckerWebpackPlugin");
19function tapStartToConnectAndRunReporter(compiler, issuesReporter, dependenciesReporter, configuration, state) {
20 const hooks = pluginHooks_1.getForkTsCheckerWebpackPluginHooks(compiler);
21 compiler.hooks.run.tap('ForkTsCheckerWebpackPlugin', () => {
22 if (!state.initialized) {
23 state.initialized = true;
24 state.watching = false;
25 tapAfterCompileToGetIssues_1.tapAfterCompileToGetIssues(compiler, configuration, state);
26 }
27 });
28 compiler.hooks.watchRun.tap('ForkTsCheckerWebpackPlugin', () => __awaiter(this, void 0, void 0, function* () {
29 if (!state.initialized) {
30 state.initialized = true;
31 state.watching = true;
32 if (configuration.async) {
33 tapDoneToAsyncGetIssues_1.tapDoneToAsyncGetIssues(compiler, configuration, state);
34 interceptDoneToGetWebpackDevServerTap_1.interceptDoneToGetWebpackDevServerTap(compiler, configuration, state);
35 }
36 else {
37 tapAfterCompileToGetIssues_1.tapAfterCompileToGetIssues(compiler, configuration, state);
38 }
39 }
40 }));
41 compiler.hooks.compilation.tap('ForkTsCheckerWebpackPlugin', (compilation) => __awaiter(this, void 0, void 0, function* () {
42 if (compilation.compiler !== compiler) {
43 // run only for the compiler that the plugin was registered for
44 return;
45 }
46 let change = {};
47 if (state.watching) {
48 change = reporter_1.getFilesChange(compiler);
49 configuration.logger.infrastructure.info([
50 'Calling reporter service for incremental check.',
51 ` Changed files: ${JSON.stringify(change.changedFiles)}`,
52 ` Deleted files: ${JSON.stringify(change.deletedFiles)}`,
53 ].join('\n'));
54 }
55 else {
56 configuration.logger.infrastructure.info('Calling reporter service for single check.');
57 }
58 let resolveDependencies;
59 let rejectDependencies;
60 let resolveIssues;
61 let rejectIssues;
62 state.dependenciesPromise = new Promise((resolve, reject) => {
63 resolveDependencies = resolve;
64 rejectDependencies = reject;
65 });
66 state.issuesPromise = new Promise((resolve, reject) => {
67 resolveIssues = resolve;
68 rejectIssues = reject;
69 });
70 const previousIssuesReportPromise = state.issuesReportPromise;
71 const previousDependenciesReportPromise = state.dependenciesReportPromise;
72 change = yield hooks.start.promise(change, compilation);
73 state.issuesReportPromise = ForkTsCheckerWebpackPlugin_1.ForkTsCheckerWebpackPlugin.issuesPool.submit((done) => new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
74 try {
75 yield issuesReporter.connect();
76 const previousReport = yield previousIssuesReportPromise;
77 if (previousReport) {
78 yield previousReport.close();
79 }
80 const report = yield issuesReporter.getReport(change);
81 resolve(report);
82 report.getIssues().then(resolveIssues).catch(rejectIssues).finally(done);
83 }
84 catch (error) {
85 if (error instanceof OperationCanceledError_1.OperationCanceledError) {
86 hooks.canceled.call(compilation);
87 }
88 else {
89 hooks.error.call(error, compilation);
90 }
91 resolve(undefined);
92 resolveIssues(undefined);
93 done();
94 }
95 })));
96 state.dependenciesReportPromise = ForkTsCheckerWebpackPlugin_1.ForkTsCheckerWebpackPlugin.dependenciesPool.submit((done) => new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
97 try {
98 yield dependenciesReporter.connect();
99 const previousReport = yield previousDependenciesReportPromise;
100 if (previousReport) {
101 yield previousReport.close();
102 }
103 const report = yield dependenciesReporter.getReport(change);
104 resolve(report);
105 report
106 .getDependencies()
107 .then(resolveDependencies)
108 .catch(rejectDependencies)
109 .finally(done);
110 }
111 catch (error) {
112 if (error instanceof OperationCanceledError_1.OperationCanceledError) {
113 hooks.canceled.call(compilation);
114 }
115 else {
116 hooks.error.call(error, compilation);
117 }
118 resolve(undefined);
119 resolveDependencies(undefined);
120 done();
121 }
122 })));
123 }));
124}
125exports.tapStartToConnectAndRunReporter = tapStartToConnectAndRunReporter;
Note: See TracBrowser for help on using the repository browser.