vite-plugin-resolve
Advanced tools
Comparing version 2.2.2 to 2.3.0
@@ -1,5 +0,1 @@ | ||
import type { Plugin } from 'vite'; | ||
export const lib2esm: import('./presets').Lib2esm; | ||
declare module 'vite-plugin-resolve' { | ||
@@ -9,4 +5,4 @@ function resolve(entries: { | ||
| import('rollup').LoadResult | ||
| Plugin['load']; | ||
}): Plugin[]; | ||
| import('vite').Plugin['load']; | ||
}): import('vite').Plugin[]; | ||
@@ -13,0 +9,0 @@ // https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html#default-exports |
@@ -45,3 +45,1 @@ /** | ||
}; | ||
module.exports.lib2esm = require('./presets').lib2esm; |
{ | ||
"name": "vite-plugin-resolve", | ||
"version": "2.2.2", | ||
"version": "2.3.0", | ||
"description": "Custom resolve module content.", | ||
@@ -28,3 +28,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"lib-esm": "~0.2.0" | ||
"lib-esm": "~0.3.0" | ||
}, | ||
@@ -31,0 +31,0 @@ "devDependencies": { |
@@ -7,21 +7,1 @@ export * from './libs' | ||
} | ||
export interface Lib2esmOptions { | ||
/** | ||
* Generate code snippet format | ||
* | ||
* 🌰 e.g. | ||
* ```js | ||
* const _M_ = require('lib') // cjs | ||
* const _M_ = window['lib'] // iife | ||
* ``` | ||
* | ||
* @default "iife" | ||
*/ | ||
format?: "cjs" | "iife", | ||
} | ||
export interface Lib2esm { | ||
(name: string, options?: Lib2esmOptions): string | ||
(name: string, members: string[], options?: Lib2esmOptions): string | ||
} | ||
export declare const lib2esm: Lib2esm |
const libEsm = require('lib-esm'); | ||
/** | ||
* @type {import('.').Lib2esm} | ||
*/ | ||
exports.lib2esm = function (name, ...args) { | ||
if (!args.length) { | ||
return exports.lib2esm(name, [], {}); | ||
} | ||
if (args.length === 1) { | ||
return Object.prototype.toString.call(args[0]) === '[object Object]' | ||
// lib2esm(name, options) | ||
? exports.lib2esm(name, [], args[0]) | ||
// lib2esm(name, members) | ||
: exports.lib2esm(name, args[0], {}) | ||
} | ||
const [members, options] = args; | ||
const { format = 'iife' } = options; | ||
const result = libEsm({ | ||
require: name, | ||
exports: members, | ||
format, | ||
}) | ||
return `${result.require}\n${result.exports}`; | ||
}; | ||
for (const [name, versions] of Object.entries(require('./libs.json'))) { | ||
@@ -34,5 +8,6 @@ const record = {}; | ||
const lib = require(`./${file}`); | ||
record[version] = this.lib2esm(lib.name, lib.members); | ||
const result = libEsm({ window: lib.name, exports: Object.keys(lib) }); | ||
record[version] = `${result.window}\n${result.exports}`; | ||
} | ||
exports[name.replaceAll('-', '_')] = record; | ||
} |
@@ -58,6 +58,11 @@ # vite-plugin-resolve | ||
You can easy to use `lib2esm()` to customize some things | ||
Use with [lib-esm](https://www.npmjs.com/package/lib-esm) | ||
```sh | ||
npm i lib-esm | ||
``` | ||
```js | ||
import resolve, { lib2esm } from 'vite-plugin-resolve' | ||
import resolve from 'vite-plugin-resolve' | ||
import libEsm from 'lib-esm' | ||
@@ -68,15 +73,18 @@ export default { | ||
// Let's use lodash as an example | ||
lodash: lib2esm( | ||
// lodash iife name | ||
'_', | ||
// export memebers | ||
[ | ||
'chunk', | ||
'curry', | ||
'debounce', | ||
'throttle', | ||
], | ||
), | ||
lodash: () => { | ||
const result = libEsm({ | ||
// lodash iife name | ||
window: '_', | ||
// export memebers | ||
exports: [ | ||
'chunk', | ||
'curry', | ||
'debounce', | ||
'throttle', | ||
], | ||
}) | ||
return `${result.window}\n${result.exports}` | ||
}, | ||
}), | ||
] | ||
], | ||
} | ||
@@ -134,9 +142,7 @@ | ||
```ts | ||
import type { Plugin } from 'vite'; | ||
function resolve(entries: { | ||
[moduleId: string]: | ||
| import('rollup').LoadResult | ||
| Plugin['load']; | ||
}): Plugin[]; | ||
| import('vite').Plugin['load']; | ||
}): import('vite').Plugin[]; | ||
``` | ||
@@ -146,25 +152,2 @@ | ||
`lib2esm(name[,members[,options]])` | ||
```ts | ||
export interface Lib2esmOptions { | ||
/** | ||
* Generate code snippet format | ||
* | ||
* 🌰 e.g. | ||
* ```js | ||
* const _M_ = require('lib') // cjs | ||
* const _M_ = window['lib'] // iife | ||
* ``` | ||
* | ||
* @default "iife" | ||
*/ | ||
format?: "cjs" | "iife", | ||
} | ||
export interface Lib2esm { | ||
(name: string, options?: Lib2esmOptions): string | ||
(name: string, members: string[], options?: Lib2esmOptions): string | ||
} | ||
``` | ||
## What's different from the official Demo? | ||
@@ -171,0 +154,0 @@ |
@@ -58,6 +58,11 @@ # vite-plugin-resolve | ||
你可以很容易地使用 `lib2esm()` 来定制一些内容 | ||
配合 [lib-esm](https://www.npmjs.com/package/lib-esm) 使用 | ||
```sh | ||
npm i lib-esm | ||
``` | ||
```js | ||
import resolve, { lib2esm } from 'vite-plugin-resolve' | ||
import resolve from 'vite-plugin-resolve' | ||
import libEsm from 'lib-esm' | ||
@@ -68,15 +73,18 @@ export default { | ||
// 用 lodash 举个 🌰 | ||
lodash: lib2esm( | ||
// lodash 全局名称 | ||
'_', | ||
// export memebers | ||
[ | ||
'chunk', | ||
'curry', | ||
'debounce', | ||
'throttle', | ||
], | ||
), | ||
lodash: () => { | ||
const result = libEsm({ | ||
// lodash 全局名称 | ||
window: '_', | ||
// export memebers | ||
exports: [ | ||
'chunk', | ||
'curry', | ||
'debounce', | ||
'throttle', | ||
], | ||
}) | ||
return `${result.window}\n${result.exports}` | ||
}, | ||
}), | ||
] | ||
], | ||
} | ||
@@ -134,9 +142,7 @@ | ||
```ts | ||
import type { Plugin } from 'vite'; | ||
function resolve(entries: { | ||
[moduleId: string]: | ||
| import('rollup').LoadResult | ||
| Plugin['load']; | ||
}): Plugin[]; | ||
| import('vite').Plugin['load']; | ||
}): import('vite').Plugin[]; | ||
``` | ||
@@ -146,26 +152,2 @@ | ||
`lib2esm(name[,members[,options]])` | ||
```ts | ||
export interface Lib2esmOptions { | ||
/** | ||
* 生成代码段格式 | ||
* | ||
* 🌰 e.g. | ||
* ```js | ||
* const _M_ = require('lib') // cjs | ||
* const _M_ = window['lib'] // iife | ||
* ``` | ||
* | ||
* @default "iife" | ||
*/ | ||
format?: "cjs" | "iife", | ||
} | ||
export interface Lib2esm { | ||
(name: string, options?: Lib2esmOptions): string | ||
(name: string, members: string[], options?: Lib2esmOptions): string | ||
} | ||
``` | ||
## 这与官方的 Demo 有何异同? | ||
@@ -172,0 +154,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
46537
1729
155
+ Addedlib-esm@0.3.0(transitive)
- Removedlib-esm@0.2.0(transitive)
Updatedlib-esm@~0.3.0