@mnaoumov/typescript-dev-toolkit 3.7.4 → 3.9.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.
Files changed (29) hide show
  1. package/dist/lib/cjs/docs-site/api-doc-documented-files.cjs +3 -3
  2. package/dist/lib/cjs/docs-site/api-doc-documented-files.d.cts +3 -2
  3. package/dist/lib/cjs/docs-site/api-doc-page-generation.cjs +11 -4
  4. package/dist/lib/cjs/docs-site/api-doc-settings.cjs +1 -1
  5. package/dist/lib/cjs/docs-site/api-doc-settings.d.cts +73 -1
  6. package/dist/lib/cjs/docs-site/api-doc-source-processing.cjs +57 -4
  7. package/dist/lib/cjs/docs-site/api-doc-source-processing.d.cts +43 -3
  8. package/dist/lib/cjs/docs-site/api-doc-text-utils.cjs +18 -5
  9. package/dist/lib/cjs/docs-site/api-doc-text-utils.d.cts +5 -4
  10. package/dist/lib/cjs/docs-site/api-docs.cjs +9 -3
  11. package/dist/lib/cjs/docs-site/api-docs.d.cts +2 -1
  12. package/dist/lib/cjs/docs-site/docs-links.cjs +7 -2
  13. package/dist/lib/cjs/docs-site/docs-site-config.cjs +11 -1
  14. package/dist/lib/cjs/docs-site/docs-site-config.d.cts +38 -1
  15. package/dist/lib/esm/docs-site/api-doc-documented-files.d.mts +3 -2
  16. package/dist/lib/esm/docs-site/api-doc-documented-files.mjs +3 -3
  17. package/dist/lib/esm/docs-site/api-doc-page-generation.mjs +11 -4
  18. package/dist/lib/esm/docs-site/api-doc-settings.d.mts +73 -1
  19. package/dist/lib/esm/docs-site/api-doc-settings.mjs +1 -1
  20. package/dist/lib/esm/docs-site/api-doc-source-processing.d.mts +43 -3
  21. package/dist/lib/esm/docs-site/api-doc-source-processing.mjs +65 -5
  22. package/dist/lib/esm/docs-site/api-doc-text-utils.d.mts +5 -4
  23. package/dist/lib/esm/docs-site/api-doc-text-utils.mjs +18 -5
  24. package/dist/lib/esm/docs-site/api-docs.d.mts +2 -1
  25. package/dist/lib/esm/docs-site/api-docs.mjs +11 -3
  26. package/dist/lib/esm/docs-site/docs-links.mjs +7 -2
  27. package/dist/lib/esm/docs-site/docs-site-config.d.mts +38 -1
  28. package/dist/lib/esm/docs-site/docs-site-config.mjs +11 -1
  29. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  * The one description of a documentation site that its Astro config and its build commands share: which repository
6
6
  * it documents, where its sources and pages live, and which other sites it links to.
7
7
  */
8
- import type { ApiDocSettings } from './api-doc-settings.mjs';
8
+ import type { ApiDocSettings, ImportStatementProvider, MemberRouteSegmentProvider } from './api-doc-settings.mjs';
9
9
  import type { RepoHomepageMode } from './repo-homepage.mjs';
10
10
  /**
11
11
  * Describes a documentation site. Every path is relative to {@link DocsSiteConfig.rootDirectory}.
@@ -17,17 +17,45 @@ export interface DocsSiteConfig {
17
17
  * @default 'docs'
18
18
  */
19
19
  readonly docsDirectory?: string;
20
+ /**
21
+ * Folder names under {@link sourceDirectory} whose subtree the API reference skips, in addition to `@types`,
22
+ * `styles` and `test-helpers`.
23
+ *
24
+ * @default []
25
+ */
26
+ readonly excludedDirectories?: readonly string[];
20
27
  /**
21
28
  * Type names mapped to the URL their references link to, for types no documented package declares. The layer
22
29
  * documenting an ecosystem's packages fills it with that ecosystem's references.
23
30
  */
24
31
  readonly externalTypeLinks?: ReadonlyMap<string, string>;
32
+ /**
33
+ * Names the API reference never links as types, in addition to the built-in generic parameter names and every
34
+ * type parameter a documented type declares.
35
+ *
36
+ * @default []
37
+ */
38
+ readonly genericTypeParameters?: readonly string[];
25
39
  /**
26
40
  * The folder under `<docs>/src/content/docs` the guides sidebar group is generated from.
27
41
  *
28
42
  * @default 'guides'
29
43
  */
30
44
  readonly guidesDirectory?: string;
45
+ /**
46
+ * Builds each export's import statement, for a package whose exports are not imported from
47
+ * `<package>/<module path>`, e.g. one publishing barrel entry points. Returning `undefined` shows no statement.
48
+ *
49
+ * @default the statement importing the export from `<package>/<module path>`
50
+ */
51
+ readonly importStatement?: ImportStatementProvider;
52
+ /**
53
+ * Builds the case-preserved route segment of a member's page from a property's name or a method's overload key,
54
+ * overriding the generator's own slug where it returns a string.
55
+ *
56
+ * @default the name as a URL segment, its trailing underscores kept
57
+ */
58
+ readonly memberRouteSegment?: MemberRouteSegmentProvider;
31
59
  /**
32
60
  * The GitHub account the repository belongs to.
33
61
  *
@@ -41,6 +69,15 @@ export interface DocsSiteConfig {
41
69
  * @default DEFAULT_PACKAGE_SITES
42
70
  */
43
71
  readonly packageSites?: ReadonlyMap<string, string>;
72
+ /**
73
+ * The package's one public entry point, e.g. `src/index.ts`, for a package that publishes its API from a barrel
74
+ * rather than one import subpath per module. Set, the API reference documents only the exports that barrel
75
+ * re-exports (`export ... from`), {@link excludedDirectories} does not apply, and every import statement imports
76
+ * from the package root.
77
+ *
78
+ * @default undefined: every module under {@link sourceDirectory} is documented as its own import subpath
79
+ */
80
+ readonly publicApiEntry?: string;
44
81
  /**
45
82
  * The repository's name. The site is served under it: `<siteOrigin>/<repo>/`.
46
83
  */
@@ -42,10 +42,15 @@ import { DEFAULT_PACKAGE_SITES } from "./api-doc-package-sites.mjs";
42
42
  function resolveDocsSiteConfig(config) {
43
43
  const {
44
44
  docsDirectory = "docs",
45
+ excludedDirectories = [],
45
46
  externalTypeLinks = /* @__PURE__ */ new Map(),
47
+ genericTypeParameters = [],
46
48
  guidesDirectory = "guides",
49
+ importStatement,
50
+ memberRouteSegment,
47
51
  owner = "mnaoumov",
48
52
  packageSites = DEFAULT_PACKAGE_SITES,
53
+ publicApiEntry,
49
54
  repo,
50
55
  repoHomepage = "off",
51
56
  rootDirectory = process.cwd(),
@@ -66,10 +71,15 @@ function resolveDocsSiteConfig(config) {
66
71
  return {
67
72
  apiDocSettings: {
68
73
  basePath,
74
+ excludedDirectories,
69
75
  externalTypeLinks,
76
+ genericTypeParameters,
77
+ importStatement,
78
+ memberRouteSegment,
70
79
  outputDirectory: join(contentDocsDirectory, "api"),
71
80
  packageName: packageJson.name,
72
81
  packageSites,
82
+ publicApiEntry: publicApiEntry === void 0 ? void 0 : join(rootDirectory, publicApiEntry),
73
83
  sidebarFile: join(docsSourceDirectory, "generated-sidebar.json")
74
84
  },
75
85
  basePath,
@@ -98,4 +108,4 @@ function resolveDocsSiteConfig(config) {
98
108
  export {
99
109
  resolveDocsSiteConfig
100
110
  };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvZG9jcy1zaXRlLWNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG9uZSBkZXNjcmlwdGlvbiBvZiBhIGRvY3VtZW50YXRpb24gc2l0ZSB0aGF0IGl0cyBBc3RybyBjb25maWcgYW5kIGl0cyBidWlsZCBjb21tYW5kcyBzaGFyZTogd2hpY2ggcmVwb3NpdG9yeVxuICogaXQgZG9jdW1lbnRzLCB3aGVyZSBpdHMgc291cmNlcyBhbmQgcGFnZXMgbGl2ZSwgYW5kIHdoaWNoIG90aGVyIHNpdGVzIGl0IGxpbmtzIHRvLlxuICovXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHsgQXBpRG9jU2V0dGluZ3MgfSBmcm9tICcuL2FwaS1kb2Mtc2V0dGluZ3MudHMnO1xuaW1wb3J0IHR5cGUgeyBSZXBvSG9tZXBhZ2VNb2RlIH0gZnJvbSAnLi9yZXBvLWhvbWVwYWdlLnRzJztcblxuaW1wb3J0IHsgREVGQVVMVF9QQUNLQUdFX1NJVEVTIH0gZnJvbSAnLi9hcGktZG9jLXBhY2thZ2Utc2l0ZXMudHMnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGRvY3VtZW50YXRpb24gc2l0ZS4gRXZlcnkgcGF0aCBpcyByZWxhdGl2ZSB0byB7QGxpbmsgRG9jc1NpdGVDb25maWcucm9vdERpcmVjdG9yeX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc1NpdGVDb25maWcge1xuICAvKipcbiAgICogVGhlIGZvbGRlciBob2xkaW5nIHRoZSBzaXRlOiBpdHMgYHNyY2AgKHBhZ2VzLCBgY29udGVudC5jb25maWcudHNgKSwgYHB1YmxpY2AgYW5kIGJ1aWxkIG91dHB1dCBgZGlzdGAuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdkb2NzJ1xuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVHlwZSBuYW1lcyBtYXBwZWQgdG8gdGhlIFVSTCB0aGVpciByZWZlcmVuY2VzIGxpbmsgdG8sIGZvciB0eXBlcyBubyBkb2N1bWVudGVkIHBhY2thZ2UgZGVjbGFyZXMuIFRoZSBsYXllclxuICAgKiBkb2N1bWVudGluZyBhbiBlY29zeXN0ZW0ncyBwYWNrYWdlcyBmaWxscyBpdCB3aXRoIHRoYXQgZWNvc3lzdGVtJ3MgcmVmZXJlbmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVybmFsVHlwZUxpbmtzPzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHVuZGVyIGA8ZG9jcz4vc3JjL2NvbnRlbnQvZG9jc2AgdGhlIGd1aWRlcyBzaWRlYmFyIGdyb3VwIGlzIGdlbmVyYXRlZCBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnZ3VpZGVzJ1xuICAgKi9cbiAgcmVhZG9ubHkgZ3VpZGVzRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIGFjY291bnQgdGhlIHJlcG9zaXRvcnkgYmVsb25ncyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgJ21uYW91bW92J1xuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2UgbmFtZXMgbWFwcGVkIHRvIHRoZSByb290IFVSTCBvZiB0aGVpciBkb2N1bWVudGF0aW9uIHNpdGUsIHdpdGggYSB0cmFpbGluZyBzbGFzaC4gQSB0eXBlIGRlY2xhcmVkIGluIG9uZVxuICAgKiBvZiB0aGVtIGxpbmtzIHRvIGl0cyBwYWdlIHRoZXJlLiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlIGl0c2VsZiBpcyBuZXZlciBsaW5rZWQgdGhpcyB3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IERFRkFVTFRfUEFDS0FHRV9TSVRFU1xuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVNpdGVzPzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSdzIG5hbWUuIFRoZSBzaXRlIGlzIHNlcnZlZCB1bmRlciBpdDogYDxzaXRlT3JpZ2luPi88cmVwbz4vYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogV2hhdCBgYnVpbGREb2NzU2l0ZWAgZG9lcywgYWZ0ZXIgdGhlIGJ1aWxkLCBhYm91dCB0aGUgcmVwb3NpdG9yeSdzIEdpdEh1YiBob21lcGFnZTogY29tcGFyZSBpdCB3aXRoIHRoZSBzaXRlJ3NcbiAgICogVVJMIGFuZCByZXBvcnQgYSBtaXNtYXRjaCAoYGNoZWNrYCksIG9yIGFsc28gc2V0IGl0IChgc2V0YCkuIEl0IHJlYWRzIGFuZCB3cml0ZXMgdGhyb3VnaCB0aGUgYGdoYCBDTEksIGFuZFxuICAgKiBvbmx5IGV2ZXIgd2FybnMuIEEgd29ya2Zsb3cncyBgR0lUSFVCX1RPS0VOYCBjYW4gcmVhZCB0aGUgaG9tZXBhZ2UgYnV0IG5vdCBzZXQgaXQsIHNvIGluIENJIGBzZXRgIHJlcG9ydHMgdG9vLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0hvbWVwYWdlPzogUmVwb0hvbWVwYWdlTW9kZTtcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgcm9vdCwgaG9sZGluZyBgcGFja2FnZS5qc29uYCwgYHRzY29uZmlnLmpzb25gIGFuZCBgbm9kZV9tb2R1bGVzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgcHJvY2Vzcy5jd2QoKVxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9yaWdpbiBldmVyeSBzaXRlIG9mIHRoZSBhY2NvdW50IGlzIHNlcnZlZCBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnaHR0cHM6Ly9tbmFvdW1vdi5kZXYnXG4gICAqL1xuICByZWFkb25seSBzaXRlT3JpZ2luPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHdob3NlIG1vZHVsZXMgdGhlIEFQSSByZWZlcmVuY2UgZG9jdW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnc3JjJ1xuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIHRpdGxlLCBzaG93biBpbiBpdHMgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiB7QGxpbmsgRG9jc1NpdGVDb25maWd9IHdpdGggZXZlcnkgZGVmYXVsdCBhcHBsaWVkLCBldmVyeSBwYXRoIGFic29sdXRlLCBhbmQgdGhlIHZhbHVlcyBkZXJpdmVkIGZyb20gdGhlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZERvY3NTaXRlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IncyBzZXR0aW5ncyBmb3IgdGhlIHNpdGUuXG4gICAqL1xuICByZWFkb25seSBhcGlEb2NTZXR0aW5nczogQXBpRG9jU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIHBhdGgsIGUuZy4gYC90eXBlc2NyaXB0LWxpYmAuXG4gICAqL1xuICByZWFkb25seSBiYXNlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRhdGlvbiBjb250ZW50IHJvb3QsIGA8ZG9jcz4vc3JjL2NvbnRlbnQvZG9jc2AuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgb3V0cHV0IGZvbGRlciwgYDxkb2NzPi9kaXN0YC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3REaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIHNvdXJjZSBmb2xkZXIsIGA8ZG9jcz4vc3JjYC5cbiAgICovXG4gIHJlYWRvbmx5IGRvY3NTb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBhIHBhZ2UncyBlZGl0IGxpbmsgc3RhcnRzIHdpdGg6IHRoZSByZXBvc2l0b3J5J3MgYGVkaXQvbWFpbi9gIHRyZWUuXG4gICAqL1xuICByZWFkb25seSBlZGl0TGlua0Jhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBTVkcgbG9nbywgYDxkb2NzPi9wdWJsaWMvZmF2aWNvbi5zdmdgLlxuICAgKi9cbiAgcmVhZG9ubHkgZmF2aWNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkncyBHaXRIdWIgVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcuZ3VpZGVzRGlyZWN0b3J5fS5cbiAgICovXG4gIHJlYWRvbmx5IGd1aWRlc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHRoZSBPcGVuIEdyYXBoIGNhcmRzIGFyZSB3cml0dGVuIHRvLCBgPGRvY3M+L3B1YmxpYy9vZ2AuXG4gICAqL1xuICByZWFkb25seSBvZ091dHB1dERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLm93bmVyfS5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UncyBuYW1lLCByZWFkIGZyb20gdGhlIHJvb3QgYHBhY2thZ2UuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlJ3MgdmVyc2lvbiwgcmVhZCBmcm9tIHRoZSByb290IGBwYWNrYWdlLmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBzdGF0aWMgZm9sZGVyLCBgPGRvY3M+L3B1YmxpY2AuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvfS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvSG9tZXBhZ2V9LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0hvbWVwYWdlOiBSZXBvSG9tZXBhZ2VNb2RlO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnJvb3REaXJlY3Rvcnl9LlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tLCB3aXRoIGEgdHJhaWxpbmcgc2xhc2guXG4gICAqL1xuICByZWFkb25seSBzaXRlQmFzZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnNpdGVPcmlnaW59LlxuICAgKi9cbiAgcmVhZG9ubHkgc2l0ZU9yaWdpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnNvdXJjZURpcmVjdG9yeX0uXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy50aXRsZX0uXG4gICAqL1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFja2FnZUpzb25GaWVsZHMge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgdGhlIGRlZmF1bHRzIHRvIGEgc2l0ZSdzIG9wdGlvbnMgYW5kIGRlcml2ZXMgZXZlcnkgcGF0aCBhbmQgVVJMIGZyb20gdGhlbS5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIHNpdGUncyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gKiBAdGhyb3dzIElmIHRoZSByb290IGBwYWNrYWdlLmpzb25gIGhhcyBubyBgbmFtZWAgb3IgYHZlcnNpb25gLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZURvY3NTaXRlQ29uZmlnKGNvbmZpZzogRG9jc1NpdGVDb25maWcpOiBSZXNvbHZlZERvY3NTaXRlQ29uZmlnIHtcbiAgY29uc3Qge1xuICAgIGRvY3NEaXJlY3RvcnkgPSAnZG9jcycsXG4gICAgZXh0ZXJuYWxUeXBlTGlua3MgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpLFxuICAgIGd1aWRlc0RpcmVjdG9yeSA9ICdndWlkZXMnLFxuICAgIG93bmVyID0gJ21uYW91bW92JyxcbiAgICBwYWNrYWdlU2l0ZXMgPSBERUZBVUxUX1BBQ0tBR0VfU0lURVMsXG4gICAgcmVwbyxcbiAgICByZXBvSG9tZXBhZ2UgPSAnb2ZmJyxcbiAgICByb290RGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKSxcbiAgICBzaXRlT3JpZ2luID0gJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2JyxcbiAgICBzb3VyY2VEaXJlY3RvcnkgPSAnc3JjJyxcbiAgICB0aXRsZVxuICB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMoam9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyksICd1dGYtOCcpKSBhcyBQYWNrYWdlSnNvbkZpZWxkcztcbiAgaWYgKHBhY2thZ2VKc29uLm5hbWUgPT09IHVuZGVmaW5lZCB8fCBwYWNrYWdlSnNvbi52ZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7am9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyl9IGhhcyBubyBuYW1lIG9yIG5vIHZlcnNpb24uYCk7XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZURvY3NEaXJlY3RvcnkgPSBqb2luKHJvb3REaXJlY3RvcnksIGRvY3NEaXJlY3RvcnkpO1xuICBjb25zdCBkb2NzU291cmNlRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdzcmMnKTtcbiAgY29uc3QgY29udGVudERvY3NEaXJlY3RvcnkgPSBqb2luKGRvY3NTb3VyY2VEaXJlY3RvcnksICdjb250ZW50JywgJ2RvY3MnKTtcbiAgY29uc3QgcHVibGljRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdwdWJsaWMnKTtcbiAgY29uc3QgZ2l0aHViVXJsID0gYGh0dHBzOi8vZ2l0aHViLmNvbS8ke293bmVyfS8ke3JlcG99YDtcblxuICBjb25zdCBiYXNlUGF0aCA9IGAvJHtyZXBvfWA7XG4gIHJldHVybiB7XG4gICAgYXBpRG9jU2V0dGluZ3M6IHtcbiAgICAgIGJhc2VQYXRoLFxuICAgICAgZXh0ZXJuYWxUeXBlTGlua3MsXG4gICAgICBvdXRwdXREaXJlY3Rvcnk6IGpvaW4oY29udGVudERvY3NEaXJlY3RvcnksICdhcGknKSxcbiAgICAgIHBhY2thZ2VOYW1lOiBwYWNrYWdlSnNvbi5uYW1lLFxuICAgICAgcGFja2FnZVNpdGVzLFxuICAgICAgc2lkZWJhckZpbGU6IGpvaW4oZG9jc1NvdXJjZURpcmVjdG9yeSwgJ2dlbmVyYXRlZC1zaWRlYmFyLmpzb24nKVxuICAgIH0sXG4gICAgYmFzZVBhdGgsXG4gICAgY29udGVudERvY3NEaXJlY3RvcnksXG4gICAgZGlzdERpcmVjdG9yeTogam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdkaXN0JyksXG4gICAgZG9jc0RpcmVjdG9yeTogYWJzb2x1dGVEb2NzRGlyZWN0b3J5LFxuICAgIGRvY3NTb3VyY2VEaXJlY3RvcnksXG4gICAgZWRpdExpbmtCYXNlVXJsOiBgJHtnaXRodWJVcmx9L2VkaXQvbWFpbi9gLFxuICAgIGZhdmljb25QYXRoOiBqb2luKHB1YmxpY0RpcmVjdG9yeSwgJ2Zhdmljb24uc3ZnJyksXG4gICAgZ2l0aHViVXJsLFxuICAgIGd1aWRlc0RpcmVjdG9yeSxcbiAgICBvZ091dHB1dERpcmVjdG9yeTogam9pbihwdWJsaWNEaXJlY3RvcnksICdvZycpLFxuICAgIG93bmVyLFxuICAgIHBhY2thZ2VOYW1lOiBwYWNrYWdlSnNvbi5uYW1lLFxuICAgIHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuICAgIHB1YmxpY0RpcmVjdG9yeSxcbiAgICByZXBvLFxuICAgIHJlcG9Ib21lcGFnZSxcbiAgICByb290RGlyZWN0b3J5LFxuICAgIHNpdGVCYXNlVXJsOiBgJHtzaXRlT3JpZ2lufS8ke3JlcG99L2AsXG4gICAgc2l0ZU9yaWdpbixcbiAgICBzb3VyY2VEaXJlY3Rvcnk6IGpvaW4ocm9vdERpcmVjdG9yeSwgc291cmNlRGlyZWN0b3J5KSxcbiAgICB0aXRsZVxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsWUFBWTtBQUtyQixTQUFTLDZCQUE2QjtBQWlOL0IsU0FBUyxzQkFBc0IsUUFBZ0Q7QUFDcEYsUUFBTTtBQUFBLElBQ0osZ0JBQWdCO0FBQUEsSUFDaEIsb0JBQW9CLG9CQUFJLElBQW9CO0FBQUEsSUFDNUMsa0JBQWtCO0FBQUEsSUFDbEIsUUFBUTtBQUFBLElBQ1IsZUFBZTtBQUFBLElBQ2Y7QUFBQSxJQUNBLGVBQWU7QUFBQSxJQUNmLGdCQUFnQixRQUFRLElBQUk7QUFBQSxJQUM1QixhQUFhO0FBQUEsSUFDYixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLEVBQ0YsSUFBSTtBQUVKLFFBQU0sY0FBYyxLQUFLLE1BQU0sYUFBYSxLQUFLLGVBQWUsY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUN6RixNQUFJLFlBQVksU0FBUyxVQUFhLFlBQVksWUFBWSxRQUFXO0FBQ3ZFLFVBQU0sSUFBSSxNQUFNLEdBQUcsS0FBSyxlQUFlLGNBQWMsQ0FBQyw2QkFBNkI7QUFBQSxFQUNyRjtBQUVBLFFBQU0sd0JBQXdCLEtBQUssZUFBZSxhQUFhO0FBQy9ELFFBQU0sc0JBQXNCLEtBQUssdUJBQXVCLEtBQUs7QUFDN0QsUUFBTSx1QkFBdUIsS0FBSyxxQkFBcUIsV0FBVyxNQUFNO0FBQ3hFLFFBQU0sa0JBQWtCLEtBQUssdUJBQXVCLFFBQVE7QUFDNUQsUUFBTSxZQUFZLHNCQUFzQixLQUFLLElBQUksSUFBSTtBQUVyRCxRQUFNLFdBQVcsSUFBSSxJQUFJO0FBQ3pCLFNBQU87QUFBQSxJQUNMLGdCQUFnQjtBQUFBLE1BQ2Q7QUFBQSxNQUNBO0FBQUEsTUFDQSxpQkFBaUIsS0FBSyxzQkFBc0IsS0FBSztBQUFBLE1BQ2pELGFBQWEsWUFBWTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSxhQUFhLEtBQUsscUJBQXFCLHdCQUF3QjtBQUFBLElBQ2pFO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLGVBQWUsS0FBSyx1QkFBdUIsTUFBTTtBQUFBLElBQ2pELGVBQWU7QUFBQSxJQUNmO0FBQUEsSUFDQSxpQkFBaUIsR0FBRyxTQUFTO0FBQUEsSUFDN0IsYUFBYSxLQUFLLGlCQUFpQixhQUFhO0FBQUEsSUFDaEQ7QUFBQSxJQUNBO0FBQUEsSUFDQSxtQkFBbUIsS0FBSyxpQkFBaUIsSUFBSTtBQUFBLElBQzdDO0FBQUEsSUFDQSxhQUFhLFlBQVk7QUFBQSxJQUN6QixnQkFBZ0IsWUFBWTtBQUFBLElBQzVCO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxhQUFhLEdBQUcsVUFBVSxJQUFJLElBQUk7QUFBQSxJQUNsQztBQUFBLElBQ0EsaUJBQWlCLEtBQUssZUFBZSxlQUFlO0FBQUEsSUFDcEQ7QUFBQSxFQUNGO0FBQ0Y7IiwibmFtZXMiOltdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvZG9jcy1zaXRlLWNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG9uZSBkZXNjcmlwdGlvbiBvZiBhIGRvY3VtZW50YXRpb24gc2l0ZSB0aGF0IGl0cyBBc3RybyBjb25maWcgYW5kIGl0cyBidWlsZCBjb21tYW5kcyBzaGFyZTogd2hpY2ggcmVwb3NpdG9yeVxuICogaXQgZG9jdW1lbnRzLCB3aGVyZSBpdHMgc291cmNlcyBhbmQgcGFnZXMgbGl2ZSwgYW5kIHdoaWNoIG90aGVyIHNpdGVzIGl0IGxpbmtzIHRvLlxuICovXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQXBpRG9jU2V0dGluZ3MsXG4gIEltcG9ydFN0YXRlbWVudFByb3ZpZGVyLFxuICBNZW1iZXJSb3V0ZVNlZ21lbnRQcm92aWRlclxufSBmcm9tICcuL2FwaS1kb2Mtc2V0dGluZ3MudHMnO1xuaW1wb3J0IHR5cGUgeyBSZXBvSG9tZXBhZ2VNb2RlIH0gZnJvbSAnLi9yZXBvLWhvbWVwYWdlLnRzJztcblxuaW1wb3J0IHsgREVGQVVMVF9QQUNLQUdFX1NJVEVTIH0gZnJvbSAnLi9hcGktZG9jLXBhY2thZ2Utc2l0ZXMudHMnO1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIGRvY3VtZW50YXRpb24gc2l0ZS4gRXZlcnkgcGF0aCBpcyByZWxhdGl2ZSB0byB7QGxpbmsgRG9jc1NpdGVDb25maWcucm9vdERpcmVjdG9yeX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9jc1NpdGVDb25maWcge1xuICAvKipcbiAgICogVGhlIGZvbGRlciBob2xkaW5nIHRoZSBzaXRlOiBpdHMgYHNyY2AgKHBhZ2VzLCBgY29udGVudC5jb25maWcudHNgKSwgYHB1YmxpY2AgYW5kIGJ1aWxkIG91dHB1dCBgZGlzdGAuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdkb2NzJ1xuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogRm9sZGVyIG5hbWVzIHVuZGVyIHtAbGluayBzb3VyY2VEaXJlY3Rvcnl9IHdob3NlIHN1YnRyZWUgdGhlIEFQSSByZWZlcmVuY2Ugc2tpcHMsIGluIGFkZGl0aW9uIHRvIGBAdHlwZXNgLFxuICAgKiBgc3R5bGVzYCBhbmQgYHRlc3QtaGVscGVyc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlZERpcmVjdG9yaWVzPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFR5cGUgbmFtZXMgbWFwcGVkIHRvIHRoZSBVUkwgdGhlaXIgcmVmZXJlbmNlcyBsaW5rIHRvLCBmb3IgdHlwZXMgbm8gZG9jdW1lbnRlZCBwYWNrYWdlIGRlY2xhcmVzLiBUaGUgbGF5ZXJcbiAgICogZG9jdW1lbnRpbmcgYW4gZWNvc3lzdGVtJ3MgcGFja2FnZXMgZmlsbHMgaXQgd2l0aCB0aGF0IGVjb3N5c3RlbSdzIHJlZmVyZW5jZXMuXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbFR5cGVMaW5rcz86IFJlYWRvbmx5TWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogTmFtZXMgdGhlIEFQSSByZWZlcmVuY2UgbmV2ZXIgbGlua3MgYXMgdHlwZXMsIGluIGFkZGl0aW9uIHRvIHRoZSBidWlsdC1pbiBnZW5lcmljIHBhcmFtZXRlciBuYW1lcyBhbmQgZXZlcnlcbiAgICogdHlwZSBwYXJhbWV0ZXIgYSBkb2N1bWVudGVkIHR5cGUgZGVjbGFyZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBnZW5lcmljVHlwZVBhcmFtZXRlcnM/OiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGZvbGRlciB1bmRlciBgPGRvY3M+L3NyYy9jb250ZW50L2RvY3NgIHRoZSBndWlkZXMgc2lkZWJhciBncm91cCBpcyBnZW5lcmF0ZWQgZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2d1aWRlcydcbiAgICovXG4gIHJlYWRvbmx5IGd1aWRlc0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVpbGRzIGVhY2ggZXhwb3J0J3MgaW1wb3J0IHN0YXRlbWVudCwgZm9yIGEgcGFja2FnZSB3aG9zZSBleHBvcnRzIGFyZSBub3QgaW1wb3J0ZWQgZnJvbVxuICAgKiBgPHBhY2thZ2U+Lzxtb2R1bGUgcGF0aD5gLCBlLmcuIG9uZSBwdWJsaXNoaW5nIGJhcnJlbCBlbnRyeSBwb2ludHMuIFJldHVybmluZyBgdW5kZWZpbmVkYCBzaG93cyBubyBzdGF0ZW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBzdGF0ZW1lbnQgaW1wb3J0aW5nIHRoZSBleHBvcnQgZnJvbSBgPHBhY2thZ2U+Lzxtb2R1bGUgcGF0aD5gXG4gICAqL1xuICByZWFkb25seSBpbXBvcnRTdGF0ZW1lbnQ/OiBJbXBvcnRTdGF0ZW1lbnRQcm92aWRlcjtcblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBjYXNlLXByZXNlcnZlZCByb3V0ZSBzZWdtZW50IG9mIGEgbWVtYmVyJ3MgcGFnZSBmcm9tIGEgcHJvcGVydHkncyBuYW1lIG9yIGEgbWV0aG9kJ3Mgb3ZlcmxvYWQga2V5LFxuICAgKiBvdmVycmlkaW5nIHRoZSBnZW5lcmF0b3IncyBvd24gc2x1ZyB3aGVyZSBpdCByZXR1cm5zIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgbmFtZSBhcyBhIFVSTCBzZWdtZW50LCBpdHMgdHJhaWxpbmcgdW5kZXJzY29yZXMga2VwdFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtYmVyUm91dGVTZWdtZW50PzogTWVtYmVyUm91dGVTZWdtZW50UHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgYWNjb3VudCB0aGUgcmVwb3NpdG9yeSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbW5hb3Vtb3YnXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IHN0cmluZztcblxuICAvKipcbiAgICogUGFja2FnZSBuYW1lcyBtYXBwZWQgdG8gdGhlIHJvb3QgVVJMIG9mIHRoZWlyIGRvY3VtZW50YXRpb24gc2l0ZSwgd2l0aCBhIHRyYWlsaW5nIHNsYXNoLiBBIHR5cGUgZGVjbGFyZWQgaW4gb25lXG4gICAqIG9mIHRoZW0gbGlua3MgdG8gaXRzIHBhZ2UgdGhlcmUuIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UgaXRzZWxmIGlzIG5ldmVyIGxpbmtlZCB0aGlzIHdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgREVGQVVMVF9QQUNLQUdFX1NJVEVTXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlU2l0ZXM/OiBSZWFkb25seU1hcDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBwYWNrYWdlJ3Mgb25lIHB1YmxpYyBlbnRyeSBwb2ludCwgZS5nLiBgc3JjL2luZGV4LnRzYCwgZm9yIGEgcGFja2FnZSB0aGF0IHB1Ymxpc2hlcyBpdHMgQVBJIGZyb20gYSBiYXJyZWxcbiAgICogcmF0aGVyIHRoYW4gb25lIGltcG9ydCBzdWJwYXRoIHBlciBtb2R1bGUuIFNldCwgdGhlIEFQSSByZWZlcmVuY2UgZG9jdW1lbnRzIG9ubHkgdGhlIGV4cG9ydHMgdGhhdCBiYXJyZWxcbiAgICogcmUtZXhwb3J0cyAoYGV4cG9ydCAuLi4gZnJvbWApLCB7QGxpbmsgZXhjbHVkZWREaXJlY3Rvcmllc30gZG9lcyBub3QgYXBwbHksIGFuZCBldmVyeSBpbXBvcnQgc3RhdGVtZW50IGltcG9ydHNcbiAgICogZnJvbSB0aGUgcGFja2FnZSByb290LlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQ6IGV2ZXJ5IG1vZHVsZSB1bmRlciB7QGxpbmsgc291cmNlRGlyZWN0b3J5fSBpcyBkb2N1bWVudGVkIGFzIGl0cyBvd24gaW1wb3J0IHN1YnBhdGhcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FwaUVudHJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSdzIG5hbWUuIFRoZSBzaXRlIGlzIHNlcnZlZCB1bmRlciBpdDogYDxzaXRlT3JpZ2luPi88cmVwbz4vYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogV2hhdCBgYnVpbGREb2NzU2l0ZWAgZG9lcywgYWZ0ZXIgdGhlIGJ1aWxkLCBhYm91dCB0aGUgcmVwb3NpdG9yeSdzIEdpdEh1YiBob21lcGFnZTogY29tcGFyZSBpdCB3aXRoIHRoZSBzaXRlJ3NcbiAgICogVVJMIGFuZCByZXBvcnQgYSBtaXNtYXRjaCAoYGNoZWNrYCksIG9yIGFsc28gc2V0IGl0IChgc2V0YCkuIEl0IHJlYWRzIGFuZCB3cml0ZXMgdGhyb3VnaCB0aGUgYGdoYCBDTEksIGFuZFxuICAgKiBvbmx5IGV2ZXIgd2FybnMuIEEgd29ya2Zsb3cncyBgR0lUSFVCX1RPS0VOYCBjYW4gcmVhZCB0aGUgaG9tZXBhZ2UgYnV0IG5vdCBzZXQgaXQsIHNvIGluIENJIGBzZXRgIHJlcG9ydHMgdG9vLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0hvbWVwYWdlPzogUmVwb0hvbWVwYWdlTW9kZTtcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgcm9vdCwgaG9sZGluZyBgcGFja2FnZS5qc29uYCwgYHRzY29uZmlnLmpzb25gIGFuZCBgbm9kZV9tb2R1bGVzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgcHJvY2Vzcy5jd2QoKVxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9yaWdpbiBldmVyeSBzaXRlIG9mIHRoZSBhY2NvdW50IGlzIHNlcnZlZCBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnaHR0cHM6Ly9tbmFvdW1vdi5kZXYnXG4gICAqL1xuICByZWFkb25seSBzaXRlT3JpZ2luPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHdob3NlIG1vZHVsZXMgdGhlIEFQSSByZWZlcmVuY2UgZG9jdW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnc3JjJ1xuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIHRpdGxlLCBzaG93biBpbiBpdHMgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiB7QGxpbmsgRG9jc1NpdGVDb25maWd9IHdpdGggZXZlcnkgZGVmYXVsdCBhcHBsaWVkLCBldmVyeSBwYXRoIGFic29sdXRlLCBhbmQgdGhlIHZhbHVlcyBkZXJpdmVkIGZyb20gdGhlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZERvY3NTaXRlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IncyBzZXR0aW5ncyBmb3IgdGhlIHNpdGUuXG4gICAqL1xuICByZWFkb25seSBhcGlEb2NTZXR0aW5nczogQXBpRG9jU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIHBhdGgsIGUuZy4gYC90eXBlc2NyaXB0LWxpYmAuXG4gICAqL1xuICByZWFkb25seSBiYXNlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRhdGlvbiBjb250ZW50IHJvb3QsIGA8ZG9jcz4vc3JjL2NvbnRlbnQvZG9jc2AuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgb3V0cHV0IGZvbGRlciwgYDxkb2NzPi9kaXN0YC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3REaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIHNvdXJjZSBmb2xkZXIsIGA8ZG9jcz4vc3JjYC5cbiAgICovXG4gIHJlYWRvbmx5IGRvY3NTb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBhIHBhZ2UncyBlZGl0IGxpbmsgc3RhcnRzIHdpdGg6IHRoZSByZXBvc2l0b3J5J3MgYGVkaXQvbWFpbi9gIHRyZWUuXG4gICAqL1xuICByZWFkb25seSBlZGl0TGlua0Jhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBTVkcgbG9nbywgYDxkb2NzPi9wdWJsaWMvZmF2aWNvbi5zdmdgLlxuICAgKi9cbiAgcmVhZG9ubHkgZmF2aWNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkncyBHaXRIdWIgVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcuZ3VpZGVzRGlyZWN0b3J5fS5cbiAgICovXG4gIHJlYWRvbmx5IGd1aWRlc0RpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHRoZSBPcGVuIEdyYXBoIGNhcmRzIGFyZSB3cml0dGVuIHRvLCBgPGRvY3M+L3B1YmxpYy9vZ2AuXG4gICAqL1xuICByZWFkb25seSBvZ091dHB1dERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLm93bmVyfS5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UncyBuYW1lLCByZWFkIGZyb20gdGhlIHJvb3QgYHBhY2thZ2UuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlJ3MgdmVyc2lvbiwgcmVhZCBmcm9tIHRoZSByb290IGBwYWNrYWdlLmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBzdGF0aWMgZm9sZGVyLCBgPGRvY3M+L3B1YmxpY2AuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvfS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvSG9tZXBhZ2V9LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0hvbWVwYWdlOiBSZXBvSG9tZXBhZ2VNb2RlO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnJvb3REaXJlY3Rvcnl9LlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tLCB3aXRoIGEgdHJhaWxpbmcgc2xhc2guXG4gICAqL1xuICByZWFkb25seSBzaXRlQmFzZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnNpdGVPcmlnaW59LlxuICAgKi9cbiAgcmVhZG9ubHkgc2l0ZU9yaWdpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIERvY3NTaXRlQ29uZmlnLnNvdXJjZURpcmVjdG9yeX0uXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy50aXRsZX0uXG4gICAqL1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFja2FnZUpzb25GaWVsZHMge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgdGhlIGRlZmF1bHRzIHRvIGEgc2l0ZSdzIG9wdGlvbnMgYW5kIGRlcml2ZXMgZXZlcnkgcGF0aCBhbmQgVVJMIGZyb20gdGhlbS5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIHNpdGUncyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gKiBAdGhyb3dzIElmIHRoZSByb290IGBwYWNrYWdlLmpzb25gIGhhcyBubyBgbmFtZWAgb3IgYHZlcnNpb25gLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZURvY3NTaXRlQ29uZmlnKGNvbmZpZzogRG9jc1NpdGVDb25maWcpOiBSZXNvbHZlZERvY3NTaXRlQ29uZmlnIHtcbiAgY29uc3Qge1xuICAgIGRvY3NEaXJlY3RvcnkgPSAnZG9jcycsXG4gICAgZXhjbHVkZWREaXJlY3RvcmllcyA9IFtdLFxuICAgIGV4dGVybmFsVHlwZUxpbmtzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbiAgICBnZW5lcmljVHlwZVBhcmFtZXRlcnMgPSBbXSxcbiAgICBndWlkZXNEaXJlY3RvcnkgPSAnZ3VpZGVzJyxcbiAgICBpbXBvcnRTdGF0ZW1lbnQsXG4gICAgbWVtYmVyUm91dGVTZWdtZW50LFxuICAgIG93bmVyID0gJ21uYW91bW92JyxcbiAgICBwYWNrYWdlU2l0ZXMgPSBERUZBVUxUX1BBQ0tBR0VfU0lURVMsXG4gICAgcHVibGljQXBpRW50cnksXG4gICAgcmVwbyxcbiAgICByZXBvSG9tZXBhZ2UgPSAnb2ZmJyxcbiAgICByb290RGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKSxcbiAgICBzaXRlT3JpZ2luID0gJ2h0dHBzOi8vbW5hb3Vtb3YuZGV2JyxcbiAgICBzb3VyY2VEaXJlY3RvcnkgPSAnc3JjJyxcbiAgICB0aXRsZVxuICB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMoam9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyksICd1dGYtOCcpKSBhcyBQYWNrYWdlSnNvbkZpZWxkcztcbiAgaWYgKHBhY2thZ2VKc29uLm5hbWUgPT09IHVuZGVmaW5lZCB8fCBwYWNrYWdlSnNvbi52ZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7am9pbihyb290RGlyZWN0b3J5LCAncGFja2FnZS5qc29uJyl9IGhhcyBubyBuYW1lIG9yIG5vIHZlcnNpb24uYCk7XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZURvY3NEaXJlY3RvcnkgPSBqb2luKHJvb3REaXJlY3RvcnksIGRvY3NEaXJlY3RvcnkpO1xuICBjb25zdCBkb2NzU291cmNlRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdzcmMnKTtcbiAgY29uc3QgY29udGVudERvY3NEaXJlY3RvcnkgPSBqb2luKGRvY3NTb3VyY2VEaXJlY3RvcnksICdjb250ZW50JywgJ2RvY3MnKTtcbiAgY29uc3QgcHVibGljRGlyZWN0b3J5ID0gam9pbihhYnNvbHV0ZURvY3NEaXJlY3RvcnksICdwdWJsaWMnKTtcbiAgY29uc3QgZ2l0aHViVXJsID0gYGh0dHBzOi8vZ2l0aHViLmNvbS8ke293bmVyfS8ke3JlcG99YDtcblxuICBjb25zdCBiYXNlUGF0aCA9IGAvJHtyZXBvfWA7XG4gIHJldHVybiB7XG4gICAgYXBpRG9jU2V0dGluZ3M6IHtcbiAgICAgIGJhc2VQYXRoLFxuICAgICAgZXhjbHVkZWREaXJlY3RvcmllcyxcbiAgICAgIGV4dGVybmFsVHlwZUxpbmtzLFxuICAgICAgZ2VuZXJpY1R5cGVQYXJhbWV0ZXJzLFxuICAgICAgaW1wb3J0U3RhdGVtZW50LFxuICAgICAgbWVtYmVyUm91dGVTZWdtZW50LFxuICAgICAgb3V0cHV0RGlyZWN0b3J5OiBqb2luKGNvbnRlbnREb2NzRGlyZWN0b3J5LCAnYXBpJyksXG4gICAgICBwYWNrYWdlTmFtZTogcGFja2FnZUpzb24ubmFtZSxcbiAgICAgIHBhY2thZ2VTaXRlcyxcbiAgICAgIHB1YmxpY0FwaUVudHJ5OiBwdWJsaWNBcGlFbnRyeSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogam9pbihyb290RGlyZWN0b3J5LCBwdWJsaWNBcGlFbnRyeSksXG4gICAgICBzaWRlYmFyRmlsZTogam9pbihkb2NzU291cmNlRGlyZWN0b3J5LCAnZ2VuZXJhdGVkLXNpZGViYXIuanNvbicpXG4gICAgfSxcbiAgICBiYXNlUGF0aCxcbiAgICBjb250ZW50RG9jc0RpcmVjdG9yeSxcbiAgICBkaXN0RGlyZWN0b3J5OiBqb2luKGFic29sdXRlRG9jc0RpcmVjdG9yeSwgJ2Rpc3QnKSxcbiAgICBkb2NzRGlyZWN0b3J5OiBhYnNvbHV0ZURvY3NEaXJlY3RvcnksXG4gICAgZG9jc1NvdXJjZURpcmVjdG9yeSxcbiAgICBlZGl0TGlua0Jhc2VVcmw6IGAke2dpdGh1YlVybH0vZWRpdC9tYWluL2AsXG4gICAgZmF2aWNvblBhdGg6IGpvaW4ocHVibGljRGlyZWN0b3J5LCAnZmF2aWNvbi5zdmcnKSxcbiAgICBnaXRodWJVcmwsXG4gICAgZ3VpZGVzRGlyZWN0b3J5LFxuICAgIG9nT3V0cHV0RGlyZWN0b3J5OiBqb2luKHB1YmxpY0RpcmVjdG9yeSwgJ29nJyksXG4gICAgb3duZXIsXG4gICAgcGFja2FnZU5hbWU6IHBhY2thZ2VKc29uLm5hbWUsXG4gICAgcGFja2FnZVZlcnNpb246IHBhY2thZ2VKc29uLnZlcnNpb24sXG4gICAgcHVibGljRGlyZWN0b3J5LFxuICAgIHJlcG8sXG4gICAgcmVwb0hvbWVwYWdlLFxuICAgIHJvb3REaXJlY3RvcnksXG4gICAgc2l0ZUJhc2VVcmw6IGAke3NpdGVPcmlnaW59LyR7cmVwb30vYCxcbiAgICBzaXRlT3JpZ2luLFxuICAgIHNvdXJjZURpcmVjdG9yeTogam9pbihyb290RGlyZWN0b3J5LCBzb3VyY2VEaXJlY3RvcnkpLFxuICAgIHRpdGxlXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyxZQUFZO0FBU3JCLFNBQVMsNkJBQTZCO0FBMlAvQixTQUFTLHNCQUFzQixRQUFnRDtBQUNwRixRQUFNO0FBQUEsSUFDSixnQkFBZ0I7QUFBQSxJQUNoQixzQkFBc0IsQ0FBQztBQUFBLElBQ3ZCLG9CQUFvQixvQkFBSSxJQUFvQjtBQUFBLElBQzVDLHdCQUF3QixDQUFDO0FBQUEsSUFDekIsa0JBQWtCO0FBQUEsSUFDbEI7QUFBQSxJQUNBO0FBQUEsSUFDQSxRQUFRO0FBQUEsSUFDUixlQUFlO0FBQUEsSUFDZjtBQUFBLElBQ0E7QUFBQSxJQUNBLGVBQWU7QUFBQSxJQUNmLGdCQUFnQixRQUFRLElBQUk7QUFBQSxJQUM1QixhQUFhO0FBQUEsSUFDYixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLEVBQ0YsSUFBSTtBQUVKLFFBQU0sY0FBYyxLQUFLLE1BQU0sYUFBYSxLQUFLLGVBQWUsY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUN6RixNQUFJLFlBQVksU0FBUyxVQUFhLFlBQVksWUFBWSxRQUFXO0FBQ3ZFLFVBQU0sSUFBSSxNQUFNLEdBQUcsS0FBSyxlQUFlLGNBQWMsQ0FBQyw2QkFBNkI7QUFBQSxFQUNyRjtBQUVBLFFBQU0sd0JBQXdCLEtBQUssZUFBZSxhQUFhO0FBQy9ELFFBQU0sc0JBQXNCLEtBQUssdUJBQXVCLEtBQUs7QUFDN0QsUUFBTSx1QkFBdUIsS0FBSyxxQkFBcUIsV0FBVyxNQUFNO0FBQ3hFLFFBQU0sa0JBQWtCLEtBQUssdUJBQXVCLFFBQVE7QUFDNUQsUUFBTSxZQUFZLHNCQUFzQixLQUFLLElBQUksSUFBSTtBQUVyRCxRQUFNLFdBQVcsSUFBSSxJQUFJO0FBQ3pCLFNBQU87QUFBQSxJQUNMLGdCQUFnQjtBQUFBLE1BQ2Q7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0EsaUJBQWlCLEtBQUssc0JBQXNCLEtBQUs7QUFBQSxNQUNqRCxhQUFhLFlBQVk7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsZ0JBQWdCLG1CQUFtQixTQUFZLFNBQVksS0FBSyxlQUFlLGNBQWM7QUFBQSxNQUM3RixhQUFhLEtBQUsscUJBQXFCLHdCQUF3QjtBQUFBLElBQ2pFO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLGVBQWUsS0FBSyx1QkFBdUIsTUFBTTtBQUFBLElBQ2pELGVBQWU7QUFBQSxJQUNmO0FBQUEsSUFDQSxpQkFBaUIsR0FBRyxTQUFTO0FBQUEsSUFDN0IsYUFBYSxLQUFLLGlCQUFpQixhQUFhO0FBQUEsSUFDaEQ7QUFBQSxJQUNBO0FBQUEsSUFDQSxtQkFBbUIsS0FBSyxpQkFBaUIsSUFBSTtBQUFBLElBQzdDO0FBQUEsSUFDQSxhQUFhLFlBQVk7QUFBQSxJQUN6QixnQkFBZ0IsWUFBWTtBQUFBLElBQzVCO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxhQUFhLEdBQUcsVUFBVSxJQUFJLElBQUk7QUFBQSxJQUNsQztBQUFBLElBQ0EsaUJBQWlCLEtBQUssZUFBZSxlQUFlO0FBQUEsSUFDcEQ7QUFBQSxFQUNGO0FBQ0Y7IiwibmFtZXMiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnaoumov/typescript-dev-toolkit",
3
- "version": "3.7.4",
3
+ "version": "3.9.0",
4
4
  "description": "Generic TypeScript project tooling: build, lint, format, spellcheck, test, gate and release scripts.",
5
5
  "keywords": [
6
6
  "typescript",