Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caviarjs/next-resolve-alias-plugin
@caviar/next-block plugin to define module resolving aliases for both server side and client side
https://github.com/caviarjs/next-resolve-alias-plugin
caviar caviar-plugin
Last synced: about 2 months ago
JSON representation
@caviar/next-block plugin to define module resolving aliases for both server side and client side
- Host: GitHub
- URL: https://github.com/caviarjs/next-resolve-alias-plugin
- Owner: caviarjs
- License: other
- Created: 2019-04-09T06:58:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-19T10:59:08.000Z (over 5 years ago)
- Last Synced: 2024-11-07T01:16:41.291Z (about 2 months ago)
- Topics: caviar, caviar-plugin
- Language: JavaScript
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/kaelzhang/caviar-plugin-resolve-alias.svg?branch=master)](https://travis-ci.org/kaelzhang/caviar-plugin-resolve-alias)
[![Coverage](https://codecov.io/gh/kaelzhang/caviar-plugin-resolve-alias/branch/master/graph/badge.svg)](https://codecov.io/gh/kaelzhang/caviar-plugin-resolve-alias)# @caviar/next-resolve-alias-plugin
[@caviar/next-block](https://www.npmjs.com/package/@caviar/next-block) plugin to define module resolving aliases for both server side and client side
## Install
```sh
$ npm i @caviar/next-resolve-alias-plugin
```## Usage
caviar.config.js
```js
const AliasPlugin = require('@caviar/next-resolve-alias-plugin')module.exports = {
caviar: {
plugins: [
new AliasPlugin([{
id: 'fetch',
server: 'node-fetch',
client: 'fetch-ponyfill'
}], __dirname),
...
]
},
...
}
```The code above will set `webpack.output.resolve.alias.fetch` as
- `'node-fetch'` in server side
- and `'fetch-ponyfill'` in client side## new AliasPlugin(aliases, defaultFrom?)
- **aliases** `Array`
- **defaultFrom?** `path````ts
interface Alias {
// Module id
id: string
// `server` could be
// - a module id string
// - a `require.resolve()`d absolute path for a module id
// - false to prevent from setting resolve alias for server side
server?: string = id | false
client?: string = id | false
// Where should `server` and `client` be resolved from, defaults to `defaultFrom`,
// will be useless if `server` and `client` are both absolute paths
from?: string = defaultFrom
}
```### Using `react` installed in current project
```js
new AliasPlugin(['react'], __dirname)
```Or
```js
// You could resolve the module id yourself
new AliasPlugin([{
id: 'react',
server: require.resolve('react'),
client: require.resolve('react')
}])// `defaultFrom` could be omitted if `server` and `client` are absolute paths
```## License
MIT