0

I'm getting a series of errors when running no serve with my Angular app, which is currently the latest version after installing google-auth-library. The errors are -

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 }

There are a lot of these, also for 'fs', 'http2', ' zlib'.

Apparently the solution is to add polyfill in the config.webpack.js but this does not exist in Angular.

Has anyone managed to resolve this?

Thanks

1 Answer 1

0

I was able to resolve this thanks to this answer by @sjsam

https://stackoverflow.com/a/69212673/1122187

I did the following -

tsconfig.js

 "compilerOptions": {
    "paths": {
      "stream": ["./node_modules/stream-browserify"],
      "util": ["./node_modules/util"],
      "url": ["./node_modules/url"],
      "assert": ["./node_modules/assert"],
      "crypto": ["./node_modules/crypto-js"],
      "http": ["./node_modules/stream-http"],
      "https": ["./node_modules/https-browserify"]
    },
...

angular.json

"architect": {
        "build": {
          "options": {
            "allowedCommonJsDependencies": [
              "stream",
              "util",
              "url",
              "assert",
              "crypto",
              "http",
              "https"
            ],
...

  

And finally install all those plugins that are giving errors

npm i stream-browserify --force ...

Then restart the build. Each of the webpack errors should be resolved.

Not the answer you're looking for? Browse other questions tagged or ask your own question.