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