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

docs(errors): CSS Imported by a Dependency #10032

Merged
merged 2 commits into from Jan 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
27 changes: 27 additions & 0 deletions errors/css-npm.md
@@ -0,0 +1,27 @@
# CSS Imported by a Dependency

#### Why This Error Occurred

One of your dependencies (`node_modules`) imports a CSS file.

This normally happens when a package's source files are accidentally consumed,
instead of the built package.

#### Possible Ways to Fix It

Reach out to the maintainer and ask for them to publish a compiled version of
their dependency.

Compiled dependencies do not have references to CSS files, or any other files
that require bundler-specific integrations.

The dependency should also provide instructions about what CSS needs to be
imported by you, in your application.

Importing CSS files within `node_modules` cannot be supported because we cannot
know the correct behavior:

- Should the file be consumed as Global CSS or CSS Modules?
- If Global, in what order does the file need to be injected?
- If Modules, what are the emitted class names? As-is, camel-case, snake case?
- Etc...
5 changes: 3 additions & 2 deletions packages/next/build/webpack/config/blocks/css/messages.ts
Expand Up @@ -11,10 +11,11 @@ export function getGlobalImportError(file: string | null) {
}

export function getGlobalModuleImportError() {
// TODO: Read more link
return `Global CSS ${chalk.bold(
'cannot'
)} be imported from within ${chalk.bold('node_modules')}.`
)} be imported from within ${chalk.bold(
'node_modules'
)}.\nRead more: https://err.sh/next.js/css-npm`
}

export function getLocalModuleImportError() {
Expand Down