Ts-loader: Module build failed: TypeError: loaderUtils.getOptions is not a function

Created on 7 Aug 2017  路  13Comments  路  Source: TypeStrong/ts-loader

I am trying to import a TS project in my JS project using ts-loader, but I am getting the following error. What can be the issue in this case?

Module build failed: TypeError: loaderUtils.getOptions is not a function  
at getLoaderOptions (C:\Users\Sujit\Desktop\Projects\MyProj-Webpack\node_modules\ts-loader\dist\index.js:61:36)
at Object.loader (C:\Users\Sujit\Desktop\Projects\MyProj-Webpack\node_modules\ts-loader\dist\index.js:15:19)
webpack: Failed to compile.
wontfix

Most helpful comment

ts-loader 9 doesn't support webpack 4: https://github.com/TypeStrong/ts-loader/releases/tag/v9.0.0

All 13 comments

I think we'd need a repro to understand this.

I just had this problem too. In my case, it was caused by an older version of the loader-utils package in node_modules. ts-loader depends on this package, and older versions don't have the getOptions function.

You could manually add a more recent version of loader-utils to your project (npm install loader-utils@latest) or try deleting node_modules and running npm/yarn install to rebuild your dependencies.

@creativecoder I tried updating to the latest version, but I am still getting the same error.
@johnnyreilly What exactly do you need? Steps to reproduce the error?

@psujit Can you confirm that in your project you have node_modules/loader-utils/lib/getOptions.js and a reference to getOptions in node_modules/loader-utils/lib/index.js?

If runtime is complaining getOptions is not a function, it's probably not (there)...

any progress on this?

Just saw that error. Was because I had an older version of loader-utils installed, so upgraded it and the error went away.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Closing as stale. Please reopen if you'd like to work on this further.

I'm getting "loaderContext.getOptions is not a function" now in ts-loader 9.0.2 with webpack 4.44, typescript 4.2.3, and loader-utils 2.0.0. I just upgraded to hopefully fix a different set of problems, so I have no real working configuration to go back to or compare. I'm wondering if my timing is coincidental with some breaking change.

ts-loader 9 doesn't support webpack 4: https://github.com/TypeStrong/ts-loader/releases/tag/v9.0.0

i am getting same error, now what is the work around?
"webpack": "^5.35.1",node version:12.18.1

If you're still using Webpack 4, or Node <12, try using ts-loader v8.2.0 it looks like it's the last version with Webpack 4 compatibility: https://github.com/TypeStrong/ts-loader/releases/tag/v8.2.0

@marquizzo thanks, as i my latest storybook lib already have webpack 4.46.0, i had to remove webpack of higher version from package.json, and then with webpack 4 ,ts-loader 8.2.0 is compatible version.these changes solved my problem.

Was this page helpful?
0 / 5 - 0 ratings