diff --git a/CHANGELOG.md b/CHANGELOG.md index f418e1e4..ab2210aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [7.2.4](https://github.com/webpack-contrib/postcss-loader/compare/v7.2.3...v7.2.4) (2023-04-04) + + +### Bug Fixes + +* memory leak ([#642](https://github.com/webpack-contrib/postcss-loader/issues/642)) ([7ab3b59](https://github.com/webpack-contrib/postcss-loader/commit/7ab3b591dd108732aeab1178d452763936105eae)) + ### [7.2.3](https://github.com/webpack-contrib/postcss-loader/compare/v7.2.2...v7.2.3) (2023-04-03) diff --git a/package-lock.json b/package-lock.json index 0b9787d2..d1f0ea0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "postcss-loader", - "version": "7.2.3", + "version": "7.2.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index db6dc759..49f1d833 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "postcss-loader", - "version": "7.2.3", + "version": "7.2.4", "description": "PostCSS loader for webpack", "license": "MIT", "repository": "webpack-contrib/postcss-loader", diff --git a/src/utils.js b/src/utils.js index af6aa804..20d00ef2 100644 --- a/src/utils.js +++ b/src/utils.js @@ -34,6 +34,8 @@ function exec(code, loaderContext) { return module.exports; } +let tsLoader; + async function loadConfig(loaderContext, config, postcssOptions) { const searchPath = typeof config === "string" @@ -166,13 +168,16 @@ async function loadConfig(loaderContext, config, postcssOptions) { }; if (isTsNodeInstalled) { - // eslint-disable-next-line global-require - const { TypeScriptLoader } = require("cosmiconfig-typescript-loader"); - const loader = TypeScriptLoader(); + if (!tsLoader) { + // eslint-disable-next-line global-require + const { TypeScriptLoader } = require("cosmiconfig-typescript-loader"); + + tsLoader = TypeScriptLoader(); + } - loaders[".cts"] = loader; - loaders[".mts"] = loader; - loaders[".ts"] = loader; + loaders[".cts"] = tsLoader; + loaders[".mts"] = tsLoader; + loaders[".ts"] = tsLoader; } const explorer = cosmiconfig(moduleName, {