Search code examples
javascriptnode.jstypescriptecmascript-6commonjs

Export 'default' using index.ts


I've got the following project structure:

build/
    build.ts
config/
    config.ts
    index.ts
...

The config.ts contains a default exported type like this:

export default {
    myProp: {
        someProp: "someValue"
    }
}

And the index.ts within config/ looks like this:

export * from './config';

Now I'd like to import the config type within build.ts like this:

import config from '../config';

But when using it (e.g. with config.myProp), it tells me that myProp doesn't exist on index.ts.

According to the official module documentation here, this should work perfectly fine. Am I missing something here?


Solution

  • In config/index.ts re-export config as such:

    export {default as config} from './config';
    

    Then in build/build.ts:

    import {config} from '../config;