Skip to content

can't resolve 'stream', 'crypto', 'fs': dependencies have issues with recent @angular/cli and webpack #44

@tim-tx

Description

@tim-tx

Building my angular project after doing npm install sboljs, I see

WARNING in ./node_modules/sboljs/node_modules/readable-stream/readable.js
Module not found: Error: Can't resolve 'stream' in '/home/me/project/node_modules/sboljs/node_modules/readable-stream'

WARNING in ./node_modules/sboljs/node_modules/readable-stream/lib/_stream_readable.js
Module not found: Error: Can't resolve 'stream' in '/home/me/project/node_modules/sboljs/node_modules/readable-stream/lib'

WARNING in ./node_modules/sboljs/node_modules/readable-stream/lib/_stream_writable.js
Module not found: Error: Can't resolve 'stream' in '/home/me/project/node_modules/sboljs/node_modules/readable-stream/lib'

ERROR in ./node_modules/rdf-normalize/jsonld-normalize.js
Module not found: Error: Can't resolve 'crypto' in '/home/me/project/node_modules/rdf-normalize'
ERROR in ./node_modules/sboljs/node_modules/rdf-normalize/jsonld-normalize.js
Module not found: Error: Can't resolve 'crypto' in '/home/me/project/node_modules/sboljs/node_modules/rdf-normalize'
ERROR in ./node_modules/sboljs/lib/SBOLDocument.js
Module not found: Error: Can't resolve 'fs' in '/home/me/project/node_modules/sboljs/lib'
ERROR in ./node_modules/sboljs/node_modules/rdf-parser-rdfxml/node_modules/rdf-parser-dom/node_modules/rdf-parser-abstract/index.js
Module not found: Error: Can't resolve 'stream' in '/home/me/project/node_modules/sboljs/node_modules/rdf-parser-rdfxml/node_modules/rdf-parser-dom/node_modules/rdf-parser-abstract'
ERROR in ./node_modules/sboljs/node_modules/xml/lib/xml.js
Module not found: Error: Can't resolve 'stream' in '/home/me/project/node_modules/sboljs/node_modules/xml/lib'

There is some discussion here: web3/web3.js#1555

If you do npm install crypto, you are told that crypto is now a built-in module, and that packages importing it should use the built-in version. I think the situation is similar for 'stream' and 'fs'.

Apparently related to a larger rift in angular which doesn't expose its webpack config, preventing a fix: angular/angular-cli#10954

So the solution is a monkey-patch:
https://gist.github.com/niespodd/1fa82da6f8c901d1c33d2fcbb762947d

But perhaps some of the dependencies need updating.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions