core
                                
                                 core copied to clipboard
                                
                                    core copied to clipboard
                            
                            
                            
                        feat(compiler-sfc): defineDirective
RFC: https://github.com/vuejs/rfcs/discussions/653
define custom directives will get friendly type hints
// before
<script setup>
      const vTest = defineDirective({ created(){} })
 </script>
// after 
export default {
      setup(__props, { expose: __expose }) {
        __expose();
       const vTest = { created(){} }
       return { vTest }
    }
}
When writing custom directives in a vue file, there is no type hint, so this new micro is added to solve this problem
Size Report
Bundles
| File | Size | Gzip | Brotli | 
|---|---|---|---|
| runtime-dom.global.prod.js | 90.5 kB | 34.4 kB | 31 kB | 
| vue.global.prod.js | 148 kB | 53.7 kB | 47.9 kB | 
Usages
| Name | Size | Gzip | Brotli | 
|---|---|---|---|
| createApp | 50.8 kB | 19.8 kB | 18.1 kB | 
| createSSRApp | 54.1 kB | 21.2 kB | 19.3 kB | 
| defineCustomElement | 53 kB | 20.6 kB | 18.8 kB | 
| overall | 64.4 kB | 24.9 kB | 22.6 kB | 
Why not just use import type { Directive } from 'vue';?
Why not just use
import type { Directive } from 'vue';?
This issue is mentioned in the rfc