UNPKG

897 BJavaScriptView Raw
1var babylon = require('babylon')
2const acorn = require('acorn')
3const escodegen = require('escodegen')
4// const plugin = require('babel-plugin-import')
5// console.log(babylon)
6const code = `import{ Group as Groups,
7 Cell } from 'vux'; import { X } from 'x'
8import a from './a'
9import x from 'vux/src/components/cell'
10 var b = '1'`
11
12const rs = babylon.parse(code, {
13 sourceType: 'module'
14})
15// console.log(rs)
16const format = function (obj) {
17 return JSON.stringify(obj, null, 2)
18}
19const tree = acorn.parse(code, {
20 sourceType: 'module'
21})
22console.log(format(tree.body))
23
24const append = acorn.parse(`import{ a, xb,
25c,de} from 'xxx'`, {
26 sourceType: 'module'
27})
28// 重新生成
29tree.body.unshift(append)
30const code2 = escodegen.generate(tree, {
31 format: {
32 semicolons: false,
33 indent: {
34 style: ' ',
35 base: 0,
36 adjustMultilineComment: false
37 }
38 }
39})
40console.log(code2)
\No newline at end of file