https://github.com/thgh/payload-plugin-resolve-alias
Shorthand to add common webpack aliases
https://github.com/thgh/payload-plugin-resolve-alias
payload payload-plugin payloadcms
Last synced: 10 months ago
JSON representation
Shorthand to add common webpack aliases
- Host: GitHub
- URL: https://github.com/thgh/payload-plugin-resolve-alias
- Owner: thgh
- License: mit
- Created: 2022-11-05T11:41:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-10T13:28:24.000Z (over 2 years ago)
- Last Synced: 2025-08-09T10:50:14.509Z (10 months ago)
- Topics: payload, payload-plugin, payloadcms
- Language: TypeScript
- Homepage:
- Size: 281 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Resolve alias webpack helper for Payload CMS
## Encountered this?
```
ERROR in ./node_modules/next/dist/compiled/micromatch/index.js 22:3471-3486
Module not found: Error: Can't resolve 'util' in '\node_modules\next\dist\compiled\micromatch'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "util": require.resolve("util/") }'
- install 'util'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "util": false }
```
## Features
- Easy way to fix the webpack error
- Built-in list of common server-only modules
## Installation
```
npm install payload-plugin-resolve-alias
# or
yarn add payload-plugin-resolve-alias
```
## Usage
```js
// payload.config.ts
import { resolveAlias, serverOnlyModules } from 'payload-plugin-resolve-alias'
export default buildConfig({
plugins: [
resolveAlias(serverOnlyModules, ['nodemailer']),
// Alternative syntax
resolveAlias(
// Object
{ nodemailer: false, passport: false },
// Arra
['nodemailer', 'passport'],
// String
'nodemailer',
'passport',
// Falsy arguments are ignored
process.env.NODE_ENV === 'production' && ['production-only']
),
],
})
```
## Community-driven list of server-only modules
`serverOnlyModules` is an array of modules that you probably don't want in the browser:
- express
- express-session
- nodemailer
- passport
- util
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
## Contributing
Contributions and feedback are very welcome.
To get it running:
1. Clone the project.
2. `npm install`
3. `npm run build`
## Credits
- [Thomas Ghysels](https://github.com/thgh)
- [All Contributors][link-contributors]
## License
The MIT License (MIT). Please see [License File](LICENSE) for more information.
[link-contributors]: ../../contributors