lodash / babel-plugin-lodash

Modular Lodash builds without the hassle.
Other
1.96k stars 92 forks source link

Breaks when using "cwd" and "id" config options #184

Open danny-andrews opened 6 years ago

danny-andrews commented 6 years ago

This plugin gives TypeError: src/components/PasswordReset/PasswordReset.jsx: Cannot read property 'forEach' of undefined when using cwd and id. Example:

{
  "plugins": [["lodash", { "id": ["material-ui", "redux-form-material-ui"], "cwd": "./deep/dir" }]]
}

After doing some digging, it appears this commit caused the regression.

This is because the first time we call config is here (where cwd defaults to process.cwd()). The second time is here where cwd is whatever you set it in .baberc, so we purge module cache. However, the old ids are still there and we try to loop over them here.

I'd be happy to make a PR once it's verified this is a bug, and that the offending commit can't just be reverted as a fix.

danny-andrews commented 6 years ago

p.s. You can reproduce this error by changing:

'plugins': [[plugin, { 'id': lodashId }]]`

to

'plugins': [[plugin, { 'id': lodashId, 'cwd': './' }]]

here