vite-transform-globby-import icon indicating copy to clipboard operation
vite-transform-globby-import copied to clipboard

List of some issues and Feature Requests

Open sibbng opened this issue 3 years ago • 2 comments

Hi, as disccused in https://github.com/visualfanatic/vite-plugin-svg/issues/5#issuecomment-738979533 this library has some issues.

  • Doesn't work in Windows.
  • Relative path handling doesn't work properly. I'm trying to import 'globby!./components/*.svg' like that in src folder. But it tries to import from root folder.
  • Partially works with components0 and components1 missing in setup return
Input
<script setup lang='ts'>
import { VueComponent as components } from 'globby!./components/*.svg'
</script>
Output
import {defineComponent as _defineComponent} from "/@modules/vue.js";
import { VueComponent as components0 } from "/~/components/SvgComponent.svg?import"
import { VueComponent as components1 } from "/~/components/SvgComponent2.svg?import"
const components = { components0,components1 };
const __script = _defineComponent({
  expose: [],
  setup(__props) {
    return {components};
  }
});
//....
Expected
import {defineComponent as _defineComponent} from "/@modules/vue.js";
import {VueComponent as components0} from "/~/components/SvgComponent.svg?import";
import {VueComponent as components1} from "/~/components/SvgComponent2.svg?import";
const __script = _defineComponent({
  expose: [],
  setup(__props) {
    const components = {components0, components1};
    return {components, components0, components1};
  }
});
//....

Also having this features would be nice.

  • Use filename as a variable name.
  • Dynamic import support.

My config:

import globbyTransfromfrom from 'vite-transform-globby-import'
import svg from 'vite-plugin-svg'

const alias = {
  '/~/': path.resolve(__dirname, 'src'),
}

const config: UserConfig = {
  alias,
  transforms: [globbyTransfrom({ alias })],
  plugins: [
    svg(),
  ],
}

sibbng avatar Dec 04 '20 19:12 sibbng