UNPKG

805 BJavaScriptView Raw
1const Generator = require('./Generator')
2const MigratorAPI = require('./MigratorAPI')
3
4module.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 // apply migrators from plugins
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}