@microsoft/teamsfx-api 0.22.4-alpha.d7c19ebcf.0 → 0.22.4-alpha.dbc239a53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.d.ts +203 -0
- package/build/cli.d.ts.map +1 -0
- package/build/cli.js +5 -0
- package/build/cli.js.map +1 -0
- package/build/constants.d.ts +4 -2
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +4 -2
- package/build/constants.js.map +1 -1
- package/build/error.d.ts +4 -0
- package/build/error.d.ts.map +1 -1
- package/build/error.js +6 -4
- package/build/error.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/qm/question.d.ts +134 -26
- package/build/qm/question.d.ts.map +1 -1
- package/build/qm/question.js +0 -53
- package/build/qm/question.js.map +1 -1
- package/build/qm/ui.d.ts +59 -10
- package/build/qm/ui.d.ts.map +1 -1
- package/build/qm/validation.d.ts +7 -18
- package/build/qm/validation.d.ts.map +1 -1
- package/build/qm/validation.js +0 -159
- package/build/qm/validation.js.map +1 -1
- package/build/types.d.ts +47 -23
- package/build/types.d.ts.map +1 -1
- package/build/types.js +8 -1
- package/build/types.js.map +1 -1
- package/build/utils/log.d.ts +23 -36
- package/build/utils/log.d.ts.map +1 -1
- package/build/utils/log.js +7 -11
- package/build/utils/log.js.map +1 -1
- package/build/utils/login.d.ts +4 -4
- package/build/utils/login.d.ts.map +1 -1
- package/build/utils/login.js +4 -4
- package/build/utils/login.js.map +1 -1
- package/package.json +8 -6
package/build/cli.d.ts
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { Result } from "neverthrow";
|
|
2
|
+
import { FxError } from "./error";
|
|
3
|
+
export type OptionValue = string | boolean | string[] | undefined;
|
|
4
|
+
export type CLIOptionType = "boolean" | "string" | "array";
|
|
5
|
+
export interface CLICommand {
|
|
6
|
+
/**
|
|
7
|
+
* @description command name, only meaningful to its parent command, like "sample"
|
|
8
|
+
*/
|
|
9
|
+
name: string;
|
|
10
|
+
/**
|
|
11
|
+
* @description command full name, like "teamsfx new sample", only available after command finding
|
|
12
|
+
*/
|
|
13
|
+
fullName?: string;
|
|
14
|
+
/**
|
|
15
|
+
* @description CLI version, only necessary for the root command
|
|
16
|
+
*/
|
|
17
|
+
version?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description command description
|
|
20
|
+
*/
|
|
21
|
+
description: string;
|
|
22
|
+
/**
|
|
23
|
+
* @description command argument, for example, "teamsfx new sample <sample-name>": sample-name is an argument, which is positional
|
|
24
|
+
*/
|
|
25
|
+
arguments?: CLICommandArgument[];
|
|
26
|
+
/**
|
|
27
|
+
* @description command options, followed by "--" or "-" char, for example, "teamsfx new sample --option1 value1 --option2 value2"
|
|
28
|
+
*/
|
|
29
|
+
options?: CLICommandOption[];
|
|
30
|
+
/**
|
|
31
|
+
* @description whether to sort options in "--help"
|
|
32
|
+
*/
|
|
33
|
+
sortOptions?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* @description sub commands, CLI commands are organized in a tree structure, commands can have sub commands
|
|
36
|
+
*/
|
|
37
|
+
commands?: CLICommand[];
|
|
38
|
+
/**
|
|
39
|
+
* @description whether to sort sub commands in "--help"
|
|
40
|
+
*/
|
|
41
|
+
sortCommands?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* @description examples of how to use this command
|
|
44
|
+
*/
|
|
45
|
+
examples?: CLIExample[];
|
|
46
|
+
/**
|
|
47
|
+
* @description command handler
|
|
48
|
+
*/
|
|
49
|
+
handler?: (ctx: CLIContext) => Promise<Result<undefined, FxError>> | Result<undefined, FxError>;
|
|
50
|
+
/**
|
|
51
|
+
* @description telemetry will be sent when available
|
|
52
|
+
*/
|
|
53
|
+
telemetry?: {
|
|
54
|
+
event: string;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* @description header message will be printed on the top in "--help"
|
|
58
|
+
*/
|
|
59
|
+
header?: string;
|
|
60
|
+
/**
|
|
61
|
+
* @description footer message will be printed on the bottom in "--help"
|
|
62
|
+
*/
|
|
63
|
+
footer?: string;
|
|
64
|
+
/**
|
|
65
|
+
* @description whether to hide this command in "--help"
|
|
66
|
+
*/
|
|
67
|
+
hidden?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* @description default value of global option "--interactive", default value is true
|
|
70
|
+
*/
|
|
71
|
+
defaultInteractiveOption?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* @description reserve option values in interactive mode
|
|
74
|
+
*/
|
|
75
|
+
reservedOptionNamesInInteractiveMode?: string[];
|
|
76
|
+
}
|
|
77
|
+
export interface CLIFoundCommand extends CLICommand {
|
|
78
|
+
fullName: string;
|
|
79
|
+
}
|
|
80
|
+
export interface CLIContext {
|
|
81
|
+
/**
|
|
82
|
+
* @description the command matched
|
|
83
|
+
*/
|
|
84
|
+
command: CLIFoundCommand;
|
|
85
|
+
/**
|
|
86
|
+
* @description parsed option values
|
|
87
|
+
*/
|
|
88
|
+
optionValues: Record<string, OptionValue>;
|
|
89
|
+
/**
|
|
90
|
+
* @description parsed global option values, global options are options defined by the root command in the command tree.
|
|
91
|
+
*/
|
|
92
|
+
globalOptionValues: Record<string, OptionValue>;
|
|
93
|
+
/**
|
|
94
|
+
* @description parsed argument values
|
|
95
|
+
*/
|
|
96
|
+
argumentValues: OptionValue[];
|
|
97
|
+
/**
|
|
98
|
+
* @description telemetry properties, which cen be accessed in the process of command execution lifecycle
|
|
99
|
+
*/
|
|
100
|
+
telemetryProperties: Record<string, string>;
|
|
101
|
+
}
|
|
102
|
+
interface CLICommandOptionBase {
|
|
103
|
+
/**
|
|
104
|
+
* @description option/argument name
|
|
105
|
+
* */
|
|
106
|
+
name: string;
|
|
107
|
+
/**
|
|
108
|
+
* @description when converting option key-value into @Inputs for FxCore,
|
|
109
|
+
* the key will be used as the property name if defined, otherwise the name will be used
|
|
110
|
+
*/
|
|
111
|
+
questionName?: string;
|
|
112
|
+
/**
|
|
113
|
+
* @description option/argument description
|
|
114
|
+
*/
|
|
115
|
+
description: string;
|
|
116
|
+
/**
|
|
117
|
+
* @description option/argument abbreviation
|
|
118
|
+
*/
|
|
119
|
+
shortName?: string;
|
|
120
|
+
/**
|
|
121
|
+
* @description option/argument value type: boolean, text, array
|
|
122
|
+
*/
|
|
123
|
+
type: CLIOptionType;
|
|
124
|
+
/**
|
|
125
|
+
* @description whether this option/argument is required
|
|
126
|
+
*/
|
|
127
|
+
required?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* @description whether this option/argument is hidden in "--help"
|
|
130
|
+
*/
|
|
131
|
+
hidden?: boolean;
|
|
132
|
+
}
|
|
133
|
+
export interface CLIBooleanOption extends CLICommandOptionBase {
|
|
134
|
+
type: "boolean";
|
|
135
|
+
/**
|
|
136
|
+
* @description default value
|
|
137
|
+
*/
|
|
138
|
+
default?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* @description parsed input value
|
|
141
|
+
*/
|
|
142
|
+
value?: boolean;
|
|
143
|
+
}
|
|
144
|
+
export interface CLIStringOption extends CLICommandOptionBase {
|
|
145
|
+
type: "string";
|
|
146
|
+
/**
|
|
147
|
+
* @description default value
|
|
148
|
+
*/
|
|
149
|
+
default?: string;
|
|
150
|
+
/**
|
|
151
|
+
* @description parsed input value
|
|
152
|
+
*/
|
|
153
|
+
value?: string;
|
|
154
|
+
/**
|
|
155
|
+
* allowed values
|
|
156
|
+
*/
|
|
157
|
+
choices?: string[];
|
|
158
|
+
/**
|
|
159
|
+
* @description whether to skip validation against allowed values defined in choices
|
|
160
|
+
*/
|
|
161
|
+
skipValidation?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* @description command to get choice list
|
|
164
|
+
*/
|
|
165
|
+
choiceListCommand?: string;
|
|
166
|
+
}
|
|
167
|
+
export interface CLIArrayOption extends CLICommandOptionBase {
|
|
168
|
+
type: "array";
|
|
169
|
+
/**
|
|
170
|
+
* @description default value
|
|
171
|
+
*/
|
|
172
|
+
default?: string[];
|
|
173
|
+
/**
|
|
174
|
+
* @description parsed input value
|
|
175
|
+
*/
|
|
176
|
+
value?: string[];
|
|
177
|
+
/**
|
|
178
|
+
* allowed values
|
|
179
|
+
*/
|
|
180
|
+
choices?: string[];
|
|
181
|
+
/**
|
|
182
|
+
* @description whether to skip validation against allowed values defined in choices
|
|
183
|
+
*/
|
|
184
|
+
skipValidation?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* @description command to get choice list
|
|
187
|
+
*/
|
|
188
|
+
choiceListCommand?: string;
|
|
189
|
+
}
|
|
190
|
+
export type CLICommandOption = CLIBooleanOption | CLIStringOption | CLIArrayOption;
|
|
191
|
+
export type CLICommandArgument = CLICommandOption;
|
|
192
|
+
export interface CLIExample {
|
|
193
|
+
/**
|
|
194
|
+
* @description example command
|
|
195
|
+
*/
|
|
196
|
+
command: string;
|
|
197
|
+
/**
|
|
198
|
+
* @description description of the sample command
|
|
199
|
+
*/
|
|
200
|
+
description: string;
|
|
201
|
+
}
|
|
202
|
+
export {};
|
|
203
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/build/cli.js
ADDED
package/build/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
|
package/build/constants.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export declare const ConfigFolderName = "fx";
|
|
2
2
|
export declare const AppPackageFolderName = "appPackage";
|
|
3
3
|
export declare const BuildFolderName = "build";
|
|
4
|
+
export declare const AdaptiveFolderName = "adaptiveCards";
|
|
4
5
|
export declare const TemplateFolderName = "templates";
|
|
5
|
-
export declare const AdaptiveCardsFolderName = "adaptiveCards";
|
|
6
6
|
export declare const LocalEnvironmentName = "local";
|
|
7
7
|
export declare const ProductName = "teamsfx";
|
|
8
8
|
export declare const AutoGeneratedReadme = "README-auto-generated.md";
|
|
9
9
|
export declare const DefaultReadme = "README.md";
|
|
10
10
|
export declare const SettingsFolderName = "teamsfx";
|
|
11
|
+
export declare const ManifestTemplateFileName = "manifest.json";
|
|
11
12
|
/**
|
|
12
13
|
* questions for VS and CLI_HELP platforms are static question which don't depend on project context
|
|
13
14
|
* questions for VSCode and CLI platforms are dynamic question which depend on project context
|
|
@@ -59,7 +60,8 @@ export declare enum Stage {
|
|
|
59
60
|
publishInDeveloperPortal = "publishInDeveloperPortal",
|
|
60
61
|
validateApplication = "validateApplication",
|
|
61
62
|
createAppPackage = "createAppPackage",
|
|
62
|
-
previewWithManifest = "previewWithManifest"
|
|
63
|
+
previewWithManifest = "previewWithManifest",
|
|
64
|
+
copilotPluginAddAPI = "copilotPluginAddAPI"
|
|
63
65
|
}
|
|
64
66
|
export declare enum TelemetryEvent {
|
|
65
67
|
askQuestion = "askQuestion"
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAC5C,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAExD;;;GAGG;AACH,oBAAY,QAAQ;IAClB,MAAM,QAAQ;IACd,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,eAAe,YAAsB,CAAC;AACnD,eAAO,MAAM,gBAAgB,YAA+C,CAAC;AAC7E,eAAO,MAAM,YAAY,YAAoC,CAAC;AAE9D,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,MAAM,WAAW;CAClB;AAED,oBAAY,KAAK;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,cAAc;IACxB,WAAW,gBAAgB;CAC5B;AAED,oBAAY,iBAAiB;IAC3B,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB"}
|
package/build/constants.js
CHANGED
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
"use strict";
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.CoreCallbackEvent = exports.TelemetryProperty = exports.TelemetryEvent = exports.Stage = exports.VsCodeEnv = exports.CLIPlatforms = exports.DynamicPlatforms = exports.StaticPlatforms = exports.Platform = exports.SettingsFolderName = exports.DefaultReadme = exports.AutoGeneratedReadme = exports.ProductName = exports.LocalEnvironmentName = exports.
|
|
5
|
+
exports.CoreCallbackEvent = exports.TelemetryProperty = exports.TelemetryEvent = exports.Stage = exports.VsCodeEnv = exports.CLIPlatforms = exports.DynamicPlatforms = exports.StaticPlatforms = exports.Platform = exports.ManifestTemplateFileName = exports.SettingsFolderName = exports.DefaultReadme = exports.AutoGeneratedReadme = exports.ProductName = exports.LocalEnvironmentName = exports.TemplateFolderName = exports.AdaptiveFolderName = exports.BuildFolderName = exports.AppPackageFolderName = exports.ConfigFolderName = void 0;
|
|
6
6
|
exports.ConfigFolderName = "fx";
|
|
7
7
|
exports.AppPackageFolderName = "appPackage";
|
|
8
8
|
exports.BuildFolderName = "build";
|
|
9
|
+
exports.AdaptiveFolderName = "adaptiveCards";
|
|
9
10
|
exports.TemplateFolderName = "templates";
|
|
10
|
-
exports.AdaptiveCardsFolderName = "adaptiveCards";
|
|
11
11
|
exports.LocalEnvironmentName = "local";
|
|
12
12
|
exports.ProductName = "teamsfx";
|
|
13
13
|
exports.AutoGeneratedReadme = "README-auto-generated.md";
|
|
14
14
|
exports.DefaultReadme = "README.md";
|
|
15
15
|
exports.SettingsFolderName = "teamsfx";
|
|
16
|
+
exports.ManifestTemplateFileName = "manifest.json";
|
|
16
17
|
/**
|
|
17
18
|
* questions for VS and CLI_HELP platforms are static question which don't depend on project context
|
|
18
19
|
* questions for VSCode and CLI platforms are dynamic question which depend on project context
|
|
@@ -68,6 +69,7 @@ var Stage;
|
|
|
68
69
|
Stage["validateApplication"] = "validateApplication";
|
|
69
70
|
Stage["createAppPackage"] = "createAppPackage";
|
|
70
71
|
Stage["previewWithManifest"] = "previewWithManifest";
|
|
72
|
+
Stage["copilotPluginAddAPI"] = "copilotPluginAddAPI";
|
|
71
73
|
})(Stage = exports.Stage || (exports.Stage = {}));
|
|
72
74
|
var TelemetryEvent;
|
|
73
75
|
(function (TelemetryEvent) {
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC;;;AAEA,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,oBAAoB,GAAG,YAAY,CAAC;AACpC,QAAA,eAAe,GAAG,OAAO,CAAC;AAC1B,QAAA,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/build/error.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface FxError extends Error {
|
|
|
12
12
|
*/
|
|
13
13
|
timestamp: Date;
|
|
14
14
|
userData?: any;
|
|
15
|
+
categories?: string[];
|
|
15
16
|
}
|
|
16
17
|
export interface ErrorOptionBase {
|
|
17
18
|
source?: string;
|
|
@@ -20,6 +21,7 @@ export interface ErrorOptionBase {
|
|
|
20
21
|
error?: Error;
|
|
21
22
|
userData?: any;
|
|
22
23
|
displayMessage?: string;
|
|
24
|
+
categories?: string[];
|
|
23
25
|
}
|
|
24
26
|
export interface UserErrorOptions extends ErrorOptionBase {
|
|
25
27
|
helpLink?: string;
|
|
@@ -55,6 +57,7 @@ export declare class UserError extends Error implements FxError {
|
|
|
55
57
|
* message show in the UI
|
|
56
58
|
*/
|
|
57
59
|
displayMessage?: string;
|
|
60
|
+
categories?: string[];
|
|
58
61
|
constructor(opt: UserErrorOptions);
|
|
59
62
|
constructor(source: string, name: string, message: string, displayMessage?: string);
|
|
60
63
|
}
|
|
@@ -86,6 +89,7 @@ export declare class SystemError extends Error implements FxError {
|
|
|
86
89
|
* message show in the UI
|
|
87
90
|
*/
|
|
88
91
|
displayMessage?: string;
|
|
92
|
+
categories?: string[];
|
|
89
93
|
constructor(opt: SystemErrorOptions);
|
|
90
94
|
constructor(source: string, name: string, message: string, displayMessage?: string);
|
|
91
95
|
}
|
package/build/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB,QAAQ,CAAC,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AACD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAM,YAAW,OAAO;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEV,GAAG,EAAE,gBAAgB;gBACrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;CA6CnF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAM,YAAW,OAAO;IACvD;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEV,GAAG,EAAE,kBAAkB;gBACvB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;CA6CnF"}
|
package/build/error.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.SystemError = exports.UserError = void 0;
|
|
|
8
8
|
*/
|
|
9
9
|
class UserError extends Error {
|
|
10
10
|
constructor(param1, param2, param3, param4) {
|
|
11
|
-
var _a
|
|
11
|
+
var _a;
|
|
12
12
|
let option;
|
|
13
13
|
if (typeof param1 === "string") {
|
|
14
14
|
option = {
|
|
@@ -25,7 +25,7 @@ class UserError extends Error {
|
|
|
25
25
|
const message = option.message || ((_a = option.error) === null || _a === void 0 ? void 0 : _a.message);
|
|
26
26
|
super(message);
|
|
27
27
|
//name
|
|
28
|
-
this.name = option.name ||
|
|
28
|
+
this.name = option.name || new.target.name;
|
|
29
29
|
//source
|
|
30
30
|
this.source = option.source || "unknown";
|
|
31
31
|
//stack
|
|
@@ -39,6 +39,7 @@ class UserError extends Error {
|
|
|
39
39
|
this.userData = option.userData;
|
|
40
40
|
this.displayMessage = option.displayMessage;
|
|
41
41
|
this.timestamp = new Date();
|
|
42
|
+
this.categories = option.categories;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
exports.UserError = UserError;
|
|
@@ -47,7 +48,7 @@ exports.UserError = UserError;
|
|
|
47
48
|
*/
|
|
48
49
|
class SystemError extends Error {
|
|
49
50
|
constructor(param1, param2, param3, param4) {
|
|
50
|
-
var _a
|
|
51
|
+
var _a;
|
|
51
52
|
let option;
|
|
52
53
|
if (typeof param1 === "string") {
|
|
53
54
|
option = {
|
|
@@ -64,7 +65,7 @@ class SystemError extends Error {
|
|
|
64
65
|
const message = option.message || ((_a = option.error) === null || _a === void 0 ? void 0 : _a.message);
|
|
65
66
|
super(message);
|
|
66
67
|
//name
|
|
67
|
-
this.name = option.name ||
|
|
68
|
+
this.name = option.name || new.target.name;
|
|
68
69
|
//source
|
|
69
70
|
this.source = option.source || "unknown";
|
|
70
71
|
//stack
|
|
@@ -78,6 +79,7 @@ class SystemError extends Error {
|
|
|
78
79
|
this.userData = option.userData;
|
|
79
80
|
this.displayMessage = option.displayMessage;
|
|
80
81
|
this.timestamp = new Date();
|
|
82
|
+
this.categories = option.categories;
|
|
81
83
|
}
|
|
82
84
|
}
|
|
83
85
|
exports.SystemError = SystemError;
|
package/build/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -11,4 +11,5 @@ tslib_1.__exportStar(require("./error"), exports);
|
|
|
11
11
|
tslib_1.__exportStar(require("./types"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("neverthrow"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("@microsoft/teams-manifest"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./cli"), exports);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC;;;AACb,+CAAqB;AACrB,kDAAwB;AACxB,sDAA4B;AAC5B,oDAA0B;AAC1B,kDAAwB;AACxB,kDAAwB;AACxB,qDAA2B;AAC3B,oEAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC;;;AACb,+CAAqB;AACrB,kDAAwB;AACxB,sDAA4B;AAC5B,oDAA0B;AAC1B,kDAAwB;AACxB,kDAAwB;AACxB,qDAA2B;AAC3B,oEAA0C;AAC1C,gDAAsB"}
|