Skip to content

Why re-export overriding does not work if I use microbundle ? #782

Open
@qjnz

Description

@qjnz

Hi guys,

I have run into some really weird situation here. Here is some demo code here, which does not use microbundle in that project.

What I am trying to do is like the following:

import { theFunction } from './myOverrides'

export * from 'some-library'
export { theFunction } // theFunction here should override the theFunction from the `some-library`

However, from the emitted umd.js or common.js file that I got from microbundle, the theFunction does not get override since I can see that the legacy javascript code I got from the output is doing something like below

Object.keys(r).forEach(function (e) {
  'default' !== e &&
    Object.defineProperty(exports, e, {
      enumerable: !0,
      get: function () {
        return r[e]
      },
    })
}),

which the latter export export { theFunction } does not override it.

My question is that if somehow the microbundle does some magic here about export * from 'some-library'.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions