1 | const Generator = require('./Generator')
|
2 | const MigratorAPI = require('./MigratorAPI')
|
3 |
|
4 | module.exports = class Migrator extends Generator {
|
5 | constructor (context, {
|
6 | plugin,
|
7 |
|
8 | pkg = {},
|
9 | afterInvokeCbs = [],
|
10 | files = {},
|
11 | invoking = false
|
12 | } = {}) {
|
13 | super(context, {
|
14 | pkg,
|
15 | plugins: [],
|
16 | afterInvokeCbs,
|
17 | files,
|
18 | invoking
|
19 | })
|
20 |
|
21 | this.migratorPlugin = plugin
|
22 | this.invoking = invoking
|
23 | }
|
24 |
|
25 | async generate (...args) {
|
26 | const plugin = this.migratorPlugin
|
27 |
|
28 |
|
29 | const api = new MigratorAPI(
|
30 | plugin.id,
|
31 | plugin.baseVersion,
|
32 | this,
|
33 | plugin.options,
|
34 | this.rootOptions
|
35 | )
|
36 |
|
37 | await plugin.apply(api, plugin.options, this.rootOptions, this.invoking)
|
38 |
|
39 | await super.generate(...args)
|
40 | }
|
41 | }
|