Skip to content

Commit

Permalink
Fixed deprecation warnings on webpack@5.
Browse files Browse the repository at this point in the history
  • Loading branch information
sanex3339 committed Oct 12, 2020
1 parent cafc933 commit 2eae5fb
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 4 deletions.
13 changes: 11 additions & 2 deletions src/index.ts
Expand Up @@ -632,6 +632,7 @@ function getTranspilationEmit(
reportDiagnostics: true,
fileName,
});
const module = loaderContext._module;

addDependenciesFromSolutionBuilder(instance, fileName, file =>
loaderContext.addDependency(path.resolve(file))
Expand All @@ -644,11 +645,19 @@ function getTranspilationEmit(
instance.loaderOptions,
instance.colors,
instance.compiler,
{ module: loaderContext._module },
{ module },
loaderContext.context
);

loaderContext._module.errors.push(...errors);
/**
* Since webpack 5, the `errors` property is deprecated,
* so we can check if some methods for reporting errors exist.
*/
if (!!module.addError) {
errors.forEach(error => module.addError(error));
} else {
module.errors.push(...errors);
}
}

return { outputText, sourceMapText };
Expand Down
22 changes: 20 additions & 2 deletions src/instances.ts
Expand Up @@ -146,6 +146,7 @@ function successfulTypeScriptInstance(
}
}

const module = loader._module;
const basePath = loaderOptions.context || path.dirname(configFilePath || '');
const configParseResult = getConfigParseResult(
compiler,
Expand All @@ -165,7 +166,15 @@ function successfulTypeScriptInstance(
loader.context
);

loader._module.errors.push(...errors);
/**
* Since webpack 5, the `errors` property is deprecated,
* so we can check if some methods for reporting errors exist.
*/
if (!!module.addError) {
errors.forEach(error => module.addError(error));
} else {
module.errors.push(...errors);
}

return {
error: makeError(
Expand Down Expand Up @@ -415,6 +424,7 @@ export function reportTranspileErrors(
if (!instance.reportTranspileErrors) {
return;
}
const module = loader._module;
instance.reportTranspileErrors = false;
// happypack does not have _module.errors - see https://github.com/TypeStrong/ts-loader/issues/336
if (!instance.loaderOptions.happyPackMode) {
Expand All @@ -431,7 +441,15 @@ export function reportTranspileErrors(
{ file: instance.configFilePath || 'tsconfig.json' },
loader.context
);
loader._module.errors.push(...solutionErrors, ...errors);
/**
* Since webpack 5, the `errors` property is deprecated,
* so we can check if some methods for reporting errors exist.
*/
if (!!module.addError) {
[...solutionErrors, ...errors].forEach(error => module.addError(error));
} else {
module.errors.push(...solutionErrors, ...errors);
}
}
}

Expand Down

0 comments on commit 2eae5fb

Please sign in to comment.