xwt
6 小时以前 2884be21228fb6b9ed801d732813e8df507cae23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const parser = require('@babel/parser')
 
function parseComponents (content, traverse) {
  const {
    state: {
      options,
      components
    }
  } = traverse(parser.parse(content, {
    sourceType: 'module',
    plugins: [
      'typescript',
      ['decorators', {
        decoratorsBeforeExport: true
      }],
      'classProperties'
    ]
  }), {
    components: [],
    options: {
      name: null,
      inheritAttrs: null,
      props: null
    }
  })
  return {
    components,
    options
  }
}
 
module.exports = {
  parseComponents
}