-
Notifications
You must be signed in to change notification settings - Fork 0
/
Module.d.ts
82 lines (70 loc) · 1.66 KB
/
Module.d.ts
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import { Logger } from 'winston'
import { LPTE } from './LPTE'
import { MultiBar } from 'cli-progress'
import { ModuleType } from './ModuleType'
export interface PackageJson {
name: string
version: string
author: string
dependencies?: { [n: string]: string }
devDependencies?: { [n: string]: string }
toolkit: ToolkitConfig
}
export interface PluginConfig {
main: string
}
export interface ToolkitConfig {
modes: ModuleType[]
plugin: undefined | PluginConfig
needsBuild?: boolean
toolkitVersion?: string
dependencies?: string[]
}
export interface Asset {
name: string
type: 'plugin' | 'module' | 'theme'
version: string
download_url: string
}
export declare class Module {
packageJson: PackageJson
plugin: undefined | Plugin
folder: string
asset?: Asset
constructor (packageJson: any, folder: string)
getName (): string
getVersion (): string
getNewestVersion (): string
getAuthor (): string
getConfig (): ToolkitConfig
hasMode (mode: ModuleType): boolean
hasPlugin (): boolean
getPlugin (): Plugin | undefined
getFolder (): string
toJson (goDeep: boolean): any
}
export const enum PluginStatus {
RUNNING = 'RUNNING',
UNAVAILABLE = 'UNAVAILABLE',
DEGRADED = 'DEGRADED'
}
export declare class PluginContext {
log: Logger
require: (file: string) => any
LPTE: LPTE
plugin: Plugin
progress: MultiBar
constructor (plugin: Plugin)
}
export declare class Plugin {
isLoaded: boolean
status: PluginStatus
module: Module
context: undefined | PluginContext
constructor (module: Module)
getModule (): Module
getPluginConfig (): any
getMain (): string
toJson (goDeep: boolean): any
initialize (): void
}