From c09268abfc3356a8cb8b3dad42d45dbce4ce67f8 Mon Sep 17 00:00:00 2001 From: Hassan Khan Date: Sun, 21 Oct 2018 16:02:06 +0100 Subject: [PATCH] serverless: add more type definitions --- types/serverless/classes/Plugin.d.ts | 8 ++++++ types/serverless/classes/PluginManager.d.ts | 27 +++++++++++++++++++++ types/serverless/index.d.ts | 19 +++++++++------ 3 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 types/serverless/classes/Plugin.d.ts create mode 100644 types/serverless/classes/PluginManager.d.ts diff --git a/types/serverless/classes/Plugin.d.ts b/types/serverless/classes/Plugin.d.ts new file mode 100644 index 0000000000..bd2567befd --- /dev/null +++ b/types/serverless/classes/Plugin.d.ts @@ -0,0 +1,8 @@ +import Serverless = require("../index"); + +// tslint:disable-next-line:no-unnecessary-class +declare abstract class Plugin { + constructor(serverless: Serverless, options: Serverless.Options) +} + +export = Plugin; diff --git a/types/serverless/classes/PluginManager.d.ts b/types/serverless/classes/PluginManager.d.ts new file mode 100644 index 0000000000..aa243d47ae --- /dev/null +++ b/types/serverless/classes/PluginManager.d.ts @@ -0,0 +1,27 @@ +import Serverless = require("../index"); +import Plugin = require("./plugin"); + +declare class PluginManager { + constructor(serverless: Serverless) + + setCliOptions(options: Serverless.Options): void; + setCliCommands(commands: {}): void; + + addPlugin(plugin: typeof Plugin): void; + loadAllPlugins(servicePlugins: {}): void; + loadPlugins(plugins: {}): void; + loadCorePlugins(): void; + loadServicePlugins(servicePlugins: {}): void; + loadCommand(pluginName: string, details: {}, key: string): {}; + loadCommands(pluginInstance: Plugin): void; + + cliOptions: {}; + cliCommands: {}; + serverless: Serverless; + plugins: Plugin[]; + commands: {}; + hooks: {}; + deprecatedEvents: {}; +} + +export = PluginManager; diff --git a/types/serverless/index.d.ts b/types/serverless/index.d.ts index e7fe788007..0aab82453f 100644 --- a/types/serverless/index.d.ts +++ b/types/serverless/index.d.ts @@ -4,6 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import Service = require("./classes/Service"); +import PluginManager = require("./classes/PluginManager"); import YamlParser = require("./classes/YamlParser"); import AwsProvider = require("./plugins/aws/provider/awsProvider"); @@ -39,18 +40,20 @@ declare class Serverless { getVersion(): string; cli: { - log(message: string): null + log(message: string): null; }; + providers: {}; + utils: {}; + variables: {}; + yamlParser: YamlParser; + pluginManager: PluginManager; + config: Serverless.Config; - yamlParser: YamlParser; + serverlessDirPath: string; - service: { - getServiceName(): string - getAllFunctions(): string[] - - custom: {} - }; + service: Service; + version: string; } export = Serverless;