feat: supports imports option for auto-import (#12861)

Co-authored-by: 赵江江 <zhaojiangjiang@kingyee.com.cn>
This commit is contained in:
zhaojjiang
2024-05-18 20:39:28 +08:00
committed by GitHub
co-authored by 赵江江
parent 413150a4ab
commit 96cbb04bc0
5 changed files with 68 additions and 30 deletions
+12 -6
View File
@@ -34,11 +34,12 @@ bun add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
export default defineConfig({
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -54,11 +55,12 @@ export default defineConfig({
// rollup.config.js
import AutoImport from 'unplugin-auto-import/rollup';
import Components from 'unplugin-vue-components/rollup';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
export default {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -74,11 +76,12 @@ export default {
// webpack.config.js
import AutoImport from 'unplugin-auto-import/webpack';
import Components from 'unplugin-vue-components/webpack';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
module.exports = {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -94,11 +97,12 @@ module.exports = {
// rspack.config.js
import AutoImport from 'unplugin-auto-import/rspack';
import Components from 'unplugin-vue-components/rspack';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
module.exports = {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -114,12 +118,13 @@ module.exports = {
// vue.config.js
import AutoImport from 'unplugin-auto-import/webpack';
import Components from 'unplugin-vue-components/webpack';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
module.exports = {
configureWebpack: {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -137,11 +142,12 @@ module.exports = {
import { build } from 'esbuild';
import AutoImport from 'unplugin-auto-import/esbuild';
import Components from 'unplugin-vue-components/esbuild';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
build({
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -34,11 +34,12 @@ bun add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
export default defineConfig({
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -54,11 +55,12 @@ export default defineConfig({
// rollup.config.js
import AutoImport from 'unplugin-auto-import/rollup';
import Components from 'unplugin-vue-components/rollup';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
export default {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -74,11 +76,12 @@ export default {
// webpack.config.js
import AutoImport from 'unplugin-auto-import/webpack';
import Components from 'unplugin-vue-components/webpack';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
module.exports = {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -94,11 +97,12 @@ module.exports = {
// rspack.config.js
import AutoImport from 'unplugin-auto-import/rspack';
import Components from 'unplugin-vue-components/rspack';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
module.exports = {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -114,12 +118,13 @@ module.exports = {
// vue.config.js
import AutoImport from 'unplugin-auto-import/webpack';
import Components from 'unplugin-vue-components/webpack';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
module.exports = {
configureWebpack: {
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -137,11 +142,12 @@ module.exports = {
import { build } from 'esbuild';
import AutoImport from 'unplugin-auto-import/esbuild';
import Components from 'unplugin-vue-components/esbuild';
import { VantResolver } from '@vant/auto-import-resolver';
import { VantResolver, VantImports } from '@vant/auto-import-resolver';
build({
plugins: [
AutoImport({
imports: [VantImports()],
resolvers: [VantResolver()],
}),
Components({
@@ -23,6 +23,8 @@ export interface VantResolverOptions {
ssr?: boolean;
}
export type VantImportsOptions = Pick<VantResolverOptions, 'module' | 'ssr'>;
/**
* Button->button; ButtonGroup->button-group
*/
@@ -124,3 +126,11 @@ export function VantResolver(options: VantResolverOptions = {}) {
},
};
}
export function VantImports(options: VantImportsOptions = {}) {
const moduleType = getModuleType(options);
return {
[`vant/${moduleType}`]: getAPIMap().keys(),
};
}