diff --git a/.eslintrc.js b/.eslintrc.js index 83ad149c..0fb9a279 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,5 +5,5 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ module.exports = { - extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license'], + extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license', 'plugin:sf-plugin/recommended'], }; diff --git a/CHANGELOG.md b/CHANGELOG.md index b035e1aa..ce0c3000 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,261 +1,170 @@ ## [2.1.19](https://github.com/salesforcecli/plugin-schema/compare/2.1.18...2.1.19) (2022-12-11) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.20.4 to 1.21.0 ([6ce1938](https://github.com/salesforcecli/plugin-schema/commit/6ce1938d14b6431859b40cb70f5c62596e0b3cb6)) - - +- **deps:** bump @oclif/core from 1.20.4 to 1.21.0 ([6ce1938](https://github.com/salesforcecli/plugin-schema/commit/6ce1938d14b6431859b40cb70f5c62596e0b3cb6)) ## [2.1.18](https://github.com/salesforcecli/plugin-schema/compare/2.1.17...2.1.18) (2022-12-05) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.32.2 to 3.32.6 ([4e87f74](https://github.com/salesforcecli/plugin-schema/commit/4e87f74b8e257d56ffe61b5942db88fcb2b12ef1)) - - +- **deps:** bump @salesforce/core from 3.32.2 to 3.32.6 ([4e87f74](https://github.com/salesforcecli/plugin-schema/commit/4e87f74b8e257d56ffe61b5942db88fcb2b12ef1)) ## [2.1.17](https://github.com/salesforcecli/plugin-schema/compare/2.1.16...2.1.17) (2022-11-27) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.32.1 to 3.32.2 ([7d980ae](https://github.com/salesforcecli/plugin-schema/commit/7d980aeb8b1ea385bd84fe1b30b3c2e5f6d99f15)) - - +- **deps:** bump @salesforce/core from 3.32.1 to 3.32.2 ([7d980ae](https://github.com/salesforcecli/plugin-schema/commit/7d980aeb8b1ea385bd84fe1b30b3c2e5f6d99f15)) ## [2.1.16](https://github.com/salesforcecli/plugin-schema/compare/2.1.15...2.1.16) (2022-11-20) - ### Bug Fixes -* **deps:** bump @salesforce/command from 5.2.20 to 5.2.25 ([5a71228](https://github.com/salesforcecli/plugin-schema/commit/5a71228c1ffe373dd4b78f8597fe969c5a4341a5)) - - +- **deps:** bump @salesforce/command from 5.2.20 to 5.2.25 ([5a71228](https://github.com/salesforcecli/plugin-schema/commit/5a71228c1ffe373dd4b78f8597fe969c5a4341a5)) ## [2.1.15](https://github.com/salesforcecli/plugin-schema/compare/2.1.14...2.1.15) (2022-11-13) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.20.3 to 1.20.4 ([82a459c](https://github.com/salesforcecli/plugin-schema/commit/82a459c8fe1aca7f09fe721f4152f83ba86eb7e9)) - - +- **deps:** bump @oclif/core from 1.20.3 to 1.20.4 ([82a459c](https://github.com/salesforcecli/plugin-schema/commit/82a459c8fe1aca7f09fe721f4152f83ba86eb7e9)) ## [2.1.14](https://github.com/salesforcecli/plugin-schema/compare/2.1.13...2.1.14) (2022-11-13) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.31.17 to 3.31.19 ([4bbdccc](https://github.com/salesforcecli/plugin-schema/commit/4bbdcccaf28d9ca0a1c78ac052fc5addc51bfdcb)) - - +- **deps:** bump @salesforce/core from 3.31.17 to 3.31.19 ([4bbdccc](https://github.com/salesforcecli/plugin-schema/commit/4bbdcccaf28d9ca0a1c78ac052fc5addc51bfdcb)) ## [2.1.13](https://github.com/salesforcecli/plugin-schema/compare/2.1.12...2.1.13) (2022-11-06) - ### Bug Fixes -* **deps:** bump @salesforce/command from 5.2.16 to 5.2.20 ([e4d88ae](https://github.com/salesforcecli/plugin-schema/commit/e4d88ae2b18f6b6d39d141089b4a3cf6a9528af5)) - - +- **deps:** bump @salesforce/command from 5.2.16 to 5.2.20 ([e4d88ae](https://github.com/salesforcecli/plugin-schema/commit/e4d88ae2b18f6b6d39d141089b4a3cf6a9528af5)) ## [2.1.12](https://github.com/salesforcecli/plugin-schema/compare/2.1.11...2.1.12) (2022-10-30) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.19.1 to 1.20.0 ([c2f4474](https://github.com/salesforcecli/plugin-schema/commit/c2f4474ca4b1189d66e32b42cf470d7ea1dee412)) - - +- **deps:** bump @oclif/core from 1.19.1 to 1.20.0 ([c2f4474](https://github.com/salesforcecli/plugin-schema/commit/c2f4474ca4b1189d66e32b42cf470d7ea1dee412)) ## [2.1.11](https://github.com/salesforcecli/plugin-schema/compare/2.1.10...2.1.11) (2022-10-24) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.16.4 to 1.19.1 ([14c66c9](https://github.com/salesforcecli/plugin-schema/commit/14c66c9a2afecef157c46d475b327c13167b07ab)) - - +- **deps:** bump @oclif/core from 1.16.4 to 1.19.1 ([14c66c9](https://github.com/salesforcecli/plugin-schema/commit/14c66c9a2afecef157c46d475b327c13167b07ab)) ## [2.1.10](https://github.com/salesforcecli/plugin-schema/compare/2.1.9...2.1.10) (2022-10-02) - ### Bug Fixes -* **deps:** bump @salesforce/command from 5.2.8 to 5.2.11 ([2f187ab](https://github.com/salesforcecli/plugin-schema/commit/2f187abd12e16fecccce222febc52d48a29e96b9)) - - +- **deps:** bump @salesforce/command from 5.2.8 to 5.2.11 ([2f187ab](https://github.com/salesforcecli/plugin-schema/commit/2f187abd12e16fecccce222febc52d48a29e96b9)) ## [2.1.9](https://github.com/salesforcecli/plugin-schema/compare/2.1.8...2.1.9) (2022-09-30) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.30.8 to 3.30.9 ([bc6e8be](https://github.com/salesforcecli/plugin-schema/commit/bc6e8be6b609d25f32453c7dc47af20354fb0ab8)) - - +- **deps:** bump @salesforce/core from 3.30.8 to 3.30.9 ([bc6e8be](https://github.com/salesforcecli/plugin-schema/commit/bc6e8be6b609d25f32453c7dc47af20354fb0ab8)) ## [2.1.8](https://github.com/salesforcecli/plugin-schema/compare/2.1.7...2.1.8) (2022-09-25) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.16.3 to 1.16.4 ([4cd6cdd](https://github.com/salesforcecli/plugin-schema/commit/4cd6cdd394ac39d2dde8d4e9f161cb2ab0a48cb7)) - - +- **deps:** bump @oclif/core from 1.16.3 to 1.16.4 ([4cd6cdd](https://github.com/salesforcecli/plugin-schema/commit/4cd6cdd394ac39d2dde8d4e9f161cb2ab0a48cb7)) ## [2.1.7](https://github.com/salesforcecli/plugin-schema/compare/2.1.6...2.1.7) (2022-09-25) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.30.2 to 3.30.8 ([ffda6ef](https://github.com/salesforcecli/plugin-schema/commit/ffda6ef44d96048331a3c2ec17d9ad9e0590b650)) - - +- **deps:** bump @salesforce/core from 3.30.2 to 3.30.8 ([ffda6ef](https://github.com/salesforcecli/plugin-schema/commit/ffda6ef44d96048331a3c2ec17d9ad9e0590b650)) ## [2.1.6](https://github.com/salesforcecli/plugin-schema/compare/2.1.5...2.1.6) (2022-09-18) - ### Bug Fixes -* **deps:** bump @salesforce/command from 5.2.6 to 5.2.8 ([2ffb46c](https://github.com/salesforcecli/plugin-schema/commit/2ffb46cd628c0030f016bf5fe2a107672aa74b78)) - - +- **deps:** bump @salesforce/command from 5.2.6 to 5.2.8 ([2ffb46c](https://github.com/salesforcecli/plugin-schema/commit/2ffb46cd628c0030f016bf5fe2a107672aa74b78)) ## [2.1.5](https://github.com/salesforcecli/plugin-schema/compare/2.1.4...2.1.5) (2022-09-18) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.30.0 to 3.30.2 ([94b6206](https://github.com/salesforcecli/plugin-schema/commit/94b6206ac78b74032ac15d4084fde6c2d22bb92c)) - - +- **deps:** bump @salesforce/core from 3.30.0 to 3.30.2 ([94b6206](https://github.com/salesforcecli/plugin-schema/commit/94b6206ac78b74032ac15d4084fde6c2d22bb92c)) ## [2.1.4](https://github.com/salesforcecli/plugin-schema/compare/2.1.3...2.1.4) (2022-09-18) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.16.1 to 1.16.3 ([c2a0793](https://github.com/salesforcecli/plugin-schema/commit/c2a0793eaee556fd2a74167737bde4d46d598cab)) - - +- **deps:** bump @oclif/core from 1.16.1 to 1.16.3 ([c2a0793](https://github.com/salesforcecli/plugin-schema/commit/c2a0793eaee556fd2a74167737bde4d46d598cab)) ## [2.1.3](https://github.com/salesforcecli/plugin-schema/compare/2.1.2...2.1.3) (2022-09-15) - ### Bug Fixes -* **deps:** bump @salesforce/core from 3.26.2 to 3.30.0 ([91dde03](https://github.com/salesforcecli/plugin-schema/commit/91dde033663118cf9b0c5a9e29227b40f23158f2)) - - +- **deps:** bump @salesforce/core from 3.26.2 to 3.30.0 ([91dde03](https://github.com/salesforcecli/plugin-schema/commit/91dde033663118cf9b0c5a9e29227b40f23158f2)) ## [2.1.2](https://github.com/salesforcecli/plugin-schema/compare/v2.1.1...2.1.2) (2022-09-14) - ### Bug Fixes -* **deps:** bump @oclif/core from 1.16.0 to 1.16.1 ([e574a2f](https://github.com/salesforcecli/plugin-schema/commit/e574a2f3f90c6f9107bb44e42294325fee73048c)) - - +- **deps:** bump @oclif/core from 1.16.0 to 1.16.1 ([e574a2f](https://github.com/salesforcecli/plugin-schema/commit/e574a2f3f90c6f9107bb44e42294325fee73048c)) ## [2.1.1](https://github.com/salesforcecli/plugin-schema/compare/v2.1.0...v2.1.1) (2022-05-20) - ### Bug Fixes -* add prompt to examples ([335b171](https://github.com/salesforcecli/plugin-schema/commit/335b1715514397c9f6082365f6b10845448f6016)) -* add prompt to examples ([e5956d1](https://github.com/salesforcecli/plugin-schema/commit/e5956d10b80bae20a5a39b9d840dddb875d2aa78)) - - +- add prompt to examples ([335b171](https://github.com/salesforcecli/plugin-schema/commit/335b1715514397c9f6082365f6b10845448f6016)) +- add prompt to examples ([e5956d1](https://github.com/salesforcecli/plugin-schema/commit/e5956d10b80bae20a5a39b9d840dddb875d2aa78)) # [2.1.0](https://github.com/salesforcecli/plugin-schema/compare/v2.0.0...v2.1.0) (2022-05-04) - ### Features -* bump schema validation ([78dcffc](https://github.com/salesforcecli/plugin-schema/commit/78dcffc9945a9f15f8a9740f8d8c1257166b97ba)) - - +- bump schema validation ([78dcffc](https://github.com/salesforcecli/plugin-schema/commit/78dcffc9945a9f15f8a9740f8d8c1257166b97ba)) # [2.0.0](https://github.com/salesforcecli/plugin-schema/compare/v1.1.0...v2.0.0) (2022-04-06) - ### Bug Fixes -* parking orbit plugin-schema ([ea87123](https://github.com/salesforcecli/plugin-schema/commit/ea87123101d6a34e0d017f124c3caba62a0ad63b)) - - +- parking orbit plugin-schema ([ea87123](https://github.com/salesforcecli/plugin-schema/commit/ea87123101d6a34e0d017f124c3caba62a0ad63b)) # [1.1.0](https://github.com/salesforcecli/plugin-schema/compare/v1.0.10...v1.1.0) (2021-12-02) - ### Features -* bump deps ([75830fa](https://github.com/salesforcecli/plugin-schema/commit/75830fa414f40d1fc4f0731eaba9f6d977ceb779)) - - +- bump deps ([75830fa](https://github.com/salesforcecli/plugin-schema/commit/75830fa414f40d1fc4f0731eaba9f6d977ceb779)) ## [1.0.10](https://github.com/salesforcecli/plugin-schema/compare/v1.0.9...v1.0.10) (2021-10-12) - ### Bug Fixes -* update dependencies ([299c7e9](https://github.com/salesforcecli/plugin-schema/commit/299c7e9582ccc16026c27b4a27afdc072013b697)) - - +- update dependencies ([299c7e9](https://github.com/salesforcecli/plugin-schema/commit/299c7e9582ccc16026c27b4a27afdc072013b697)) ## [1.0.9](https://github.com/salesforcecli/plugin-schema/compare/v1.0.8...v1.0.9) (2021-10-12) - - ## [1.0.8](https://github.com/salesforcecli/plugin-schema/compare/v1.0.7...v1.0.8) (2021-07-01) - - ## [1.0.7](https://github.com/salesforcecli/plugin-schema/compare/v1.0.6...v1.0.7) (2021-05-10) - - ## [1.0.6](https://github.com/salesforcecli/plugin-schema/compare/v1.0.5...v1.0.6) (2021-04-13) - - ## [1.0.5](https://github.com/salesforcecli/plugin-schema/compare/v1.0.4...v1.0.5) (2021-04-01) - ### Bug Fixes -* leif .yml merge [skip-validate-pr] ([95bb8e0](https://github.com/salesforcecli/plugin-schema/commit/95bb8e0014ff5df3c6f59aa701762732b9a5c568)) - - +- leif .yml merge [skip-validate-pr] ([95bb8e0](https://github.com/salesforcecli/plugin-schema/commit/95bb8e0014ff5df3c6f59aa701762732b9a5c568)) ## [1.0.4](https://github.com/salesforcecli/plugin-schema/compare/v1.0.3...v1.0.4) (2021-02-19) - - ## [1.0.3](https://github.com/salesforcecli/plugin-schema/compare/v1.0.2...v1.0.3) (2020-12-17) - ### Bug Fixes -* bumped npm release to v4 ([f31cf21](https://github.com/salesforcecli/plugin-schema/commit/f31cf213a24066f60f3884ffee2f64855cc19f4e)) - - +- bumped npm release to v4 ([f31cf21](https://github.com/salesforcecli/plugin-schema/commit/f31cf213a24066f60f3884ffee2f64855cc19f4e)) ## [1.0.2](https://github.com/salesforcecli/plugin-schema/compare/v1.0.1...v1.0.2) (2020-12-10) - - ## [1.0.1](https://github.com/salesforcecli/plugin-schema/compare/v1.0.0...v1.0.1) (2020-11-04) - ### Bug Fixes -* added github-release: true to circleci config ([95eddac](https://github.com/salesforcecli/plugin-schema/commit/95eddac37fe43e0e36e741af2d00ffc7b499c663)) -* schema list and describe ([ccd3a9d](https://github.com/salesforcecli/plugin-schema/commit/ccd3a9d5c62e1bced20580ee17308f3936967d9d)) -* update readme ([63658f2](https://github.com/salesforcecli/plugin-schema/commit/63658f2bdd94e0c64b18bfe78398d9175da11ed1)) - - - +- added github-release: true to circleci config ([95eddac](https://github.com/salesforcecli/plugin-schema/commit/95eddac37fe43e0e36e741af2d00ffc7b499c663)) +- schema list and describe ([ccd3a9d](https://github.com/salesforcecli/plugin-schema/commit/ccd3a9d5c62e1bced20580ee17308f3936967d9d)) +- update readme ([63658f2](https://github.com/salesforcecli/plugin-schema/commit/63658f2bdd94e0c64b18bfe78398d9175da11ed1)) diff --git a/LICENSE.txt b/LICENSE.txt index d1c9164c..f2cee7bb 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2022, Salesforce.com, Inc. +Copyright (c) 2023, Salesforce.com, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/command-snapshot.json b/command-snapshot.json index 8eeb9c3f..278b7884 100644 --- a/command-snapshot.json +++ b/command-snapshot.json @@ -1,14 +1,14 @@ [ { - "command": "force:schema:sobject:describe", + "command": "sobject:describe", "plugin": "@salesforce/plugin-schema", - "flags": ["apiversion", "json", "loglevel", "sobjecttype", "targetusername", "usetoolingapi"], - "alias": [] + "flags": ["api-version", "json", "loglevel", "sobject", "target-org", "use-tooling-api"], + "alias": ["force:schema:sobject:describe"] }, { - "command": "force:schema:sobject:list", + "command": "sobject:list", "plugin": "@salesforce/plugin-schema", - "flags": ["apiversion", "json", "loglevel", "sobjecttypecategory", "targetusername"], - "alias": [] + "flags": ["api-version", "json", "loglevel", "sobject", "target-org"], + "alias": ["force:schema:sobject:list"] } ] diff --git a/messages/describe.json b/messages/describe.json deleted file mode 100644 index f261363d..00000000 --- a/messages/describe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "description": "displays the metadata for a standard or custom object", - "examples": [ - "$ sfdx force:schema:sobject:describe -s Account", - "$ sfdx force:schema:sobject:describe -s MyObject__c", - "$ sfdx force:schema:sobject:describe -s ApexClass -t" - ], - "flags": { - "objectType": "the API name of the object to describe", - "useTooling": "execute with Tooling API" - } -} diff --git a/messages/describe.md b/messages/describe.md new file mode 100644 index 00000000..03f209b5 --- /dev/null +++ b/messages/describe.md @@ -0,0 +1,31 @@ +# summary + +Display the metadata for a standard or custom object or a Tooling API object. + +# description + +The metadata is displayed in JSON format. See this topic for a description of each property: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_describesobjects_describesobjectresult.htm. + +This command displays metadata for Salesforce objects by default. Use the --use-tooling-api flag to view metadata for a Tooling API object. + +# examples + +- Display the metadata of the "Account" standard object in your default org: + + <%= config.bin %> <%= command.id %> --sobject Account + +- Display the metadata of the "MyObject__c" custom object in the org with alias "my-scratch-org": + + <%= config.bin %> <%= command.id %> --sobject MyObject__c --target-org my-scratch-org + +- Display the metadata of the ApexCodeCoverage Tooling API object in your default org: + + <%= config.bin %> <%= command.id %> --sobject ApexCodeCoverage --use-tooling-api + +# flags.sobject.summary + +API name of the object to describe. + +# flags.tooling-api.summary + +Use Tooling API to display metadata for Tooling API objects. diff --git a/messages/list.json b/messages/list.json deleted file mode 100644 index b102c4a1..00000000 --- a/messages/list.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "description": "list all objects of a specified category", - "flags": { - "typeDescription": "the type of objects to list (all|custom|standard)", - "invalidTypeError": "\"Type\" flag can be set only to ." - }, - "examples": [ - "$ sfdx force:schema:sobject:list -c all", - "$ sfdx force:schema:sobject:list -c custom", - "$ sfdx force:schema:sobject:list -c standard" - ], - "noTypeFound": "No %s objects found." -} diff --git a/messages/list.md b/messages/list.md new file mode 100644 index 00000000..d34b1751 --- /dev/null +++ b/messages/list.md @@ -0,0 +1,29 @@ +# summary + +List all Salesforce objects of a specified category. + +# description + +You can list the standard objects, custom objects, or all. The lists include only Salesforce objects, not Tooling API objects. + +# examples + +- List all objects in your default org: + + <%= config.bin %> <%= command.id %> --sobject all + +- List only custom objects in the org with alias "my-scratch-org": + + <%= config.bin %> <%= command.id %> --sobject custom --target-org my-scratch-org + +# flags.sobject.summary + +Category of objects to list. + +# invalid-sobject-type + +"--sobject" flag can be set only to ." + +# noTypeFound + +No %s objects found. diff --git a/package.json b/package.json index 02f4e1ad..218f5c1b 100644 --- a/package.json +++ b/package.json @@ -6,17 +6,18 @@ "main": "lib/index.js", "bugs": "https://github.com/forcedotcom/cli/issues", "dependencies": { - "@oclif/core": "^1.21.0", - "@salesforce/command": "^5.2.25", - "@salesforce/core": "^3.32.6", + "@oclif/core": "^1.20.4", + "@salesforce/core": "^3.32.8", + "@salesforce/sf-plugins-core": "^1.19.2", "tslib": "^2" }, "devDependencies": { "@oclif/plugin-command-snapshot": "^3.2.16", + "@oclif/plugin-help": "^5.1.22", "@salesforce/cli-plugins-testkit": "^3.2.15", "@salesforce/dev-config": "^3.0.1", "@salesforce/dev-scripts": "^3.1.0", - "@salesforce/plugin-command-reference": "^1.5.8", + "@salesforce/plugin-command-reference": "^2.2.8", "@salesforce/prettier-config": "^0.0.2", "@salesforce/ts-sinon": "1.4.2", "@swc/core": "^1.3.24", @@ -31,6 +32,7 @@ "eslint-plugin-header": "^3.0.0", "eslint-plugin-import": "2.26.0", "eslint-plugin-jsdoc": "^39.6.4", + "eslint-plugin-sf-plugin": "^1.1.5", "husky": "^7.0.4", "mocha": "^9.1.3", "nyc": "^15.1.0", @@ -69,17 +71,14 @@ "@salesforce/plugin-command-reference" ], "topics": { - "force": { - "external": true, + "sobject": { + "description": "Commands to interact with Salesforce objects.", "subtopics": { - "schema": { - "description": "List metadata types in your Salesforce org using the CLI", - "longDescription": "Use the schema commands to to list metadata types within your Salesforce org using the Salesforce CLI.", - "subtopics": { - "sobject": { - "description": "list standard object metadata types" - } - } + "list": { + "description": "List all Salesforce objects of a specified category." + }, + "describe": { + "description": "Displays the metadata for a standard or custom object." } } } @@ -109,4 +108,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/src/commands/force/schema/sobject/describe.ts b/src/commands/force/schema/sobject/describe.ts deleted file mode 100644 index c0907cae..00000000 --- a/src/commands/force/schema/sobject/describe.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2020, salesforce.com, inc. - * All rights reserved. - * Licensed under the BSD 3-Clause license. - * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause - */ - -import * as os from 'os'; -import { flags, FlagsConfig, SfdxCommand } from '@salesforce/command'; -import { Connection, Messages } from '@salesforce/core'; -import { DescribeSObjectResult } from 'jsforce'; - -Messages.importMessagesDirectory(__dirname); -const messages = Messages.loadMessages('@salesforce/plugin-schema', 'describe'); - -export class SchemaSObjectDescribe extends SfdxCommand { - public static readonly description = messages.getMessage('description'); - public static readonly examples = messages.getMessage('examples').split(os.EOL); - public static readonly flagsConfig: FlagsConfig = { - sobjecttype: flags.string({ - char: 's', - required: true, - description: messages.getMessage('flags.objectType'), - }), - usetoolingapi: flags.boolean({ - char: 't', - description: messages.getMessage('flags.useTooling'), - }), - }; - - public static readonly requiresUsername = true; - public async run(): Promise { - const conn: Connection = this.org.getConnection(); - const description: DescribeSObjectResult = this.flags.usetoolingapi - ? await conn.tooling.describe(this.flags.sobjecttype as string) - : await conn.describe(this.flags.sobjecttype as string); - - if (!this.flags.json) { - this.ux.logJson(description); - } - - return description; - } -} diff --git a/src/commands/force/schema/sobject/list.ts b/src/commands/force/schema/sobject/list.ts deleted file mode 100644 index 4f8c982f..00000000 --- a/src/commands/force/schema/sobject/list.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2020, salesforce.com, inc. - * All rights reserved. - * Licensed under the BSD 3-Clause license. - * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause - */ -import { EOL } from 'os'; -import { flags, FlagsConfig, SfdxCommand } from '@salesforce/command'; -import { Connection, Messages } from '@salesforce/core'; -import { DescribeSObjectResult, DescribeGlobalResult } from 'jsforce'; - -Messages.importMessagesDirectory(__dirname); -const messages = Messages.loadMessages('@salesforce/plugin-schema', 'list'); - -// eslint-disable-next-line no-shadow -export enum SObjectType { - ALL, - STANDARD, - CUSTOM, -} - -export class SchemaSobjectList extends SfdxCommand { - public static readonly description = messages.getMessage('description'); - public static readonly examples = messages.getMessage('examples').split(EOL); - public static readonly flagsConfig: FlagsConfig = { - sobjecttypecategory: flags.string({ - char: 'c', - default: 'ALL', - validate: (val) => { - const capitalized = val.toUpperCase(); - const result = capitalized === 'ALL' || capitalized === 'STANDARD' || capitalized === 'CUSTOM'; - if (!result) { - throw messages.createError('flags.invalidTypeError'); - } - return result; - }, - description: messages.getMessage('flags.typeDescription'), - }), - }; - public static readonly requiresUsername = true; - - public async run(): Promise { - const category = (this.flags.sobjecttypecategory as string).toUpperCase() as keyof typeof SObjectType; - const type = SObjectType[category]; - - const typeDescriptions: string[] = []; - - const conn: Connection = this.org.getConnection(); - const allDescriptions: DescribeGlobalResult = await conn.describeGlobal(); - - let havePrinted = false; - - allDescriptions.sobjects.forEach((sobject: DescribeSObjectResult) => { - const isCustom = sobject.custom === true; - const doPrint = - type === SObjectType.ALL || - (type === SObjectType.CUSTOM && isCustom) || - (type === SObjectType.STANDARD && !isCustom); - if (doPrint) { - havePrinted = true; - this.ux.log(sobject.name); - typeDescriptions.push(sobject.name); - } - }); - - if (!havePrinted) { - this.ux.log(messages.getMessage('noTypeFound', [SObjectType[type]])); - } - - return typeDescriptions; - } -} diff --git a/src/commands/sobject/describe.ts b/src/commands/sobject/describe.ts new file mode 100644 index 00000000..c9436d1e --- /dev/null +++ b/src/commands/sobject/describe.ts @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2020, salesforce.com, inc. + * All rights reserved. + * Licensed under the BSD 3-Clause license. + * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause + */ + +import { + SfCommand, + Flags, + orgApiVersionFlagWithDeprecations, + requiredOrgFlagWithDeprecations, + loglevel, +} from '@salesforce/sf-plugins-core'; +import { AnyJson } from '@salesforce/ts-types'; +import { Messages } from '@salesforce/core'; +import { DescribeSObjectResult } from 'jsforce'; + +Messages.importMessagesDirectory(__dirname); +const messages = Messages.loadMessages('@salesforce/plugin-schema', 'describe'); + +export class SObjectDescribe extends SfCommand { + public static readonly summary = messages.getMessage('summary'); + public static readonly description = messages.getMessage('description'); + public static readonly examples = messages.getMessages('examples'); + public static readonly aliases = ['force:schema:sobject:describe']; + public static flags = { + 'target-org': requiredOrgFlagWithDeprecations, + 'api-version': orgApiVersionFlagWithDeprecations, + loglevel, + sobject: Flags.string({ + char: 's', + required: true, + summary: messages.getMessage('flags.sobject.summary'), + aliases: ['sobjecttype'], + }), + 'use-tooling-api': Flags.boolean({ + char: 't', + summary: messages.getMessage('flags.tooling-api.summary'), + aliases: ['usetoolingapi'], + }), + }; + + public async run(): Promise { + const { flags } = await this.parse(SObjectDescribe); + const conn = flags['target-org'].getConnection(flags['api-version']); + + const description = flags['use-tooling-api'] + ? await conn.tooling.describe(flags.sobject) + : await conn.describe(flags.sobject); + + this.styledJSON(description as AnyJson); + + return description; + } +} diff --git a/src/commands/sobject/list.ts b/src/commands/sobject/list.ts new file mode 100644 index 00000000..9fd2a929 --- /dev/null +++ b/src/commands/sobject/list.ts @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2020, salesforce.com, inc. + * All rights reserved. + * Licensed under the BSD 3-Clause license. + * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause + */ +import * as os from 'node:os'; +import { + SfCommand, + Flags, + orgApiVersionFlagWithDeprecations, + requiredOrgFlagWithDeprecations, + loglevel, +} from '@salesforce/sf-plugins-core'; +import { Messages } from '@salesforce/core'; + +Messages.importMessagesDirectory(__dirname); +const messages = Messages.loadMessages('@salesforce/plugin-schema', 'list'); + +export enum SObjectType { + ALL, + STANDARD, + CUSTOM, +} + +export type SObjectListResult = string[]; + +export class SObjectList extends SfCommand { + public static readonly summary = messages.getMessage('summary'); + public static readonly description = messages.getMessage('description'); + public static readonly examples = messages.getMessages('examples'); + public static readonly aliases = ['force:schema:sobject:list']; + public static flags = { + 'target-org': requiredOrgFlagWithDeprecations, + 'api-version': orgApiVersionFlagWithDeprecations, + loglevel, + sobject: Flags.string({ + char: 's', + default: 'ALL', + summary: messages.getMessage('flags.sobject.summary'), + aliases: ['sobjecttypecategory', 'c'], + parse: (val) => { + const lowercasedType = val.toLowerCase(); + if (!['all', 'standard', 'custom'].includes(lowercasedType)) { + throw messages.createError('invalid-sobject-type'); + } + return Promise.resolve(lowercasedType); + }, + }), + }; + + public async run(): Promise { + const { flags } = await this.parse(SObjectList); + + const category = flags.sobject.toUpperCase() as keyof typeof SObjectType; + const type = SObjectType[category]; + + const allDescriptions = await flags['target-org'].getConnection(flags['api-version']).describeGlobal(); + + const sobjects = allDescriptions.sobjects + .filter((sobject) => { + const isCustom = sobject.custom; + return ( + type === SObjectType.ALL || + (type === SObjectType.CUSTOM && isCustom) || + (type === SObjectType.STANDARD && !isCustom) + ); + }) + .map((sobject) => sobject.name); + + if (sobjects.length) { + this.log(sobjects.join(os.EOL)); + } else { + this.log(messages.getMessage('noTypeFound', [SObjectType[type]])); + } + + return sobjects; + } +} diff --git a/test/commands/schema/describe.test.ts b/test/commands/schema/describe.test.ts deleted file mode 100644 index 7e2850df..00000000 --- a/test/commands/schema/describe.test.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2020, salesforce.com, inc. - * All rights reserved. - * Licensed under the BSD 3-Clause license. - * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause - */ -/* tslint:disable:no-empty */ - -import { AuthInfo, Connection, Org } from '@salesforce/core'; -import { stubMethod } from '@salesforce/ts-sinon'; -import { $$, test, expect } from '@salesforce/command/lib/test'; - -describe('force:schema:sobject:list', (): void => { - const errorMessage = 'describeGlobal query failed'; - const expected = { actionOverrides: [], activateable: false, associateEntityType: null, associateParentEntity: null }; - async function prepareStubs(queryThrows = false, useTooling = false) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument - $$.SANDBOX.stub(Org.prototype, 'getConnection').returns(Connection.prototype); - - if (useTooling) { - const testConnectionOptions = { loginUrl: 'connectionTest/loginUrl' }; - - const testAuthInfo = { - isOauth: () => true, - getConnectionOptions: () => testConnectionOptions, - }; - const conn = await Connection.create({ authInfo: testAuthInfo as AuthInfo }); - - if (queryThrows) { - stubMethod($$.SANDBOX, conn.tooling, 'describe').throws(errorMessage); - } else { - stubMethod($$.SANDBOX, conn.tooling, 'describe').resolves(expected); - } - } else if (queryThrows) { - stubMethod($$.SANDBOX, Connection.prototype, 'describeGlobal').throws(errorMessage); - } else { - stubMethod($$.SANDBOX, Connection.prototype, 'describeGlobal').resolves(expected); - } - } - - it('logs types correctly with no errors and standard api', () => { - test - .do(() => prepareStubs(false, false)) - .stdout() - .command(['force:schema:sobject:describe', '--sobjecttype', 'Account', '-u', 'testUser@test.com', '--json']) - .it('logs types correctly with no errors and standard api', (ctx) => { - const sobjects = JSON.parse(ctx.stdout).result; - expect(sobjects).to.deep.equal(expected); - }); - }); - - it('logs types correctly with no errors and tooling api', () => { - test - .do(() => prepareStubs(false, true)) - .stdout() - .command(['force:schema:sobject:describe', '--sobjecttype', 'Account', '-u', 'testUser@test.com', '-t', '--json']) - .it('logs types correctly with no errors and tooling api', (ctx) => { - const sobjects = JSON.parse(ctx.stdout).result; - expect(sobjects).to.deep.equal(expected); - }); - }); - - it('logs types correctly with errors and standard api', () => { - test - .do(() => prepareStubs(true, false)) - .stdout() - .command(['force:schema:sobject:describe', '--sobjecttype', 'Account', '-u', 'testUser@test.com', '--json']) - .it('logs types correctly with errors and standard api', (ctx) => { - const sobjects = JSON.parse(ctx.stdout).result; - expect(sobjects).to.deep.equal(expected); - }); - }); - - it('logs types correctly with errors and tooling api', () => { - test - .do(() => prepareStubs(true, true)) - .stdout() - .command(['force:schema:sobject:describe', '--sobjecttype', 'Account', '-u', 'testUser@test.com', '-t', '--json']) - .it('logs types correctly with errors and tooling api', (ctx) => { - const sobjects = JSON.parse(ctx.stdout).result; - expect(sobjects).to.deep.equal(expected); - }); - }); -}); diff --git a/test/commands/schema/list.test.ts b/test/commands/schema/list.test.ts deleted file mode 100644 index 93588ccc..00000000 --- a/test/commands/schema/list.test.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2020, salesforce.com, inc. - * All rights reserved. - * Licensed under the BSD 3-Clause license. - * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause - */ -/* tslint:disable:no-empty */ - -import { Connection, Org } from '@salesforce/core'; -import { $$, test, expect } from '@salesforce/command/lib/test'; -import { stubMethod } from '@salesforce/ts-sinon'; - -describe('force:schema:sobject:list', (): void => { - const errorMessage = 'describeGlobal query failed'; - function prepareStubs(queryThrows = false) { - stubMethod($$.SANDBOX, Org.prototype, 'getConnection').callsFake(() => Connection.prototype); - if (queryThrows) { - stubMethod($$.SANDBOX, Connection.prototype, 'describeGlobal').throws(errorMessage); - } else { - stubMethod($$.SANDBOX, Connection.prototype, 'describeGlobal').resolves({ - sobjects: [ - { custom: true, name: 'customMDT' }, - { custom: false, name: 'defaultMDT' }, - ], - }); - } - } - - it('logs types correctly', () => { - test - .do(() => prepareStubs()) - .stdout() - .command(['force:schema:sobject:list', '--sobjecttypecategory', 'all', '-u', 'testUser@test.com', '--json']) - .it('should log metadata types correctly', (ctx) => { - const sobjects = JSON.parse(ctx.stdout).result; - expect(sobjects).to.deep.equal(['customMDT', 'defaultMDT']); - }); - }); - - it('Should throw on a describe by type request error', async (): Promise => { - test - .do(() => prepareStubs(true)) - .stdout() - .command(['force:schema:sobject:list', '--sobjecttypecategory', 'all', '-u', 'testUser@test.com', '--json']) - .it('should print the error when describeGlobal method fails', (ctx) => { - const err = JSON.parse(ctx.stdout).result; - expect(err).to.deep.equal(errorMessage); - }); - }); -}); diff --git a/test/commands/sobject/describe.test.ts b/test/commands/sobject/describe.test.ts new file mode 100644 index 00000000..1c8fb990 --- /dev/null +++ b/test/commands/sobject/describe.test.ts @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2022, salesforce.com, inc. + * All rights reserved. + * Licensed under the BSD 3-Clause license. + * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause + */ +import * as path from 'path'; +import { isString, AnyJson } from '@salesforce/ts-types'; +import { TestContext, MockTestOrgData } from '@salesforce/core/lib/testSetup'; +import { Config } from '@oclif/core'; +import { expect } from 'chai'; +import stripAnsi = require('strip-ansi'); +import { SObjectDescribe } from '../../../src/commands/sobject/describe'; + +describe('force:schema:sobject:describe', () => { + const $$ = new TestContext(); + const testOrg = new MockTestOrgData(); + let config: Config; + + let stdoutSpy: sinon.SinonSpy; + + before(async () => { + config = new Config({ root: path.resolve(__dirname, '../../..') }); + await config.load(); + }); + + beforeEach(async () => { + await $$.stubAuths(testOrg); + stdoutSpy = $$.SANDBOX.stub(process.stdout, 'write'); + }); + + afterEach(async () => { + $$.SANDBOX.restore(); + }); + + const expected = { actionOverrides: [], activateable: false, associateEntityType: null, associateParentEntity: null }; + + it('logs types correctly with no errors and standard api', async () => { + $$.fakeConnectionRequest = (request: AnyJson): Promise => { + if (isString(request) && request.includes('/services/data/v42.0/sobjects/Account/describe')) { + return Promise.resolve(expected); + } + return Promise.resolve({}); + }; + + const cmd = new SObjectDescribe(['--sobjecttype', 'Account', '-u', 'testUser@test.com', '--json'], config); + + // eslint-disable-next-line no-underscore-dangle + await cmd._run(); + + const jsonOutput = JSON.parse(stripAnsi(stdoutSpy.args.flat().join(''))); + + expect(jsonOutput.status).to.equal(0); + expect(jsonOutput.result).to.deep.equal(expected); + }); + + it('logs types correctly with no errors and tooling api', async () => { + $$.fakeConnectionRequest = (request: AnyJson): Promise => { + if (isString(request) && request.includes('/services/data/v42.0/tooling/sobjects/ApexClass/describe')) { + return Promise.resolve(expected); + } + return Promise.resolve({}); + }; + + const cmd = new SObjectDescribe(['--sobjecttype', 'ApexClass', '-u', 'testUser@test.com', '-t', '--json'], config); + + // eslint-disable-next-line no-underscore-dangle + await cmd._run(); + + const jsonOutput = JSON.parse(stripAnsi(stdoutSpy.args.flat().join(''))); + + expect(jsonOutput.status).to.equal(0); + expect(jsonOutput.result).to.deep.equal(expected); + }); +}); diff --git a/test/commands/sobject/list.test.ts b/test/commands/sobject/list.test.ts new file mode 100644 index 00000000..1cdcdeda --- /dev/null +++ b/test/commands/sobject/list.test.ts @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2022, salesforce.com, inc. + * All rights reserved. + * Licensed under the BSD 3-Clause license. + * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause + */ +import * as os from 'node:os'; +import * as path from 'path'; +import { isString, AnyJson } from '@salesforce/ts-types'; +import { TestContext, MockTestOrgData } from '@salesforce/core/lib/testSetup'; +import { Config } from '@oclif/core'; +import { expect } from 'chai'; +import stripAnsi = require('strip-ansi'); +import { SObjectList } from '../../../src/commands/sobject/list'; + +describe('force:schema:sobject:list', () => { + const $$ = new TestContext(); + const testOrg = new MockTestOrgData(); + let config: Config; + + let stdoutSpy: sinon.SinonSpy; + + before(async () => { + config = new Config({ root: path.resolve(__dirname, '../../..') }); + await config.load(); + }); + + beforeEach(async () => { + await $$.stubAuths(testOrg); + stdoutSpy = $$.SANDBOX.stub(process.stdout, 'write'); + }); + + afterEach(async () => { + $$.SANDBOX.restore(); + }); + + it('should log metadata types correctly', async () => { + $$.fakeConnectionRequest = (request: AnyJson): Promise => { + if (isString(request) && request.includes('/services/data/v42.0/sobjects')) { + return Promise.resolve({ + sobjects: [ + { custom: true, name: 'customMDT' }, + { custom: false, name: 'defaultMDT' }, + ], + }); + } + return Promise.resolve({}); + }; + const cmd = new SObjectList(['--sobjecttypecategory', 'all', '-u', 'testUser@test.com'], config); + + // eslint-disable-next-line no-underscore-dangle + await cmd._run(); + + const stdout = stdoutSpy.args.flat().join(''); + + expect(stdout).includes(`customMDT${os.EOL}defaultMDT`); + }); + + it('should print the error when describeGlobal method fails', async () => { + $$.fakeConnectionRequest = (request: AnyJson): Promise => { + if (isString(request) && request.includes('/services/data/v42.0/sobjects')) { + return Promise.reject(new Error('describeGlobal query failed')); + } + return Promise.resolve({}); + }; + const cmd = new SObjectList(['--sobjecttypecategory', 'all', '-u', 'testUser@test.com', '--json'], config); + + // eslint-disable-next-line no-underscore-dangle + await cmd._run(); + + const jsonOutput = JSON.parse(stripAnsi(stdoutSpy.args.flat().join(''))); + + expect(jsonOutput.status).to.equal(1); + expect(jsonOutput.message).to.equal('describeGlobal query failed'); + }); + + it('should print the "noTypeFound" msg when no sobjects are found', async () => { + $$.fakeConnectionRequest = (request: AnyJson): Promise => { + if (isString(request) && request.includes('/services/data/v42.0/sobjects')) { + return Promise.resolve({ + sobjects: [], + }); + } + }; + const cmd = new SObjectList(['-u', 'testUser@test.com'], config); + + // eslint-disable-next-line no-underscore-dangle + await cmd._run(); + + expect(stdoutSpy.args[1][0]).to.equal('No ALL objects found.\n'); + }); +}); diff --git a/yarn.lock b/yarn.lock index 48ac3df5..9fccf672 100644 --- a/yarn.lock +++ b/yarn.lock @@ -702,7 +702,7 @@ is-wsl "^2.1.1" tslib "^2.3.1" -"@oclif/core@^1.20.3", "@oclif/core@^1.20.4", "@oclif/core@^1.21.0", "@oclif/core@^1.22.0", "@oclif/core@^1.23.0": +"@oclif/core@^1.20.3", "@oclif/core@^1.20.4", "@oclif/core@^1.23.0", "@oclif/core@^1.23.1", "@oclif/core@^1.6.3": version "1.23.1" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.23.1.tgz#bebbbc4e02a4c1a4216d64165f892037f8a1e14a" integrity sha512-nz7wVGesJ1Qg74p1KNKluZpQ3Z042mqdaRlczEI4Xwqj5s9jjdDBCDHNkiGzV4UAKzicVzipNj6qqhyUWKYnaA== @@ -826,12 +826,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.1.19": - version "5.1.19" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.1.19.tgz#43051772fefafe9bfe8823e2298103feb351b9c7" - integrity sha512-eQVRCFJOwRj8Tbqz8Lzd9GN38egwLCg+ohJ0xfg12CoXml03WqkfcFiAWkVwSWmLVrZUlUVrxfXKKkmpUaXZHg== +"@oclif/plugin-help@^5.1.19", "@oclif/plugin-help@^5.1.22": + version "5.1.22" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.1.22.tgz#65b78efe34af10e9427e046fb4d3524d62149226" + integrity sha512-gflrCqV3c7nd1UgknuZZTX6Th9CTkvVyTjL76UNHrea3kCZEpPzsMGhwP989R+j3KSGJGeZVrq2i9g2QXI9tZA== dependencies: - "@oclif/core" "^1.20.4" + "@oclif/core" "^1.23.1" "@oclif/plugin-not-found@^2.3.7": version "2.3.9" @@ -866,14 +866,6 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.3.tgz#e679ad10535e31d333f809f7a71335cc9aef1e55" integrity sha512-KX8gMYA9ujBPOd1HFsV9e0iEx7Uoj8AG/3YsW4TtWQTg4lJvr82qNm7o/cFQfYRIt+jw7Ew/4oL4A22zOT+IRA== -"@oclif/test@^2.2.16": - version "2.2.17" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.2.17.tgz#82a1cec2321552e3bcc2cbc30546bbceaacdde6d" - integrity sha512-biReDlW5a6YkiJoMPa4tQYWQ8sXkBBMD94P7/NgqAL06wE62x4cyK8V55hcbV10QPe82IUl0w3Zx09zYsoLUyQ== - dependencies: - "@oclif/core" "^1.22.0" - fancy-test "^2.0.10" - "@octokit/auth-token@^2.4.4": version "2.5.0" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" @@ -1002,19 +994,7 @@ strip-ansi "6.0.1" ts-retry-promise "^0.7.0" -"@salesforce/command@^5.2.25", "@salesforce/command@^5.2.33": - version "5.2.35" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.35.tgz#2f0e721c49aee0db4531b291722c8ebab5b68598" - integrity sha512-OMy4kASYFyIOrenJ2r0o9PvRECv+OwlAa45lf0Ip4M5UwvRQvQPay+AqVdvd4olPlqgyrHAEw4wTe5lMHK6cxA== - dependencies: - "@oclif/core" "^1.22.0" - "@oclif/test" "^2.2.16" - "@salesforce/core" "^3.32.12" - "@salesforce/kit" "^1.8.0" - "@salesforce/ts-types" "^1.7.1" - chalk "^2.4.2" - -"@salesforce/core@^3.32.11", "@salesforce/core@^3.32.12", "@salesforce/core@^3.32.6": +"@salesforce/core@^3.32.1", "@salesforce/core@^3.32.12", "@salesforce/core@^3.32.6", "@salesforce/core@^3.32.8", "@salesforce/core@^3.8.0": version "3.32.12" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.32.12.tgz#853cc5b6a5f95d4896b2d34a40a6042ef9aa6d2c" integrity sha512-27rqSiQWul7b/OkJs19FYDv2M/S4oI4efiGv+6sR7UWv7D7CG1P+0XpgLS3d9xRYF30h98n6VQr4W2a+BWFRvA== @@ -1081,7 +1061,7 @@ typedoc-plugin-missing-exports "0.23.0" typescript "^4.1.3" -"@salesforce/kit@^1.8.0": +"@salesforce/kit@^1.5.17", "@salesforce/kit@^1.7.1", "@salesforce/kit@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.8.0.tgz#d5b8d83d5b0b866cb76840dc7a18e115589d86a0" integrity sha512-Pr9CWAIzVYKZRWvM76lyhEtF3CPmVdIfgbqRD7KT/YZdbLstX3KHYBxCyx3TyWZr5qROv96n+jRIBiIFI9LGGw== @@ -1090,18 +1070,21 @@ shx "^0.3.3" tslib "^2.2.0" -"@salesforce/plugin-command-reference@^1.5.8": - version "1.5.8" - resolved "https://registry.yarnpkg.com/@salesforce/plugin-command-reference/-/plugin-command-reference-1.5.8.tgz#326aae0912dc1fd16b6a42688e66261ccd586654" - integrity sha512-dc3krxAgVgZmmjF2FIxomA3/hss1f8BosDp9gNYwQUpLjUqk7i7UkuEq42h1DkMRP46u7QDKLdPT/IOkytLOPA== +"@salesforce/plugin-command-reference@^2.2.8": + version "2.2.8" + resolved "https://registry.yarnpkg.com/@salesforce/plugin-command-reference/-/plugin-command-reference-2.2.8.tgz#b75571df46ad5210ce5170cb42de57cd6965ff84" + integrity sha512-vyJzYDOGDmF3NyVhdRwLNkM+lVj3pzwbusHq4eGJDsxrlgWALeg0IVbEeEI+qUk32BK/wpwcJNbPRTc4Bem36w== dependencies: - "@salesforce/command" "^5.2.33" - "@salesforce/core" "^3.32.11" - "@types/lodash.uniqby" "^4.7.7" + "@oclif/core" "^1.6.3" + "@salesforce/core" "^3.8.0" + "@salesforce/kit" "^1.5.17" + "@salesforce/sf-plugins-core" "^1.9.0" + "@salesforce/ts-types" "^1.5.20" chalk "^3.0.0" - handlebars "4.7.7" + fs-extra "^10.0.1" + handlebars "^4.7.7" lodash.uniqby "^4.7.0" - shelljs "^0.8.5" + mkdirp "^1.0.4" tslib "^2" "@salesforce/prettier-config@^0.0.2": @@ -1114,6 +1097,18 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.4.0.tgz#7dff427c8059895d8108176047aee600703c82d6" integrity sha512-BJ25uphssN42Zy6kksheFHMTLiR98AAHe/Wxnv0T4dYxtrEbUjSXVAGKZqfewJPFXA4xB5gxC+rQZtfz6xKCFg== +"@salesforce/sf-plugins-core@^1.19.2", "@salesforce/sf-plugins-core@^1.9.0": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-1.19.2.tgz#a3cadb1e6216bf6056d37a4d5ddaaa8f4ca9c519" + integrity sha512-WlBSlnxc0YCfmEJPf9FmMDc0xUlOX8F/byWq9e+fbItZsRYgm921TQbkc/OL1z3Nx6iMzZYKgrfM+Kg+51pxNA== + dependencies: + "@oclif/core" "^1.20.4" + "@salesforce/core" "^3.32.6" + "@salesforce/kit" "^1.7.1" + "@salesforce/ts-types" "^1.7.1" + chalk "^4" + inquirer "^8.2.5" + "@salesforce/ts-sinon@1.4.2": version "1.4.2" resolved "https://registry.yarnpkg.com/@salesforce/ts-sinon/-/ts-sinon-1.4.2.tgz#7b76f80c104c891334b84ad664ab048fd1fbb1ff" @@ -1123,7 +1118,7 @@ sinon "^5.1.1" tslib "^2.2.0" -"@salesforce/ts-types@^1.5.21", "@salesforce/ts-types@^1.7.1": +"@salesforce/ts-types@^1.5.20", "@salesforce/ts-types@^1.5.21", "@salesforce/ts-types@^1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.1.tgz#86b0d0c3bfd5c9b1752662a019a3d2f3bc8ff118" integrity sha512-jwZb8fYxbOmEckoJTxG2+5ZEJNJOFxmRJ/FioPnSu4IMFzpK3QbyujfqpHwLfPKHq0xlKRMx+F8QAVVKI/PA4w== @@ -1300,7 +1295,7 @@ "@types/node" "*" "@types/responselike" "^1.0.0" -"@types/chai@*", "@types/chai@^4.2.11": +"@types/chai@^4.2.11": version "4.3.0" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.0.tgz#23509ebc1fa32f1b4d50d6a66c4032d5b8eaabdc" integrity sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw== @@ -1355,18 +1350,6 @@ dependencies: "@types/node" "*" -"@types/lodash.uniqby@^4.7.7": - version "4.7.7" - resolved "https://registry.yarnpkg.com/@types/lodash.uniqby/-/lodash.uniqby-4.7.7.tgz#48dbb652c41cc8fb30aa61a44174368081835ab5" - integrity sha512-sv2g6vkCIvEUsK5/Vq17haoZaisfj2EWW8mP7QWlnKi6dByoNmeuHDDXHR7sabuDqwO4gvU7ModIL22MmnOocg== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.181" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.181.tgz#d1d3740c379fda17ab175165ba04e2d03389385d" - integrity sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag== - "@types/minimatch@*", "@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -1432,7 +1415,7 @@ "@types/glob" "*" "@types/node" "*" -"@types/sinon@*", "@types/sinon@10.0.11": +"@types/sinon@10.0.11": version "10.0.11" resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.11.tgz#8245827b05d3fc57a6601bd35aee1f7ad330fc42" integrity sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g== @@ -1485,6 +1468,14 @@ "@typescript-eslint/types" "5.42.1" "@typescript-eslint/visitor-keys" "5.42.1" +"@typescript-eslint/scope-manager@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz#7a4ac1bfa9544bff3f620ab85947945938319a96" + integrity sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw== + dependencies: + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/visitor-keys" "5.45.0" + "@typescript-eslint/scope-manager@5.47.0": version "5.47.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.47.0.tgz#f58144a6b0ff58b996f92172c488813aee9b09df" @@ -1508,6 +1499,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.1.tgz#0d4283c30e9b70d2aa2391c36294413de9106df2" integrity sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA== +"@typescript-eslint/types@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5" + integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA== + "@typescript-eslint/types@5.47.0": version "5.47.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.47.0.tgz#67490def406eaa023dbbd8da42ee0d0c9b5229d3" @@ -1526,6 +1522,19 @@ semver "^7.3.7" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz#f70a0d646d7f38c0dfd6936a5e171a77f1e5291d" + integrity sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ== + dependencies: + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/visitor-keys" "5.45.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/typescript-estree@5.47.0": version "5.47.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.0.tgz#ed971a11c5c928646d6ba7fc9dfdd6e997649aca" @@ -1553,6 +1562,20 @@ eslint-utils "^3.0.0" semver "^7.3.7" +"@typescript-eslint/utils@^5.41.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.0.tgz#9cca2996eee1b8615485a6918a5c763629c7acf5" + integrity sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA== + dependencies: + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.45.0" + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/typescript-estree" "5.45.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + semver "^7.3.7" + "@typescript-eslint/visitor-keys@5.42.1": version "5.42.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz#df10839adf6605e1cdb79174cf21e46df9be4872" @@ -1561,6 +1584,14 @@ "@typescript-eslint/types" "5.42.1" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz#e0d160e9e7fdb7f8da697a5b78e7a14a22a70528" + integrity sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg== + dependencies: + "@typescript-eslint/types" "5.45.0" + eslint-visitor-keys "^3.3.0" + "@typescript-eslint/visitor-keys@5.47.0": version "5.47.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.0.tgz#4aca4efbdf6209c154df1f7599852d571b80bb45" @@ -2190,7 +2221,7 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2207,7 +2238,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: +chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3110,6 +3141,13 @@ eslint-plugin-prefer-arrow@^1.2.1: resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041" integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ== +eslint-plugin-sf-plugin@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.1.5.tgz#eee5dfaa1e7cf4e14bc6319bd1f1aae42ab223b8" + integrity sha512-zFmXpRud4S1qrbhops4WfjBATKIeIVJVLcZg7QnVRmnXUFoOPAebQbe1ccViYx6F3Y/s5Ui/Q0tEb8ywDz/gqQ== + dependencies: + "@typescript-eslint/utils" "^5.41.0" + eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -3370,20 +3408,6 @@ extract-stack@^2.0.0: resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== -fancy-test@^2.0.10: - version "2.0.10" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.10.tgz#4c96b34cb15ad49693634fd1df9a28bb2086253f" - integrity sha512-gt2C/1DrFLyXNEkPHpltol0osCFEj5c3TFs3gu4EhIbnKEU9AW+lK0pWf1wRXhKs/FtcijnfODaO90d1HlTulQ== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.0.0" - stdout-stderr "^0.1.9" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3582,10 +3606,10 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" - integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== +fs-extra@^10.0.0, fs-extra@^10.0.1: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -3690,16 +3714,7 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-intrinsic@^1.1.3: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== @@ -3903,7 +3918,7 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -handlebars@4.7.7: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -4188,10 +4203,10 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" -inquirer@^8.0.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" - integrity sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow== +inquirer@^8.0.0, inquirer@^8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== dependencies: ansi-escapes "^4.2.1" chalk "^4.1.1" @@ -4207,6 +4222,7 @@ inquirer@^8.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" + wrap-ansi "^7.0.0" internal-slot@^1.0.3: version "1.0.3" @@ -4262,16 +4278,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-callable@^1.1.3: +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - is-core-module@^2.5.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" @@ -4691,11 +4702,6 @@ json-stringify-nice@^1.1.4: resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -4734,6 +4740,22 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= +jsonwebtoken@8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + jsonwebtoken@9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" @@ -4875,20 +4897,45 @@ lodash.get@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= lodash.truncate@^4.4.2: version "4.4.2" @@ -4905,7 +4952,7 @@ lodash.uniqby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5294,11 +5341,6 @@ mocha@^9.1.3: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mock-stdin@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mock-stdin/-/mock-stdin-1.0.0.tgz#efcfaf4b18077e14541742fd758b9cae4e5365ea" - integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== - mri@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -5438,16 +5480,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -nock@^13.0.0: - version "13.2.4" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.4.tgz#43a309d93143ee5cdcca91358614e7bde56d20e1" - integrity sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -6130,11 +6162,6 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -6452,20 +6479,13 @@ rxjs@^6.6.0: dependencies: tslib "^1.9.0" -rxjs@^7.0.0: +rxjs@^7.0.0, rxjs@^7.5.5: version "7.5.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== dependencies: tslib "^2.1.0" -rxjs@^7.5.5: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.1.0" - safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -6511,7 +6531,7 @@ scoped-regex@^2.0.0: resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-2.1.0.tgz#7b9be845d81fd9d21d1ec97c61a0b7cf86d2015f" integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== -"semver@2 || 3 || 4 || 5", semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -6793,14 +6813,6 @@ ssri@^9.0.0: dependencies: minipass "^3.1.1" -stdout-stderr@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/stdout-stderr/-/stdout-stderr-0.1.13.tgz#54e3450f3d4c54086a49c0c7f8786a44d1844b6f" - integrity sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA== - dependencies: - debug "^4.1.1" - strip-ansi "^6.0.0" - string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -7245,12 +7257,7 @@ typedoc@0.22.18: minimatch "^5.1.0" shiki "^0.10.1" -typescript@^4.1.3, typescript@^4.6.4, typescript@^4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" - integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== - -typescript@~4.9.3: +typescript@^4.1.3, typescript@^4.6.4, typescript@^4.9.3, typescript@~4.9.3: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== @@ -7665,12 +7672,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== - -yargs-parser@^21.1.1: +yargs-parser@^21.0.0, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -7715,20 +7717,7 @@ yargs@^15.0.2: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^17.0.0: - version "17.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" - integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yargs@^17.3.1: +yargs@^17.0.0, yargs@^17.3.1: version "17.6.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==