Skip to content

Error: Cannot find any-observable implementation nor global.Observable after webpack #146

@kykungz

Description

@kykungz

This package is working fine when I was using babel-node to run it. But after bundling my project through webpack, I got this warning:

WARNING in ./node_modules/any-observable/register.js 15:14-37
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/any-observable/index.js
 @ ./node_modules/@samverschueren/stream-to-observable/index.js
 @ ./node_modules/listr/lib/task.js
 @ ./node_modules/listr/index.js
 @ ./src/index.js

Then after I ran the built bundle, with simple node dist/bundle.js, I got this error:

Error: Cannot find any-observable implementation nor global.Observable.
You must install polyfill or call require("any-observable/register") with your preferred implementation,
e.g. require("any-observable/register")('rxjs') on application load prior to any require("any-observable").

How can I get it running after webpack build?

Here is my webpack.config.js

const path = require('path')

module.exports = {
  entry: './src/index.js',
  mode: 'production',
  target: 'node',
  module: {
    rules: [
      {
        test: /\.m?js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env'],
          },
        },
      },
    ],
  },
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
}

This is my .babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "esmodules": true
        }
      }
    ]
  ]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions