@smithy/service-client-documentation-generator 2.0.0 → 2.1.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/dist-cjs/index.js +181 -13
- package/dist-cjs/sdk-client-toc-plugin.js +1 -132
- package/dist-cjs/utils.js +1 -6
- package/package.json +6 -8
package/dist-cjs/index.js
CHANGED
|
@@ -1,15 +1,183 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
20
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
21
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
22
|
+
if (decorator = decorators[i])
|
|
23
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
24
|
+
if (kind && result)
|
|
25
|
+
__defProp(target, key, result);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/index.ts
|
|
30
|
+
var src_exports = {};
|
|
31
|
+
__export(src_exports, {
|
|
32
|
+
load: () => load
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(src_exports);
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
// src/sdk-client-toc-plugin.ts
|
|
38
|
+
|
|
39
|
+
var import_typedoc = require("typedoc");
|
|
40
|
+
|
|
41
|
+
// src/utils.ts
|
|
42
|
+
var import_path = require("path");
|
|
43
|
+
var isClientModel = /* @__PURE__ */ __name((model) => {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
return (_b = (_a = model == null ? void 0 : model.sources) == null ? void 0 : _a[0]) == null ? void 0 : _b.fullFileName.includes(`${import_path.sep}clients${import_path.sep}`);
|
|
46
|
+
}, "isClientModel");
|
|
47
|
+
|
|
48
|
+
// src/sdk-client-toc-plugin.ts
|
|
49
|
+
var _SdkClientTocPlugin = class _SdkClientTocPlugin {
|
|
50
|
+
constructor(options, logger, renderer) {
|
|
51
|
+
this.options = options;
|
|
52
|
+
this.logger = logger;
|
|
53
|
+
this.renderer = renderer;
|
|
54
|
+
this.changeLinksToLowerCase = (context) => {
|
|
55
|
+
Object.keys(context.project.reflections).forEach((reflectionName) => {
|
|
56
|
+
context.project.reflections[reflectionName]._alias = context.project.reflections[reflectionName].getAlias().toLowerCase();
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
this.onEndResolve = (context) => {
|
|
60
|
+
var _a;
|
|
61
|
+
if (!this.clientDir)
|
|
62
|
+
this.clientDir = this.loadClientDir(context.project);
|
|
63
|
+
for (const model of Object.values(context.project.reflections)) {
|
|
64
|
+
const isEffectiveParent = model instanceof import_typedoc.ContainerReflection && ((_a = model.children) == null ? void 0 : _a.length) || model.isProject();
|
|
65
|
+
if (!isEffectiveParent || model.kindOf(import_typedoc.ReflectionKind.SomeModule)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (!model.groups) {
|
|
69
|
+
model.groups = [];
|
|
70
|
+
}
|
|
71
|
+
let group = model.groups.find((value) => value.title === this.defaultGroup);
|
|
72
|
+
if (!group) {
|
|
73
|
+
group = new import_typedoc.ReflectionGroup(this.defaultGroup);
|
|
74
|
+
model.groups.push(group);
|
|
75
|
+
}
|
|
76
|
+
group.categories = this.defineCategories(group, model.children);
|
|
77
|
+
const modulesIndex = model.groups.findIndex((value) => value.title === "Modules");
|
|
78
|
+
if (modulesIndex >= 0) {
|
|
79
|
+
model.groups.splice(modulesIndex, 1);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
this.renderer.application.converter.on(import_typedoc.Converter.EVENT_END, this.changeLinksToLowerCase);
|
|
84
|
+
this.renderer.application.converter.on(import_typedoc.Converter.EVENT_RESOLVE_END, this.onEndResolve);
|
|
85
|
+
}
|
|
86
|
+
// Confirm declaration comes from the same folder as the client class
|
|
87
|
+
belongsToClientPackage(model) {
|
|
88
|
+
var _a;
|
|
89
|
+
return this.clientDir && ((_a = model.sources) == null ? void 0 : _a[0].fullFileName.indexOf(this.clientDir)) === 0;
|
|
90
|
+
}
|
|
91
|
+
isClient(model) {
|
|
92
|
+
const { extendedTypes = [] } = model;
|
|
93
|
+
return model.kindOf(import_typedoc.ReflectionKind.Class) && model.getFullName() !== "Client" && // Exclude the Smithy Client class.
|
|
94
|
+
(model.name.endsWith("Client") || extendedTypes.filter((reference) => reference.name === `${model.name}Client`).length > 0) && /* Filter out other client classes that not sourced from the same directory as current client. e.g. STS, SSO */
|
|
95
|
+
this.belongsToClientPackage(model);
|
|
96
|
+
}
|
|
97
|
+
isCommand(model) {
|
|
98
|
+
return model.kindOf(import_typedoc.ReflectionKind.Class) && model.name.endsWith("Command") && // model.children?.some((child) => child.name === "resolveMiddleware") &&
|
|
99
|
+
this.belongsToClientPackage(model);
|
|
100
|
+
}
|
|
101
|
+
isPaginator(model) {
|
|
102
|
+
return model.name.startsWith("paginate") && model.kindOf(import_typedoc.ReflectionKind.Function) && this.belongsToClientPackage(model);
|
|
103
|
+
}
|
|
104
|
+
isInputOrOutput(model) {
|
|
105
|
+
return model.kindOf(import_typedoc.ReflectionKind.Interface) && (model.name.endsWith("CommandInput") || model.name.endsWith("CommandOutput")) && this.belongsToClientPackage(model);
|
|
106
|
+
}
|
|
107
|
+
isWaiter(model) {
|
|
108
|
+
return model.name.startsWith("waitFor") && model.kindOf(import_typedoc.ReflectionKind.Function) && this.belongsToClientPackage(model);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Define navigation categories in Client, Commands, Paginators and Waiters sections. It will update the
|
|
112
|
+
* supplied categories array.
|
|
113
|
+
*
|
|
114
|
+
* @param group The parent group where the categories will be placed under.
|
|
115
|
+
* @param reflections The reflections that should be categorized.
|
|
116
|
+
*/
|
|
117
|
+
defineCategories(group, reflections) {
|
|
118
|
+
const categories = group.categories || [];
|
|
119
|
+
if (this.isCategorized(categories))
|
|
120
|
+
return group.categories;
|
|
121
|
+
const clients = new import_typedoc.ReflectionCategory("Clients");
|
|
122
|
+
const commands = new import_typedoc.ReflectionCategory("Commands");
|
|
123
|
+
const paginators = new import_typedoc.ReflectionCategory("Paginators");
|
|
124
|
+
const waiters = new import_typedoc.ReflectionCategory("Waiters");
|
|
125
|
+
reflections.forEach((reflection) => {
|
|
126
|
+
if (reflection.kindOf(import_typedoc.ReflectionKind.SomeModule)) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (this.isClient(reflection)) {
|
|
130
|
+
clients.children.push(reflection);
|
|
131
|
+
reflection.flags.setFlag(import_typedoc.ReflectionFlag.Public, false);
|
|
132
|
+
} else if (this.isCommand(reflection)) {
|
|
133
|
+
commands.children.push(reflection);
|
|
134
|
+
reflection.flags.setFlag(import_typedoc.ReflectionFlag.Protected, true);
|
|
135
|
+
} else if (this.isPaginator(reflection)) {
|
|
136
|
+
paginators.children.push(reflection);
|
|
137
|
+
reflection.flags.setFlag(import_typedoc.ReflectionFlag.Protected, true);
|
|
138
|
+
} else if (this.isInputOrOutput(reflection)) {
|
|
139
|
+
commands.children.push(reflection);
|
|
140
|
+
reflection.flags.setFlag(import_typedoc.ReflectionFlag.Protected, true);
|
|
141
|
+
} else if (this.isWaiter(reflection)) {
|
|
142
|
+
waiters.children.push(reflection);
|
|
143
|
+
reflection.flags.setFlag(import_typedoc.ReflectionFlag.Protected, true);
|
|
144
|
+
}
|
|
12
145
|
});
|
|
13
|
-
|
|
146
|
+
commands.children.sort((childA, childB) => childA.name.localeCompare(childB.name));
|
|
147
|
+
categories.push(...[clients, commands, paginators, waiters]);
|
|
148
|
+
return categories;
|
|
149
|
+
}
|
|
150
|
+
isCategorized(categories) {
|
|
151
|
+
const childrenNames = categories.map((child) => child.title);
|
|
152
|
+
return childrenNames.includes("Clients") && childrenNames.includes("Commands") && childrenNames.includes("Paginators") && childrenNames.includes("Waiters");
|
|
153
|
+
}
|
|
154
|
+
loadClientDir(project) {
|
|
155
|
+
const children = Object.values(project.reflections).filter(isClientModel);
|
|
156
|
+
const fullFileName = children.find((child) => child.sources[0].fileName.endsWith("Client.ts")).sources[0].fullFileName;
|
|
157
|
+
return (0, import_path.dirname)((0, import_path.dirname)(fullFileName));
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
__name(_SdkClientTocPlugin, "SdkClientTocPlugin");
|
|
161
|
+
__decorateClass([
|
|
162
|
+
(0, import_typedoc.BindOption)("defaultGroup")
|
|
163
|
+
], _SdkClientTocPlugin.prototype, "defaultGroup", 2);
|
|
164
|
+
__decorateClass([
|
|
165
|
+
(0, import_typedoc.BindOption)("defaultCategory")
|
|
166
|
+
], _SdkClientTocPlugin.prototype, "defaultCategory", 2);
|
|
167
|
+
var SdkClientTocPlugin = _SdkClientTocPlugin;
|
|
168
|
+
|
|
169
|
+
// src/index.ts
|
|
170
|
+
function load(app) {
|
|
171
|
+
app.options.addDeclaration({
|
|
172
|
+
name: "defaultGroup",
|
|
173
|
+
help: "Default group to place categories as children",
|
|
174
|
+
defaultValue: "SDK",
|
|
175
|
+
type: import_typedoc.ParameterType.String
|
|
176
|
+
});
|
|
177
|
+
new SdkClientTocPlugin(app.options, app.logger, app.renderer);
|
|
14
178
|
}
|
|
15
|
-
|
|
179
|
+
__name(load, "load");
|
|
180
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
181
|
+
0 && (module.exports = {
|
|
182
|
+
load
|
|
183
|
+
});
|
|
@@ -1,132 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SdkClientTocPlugin = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const typedoc_1 = require("typedoc");
|
|
7
|
-
const utils_1 = require("./utils");
|
|
8
|
-
class SdkClientTocPlugin {
|
|
9
|
-
constructor(options, logger, renderer) {
|
|
10
|
-
this.options = options;
|
|
11
|
-
this.logger = logger;
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
this.changeLinksToLowerCase = (context) => {
|
|
14
|
-
Object.keys(context.project.reflections).forEach((reflectionName) => {
|
|
15
|
-
context.project.reflections[reflectionName]._alias = context.project.reflections[reflectionName]
|
|
16
|
-
.getAlias()
|
|
17
|
-
.toLowerCase();
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
this.onEndResolve = (context) => {
|
|
21
|
-
var _a;
|
|
22
|
-
if (!this.clientDir)
|
|
23
|
-
this.clientDir = this.loadClientDir(context.project);
|
|
24
|
-
for (const model of Object.values(context.project.reflections)) {
|
|
25
|
-
const isEffectiveParent = (model instanceof typedoc_1.ContainerReflection && ((_a = model.children) === null || _a === void 0 ? void 0 : _a.length)) || model.isProject();
|
|
26
|
-
if (!isEffectiveParent || model.kindOf(typedoc_1.ReflectionKind.SomeModule)) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (!model.groups) {
|
|
30
|
-
model.groups = [];
|
|
31
|
-
}
|
|
32
|
-
let group = model.groups.find((value) => value.title === this.defaultGroup);
|
|
33
|
-
if (!group) {
|
|
34
|
-
group = new typedoc_1.ReflectionGroup(this.defaultGroup);
|
|
35
|
-
model.groups.push(group);
|
|
36
|
-
}
|
|
37
|
-
group.categories = this.defineCategories(group, model.children);
|
|
38
|
-
const modulesIndex = model.groups.findIndex((value) => value.title === "Modules");
|
|
39
|
-
if (modulesIndex >= 0) {
|
|
40
|
-
model.groups.splice(modulesIndex, 1);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
this.renderer.application.converter.on(typedoc_1.Converter.EVENT_END, this.changeLinksToLowerCase);
|
|
45
|
-
this.renderer.application.converter.on(typedoc_1.Converter.EVENT_RESOLVE_END, this.onEndResolve);
|
|
46
|
-
}
|
|
47
|
-
belongsToClientPackage(model) {
|
|
48
|
-
var _a;
|
|
49
|
-
return this.clientDir && ((_a = model.sources) === null || _a === void 0 ? void 0 : _a[0].fullFileName.indexOf(this.clientDir)) === 0;
|
|
50
|
-
}
|
|
51
|
-
isClient(model) {
|
|
52
|
-
const { extendedTypes = [] } = model;
|
|
53
|
-
return (model.kindOf(typedoc_1.ReflectionKind.Class) &&
|
|
54
|
-
model.getFullName() !== "Client" &&
|
|
55
|
-
(model.name.endsWith("Client") ||
|
|
56
|
-
extendedTypes.filter((reference) => reference.name === `${model.name}Client`).length > 0) &&
|
|
57
|
-
this.belongsToClientPackage(model));
|
|
58
|
-
}
|
|
59
|
-
isCommand(model) {
|
|
60
|
-
return (model.kindOf(typedoc_1.ReflectionKind.Class) &&
|
|
61
|
-
model.name.endsWith("Command") &&
|
|
62
|
-
this.belongsToClientPackage(model));
|
|
63
|
-
}
|
|
64
|
-
isPaginator(model) {
|
|
65
|
-
return (model.name.startsWith("paginate") && model.kindOf(typedoc_1.ReflectionKind.Function) && this.belongsToClientPackage(model));
|
|
66
|
-
}
|
|
67
|
-
isInputOrOutput(model) {
|
|
68
|
-
return (model.kindOf(typedoc_1.ReflectionKind.Interface) &&
|
|
69
|
-
(model.name.endsWith("CommandInput") || model.name.endsWith("CommandOutput")) &&
|
|
70
|
-
this.belongsToClientPackage(model));
|
|
71
|
-
}
|
|
72
|
-
isWaiter(model) {
|
|
73
|
-
return (model.name.startsWith("waitFor") && model.kindOf(typedoc_1.ReflectionKind.Function) && this.belongsToClientPackage(model));
|
|
74
|
-
}
|
|
75
|
-
defineCategories(group, reflections) {
|
|
76
|
-
const categories = group.categories || [];
|
|
77
|
-
if (this.isCategorized(categories))
|
|
78
|
-
return group.categories;
|
|
79
|
-
const clients = new typedoc_1.ReflectionCategory("Clients");
|
|
80
|
-
const commands = new typedoc_1.ReflectionCategory("Commands");
|
|
81
|
-
const paginators = new typedoc_1.ReflectionCategory("Paginators");
|
|
82
|
-
const waiters = new typedoc_1.ReflectionCategory("Waiters");
|
|
83
|
-
reflections.forEach((reflection) => {
|
|
84
|
-
if (reflection.kindOf(typedoc_1.ReflectionKind.SomeModule)) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
if (this.isClient(reflection)) {
|
|
88
|
-
clients.children.push(reflection);
|
|
89
|
-
reflection.flags.setFlag(typedoc_1.ReflectionFlag.Public, false);
|
|
90
|
-
}
|
|
91
|
-
else if (this.isCommand(reflection)) {
|
|
92
|
-
commands.children.push(reflection);
|
|
93
|
-
reflection.flags.setFlag(typedoc_1.ReflectionFlag.Protected, true);
|
|
94
|
-
}
|
|
95
|
-
else if (this.isPaginator(reflection)) {
|
|
96
|
-
paginators.children.push(reflection);
|
|
97
|
-
reflection.flags.setFlag(typedoc_1.ReflectionFlag.Protected, true);
|
|
98
|
-
}
|
|
99
|
-
else if (this.isInputOrOutput(reflection)) {
|
|
100
|
-
commands.children.push(reflection);
|
|
101
|
-
reflection.flags.setFlag(typedoc_1.ReflectionFlag.Protected, true);
|
|
102
|
-
}
|
|
103
|
-
else if (this.isWaiter(reflection)) {
|
|
104
|
-
waiters.children.push(reflection);
|
|
105
|
-
reflection.flags.setFlag(typedoc_1.ReflectionFlag.Protected, true);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
commands.children.sort((childA, childB) => childA.name.localeCompare(childB.name));
|
|
109
|
-
categories.push(...[clients, commands, paginators, waiters]);
|
|
110
|
-
return categories;
|
|
111
|
-
}
|
|
112
|
-
isCategorized(categories) {
|
|
113
|
-
const childrenNames = categories.map((child) => child.title);
|
|
114
|
-
return (childrenNames.includes("Clients") &&
|
|
115
|
-
childrenNames.includes("Commands") &&
|
|
116
|
-
childrenNames.includes("Paginators") &&
|
|
117
|
-
childrenNames.includes("Waiters"));
|
|
118
|
-
}
|
|
119
|
-
loadClientDir(project) {
|
|
120
|
-
const children = Object.values(project.reflections).filter(utils_1.isClientModel);
|
|
121
|
-
const fullFileName = children.find((child) => child.sources[0].fileName.endsWith("Client.ts")).sources[0]
|
|
122
|
-
.fullFileName;
|
|
123
|
-
return (0, path_1.dirname)((0, path_1.dirname)(fullFileName));
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
tslib_1.__decorate([
|
|
127
|
-
(0, typedoc_1.BindOption)("defaultGroup")
|
|
128
|
-
], SdkClientTocPlugin.prototype, "defaultGroup", void 0);
|
|
129
|
-
tslib_1.__decorate([
|
|
130
|
-
(0, typedoc_1.BindOption)("defaultCategory")
|
|
131
|
-
], SdkClientTocPlugin.prototype, "defaultCategory", void 0);
|
|
132
|
-
exports.SdkClientTocPlugin = SdkClientTocPlugin;
|
|
1
|
+
module.exports = require("./index.js");
|
package/dist-cjs/utils.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isClientModel = void 0;
|
|
4
|
-
const path_1 = require("path");
|
|
5
|
-
const isClientModel = (model) => { var _a, _b; return (_b = (_a = model === null || model === void 0 ? void 0 : model.sources) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.fullFileName.includes(`${path_1.sep}clients${path_1.sep}`); };
|
|
6
|
-
exports.isClientModel = isClientModel;
|
|
1
|
+
module.exports = require("./index.js");
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/service-client-documentation-generator",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
|
6
|
-
"build:cjs": "
|
|
7
|
-
"build:es": "tsc -p tsconfig.es.json",
|
|
8
|
-
"build:types": "tsc -p tsconfig.types.json",
|
|
6
|
+
"build:cjs": "node ../../scripts/inline service-client-documentation-generator",
|
|
7
|
+
"build:es": "yarn g:tsc -p tsconfig.es.json",
|
|
8
|
+
"build:types": "yarn g:tsc -p tsconfig.types.json",
|
|
9
9
|
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
|
|
10
10
|
"stage-release": "rimraf ./.release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz",
|
|
11
|
-
"clean": "rimraf ./dist-* && rimraf *.tsbuildinfo",
|
|
11
|
+
"clean": "rimraf ./dist-* && rimraf *.tsbuildinfo || exit 0",
|
|
12
12
|
"lint": "eslint -c ../../.eslintrc.js \"src/**/*.ts\"",
|
|
13
13
|
"format": "prettier --config ../../prettier.config.js --ignore-path ../.prettierignore --write \"**/*.{ts,md,json}\"",
|
|
14
14
|
"test": "exit 0"
|
|
@@ -32,9 +32,7 @@
|
|
|
32
32
|
"@types/node": "^14.14.31",
|
|
33
33
|
"concurrently": "7.0.0",
|
|
34
34
|
"downlevel-dts": "0.10.1",
|
|
35
|
-
"
|
|
36
|
-
"rimraf": "3.0.2",
|
|
37
|
-
"typescript": "~4.9.5"
|
|
35
|
+
"rimraf": "3.0.2"
|
|
38
36
|
},
|
|
39
37
|
"typedoc": {
|
|
40
38
|
"entryPoint": "src/index.ts"
|