Skip to content

Using filehound with react and electron #97

@kameshsampath

Description

@kameshsampath

Question
I am trying to use filehound with my react application that integrates with electron. I am facing webpack issues while building the application

log

ERROR in ./node_modules/filehound/lib/filehound.js 33:12-27
Module not found: Error: Can't resolve 'path' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/filehound/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/filehound/lib/files.js 16:12-27
Module not found: Error: Can't resolve 'path' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/filehound/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
 @ ./node_modules/filehound/lib/filehound.js 43:13-31
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/filehound/lib/files.js 20:10-23
Module not found: Error: Can't resolve 'os' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/filehound/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "os": require.resolve("os-browserify/browser") }'
        - install 'os-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "os": false }
 @ ./node_modules/filehound/lib/filehound.js 43:13-31
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/filehound/node_modules/file-js/lib/file.js 25:12-27
Module not found: Error: Can't resolve 'path' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/filehound/node_modules/file-js/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/filehound/node_modules/file-js/lib/fsp.js 3:10-23
Module not found: Error: Can't resolve 'fs' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/filehound/node_modules/file-js/lib'
Did you mean './fs'?
Requests that should resolve in the current directory need to start with './'.
Requests that start with a name are treated as module requests and resolve within module directories (node_modules, /Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules).
If changing the source code is not an option there is also a resolve options called 'preferRelative' which tries to resolve these kind of requests in the current directory too.
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 33:11-27
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/graceful-fs/graceful-fs.js 1:9-22
Module not found: Error: Can't resolve 'fs' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/graceful-fs'
 @ ./node_modules/proper-lockfile/index.js 3:9-31
 @ ./node_modules/filehound/node_modules/file-js/lib/lock.js 3:22-48
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 37:12-29
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/graceful-fs/graceful-fs.js 9:11-26
Module not found: Error: Can't resolve 'util' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/graceful-fs'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "util": require.resolve("util/") }'
        - install 'util'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "util": false }
 @ ./node_modules/proper-lockfile/index.js 3:9-31
 @ ./node_modules/filehound/node_modules/file-js/lib/lock.js 3:22-48
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 37:12-29
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/graceful-fs/graceful-fs.js 86:6-29
Module not found: Error: Can't resolve 'assert' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/graceful-fs'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
        - install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "assert": false }
 @ ./node_modules/proper-lockfile/index.js 3:9-31
 @ ./node_modules/filehound/node_modules/file-js/lib/lock.js 3:22-48
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 37:12-29
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/graceful-fs/legacy-streams.js 1:13-37
Module not found: Error: Can't resolve 'stream' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/graceful-fs'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
 @ ./node_modules/graceful-fs/graceful-fs.js 5:13-43
 @ ./node_modules/proper-lockfile/index.js 3:9-31
 @ ./node_modules/filehound/node_modules/file-js/lib/lock.js 3:22-48
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 37:12-29
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/graceful-fs/polyfills.js 1:16-36
Module not found: Error: Can't resolve 'constants' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/graceful-fs'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "constants": require.resolve("constants-browserify") }'
        - install 'constants-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "constants": false }
 @ ./node_modules/graceful-fs/graceful-fs.js 3:16-41
 @ ./node_modules/proper-lockfile/index.js 3:9-31
 @ ./node_modules/filehound/node_modules/file-js/lib/lock.js 3:22-48
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 37:12-29
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

ERROR in ./node_modules/proper-lockfile/index.js 5:11-26
Module not found: Error: Can't resolve 'path' in '/Users/kameshs/MyLabs/docker/extensions/drone-desktop/ui/node_modules/proper-lockfile'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
 @ ./node_modules/filehound/node_modules/file-js/lib/lock.js 3:22-48
 @ ./node_modules/filehound/node_modules/file-js/lib/file.js 37:12-29
 @ ./node_modules/filehound/node_modules/file-js/index.js 1:0-41
 @ ./node_modules/filehound/lib/filehound.js 37:14-32
 @ ./node_modules/filehound/index.js 1:0-51
 @ ./src/components/ImportPipelineDialog.tsx 14:0-34 44:24-40
 @ ./src/App.tsx 11:0-61 709:59-71
 @ ./src/index.tsx 10:0-28 50:37-40

Any clue how to fix these issues ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions