javascripttypescriptecmascript-6

How to do re-export with overrides?


export * form 'some-library'
export * from './myOverrides'
// error: [ts] Module 'some-module' has already
// exported a member named 'someFunc'.
// Consider explicitly re-exporting to resolve the ambiguity.

import * as SomeLib from 'some-library'
import * as MyOverrides from './myOverrides'

export { ...SomeLib, ...MyOverrides } // syntax error

const Overridden = { ...someLib, ...MyOverrides } // works
export { ...Overridden } // syntax error

I would like to avoid picking out all named exports just to re-export them;

import { a, b, c, d, e, ..... } from 'some-library'
export { a, b, c, d, e, .... }
export * from './myOverrides'

Solution

  • From Guy Sensei:

    https://github.com/systemjs/systemjs/issues/1031#issuecomment-171262430

    I need to:

    import { theFunction } from './myOverrides'
    
    export * from 'some-library'
    export { theFunction }
    

    This works because local exports take priority.