Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No default export (v2.5.1) #357

Closed
Netail opened this issue Jan 4, 2024 · 5 comments
Closed

No default export (v2.5.1) #357

Netail opened this issue Jan 4, 2024 · 5 comments

Comments

@Netail
Copy link

Netail commented Jan 4, 2024

The latest version (v2.5.1) does not export the function classNames as default anymore.
TypeError: (0 , classnames__WEBPACK_IMPORTED_MODULE_1__.default) is not a function

import classNames from 'classnames';

It does seem to be fixed in the master, but there has not yet been a release created after this fix.

If you were planning on using named-exports, the docs need to be updated

@Netail Netail changed the title v2.5.1 default export No default export (v2.5.1) Jan 4, 2024
@jonkoops
Copy link
Collaborator

jonkoops commented Jan 4, 2024

I suspect #301 might be the cause of this, but I am not sure. Can you share the minimal code needed to reproduce this? This includes bundler configuration and version information. Is there a specific version where this started breaking?

@Netail
Copy link
Author

Netail commented Jan 4, 2024

I might have found the cause. A dependency used v2.3.2, while the project uses v2.5.1.
Project which use v2.4 or higher and a dependency which uses v2.3.2 or lower causes some import issues

@jonkoops
Copy link
Collaborator

jonkoops commented Jan 4, 2024

Ok, sound like things work as expected in newer versions, so I will consider this resolved.

@jonkoops jonkoops closed this as not planned Won't fix, can't repro, duplicate, stale Jan 4, 2024
@Netail
Copy link
Author

Netail commented Jan 4, 2024

Ok, sound like things work as expected in newer versions, so I will consider this resolved.

Correct, caused a bit of a headache. But at least if someone runs into this issue, they'll know :)

@Dervisevic
Copy link

Dervisevic commented Feb 26, 2024

I don't know if this is a problem with my configuration only but I've made sure I'm running 2.5.1 via the yarn lockfile and manual check in node_modules.

I'm using rollup (with only module support no commonjs) and i get this error message when i try to build, and it's pointing at the import of the classnames default export:

src/index.ts → dist/bundle.esm.js...
[!] RollupError: "default" is not exported by "node_modules/classnames/index.js", imported by "src/components/ActivityIndicator/ActivityIndicator.tsx".

My rollup config (rollup.config.mjs)

import typescript from '@rollup/plugin-typescript';
import sass from 'rollup-plugin-sass';
import resolve from '@rollup/plugin-node-resolve';
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import terser from '@rollup/plugin-terser';

export default {
  input: 'src/index.ts', // Entry point for your library
  output: [
    {
      file: 'dist/bundle.esm.js',
      format: 'esm',
      sourcemap: true,
    },
  ],
  plugins: [
    peerDepsExternal(),
    resolve(), 
    typescript({ tsconfig: './tsconfig.json' }), 
    sass({ insert: true }),
    terser(), 
  ],
  external: ['react', 'react-dom'],
};

Any ideas to what could cause this? Or if anything else is needed to reproduce this issue?

My workaround for now is including a commonjs plugin for rollup and that solves the issue. But i feel like this is something others could encounter. This other issue #358 seems related.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants