unplugin-auto-import

repository·main·Indexed 25 days ago

https://github.com/unplugin/unplugin-auto-import

A tool to register global imports on demand for build tools including Vite, Webpack, Rspack, Rollup, esbuild, Astro, and Rolldown. It provides seamless TypeScript support via automatic .d.ts file generation and ESLint integration. The plugin includes presets for popular libraries and frameworks such as React, Vue, Svelte, SolidJS, Jotai, MobX, and React Router v6.

Tokens
5.3K
Snippets
17
Records
42
Agent score
86%

What's inside unplugin-auto-import

  1. Configure unplugin-auto-import for Quasar

    main

    For Quasar projects using Vite, you can configure the plugin in vite.config.js or via quasar.config.js using the vitePlugins option.

    // quasar.config.js
    export default defineConfig(() => {
      return {
        build: {
          vitePlugins: [
            ['unplugin-auto-import/vite', { /* options */ }],
          ]
        },
      }
    })
  2. Configure unplugin-auto-import for Webpack

    main

    To use unplugin-auto-import in a Webpack project, require the Webpack-specific entry point and add it to your plugins array in webpack.config.js.

    // webpack.config.js
    module.exports = {
      /* ... */
      plugins: [
        require('unplugin-auto-import/webpack')({ /* options */ }),
      ],
    }
  3. Configure unplugin-auto-import for esbuild

    main

    To use unplugin-auto-import in an esbuild project, import the esbuild-specific entry point and add it to your plugins array in esbuild.config.js.

    // esbuild.config.js
    import { build } from 'esbuild'
    import AutoImport from 'unplugin-auto-import/esbuild'
    
    build({
      /* ... */
      plugins: [
        AutoImport({
        /* options */
        }),
      ],
    })
  4. Configure unplugin-auto-import for Rspack

    main

    To use unplugin-auto-import in an Rspack project, require the Rspack-specific entry point and add it to your plugins array in rspack.config.js.

    // rspack.config.js
    module.exports = {
      /* ... */
      plugins: [
        require('unplugin-auto-import/rspack')({ /* options */ }),
      ],
    }
  5. Configure ESLint for auto-imports

    main

    If you encounter no-undef errors in ESLint, you can generate a configuration file that includes the auto-imported globals.

    1. Enable eslintrc.enabled in the AutoImport configuration.
    2. Extend your .eslintrc.js with the generated file.
    // In your build config
    AutoImport({
      eslintrc: {
        enabled: true,
      },
    })
    // In your .eslintrc.js
    module.exports = {
      extends: [
        './.eslintrc-auto-import.json',
      ],
    }
  6. Use Package Presets

    main

    The plugin provides presets for popular packages. To use a package preset that is not included by default, install it as a dev dependency and add its name to the packagePresets array in your configuration.

    AutoImport({
      /* other options */
      packagePresets: ['detect-browser-es']
    })
  7. Configure unplugin-auto-import for Astro

    main

    To use unplugin-auto-import in an Astro project, import the Astro-specific entry point and add it to your integrations array in astro.config.mjs.

    // astro.config.mjs
    import AutoImport from 'unplugin-auto-import/astro'
    
    export default defineConfig({
      integrations: [
        AutoImport({
        /* options */
        })
      ],
    })