uptick / react-keyed-file-browser

Folder based file browser given a flat keyed list of objects, powered by React.
MIT License
295 stars 143 forks source link

Failure to resolve `lodash/flow` issue #252

Closed ikappaki closed 3 months ago

ikappaki commented 3 months ago

Hi,

there appears to be an issue how lodash/flow is imported from some src files

Failed to resolve 'lodash/flow' from 
'./node_modules/react-keyed-file-browser/dist/react-keyed-file-browser.js'

To reproduce with parcel

  1. In an empty directory create

package.json

{
  "devDependencies": {
    "parcel": "^2.12.0"
  },
  "dependencies": {
    "react": "17.0.2",
    "react-dom": "17.0.2",
    "react-keyed-file-browser": "^1.14.0"
  }
}

src\index.js

import ReactDOM from 'react-dom';

import FileBrowser from 'react-keyed-file-browser';

function App() {
  return <FileBrowser
    files={[]}
    />;
}

ReactDOM.render(
  <App />, document.getElementById('app')
);

src/index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>My Parcel App</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="index.js"></script>
  </body>
</html>
  1. Install packages
    $ yarn install
  2. Bring the app up
    
    $ yarn parcel src/index.html 
    yarn run v1.22.22
    warning package.json: No license field
    $ \issue-keyed-file-browser-lodashflow\node_modules\.bin\parcel src/index.html
    Server running at http://localhost:1234
    Building...
    × Build failed.

@parcel/core: Failed to resolve 'lodash/flow' from './node_modules/react-keyed-file-browser/dist/react-keyed-file-browser.js'

\issue-keyed-file-browser-lodashflow\node_modules\react-keyed-file-browser\dist\react-keyed-file-browser.js:1:1499

1 | uire("lodash/flow")},function(e,t,r){"use strict";r.r(t),r.d(t,"RawFileBrowser",(function(){return Ft})),r.d(t,"Base | ^^^^^^^^^^^^^

@parcel/resolver-default: Cannot find module 'lodash'



This is because the lodash dep in `react-keyed-file-browser` is `lodash.flow`, not the whole `lodash` package.

PR to follow.