Skip to content

Duplicated imports when using two require with the same files #64

@PaperStrike

Description

@PaperStrike

Repro: PaperStrike/repro-vite-require-twice

Error:

error during build:
src/App.vue (1:206): Identifier "__dynamic_require2import__1__0" has already been declared
file: /home/sliphua/bug/vite-require-same/src/App.vue:1:206

1: /* [vite-plugin-commonjs] import-require2import-S */ import * as __dynamic_require2import__1__0 from './assets/vue-copy.svg'; import * as __dynamic_require2import__1__1 from './assets/vue.svg'; import * as __dynamic_...
                                                                                                                                                                                                                 ^
2: import _imports_0 from '/vite.svg'

Snippet:

const getTestImgPath = (name, useCopy) => (
  useCopy ? require(`./assets/${name}.svg`) : require(`./assets/${name}-copy.svg`)
)

Possible fix:
Tried the following change locally and it works in my project. Not sure if it suits all.
Please take a view, thank you.
PaperStrike/vite-plugin-commonjs@main...no-dup-import

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions