Webpack dev server fails to start without static assets #10212
Closed
Description
Have you read the Contributing Guidelines on issues?
- I have read the Contributing Guidelines on issues.
Prerequisites
- I'm using the latest version of Docusaurus.
- I have tried the
npm run clear
oryarn clear
command. - I have tried
rm -rf node_modules yarn.lock package-lock.json
and re-installing packages. - I have tried creating a repro with https://new.docusaurus.io.
- I have read the console error message carefully (if applicable).
Description
I have a project that doesn't contain a static assets directory. This prevents the Webpack dev server from running due to a misconfiguration of the plugins added by Docusaurus. I was able to workaround this issue by adding a static
directory and adding some content to it.
[SUCCESS] Docusaurus website is running at: http://localhost:3000/
[ERROR] TypeError: Cannot read properties of undefined (reading 'constructor')
at /Users/william.kirby/Code/my-project/node_modules/webpack-dev-server/lib/Server.js:1860:22
at Array.find (<anonymous>)
at /Users/william.kirby/Code/my-project/node_modules/webpack-dev-server/lib/Server.js:1859:60
at Array.forEach (<anonymous>)
at Server.initialize (/Users/william.kirby/Code/my-project/node_modules/webpack-dev-server/lib/Server.js:1846:17)
at Server.start (/Users/william.kirby/Code/my-project/node_modules/webpack-dev-server/lib/Server.js:3358:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Command.start (/Users/william.kirby/Code/my-project/node_modules/@docusaurus/core/lib/commands/start/start.js:42:5)
[INFO] Docusaurus version: 3.4.0
Node version: v18.18.0
This appears to be a regression introduced in v3.4.0
by this PR: #9859
The createStaticDirectoriesCopyPlugin
function returns undefined
when no static directories exist and Webpack isn't able to handle this.
Reproducible demo
No response
Steps to reproduce
- Go to https://new.docusaurus.io/
- Create a new Docusaurus project with StackBlitz
- Kill the development server
- Delete the
static
directory - Attempt to restart the development server
Expected behavior
I would expect the development server to run even if no static assets exist.
Actual behavior
The development server failed to start.
Your environment
- Docusaurus version used: 3.4
- Environment name and version (e.g. Chrome 89, Node.js 16.4): Node 18.18.0
- Operating system and version (e.g. Ubuntu 20.04.2 LTS): MacOS 14.4.1
Self-service
- I'd be willing to fix this bug myself.