glenjamin / skin-deep

Test assertion helpers for use with React's shallowRender test utils

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Module not found: Error: Cannot resolve module 'react-addons-test-utils'

burabure opened this issue · comments

after updating to 15.5 and skindeep v1.0.0, and moving away from react-addons-test-utils we're getting this

modulesModuleNotFoundError: Module not found: Error: Cannot resolve module 'react-addons-test-utils' in /sr/apps/node_modules/skin-deep/lib
19:53:28     at /sr/apps/node_modules/webpack/lib/Compilation.js:1:1
19:53:28     at onDoneResolving (/sr/apps/node_modules/webpack/lib/NormalModuleFactory.js:5:1)
19:53:28     at /sr/apps/node_modules/webpack/lib/NormalModuleFactory.js:1:1
19:53:28     at /sr/apps/node_modules/async/lib/async.js:1:1
19:53:28     at /sr/apps/node_modules/async/lib/async.js:1:1
19:53:28     at done (/sr/apps/node_modules/async/lib/async.js:1:1)
19:53:28     at /sr/apps/node_modules/async/lib/async.js:1:1
19:53:28     at /sr/apps/node_modules/async/lib/async.js:1:1
19:53:28     at /sr/apps/node_modules/async/lib/async.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:15:14
19:53:28     at onResolved (/sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1)
19:53:28     at innerCallback (/sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1)
19:53:28     at loggingCallbackWrapper (/sr/apps/node_modules/enhanced-resolve/lib/createInnerCallback.js:12:14)
19:53:28     at /sr/apps/node_modules/tapable/lib/Tapable.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js:1:1
19:53:28     at loggingCallbackWrapper (/sr/apps/node_modules/enhanced-resolve/lib/createInnerCallback.js:12:14)
19:53:28     at /sr/apps/node_modules/tapable/lib/Tapable.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1
19:53:28     at applyPluginsParallelBailResult.createInnerCallback.log (/sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1)
19:53:28     at loggingCallbackWrapper (/sr/apps/node_modules/enhanced-resolve/lib/createInnerCallback.js:12:14)
19:53:28     at /sr/apps/node_modules/tapable/lib/Tapable.js:1:1
19:53:28     at Tapable.<anonymous> (/sr/apps/node_modules/enhanced-resolve/lib/FileAppendPlugin.js:1:1)
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/Resolver.js:1:1
19:53:28     at /sr/apps/node_modules/enhanced-resolve/lib/FileAppendPlugin.js:5:1
19:53:28     at Storage.finished (/sr/apps/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:1:1)
19:53:28     at /sr/apps/node_modules/graceful-fs/polyfills.js:1:1
19:53:28     at FSReqWrap.oncomplete (fs.js:1:1)
19:53:28 
19:53:28 resolve module react-addons-test-utils in /sr/apps/node_modules/skin-deep/lib
19:53:28   looking for modules in /sr/apps/node_modules
19:53:28     /sr/apps/node_modules/react-addons-test-utils doesn't exist (module as directory)
19:53:28     resolve 'file' react-addons-test-utils in /sr/apps/node_modules
19:53:28       resolve file
19:53:28         /sr/apps/node_modules/react-addons-test-utils doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.js doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.ts doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.coffee doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.jst.ejs doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.jst.eco doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.css doesn't exist
19:53:28         /sr/apps/node_modules/react-addons-test-utils.scss doesn't exist

Meanwhile I've solved this by adding that to the webpack ignore plugin:

plugins: [
    // needed for skin-deep package
    new webpack.IgnorePlugin(/ReactContext|react-addons-test-utils/),
...

I believe this is because webpack tries to lookup the deps statically here https://github.com/glenjamin/skin-deep/blob/master/lib/react-compat.js

maybe there's a better way to solve this?

Adding to the ignore is the correct solution, as webpack isn't able to resolve the multiple React version conditionals.

I don't know of a better way to support multiple versions unfortunately.