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

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

Fix frontend appearance

  • Property mode set to 100644
File size: 5.2 KB
Line 
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const schema_utils_1 = __importDefault(require("schema-utils"));
7const cosmiconfig_1 = require("cosmiconfig");
8const deepmerge_1 = __importDefault(require("deepmerge"));
9const ForkTsCheckerWebpackPluginOptions_json_1 = __importDefault(require("./ForkTsCheckerWebpackPluginOptions.json"));
10const ForkTsCheckerWebpackPluginConfiguration_1 = require("./ForkTsCheckerWebpackPluginConfiguration");
11const ForkTsCheckerWebpackPluginState_1 = require("./ForkTsCheckerWebpackPluginState");
12const reporter_1 = require("./reporter");
13const TypeScriptSupport_1 = require("./typescript-reporter/TypeScriptSupport");
14const TypeScriptReporterRpcClient_1 = require("./typescript-reporter/reporter/TypeScriptReporterRpcClient");
15const assertEsLintSupport_1 = require("./eslint-reporter/assertEsLintSupport");
16const EsLintReporterRpcClient_1 = require("./eslint-reporter/reporter/EsLintReporterRpcClient");
17const tapStartToConnectAndRunReporter_1 = require("./hooks/tapStartToConnectAndRunReporter");
18const tapStopToDisconnectReporter_1 = require("./hooks/tapStopToDisconnectReporter");
19const tapAfterCompileToAddDependencies_1 = require("./hooks/tapAfterCompileToAddDependencies");
20const tapErrorToLogMessage_1 = require("./hooks/tapErrorToLogMessage");
21const pluginHooks_1 = require("./hooks/pluginHooks");
22const tapAfterEnvironmentToPatchWatching_1 = require("./hooks/tapAfterEnvironmentToPatchWatching");
23const pool_1 = require("./utils/async/pool");
24const os_1 = __importDefault(require("os"));
25class ForkTsCheckerWebpackPlugin {
26 constructor(options = {}) {
27 const explorerSync = cosmiconfig_1.cosmiconfigSync('fork-ts-checker');
28 const { config: externalOptions } = explorerSync.search() || {};
29 // first validate options directly passed to the constructor
30 const configuration = { name: 'ForkTsCheckerWebpackPlugin' };
31 schema_utils_1.default(ForkTsCheckerWebpackPluginOptions_json_1.default, options, configuration);
32 this.options = deepmerge_1.default(externalOptions || {}, options || {});
33 // then validate merged options
34 schema_utils_1.default(ForkTsCheckerWebpackPluginOptions_json_1.default, this.options, configuration);
35 }
36 /**
37 * @deprecated Use ForkTsCheckerWebpackPlugin.issuesPool instead
38 */
39 static get pool() {
40 // for backward compatibility
41 return ForkTsCheckerWebpackPlugin.issuesPool;
42 }
43 static getCompilerHooks(compiler) {
44 return pluginHooks_1.getForkTsCheckerWebpackPluginHooks(compiler);
45 }
46 apply(compiler) {
47 const configuration = ForkTsCheckerWebpackPluginConfiguration_1.createForkTsCheckerWebpackPluginConfiguration(compiler, this.options);
48 const state = ForkTsCheckerWebpackPluginState_1.createForkTsCheckerWebpackPluginState();
49 const issuesReporters = [];
50 const dependenciesReporters = [];
51 if (configuration.typescript.enabled) {
52 TypeScriptSupport_1.assertTypeScriptSupport(configuration.typescript);
53 issuesReporters.push(TypeScriptReporterRpcClient_1.createTypeScriptReporterRpcClient(configuration.typescript));
54 dependenciesReporters.push(TypeScriptReporterRpcClient_1.createTypeScriptReporterRpcClient(configuration.typescript));
55 }
56 if (configuration.eslint.enabled) {
57 assertEsLintSupport_1.assertEsLintSupport(configuration.eslint);
58 issuesReporters.push(EsLintReporterRpcClient_1.createEsLintReporterRpcClient(configuration.eslint));
59 dependenciesReporters.push(EsLintReporterRpcClient_1.createEsLintReporterRpcClient(configuration.eslint));
60 }
61 if (issuesReporters.length) {
62 const issuesReporter = reporter_1.createAggregatedReporter(reporter_1.composeReporterRpcClients(issuesReporters));
63 const dependenciesReporter = reporter_1.createAggregatedReporter(reporter_1.composeReporterRpcClients(dependenciesReporters));
64 tapAfterEnvironmentToPatchWatching_1.tapAfterEnvironmentToPatchWatching(compiler, state);
65 tapStartToConnectAndRunReporter_1.tapStartToConnectAndRunReporter(compiler, issuesReporter, dependenciesReporter, configuration, state);
66 tapAfterCompileToAddDependencies_1.tapAfterCompileToAddDependencies(compiler, configuration, state);
67 tapStopToDisconnectReporter_1.tapStopToDisconnectReporter(compiler, issuesReporter, dependenciesReporter, state);
68 tapErrorToLogMessage_1.tapErrorToLogMessage(compiler, configuration);
69 }
70 else {
71 throw new Error(`ForkTsCheckerWebpackPlugin is configured to not use any issue reporter. It's probably a configuration issue.`);
72 }
73 }
74}
75exports.ForkTsCheckerWebpackPlugin = ForkTsCheckerWebpackPlugin;
76/**
77 * Current version of the plugin
78 */
79ForkTsCheckerWebpackPlugin.version = '6.5.3'; // will be replaced by the @semantic-release/exec
80/**
81 * Default pools for the plugin concurrency limit
82 */
83ForkTsCheckerWebpackPlugin.issuesPool = pool_1.createPool(Math.max(1, os_1.default.cpus().length));
84ForkTsCheckerWebpackPlugin.dependenciesPool = pool_1.createPool(Math.max(1, os_1.default.cpus().length));
Note: See TracBrowser for help on using the repository browser.