diff --git a/config/rollup-external.json b/config/rollup-external.json index ace9d93..e58f3f8 100644 --- a/config/rollup-external.json +++ b/config/rollup-external.json @@ -1,5 +1,6 @@ { "names": [ + "@gitbeaker/node", "async_hooks", "chai", "dtrace-provider", diff --git a/config/rollup.js b/config/rollup.js index 61a6d31..62ed4f1 100644 --- a/config/rollup.js +++ b/config/rollup.js @@ -111,6 +111,7 @@ const bundle = { alias({ resolve: ['.tsx', '.ts'], entries: { + '@gitbeaker/node': require.resolve('@gitbeaker/node'), 'universal-user-agent': join('.', 'node_modules', 'universal-user-agent', 'dist-node', 'index.js'), 'universal-github-app-jwt': join('.', 'node_modules', 'universal-github-app-jwt', 'dist-node', 'index.js'), }, diff --git a/docs/api/cautious-journey.gitlabremote.client.md b/docs/api/cautious-journey.gitlabremote.client.md new file mode 100644 index 0000000..c5b5ccd --- /dev/null +++ b/docs/api/cautious-journey.gitlabremote.client.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [cautious-journey](./cautious-journey.md) > [GitlabRemote](./cautious-journey.gitlabremote.md) > [client](./cautious-journey.gitlabremote.client.md) + +## GitlabRemote.client property + +Signature: + +```typescript +protected client?: RemoteBundle; +``` diff --git a/docs/api/cautious-journey.gitlabremote.listissues.md b/docs/api/cautious-journey.gitlabremote.listissues.md index 8a16f82..b220fe9 100644 --- a/docs/api/cautious-journey.gitlabremote.listissues.md +++ b/docs/api/cautious-journey.gitlabremote.listissues.md @@ -7,8 +7,15 @@ Signature: ```typescript -listIssues(): Promise>; +listIssues(options: IssueQuery): Promise>; ``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| options | IssueQuery | | + Returns: Promise<Array<IssueUpdate>> diff --git a/docs/api/cautious-journey.gitlabremote.listlabels.md b/docs/api/cautious-journey.gitlabremote.listlabels.md index 9704ed8..51fd714 100644 --- a/docs/api/cautious-journey.gitlabremote.listlabels.md +++ b/docs/api/cautious-journey.gitlabremote.listlabels.md @@ -7,8 +7,15 @@ Signature: ```typescript -listLabels(): Promise>; +listLabels(options: ProjectQuery): Promise>; ``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| options | ProjectQuery | | + Returns: Promise<Array<LabelUpdate>> diff --git a/docs/api/cautious-journey.gitlabremote.md b/docs/api/cautious-journey.gitlabremote.md index 7bb8538..f9110cc 100644 --- a/docs/api/cautious-journey.gitlabremote.md +++ b/docs/api/cautious-journey.gitlabremote.md @@ -19,6 +19,13 @@ export declare class GitlabRemote implements Remote | --- | --- | --- | | [(constructor)(options)](./cautious-journey.gitlabremote._constructor_.md) | | Constructs a new instance of the GitlabRemote class | +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [client](./cautious-journey.gitlabremote.client.md) | | RemoteBundle | | +| [options](./cautious-journey.gitlabremote.options.md) | | [RemoteOptions](./cautious-journey.remoteoptions.md) | | + ## Methods | Method | Modifiers | Description | @@ -29,8 +36,9 @@ export declare class GitlabRemote implements Remote | [deleteLabel()](./cautious-journey.gitlabremote.deletelabel.md) | | | | [getIssue()](./cautious-journey.gitlabremote.getissue.md) | | | | [getLabel()](./cautious-journey.gitlabremote.getlabel.md) | | | -| [listIssues()](./cautious-journey.gitlabremote.listissues.md) | | | -| [listLabels()](./cautious-journey.gitlabremote.listlabels.md) | | | +| [listIssues(options)](./cautious-journey.gitlabremote.listissues.md) | | | +| [listLabels(options)](./cautious-journey.gitlabremote.listlabels.md) | | | +| [resolvePath(path)](./cautious-journey.gitlabremote.resolvepath.md) | | | | [updateIssue()](./cautious-journey.gitlabremote.updateissue.md) | | | | [updateLabel()](./cautious-journey.gitlabremote.updatelabel.md) | | | diff --git a/docs/api/cautious-journey.gitlabremote.options.md b/docs/api/cautious-journey.gitlabremote.options.md new file mode 100644 index 0000000..dc048bc --- /dev/null +++ b/docs/api/cautious-journey.gitlabremote.options.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [cautious-journey](./cautious-journey.md) > [GitlabRemote](./cautious-journey.gitlabremote.md) > [options](./cautious-journey.gitlabremote.options.md) + +## GitlabRemote.options property + +Signature: + +```typescript +protected options: RemoteOptions; +``` diff --git a/docs/api/cautious-journey.gitlabremote.resolvepath.md b/docs/api/cautious-journey.gitlabremote.resolvepath.md new file mode 100644 index 0000000..714f3de --- /dev/null +++ b/docs/api/cautious-journey.gitlabremote.resolvepath.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [cautious-journey](./cautious-journey.md) > [GitlabRemote](./cautious-journey.gitlabremote.md) > [resolvePath](./cautious-journey.gitlabremote.resolvepath.md) + +## GitlabRemote.resolvePath() method + +Signature: + +```typescript +resolvePath(path: string): Promise<{ + groupId: number; + projectId: number; + }>; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| path | string | | + +Returns: + +Promise<{ groupId: number; projectId: number; }> + diff --git a/package.json b/package.json index aa535ce..8d05f3e 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,9 @@ "@apextoaster/js-config": "^0.1.2-7", "@apextoaster/js-utils": "^0.2.1", "@apextoaster/js-yaml-schema": "^0.4.0-3", + "@gitbeaker/browser": "^23.5.0", + "@gitbeaker/core": "^23.5.0", + "@gitbeaker/node": "^23.5.0", "@istanbuljs/nyc-config-typescript": "1.0.1", "@microsoft/api-documenter": "7.8.22", "@microsoft/api-extractor": "7.9.3", diff --git a/src/remote/gitlab.ts b/src/remote/gitlab.ts index c823aff..9c1fa12 100644 --- a/src/remote/gitlab.ts +++ b/src/remote/gitlab.ts @@ -1,18 +1,41 @@ -import { NotImplementedError } from '@apextoaster/js-utils'; +import { mustExist, NotImplementedError } from '@apextoaster/js-utils'; +import { GetResponse } from '@gitbeaker/core/dist/types/infrastructure/RequestHelper'; +import { Bundle } from '@gitbeaker/core/dist/types/infrastructure/Utils'; +import { Issues, Labels, Projects, ProjectsBundle } from '@gitbeaker/node'; -import { IssueUpdate, LabelUpdate, Remote, RemoteOptions } from '.'; +import { IssueQuery, IssueUpdate, LabelUpdate, ProjectQuery, Remote, RemoteOptions } from '.'; + +// gitbeaker exports the bundle types as const, breaking typeof +type RemoteBundle = InstanceType>; + +export function unwrapResponse(resp: GetResponse): T { + return (resp as unknown) as T; +} /** * Gitlab API implementation of the `Remote` contract. */ export class GitlabRemote implements Remote { + protected client?: RemoteBundle; + protected options: RemoteOptions; + /* eslint-disable-next-line no-useless-constructor */ constructor(options: RemoteOptions) { - // TODO: set up gitlab API + this.options = options; + this.options.logger.debug(options, 'created gitlab remote'); } public async connect(): Promise { - throw new NotImplementedError(); + this.client = new ProjectsBundle({ + host: this.options.data.host, + token: mustExist(this.options.data.token), + }); + + return true; } public async createComment(): Promise { @@ -35,12 +58,30 @@ export class GitlabRemote implements Remote { throw new NotImplementedError(); } - public async listIssues(): Promise> { - throw new NotImplementedError(); + public async listIssues(options: IssueQuery): Promise> { + const project = await this.resolvePath(options.project); + const data = unwrapResponse>(await mustExist(this.client).Issues.all({ + ...project, + })); + + return data.map((issue) => ({ + issue: issue.id.toString(), + labels: issue.labels, + name: issue.title, + project: options.project, + })); } - public async listLabels(): Promise> { - throw new NotImplementedError(); + public async listLabels(options: ProjectQuery): Promise> { + const project = await this.resolvePath(options.project); + const data = unwrapResponse>(await mustExist(this.client).Labels.all(project.projectId)); + + return data.map((label) => ({ + color: label.color, + desc: label.description, + name: label.name, + project: options.project, + })); } public async updateIssue(): Promise { @@ -50,5 +91,44 @@ export class GitlabRemote implements Remote { public async updateLabel(): Promise { throw new NotImplementedError(); } + + public async resolvePath(path: string): Promise<{ + groupId: number; + projectId: number; + }> { + const project = unwrapResponse(await mustExist(this.client).Projects.show(path)); + + return { + groupId: project.namespace.id, + projectId: project.id, + }; + } } +interface GitlabProject { + id: number; + description: string; + name: string; + path: string; + namespace: { + id: number; + name: string; + path: string; + }; +} + +interface GitlabIssue { + id: number; + iid: number; + title: string; + description: string; + state: string; + labels: Array; +} + +interface GitlabLabel { + id: number; + name: string; + color: string; + description: string; +} diff --git a/yarn.lock b/yarn.lock index 6aa0b84..8abc390 100644 --- a/yarn.lock +++ b/yarn.lock @@ -210,6 +210,43 @@ reflect-metadata "^0.1.12" tslib "^1.8.1" +"@gitbeaker/browser@^23.5.0": + version "23.5.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@gitbeaker/browser/-/browser-23.5.0.tgz#f97156955e0cc6d2a903f6deef694aaef1458c85" + integrity sha512-mqgYaLPTbkawKagAoUv2eVLT2+dEwhtaGko43UC6vWgBPKldDftQli9QsMaSjFO270PXA/l4ALZ0CTf/9GYXiA== + dependencies: + "@gitbeaker/core" "^23.5.0" + "@gitbeaker/requester-utils" "^23.5.0" + ky "^0.23.0" + +"@gitbeaker/core@^23.5.0": + version "23.5.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@gitbeaker/core/-/core-23.5.0.tgz#e0be44eecd0d7bf5418c161997c36d45b0c1ba81" + integrity sha512-5geLk7SxAttABBJZxfuSp72lSYWRyRId583vGCpKB6ISkoDhP+vJxdE6ypmtOJPV4CaSRZhluAGAZd968pi9ng== + dependencies: + "@gitbeaker/requester-utils" "^23.5.0" + form-data "^3.0.0" + li "^1.3.0" + xcase "^2.0.1" + +"@gitbeaker/node@^23.5.0": + version "23.5.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@gitbeaker/node/-/node-23.5.0.tgz#0243be78aad148e7d6b5d79b7acc340748b5fa94" + integrity sha512-GEyhcrF1Lm8YmsmwntfzuhXnq00TrG14wNZP2Hg+DGgexG25eBbbcyFXuFZlBFSaGMQlsc8aPeuEyfyGmgpwnw== + dependencies: + "@gitbeaker/core" "^23.5.0" + "@gitbeaker/requester-utils" "^23.5.0" + got "^11.1.4" + xcase "^2.0.1" + +"@gitbeaker/requester-utils@^23.5.0": + version "23.5.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@gitbeaker/requester-utils/-/requester-utils-23.5.0.tgz#e6f5d0216cb978be95e6bf40adf606f23d426f14" + integrity sha512-MdmInOO4unkApvtbv6PnIpDYXosgZgClSOqbxF5S4aJRCZVTJ6oPjMoNP8luhyT9xQeknpKxn9Iv8psEh7IC1Q== + dependencies: + query-string "^6.12.1" + xcase "^2.0.1" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -423,6 +460,11 @@ argparse "~1.0.9" colors "~1.2.1" +"@sindresorhus/is@^3.0.0": + version "3.1.2" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@sindresorhus/is/-/is-3.1.2.tgz#548650de521b344e3781fbdb0ece4aa6f729afb8" + integrity sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ== + "@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.7.2": version "1.8.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" @@ -459,6 +501,13 @@ resolved "https://artifacts.apextoaster.com/repository/group-npm/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== +"@szmarczak/http-timer@^4.0.5": + version "4.0.5" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" + integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== + dependencies: + defer-to-connect "^2.0.0" + "@types/argparse@1.0.38": version "1.0.38" resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" @@ -471,6 +520,16 @@ dependencies: "@types/node" "*" +"@types/cacheable-request@^6.0.1": + version "6.0.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" + integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + "@types/chai-as-promised@7.1.3": version "7.1.3" resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz#779166b90fda611963a3adbfd00b339d03b747bd" @@ -503,6 +562,11 @@ resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/http-cache-semantics@*": + version "4.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" + integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== + "@types/js-yaml@^3.12.5": version "3.12.5" resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/js-yaml/-/js-yaml-3.12.5.tgz#136d5e6a57a931e1cce6f9d8126aa98a9c92a6bb" @@ -525,6 +589,13 @@ dependencies: "@types/node" "*" +"@types/keyv@*": + version "3.1.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" + integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== + dependencies: + "@types/node" "*" + "@types/lodash@^4.14.159": version "4.14.159" resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/lodash/-/lodash-4.14.159.tgz#61089719dc6fdd9c5cb46efc827f2571d1517065" @@ -592,6 +663,13 @@ dependencies: "@types/node" "*" +"@types/responselike@*", "@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + "@types/seedrandom@^2.4.28": version "2.4.28" resolved "https://artifacts.apextoaster.com/repository/group-npm/@types/seedrandom/-/seedrandom-2.4.28.tgz#9ce8fa048c1e8c85cb71d7fe4d704e000226036f" @@ -999,6 +1077,24 @@ bunyan@^1.8.14: mv "~2" safe-json-stringify "~1" +cacheable-lookup@^5.0.3: + version "5.0.3" + resolved "https://artifacts.apextoaster.com/repository/group-npm/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3" + integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w== + +cacheable-request@^7.0.1: + version "7.0.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" + integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^2.0.0" + caching-transform@^4.0.0: version "4.0.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" @@ -1161,6 +1257,13 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +clone-response@^1.0.2: + version "1.0.2" + resolved "https://artifacts.apextoaster.com/repository/group-npm/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://artifacts.apextoaster.com/repository/group-npm/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1190,7 +1293,7 @@ colors@~1.2.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://artifacts.apextoaster.com/repository/group-npm/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1562,6 +1665,18 @@ decimal.js@^10.2.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + deep-eql@^3.0.1: version "3.0.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" @@ -1581,6 +1696,11 @@ default-require-extensions@^3.0.0: dependencies: strip-bom "^4.0.0" +defer-to-connect@^2.0.0: + version "2.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" + integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://artifacts.apextoaster.com/repository/group-npm/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -1689,6 +1809,13 @@ emoji-regex@^8.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://artifacts.apextoaster.com/repository/group-npm/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + enquirer@^2.3.5: version "2.3.6" resolved "https://artifacts.apextoaster.com/repository/group-npm/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -2168,6 +2295,15 @@ forever-agent@~0.6.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +form-data@^3.0.0: + version "3.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" + integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://artifacts.apextoaster.com/repository/group-npm/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -2263,6 +2399,13 @@ get-stdin@^4.0.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= +get-stream@^5.1.0: + version "5.2.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + getpass@^0.1.1: version "0.1.7" resolved "https://artifacts.apextoaster.com/repository/group-npm/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -2366,6 +2509,23 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +got@^11.1.4: + version "11.5.2" + resolved "https://artifacts.apextoaster.com/repository/group-npm/got/-/got-11.5.2.tgz#772e3f3a06d9c7589c7c94dc3c83cdb31ddbf742" + integrity sha512-yUhpEDLeuGiGJjRSzEq3kvt4zJtAcjKmhIiwNp/eUs75tRlXfWcHo5tcBaMQtnjHWC7nQYT5HkY/l0QOQTkVww== + dependencies: + "@sindresorhus/is" "^3.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.1" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.0" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.4" resolved "https://artifacts.apextoaster.com/repository/group-npm/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -2472,6 +2632,11 @@ html-escaper@^2.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + http-signature@~1.2.0: version "1.2.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -2481,6 +2646,14 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +http2-wrapper@^1.0.0-beta.5.0: + version "1.0.0-beta.5.2" + resolved "https://artifacts.apextoaster.com/repository/group-npm/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" + integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + husky@^4.2.5: version "4.2.5" resolved "https://artifacts.apextoaster.com/repository/group-npm/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" @@ -2966,6 +3139,11 @@ jsesc@^2.5.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://artifacts.apextoaster.com/repository/group-npm/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -3065,11 +3243,23 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +keyv@^4.0.0: + version "4.0.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/keyv/-/keyv-4.0.1.tgz#9fe703cb4a94d6d11729d320af033307efd02ee6" + integrity sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw== + dependencies: + json-buffer "3.0.1" + kind-of@^6.0.3: version "6.0.3" resolved "https://artifacts.apextoaster.com/repository/group-npm/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +ky@^0.23.0: + version "0.23.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/ky/-/ky-0.23.0.tgz#54c2f3fa9003d591cb2f368384e6c84795a92e64" + integrity sha512-+t2CbQsLmpN3HeYPBxN+VbZqBOd86njF3cvnueC77pJKVHRjiMI0Ac+pfkB8e17Bw1dGHbMk9hrHst9Bw7ndgw== + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3086,6 +3276,11 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +li@^1.3.0: + version "1.3.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/li/-/li-1.3.0.tgz#22c59bcaefaa9a8ef359cf759784e4bf106aea1b" + integrity sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs= + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://artifacts.apextoaster.com/repository/group-npm/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -3252,6 +3447,11 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + lru-cache@^6.0.0: version "6.0.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -3380,6 +3580,16 @@ mimic-fn@^2.1.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + min-indent@^1.0.0: version "1.0.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -3576,6 +3786,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + null-check@^1.0.0: version "1.0.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" @@ -3664,7 +3879,7 @@ object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -once@^1.3.0, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -3725,6 +3940,11 @@ os-tmpdir@~1.0.2: resolved "https://artifacts.apextoaster.com/repository/group-npm/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +p-cancelable@^2.0.0: + version "2.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" + integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== + p-limit@^1.1.0: version "1.3.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -4016,6 +4236,14 @@ psl@^1.1.28: resolved "https://artifacts.apextoaster.com/repository/group-npm/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== +pump@^3.0.0: + version "3.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -4038,6 +4266,15 @@ qs@~6.5.2: resolved "https://artifacts.apextoaster.com/repository/group-npm/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +query-string@^6.12.1: + version "6.13.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad" + integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + quick-lru@^1.0.0: version "1.1.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -4048,6 +4285,11 @@ quick-lru@^4.0.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + ramda@^0.27.1: version "0.27.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" @@ -4295,6 +4537,11 @@ require-main-filename@^2.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +resolve-alpn@^1.0.0: + version "1.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" + integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== + resolve-dir@^1.0.0: version "1.0.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -4320,6 +4567,13 @@ resolve@1.17.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11. dependencies: path-parse "^1.0.6" +responselike@^2.0.0: + version "2.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -4751,6 +5005,11 @@ spdx-license-ids@^3.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + split2@^2.0.0: version "2.2.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" @@ -4811,6 +5070,11 @@ stealthy-require@^1.1.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= + "string-width@^1.0.2 || 2": version "2.1.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -5500,6 +5764,11 @@ ws@^7.2.3: resolved "https://artifacts.apextoaster.com/repository/group-npm/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== +xcase@^2.0.1: + version "2.0.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/xcase/-/xcase-2.0.1.tgz#c7fa72caa0f440db78fd5673432038ac984450b9" + integrity sha1-x/pyyqD0QNt4/VZzQyA4rJhEULk= + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"