wagenaartje / neataptic

:rocket: Blazing fast neuro-evolution & backpropagation for the browser and Node.js
https://wagenaartje.github.io/neataptic/
Other
1.19k stars 279 forks source link

neataptic from NPM version >=1.4.0 not working #164

Open FinalDayz opened 2 years ago

FinalDayz commented 2 years ago

Hi, When creating a new empty react app (but will probably happen in other cases also) and install neataptic, the following error will appear:


ERROR in ./node_modules/neataptic/src/architecture/network.js 868:18-36

Module not found: Error: Can't resolve 'os' in 'C:\Users\stee2\WebstormProjects\neataptic test\js-empty-1 - kopie\node_modules\neataptic\src\architecture'

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 }

ERROR in ./node_modules/neataptic/src/multithreading/workers/node/testworker.js 5:9-33

Module not found: Error: Can't resolve 'child_process' in 'C:\Users\stee2\WebstormProjects\neataptic test\js-empty-1 - kopie\node_modules\neataptic\src\multithreading\workers\node'

ERROR in ./node_modules/neataptic/src/multithreading/workers/node/testworker.js 7:11-26

Module not found: Error: Can't resolve 'path' in 'C:\Users\stee2\WebstormProjects\neataptic test\js-empty-1 - kopie\node_modules\neataptic\src\multithreading\workers\node'

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 }

The following commands can be used to reproduce this. npx create-react-app test-neataptic Create project npm install neataptic@1.4.0 To install neataptic npm run start To start the app

But when version 1.3.9 is used instead, there will be no error. I think this may have something to do with the copy-webpack-plugin configuration added in version 1.4.0.