diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 100% rename from .eslintrc.js rename to .eslintrc.cjs diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f5a38d5182..e9d02ccab7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: windows-unit-tests: needs: linux-unit-tests uses: salesforcecli/github-workflows/.github/workflows/unitTestsWindows.yml@main - nuts: + xNuts: needs: linux-unit-tests uses: salesforcecli/github-workflows/.github/workflows/externalNut.yml@main strategy: @@ -22,10 +22,11 @@ jobs: matrix: os: ['ubuntu-latest', 'windows-latest'] externalProjectGitUrl: + - https://github.com/salesforcecli/plugin-apex - https://github.com/salesforcecli/plugin-auth + - https://github.com/salesforcecli/plugin-community - https://github.com/salesforcecli/plugin-custom-metadata - https://github.com/salesforcecli/plugin-data - - https://github.com/salesforcecli/plugin-env - https://github.com/salesforcecli/plugin-limits - https://github.com/salesforcecli/plugin-org - https://github.com/salesforcecli/plugin-schema @@ -40,26 +41,37 @@ jobs: os: ${{ matrix.os }} useCache: false preSwapCommands: 'yarn upgrade jsforce@beta; npx yarn-deduplicate; yarn install' - preExternalBuildCommands: 'shx rm -rf node_modules/@salesforce/sf-plugins-core/node_modules/@salesforce/core' + preExternalBuildCommands: 'shx rm -rf node_modules/@salesforce/core/node_modules/jsforce shx rm -rf node_modules/@salesforce/sf-plugins-core/node_modules/@salesforce/core node_modules/@salesforce/cli-plugins-testkit/node_modules/@salesforce/core node_modules/@salesforce/source-tracking/node_modules/@salesforce/core node_modules/@salesforce/source-deploy-retrieve/node_modules/@salesforce/core node_modules/@salesforce/apex-node/node_modules/@salesforce/core' secrets: inherit # hidden until we fix source-testkit to better handle jwt - # deployRetrieveNuts: - # needs: unit-tests - # uses: salesforcecli/github-workflows/.github/workflows/externalNut.yml@main - # strategy: - # fail-fast: false - # matrix: - # os: ['windows-latest-16x', 'ubuntu-latest-16x'] - # command: - # - yarn test:nuts:deploy:metadata:manifest - # - yarn test:nuts:deploy:metadata:metadata - # - yarn test:nuts:deploy:metadata:source-dir - # - yarn test:nuts:deploy:metadata:test-level - # - yarn test:nuts:static - # with: - # packageName: '@salesforce/core' - # externalProjectGitUrl: 'https://github.com/salesforcecli/plugin-deploy-retrieve' - # preSwapCommands: 'yarn upgrade jsforce@beta; npx yarn-deduplicate; yarn install' - # command: ${{ matrix.command }} - # os: ${{ matrix.os }} - # secrets: inherit + pdrNuts: + needs: linux-unit-tests + uses: salesforcecli/github-workflows/.github/workflows/externalNut.yml@main + strategy: + fail-fast: false + matrix: + os: ['ubuntu-latest', 'windows-latest'] + command: + - 'yarn test:nuts:convert' + - 'yarn test:nuts:deb' + - 'yarn test:nuts:delete' + - 'yarn test:nuts:deploy:metadata:manifest' + - 'yarn test:nuts:deploy:metadata:metadata' + - 'yarn test:nuts:deploy:metadata:metadata-dir' + - 'yarn test:nuts:deploy:metadata:source-dir' + - 'yarn test:nuts:deploy:metadata:test-level' + - 'yarn test:nuts:destructive' + - 'yarn test:nuts:manifest' + - 'yarn test:nuts:retrieve' + - 'yarn test:nuts:specialTypes' + - 'yarn test:nuts:static' + - 'yarn test:nuts:tracking' + with: + packageName: '@salesforce/core' + externalProjectGitUrl: 'https://github.com/salesforcecli/plugin-deploy-retrieve' + preSwapCommands: 'yarn upgrade jsforce@beta; npx yarn-deduplicate; yarn install' + command: ${{ matrix.command }} + os: ${{ matrix.os }} + preExternalBuildCommands: 'shx rm -rf node_modules/@salesforce/core/node_modules/jsforce shx rm -rf node_modules/@salesforce/sf-plugins-core/node_modules/@salesforce/core node_modules/@salesforce/cli-plugins-testkit/node_modules/@salesforce/core node_modules/@salesforce/source-tracking/node_modules/@salesforce/core node_modules/@salesforce/source-deploy-retrieve/node_modules/@salesforce/core' + secrets: + TESTKIT_AUTH_URL: ${{ secrets.TESTKIT_AUTH_URL }} diff --git a/.sfdevrc.json b/.sfdevrc.json index ac25b4a163..e5ff37e5b5 100644 --- a/.sfdevrc.json +++ b/.sfdevrc.json @@ -4,7 +4,7 @@ }, "wireit": { "compile": { - "command": "ttsc -p . --pretty --incremental", + "command": "tspc -p . --pretty --incremental", "files": ["src/**/*.ts", "tsconfig.json", "messages", "messageTransformer"], "output": ["lib/**", "*.tsbuildinfo"], "clean": "if-file-deleted" diff --git a/CHANGELOG.md b/CHANGELOG.md index 3443b42b90..5eece6cde4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7477 +1,4997 @@ ## [5.3.20](https://github.com/forcedotcom/sfdx-core/compare/5.3.19...5.3.20) (2023-11-10) - ### Bug Fixes -* http 420 errors ([6deabcd](https://github.com/forcedotcom/sfdx-core/commit/6deabcd603055786311994cb25c8c9282ff9971d)) - - +- http 420 errors ([6deabcd](https://github.com/forcedotcom/sfdx-core/commit/6deabcd603055786311994cb25c8c9282ff9971d)) ## [5.3.19](https://github.com/forcedotcom/sfdx-core/compare/5.3.18...5.3.19) (2023-11-08) - ### Bug Fixes -* use memory logger instance when disabled ([c2ef3a0](https://github.com/forcedotcom/sfdx-core/commit/c2ef3a0f8fea0518b5eec2f6f515064e9741b46e)) - - +- use memory logger instance when disabled ([c2ef3a0](https://github.com/forcedotcom/sfdx-core/commit/c2ef3a0f8fea0518b5eec2f6f515064e9741b46e)) ## [5.3.18](https://github.com/forcedotcom/sfdx-core/compare/5.3.17...5.3.18) (2023-11-05) - ### Bug Fixes -* **deps:** bump @types/semver from 7.5.3 to 7.5.4 ([a3be392](https://github.com/forcedotcom/sfdx-core/commit/a3be3922f96f8420eb871c413858eac395a95ad3)) - - +- **deps:** bump @types/semver from 7.5.3 to 7.5.4 ([a3be392](https://github.com/forcedotcom/sfdx-core/commit/a3be3922f96f8420eb871c413858eac395a95ad3)) ## [5.3.17](https://github.com/forcedotcom/sfdx-core/compare/5.3.16...5.3.17) (2023-11-02) - ### Bug Fixes -* **deps:** testSetup has non ts-sinon dependency ([9fcb206](https://github.com/forcedotcom/sfdx-core/commit/9fcb206220174af1c20fcc041e127409a41c3593)) - - +- **deps:** testSetup has non ts-sinon dependency ([9fcb206](https://github.com/forcedotcom/sfdx-core/commit/9fcb206220174af1c20fcc041e127409a41c3593)) ## [5.3.16](https://github.com/forcedotcom/sfdx-core/compare/5.3.15...5.3.16) (2023-10-29) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.14 to 3.0.15 ([6189030](https://github.com/forcedotcom/sfdx-core/commit/61890307e557962cc44e02d542c276c56a9329f7)) - - +- **deps:** bump @salesforce/kit from 3.0.14 to 3.0.15 ([6189030](https://github.com/forcedotcom/sfdx-core/commit/61890307e557962cc44e02d542c276c56a9329f7)) ## [5.3.15](https://github.com/forcedotcom/sfdx-core/compare/5.3.14...5.3.15) (2023-10-29) - ### Bug Fixes -* **deps:** bump @salesforce/ts-types from 2.0.8 to 2.0.9 ([80dea3d](https://github.com/forcedotcom/sfdx-core/commit/80dea3dd60e36be37852177b11f4db18e9a8653a)) - - +- **deps:** bump @salesforce/ts-types from 2.0.8 to 2.0.9 ([80dea3d](https://github.com/forcedotcom/sfdx-core/commit/80dea3dd60e36be37852177b11f4db18e9a8653a)) ## [5.3.14](https://github.com/forcedotcom/sfdx-core/compare/5.3.13...5.3.14) (2023-10-26) - ### Bug Fixes -* add scopeProfiles to project type ([b130982](https://github.com/forcedotcom/sfdx-core/commit/b1309829cbcc8511e60cb6c88a5721edb3c060dd)) -* update schemas dep ([3f70e8f](https://github.com/forcedotcom/sfdx-core/commit/3f70e8fcc64aff0a0a10a864f32aa6325a2ba144)) - - +- add scopeProfiles to project type ([b130982](https://github.com/forcedotcom/sfdx-core/commit/b1309829cbcc8511e60cb6c88a5721edb3c060dd)) +- update schemas dep ([3f70e8f](https://github.com/forcedotcom/sfdx-core/commit/3f70e8fcc64aff0a0a10a864f32aa6325a2ba144)) ## [5.3.13](https://github.com/forcedotcom/sfdx-core/compare/5.3.12...5.3.13) (2023-10-26) - ### Bug Fixes -* handle alias file with no `orgs` prop ([c59c7c7](https://github.com/forcedotcom/sfdx-core/commit/c59c7c7387f159537b9d352057299842f864b864)) - - +- handle alias file with no `orgs` prop ([c59c7c7](https://github.com/forcedotcom/sfdx-core/commit/c59c7c7387f159537b9d352057299842f864b864)) ## [5.3.12](https://github.com/forcedotcom/sfdx-core/compare/5.3.11...5.3.12) (2023-10-24) - ### Bug Fixes -* **deps:** bump pino from 8.15.6 to 8.16.0 ([7e05681](https://github.com/forcedotcom/sfdx-core/commit/7e0568183015151e649883ebcf581be298f792b3)) - - +- **deps:** bump pino from 8.15.6 to 8.16.0 ([7e05681](https://github.com/forcedotcom/sfdx-core/commit/7e0568183015151e649883ebcf581be298f792b3)) ## [5.3.11](https://github.com/forcedotcom/sfdx-core/compare/5.3.10...5.3.11) (2023-10-22) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.13 to 3.0.14 ([9e366de](https://github.com/forcedotcom/sfdx-core/commit/9e366de1c4d674ae9cc83f5f0cff6859edd18974)) - - +- **deps:** bump @salesforce/kit from 3.0.13 to 3.0.14 ([9e366de](https://github.com/forcedotcom/sfdx-core/commit/9e366de1c4d674ae9cc83f5f0cff6859edd18974)) ## [5.3.10](https://github.com/forcedotcom/sfdx-core/compare/5.3.9...5.3.10) (2023-10-20) - ### Bug Fixes -* bump jsforce ([#958](https://github.com/forcedotcom/sfdx-core/issues/958)) ([98a6fef](https://github.com/forcedotcom/sfdx-core/commit/98a6fef4b21320b57f2e0730f94918cdb590953c)) - - +- bump jsforce ([#958](https://github.com/forcedotcom/sfdx-core/issues/958)) ([98a6fef](https://github.com/forcedotcom/sfdx-core/commit/98a6fef4b21320b57f2e0730f94918cdb590953c)) ## [5.3.9](https://github.com/forcedotcom/sfdx-core/compare/5.3.8...5.3.9) (2023-10-09) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.12 to 3.0.13 ([08fb56b](https://github.com/forcedotcom/sfdx-core/commit/08fb56b1a14385168adba81bc44d67fc987040e6)) - - +- **deps:** bump @salesforce/kit from 3.0.12 to 3.0.13 ([08fb56b](https://github.com/forcedotcom/sfdx-core/commit/08fb56b1a14385168adba81bc44d67fc987040e6)) ## [5.3.8](https://github.com/forcedotcom/sfdx-core/compare/5.3.7...5.3.8) (2023-10-08) - ### Bug Fixes -* **deps:** bump pino from 8.15.1 to 8.15.6 ([2a5a9cc](https://github.com/forcedotcom/sfdx-core/commit/2a5a9cc69e6616ed6b4338c3ce26e5c5dbd9abab)) - - +- **deps:** bump pino from 8.15.1 to 8.15.6 ([2a5a9cc](https://github.com/forcedotcom/sfdx-core/commit/2a5a9cc69e6616ed6b4338c3ce26e5c5dbd9abab)) ## [5.3.7](https://github.com/forcedotcom/sfdx-core/compare/5.3.6...5.3.7) (2023-10-08) - ### Bug Fixes -* **deps:** bump @types/semver from 7.5.2 to 7.5.3 ([9e8a0a7](https://github.com/forcedotcom/sfdx-core/commit/9e8a0a7e53d8b5900baf00e01548ea81c1ecfd4e)) - - +- **deps:** bump @types/semver from 7.5.2 to 7.5.3 ([9e8a0a7](https://github.com/forcedotcom/sfdx-core/commit/9e8a0a7e53d8b5900baf00e01548ea81c1ecfd4e)) ## [5.3.6](https://github.com/forcedotcom/sfdx-core/compare/5.3.5...5.3.6) (2023-10-08) - ### Bug Fixes -* **deps:** bump pino-pretty from 10.2.0 to 10.2.3 ([9e925c5](https://github.com/forcedotcom/sfdx-core/commit/9e925c599cbb7f5826ac6a0afe6043f6465e7dcf)) - - +- **deps:** bump pino-pretty from 10.2.0 to 10.2.3 ([9e925c5](https://github.com/forcedotcom/sfdx-core/commit/9e925c599cbb7f5826ac6a0afe6043f6465e7dcf)) ## [5.3.5](https://github.com/forcedotcom/sfdx-core/compare/5.3.4...5.3.5) (2023-10-06) - ### Bug Fixes -* allow padding on id and secret ([b93ac50](https://github.com/forcedotcom/sfdx-core/commit/b93ac504d09145dad3d5b5beea4ce1d5a56985cd)) - - +- allow padding on id and secret ([b93ac50](https://github.com/forcedotcom/sfdx-core/commit/b93ac504d09145dad3d5b5beea4ce1d5a56985cd)) ## [5.3.4](https://github.com/forcedotcom/sfdx-core/compare/5.3.3...5.3.4) (2023-10-04) - ### Bug Fixes -* handle multiple sandbox processes in resumable state ([#944](https://github.com/forcedotcom/sfdx-core/issues/944)) ([a49409d](https://github.com/forcedotcom/sfdx-core/commit/a49409d05ce7edbea861eaa0de91c2c9d8a70ddd)) - - +- handle multiple sandbox processes in resumable state ([#944](https://github.com/forcedotcom/sfdx-core/issues/944)) ([a49409d](https://github.com/forcedotcom/sfdx-core/commit/a49409d05ce7edbea861eaa0de91c2c9d8a70ddd)) ## [5.3.3](https://github.com/forcedotcom/sfdx-core/compare/5.3.2...5.3.3) (2023-10-01) - ### Bug Fixes -* **deps:** bump @salesforce/ts-types from 2.0.7 to 2.0.8 ([d3e22b9](https://github.com/forcedotcom/sfdx-core/commit/d3e22b9420beae576ca085fd4827c169f8b54535)) - - +- **deps:** bump @salesforce/ts-types from 2.0.7 to 2.0.8 ([d3e22b9](https://github.com/forcedotcom/sfdx-core/commit/d3e22b9420beae576ca085fd4827c169f8b54535)) ## [5.3.2](https://github.com/forcedotcom/sfdx-core/compare/5.3.1...5.3.2) (2023-10-01) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.11 to 3.0.12 ([b738085](https://github.com/forcedotcom/sfdx-core/commit/b738085f2266801fbc94241824ebfe899ba80fd6)) - - +- **deps:** bump @salesforce/kit from 3.0.11 to 3.0.12 ([b738085](https://github.com/forcedotcom/sfdx-core/commit/b738085f2266801fbc94241824ebfe899ba80fd6)) ## [5.3.1](https://github.com/forcedotcom/sfdx-core/compare/5.3.0...5.3.1) (2023-09-28) - ### Bug Fixes -* **deps:** bump get-func-name from 2.0.0 to 2.0.2 ([19aeb98](https://github.com/forcedotcom/sfdx-core/commit/19aeb98c16297da433f3227e413fe92833929108)) - - +- **deps:** bump get-func-name from 2.0.0 to 2.0.2 ([19aeb98](https://github.com/forcedotcom/sfdx-core/commit/19aeb98c16297da433f3227e413fe92833929108)) # [5.3.0](https://github.com/forcedotcom/sfdx-core/compare/5.2.10...5.3.0) (2023-09-27) - ### Features -* unique listener names for lifecycle events ([#941](https://github.com/forcedotcom/sfdx-core/issues/941)) ([c5d60ae](https://github.com/forcedotcom/sfdx-core/commit/c5d60ae62e4bbcacdd3a496d17fbd3ce0cfbafba)) - - +- unique listener names for lifecycle events ([#941](https://github.com/forcedotcom/sfdx-core/issues/941)) ([c5d60ae](https://github.com/forcedotcom/sfdx-core/commit/c5d60ae62e4bbcacdd3a496d17fbd3ce0cfbafba)) ## [5.2.10](https://github.com/forcedotcom/sfdx-core/compare/5.2.9...5.2.10) (2023-09-17) - ### Bug Fixes -* **deps:** bump @types/semver from 7.5.1 to 7.5.2 ([3994b3b](https://github.com/forcedotcom/sfdx-core/commit/3994b3b4d4234a7ed5d79e355a018d4d9249480c)) - - +- **deps:** bump @types/semver from 7.5.1 to 7.5.2 ([3994b3b](https://github.com/forcedotcom/sfdx-core/commit/3994b3b4d4234a7ed5d79e355a018d4d9249480c)) ## [5.2.9](https://github.com/forcedotcom/sfdx-core/compare/5.2.8...5.2.9) (2023-09-10) - ### Bug Fixes -* **deps:** bump pino from 8.15.0 to 8.15.1 ([617c440](https://github.com/forcedotcom/sfdx-core/commit/617c44030a320575f87ed14c23de2a45544a8441)) - - +- **deps:** bump pino from 8.15.0 to 8.15.1 ([617c440](https://github.com/forcedotcom/sfdx-core/commit/617c44030a320575f87ed14c23de2a45544a8441)) ## [5.2.8](https://github.com/forcedotcom/sfdx-core/compare/5.2.7...5.2.8) (2023-09-10) - ### Bug Fixes -* **deps:** bump @types/semver from 7.5.0 to 7.5.1 ([90e2870](https://github.com/forcedotcom/sfdx-core/commit/90e2870fc911c495176a917007dacd9bbf64a91c)) - - +- **deps:** bump @types/semver from 7.5.0 to 7.5.1 ([90e2870](https://github.com/forcedotcom/sfdx-core/commit/90e2870fc911c495176a917007dacd9bbf64a91c)) ## [5.2.7](https://github.com/forcedotcom/sfdx-core/compare/5.2.6...5.2.7) (2023-09-04) - ### Bug Fixes -* **deps:** bump ts-retry-promise from 0.7.0 to 0.7.1 ([d71420a](https://github.com/forcedotcom/sfdx-core/commit/d71420a7360e81c8c561e07becbb085ddaf5f6ce)) - - +- **deps:** bump ts-retry-promise from 0.7.0 to 0.7.1 ([d71420a](https://github.com/forcedotcom/sfdx-core/commit/d71420a7360e81c8c561e07becbb085ddaf5f6ce)) ## [5.2.6](https://github.com/forcedotcom/sfdx-core/compare/5.2.5...5.2.6) (2023-09-03) - ### Bug Fixes -* **deps:** bump jsonwebtoken from 9.0.1 to 9.0.2 ([8323f3c](https://github.com/forcedotcom/sfdx-core/commit/8323f3cd253527210050b87b9936fb210ea74974)) - - +- **deps:** bump jsonwebtoken from 9.0.1 to 9.0.2 ([8323f3c](https://github.com/forcedotcom/sfdx-core/commit/8323f3cd253527210050b87b9936fb210ea74974)) ## [5.2.5](https://github.com/forcedotcom/sfdx-core/compare/5.2.4...5.2.5) (2023-09-01) - ### Bug Fixes -* **deps:** bump pino from 8.14.2 to 8.15.0 ([e6770e6](https://github.com/forcedotcom/sfdx-core/commit/e6770e694024adee8b844bf47385f55a4d298efe)) - - +- **deps:** bump pino from 8.14.2 to 8.15.0 ([e6770e6](https://github.com/forcedotcom/sfdx-core/commit/e6770e694024adee8b844bf47385f55a4d298efe)) ## [5.2.4](https://github.com/forcedotcom/sfdx-core/compare/5.2.3...5.2.4) (2023-08-31) - ### Bug Fixes -* **perf:** perf tweaks, semver is a dep ([#918](https://github.com/forcedotcom/sfdx-core/issues/918)) ([5636083](https://github.com/forcedotcom/sfdx-core/commit/563608375fa23d1831673503bee501e487a8b1e4)) - - +- **perf:** perf tweaks, semver is a dep ([#918](https://github.com/forcedotcom/sfdx-core/issues/918)) ([5636083](https://github.com/forcedotcom/sfdx-core/commit/563608375fa23d1831673503bee501e487a8b1e4)) ## [5.2.3](https://github.com/forcedotcom/sfdx-core/compare/5.2.2...5.2.3) (2023-08-27) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.9 to 3.0.11 ([8bad544](https://github.com/forcedotcom/sfdx-core/commit/8bad544318f9999c4b73ac58ecfc976180c769b0)) - - +- **deps:** bump @salesforce/kit from 3.0.9 to 3.0.11 ([8bad544](https://github.com/forcedotcom/sfdx-core/commit/8bad544318f9999c4b73ac58ecfc976180c769b0)) ## [5.2.2](https://github.com/forcedotcom/sfdx-core/compare/5.2.1...5.2.2) (2023-08-27) - ### Bug Fixes -* **deps:** bump @salesforce/ts-types from 2.0.6 to 2.0.7 ([ee069f4](https://github.com/forcedotcom/sfdx-core/commit/ee069f4bfe8339779bc03f9c961d56cc45bc7a45)) - - +- **deps:** bump @salesforce/ts-types from 2.0.6 to 2.0.7 ([ee069f4](https://github.com/forcedotcom/sfdx-core/commit/ee069f4bfe8339779bc03f9c961d56cc45bc7a45)) ## [5.2.1](https://github.com/forcedotcom/sfdx-core/compare/5.2.0...5.2.1) (2023-08-13) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.6 to 3.0.9 ([a9d45eb](https://github.com/forcedotcom/sfdx-core/commit/a9d45eb7ac4f116464f2852cd4cce889d07e9228)) - - +- **deps:** bump @salesforce/kit from 3.0.6 to 3.0.9 ([a9d45eb](https://github.com/forcedotcom/sfdx-core/commit/a9d45eb7ac4f116464f2852cd4cce889d07e9228)) # [5.2.0](https://github.com/forcedotcom/sfdx-core/compare/5.1.6...5.2.0) (2023-08-03) - ### Features -* save namespacePrefix in auth file ([8d2dd7e](https://github.com/forcedotcom/sfdx-core/commit/8d2dd7ea9a5752a2ad9df3c2b5233476119db1b2)) - - +- save namespacePrefix in auth file ([8d2dd7e](https://github.com/forcedotcom/sfdx-core/commit/8d2dd7ea9a5752a2ad9df3c2b5233476119db1b2)) ## [5.1.6](https://github.com/forcedotcom/sfdx-core/compare/5.1.5...5.1.6) (2023-08-03) - ### Bug Fixes -* use debug levels that are numbers from the env ([f051963](https://github.com/forcedotcom/sfdx-core/commit/f051963272c91ace99e948ba36de8f7e29952796)) - - +- use debug levels that are numbers from the env ([f051963](https://github.com/forcedotcom/sfdx-core/commit/f051963272c91ace99e948ba36de8f7e29952796)) ## [5.1.5](https://github.com/forcedotcom/sfdx-core/compare/5.1.4...5.1.5) (2023-08-02) - ### Bug Fixes -* better type for SandboxFields ([9bf4154](https://github.com/forcedotcom/sfdx-core/commit/9bf4154216dc0bd07438f8be34a3902fa0e64d8f)) -* check devhubs and non-scratch orgs and sandboxes ([57c0bae](https://github.com/forcedotcom/sfdx-core/commit/57c0bae9098f5d750a8ee4d90bc8bfa30a88f38b)) -* identify sandboxes during authentication ([a79117e](https://github.com/forcedotcom/sfdx-core/commit/a79117e2b83ef934addfd06ba74c06e32d66d056)) -* query devhubs, non-scratch orgs, and non-sandboxes to identify sandboxes ([26d923e](https://github.com/forcedotcom/sfdx-core/commit/26d923e5ec34efd9236675ef8c0290341da48c40)) - - +- better type for SandboxFields ([9bf4154](https://github.com/forcedotcom/sfdx-core/commit/9bf4154216dc0bd07438f8be34a3902fa0e64d8f)) +- check devhubs and non-scratch orgs and sandboxes ([57c0bae](https://github.com/forcedotcom/sfdx-core/commit/57c0bae9098f5d750a8ee4d90bc8bfa30a88f38b)) +- identify sandboxes during authentication ([a79117e](https://github.com/forcedotcom/sfdx-core/commit/a79117e2b83ef934addfd06ba74c06e32d66d056)) +- query devhubs, non-scratch orgs, and non-sandboxes to identify sandboxes ([26d923e](https://github.com/forcedotcom/sfdx-core/commit/26d923e5ec34efd9236675ef8c0290341da48c40)) ## [5.1.4](https://github.com/forcedotcom/sfdx-core/compare/5.1.3...5.1.4) (2023-07-31) - ### Bug Fixes -* **deps:** bump pino-pretty from 10.0.0 to 10.2.0 ([0b66a21](https://github.com/forcedotcom/sfdx-core/commit/0b66a21da0fe3a0f7c76b39a96c3a525ab654659)) - - +- **deps:** bump pino-pretty from 10.0.0 to 10.2.0 ([0b66a21](https://github.com/forcedotcom/sfdx-core/commit/0b66a21da0fe3a0f7c76b39a96c3a525ab654659)) ## [5.1.3](https://github.com/forcedotcom/sfdx-core/compare/5.1.2...5.1.3) (2023-07-30) - ### Bug Fixes -* **deps:** bump pino from 8.14.1 to 8.14.2 ([461f8e4](https://github.com/forcedotcom/sfdx-core/commit/461f8e45fb879e59becb69548a0539e7931764a9)) - - +- **deps:** bump pino from 8.14.1 to 8.14.2 ([461f8e4](https://github.com/forcedotcom/sfdx-core/commit/461f8e45fb879e59becb69548a0539e7931764a9)) ## [5.1.2](https://github.com/forcedotcom/sfdx-core/compare/5.1.1...5.1.2) (2023-07-28) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.4 to 3.0.6 ([ecb5525](https://github.com/forcedotcom/sfdx-core/commit/ecb5525e5661571b36545d22d02e404a2deecda5)) - - +- **deps:** bump @salesforce/kit from 3.0.4 to 3.0.6 ([ecb5525](https://github.com/forcedotcom/sfdx-core/commit/ecb5525e5661571b36545d22d02e404a2deecda5)) ## [5.1.1](https://github.com/forcedotcom/sfdx-core/compare/5.1.0...5.1.1) (2023-07-28) - ### Bug Fixes -* **deps:** bump @salesforce/ts-types from 2.0.4 to 2.0.5 ([0b13602](https://github.com/forcedotcom/sfdx-core/commit/0b136024d90e7a361c87f35039d4869255ca2e39)) - - +- **deps:** bump @salesforce/ts-types from 2.0.4 to 2.0.5 ([0b13602](https://github.com/forcedotcom/sfdx-core/commit/0b136024d90e7a361c87f35039d4869255ca2e39)) # [5.1.0](https://github.com/forcedotcom/sfdx-core/compare/5.0.1-v5-beta.1...5.1.0) (2023-07-27) - - ## [5.0.1-v5-beta.1](https://github.com/forcedotcom/sfdx-core/compare/5.0.1-v5-beta.0...5.0.1-v5-beta.1) (2023-07-24) - - ## [5.0.1-v5-beta.0](https://github.com/forcedotcom/sfdx-core/compare/4.3.11...5.0.1-v5-beta.0) (2023-07-20) - ### Bug Fixes -* bump jsforce ([1f52733](https://github.com/forcedotcom/sfdx-core/commit/1f527330f060ea47044c8245b62f5bdd08c65dae)) - +- bump jsforce ([1f52733](https://github.com/forcedotcom/sfdx-core/commit/1f527330f060ea47044c8245b62f5bdd08c65dae)) ### Features -* clean up week+ old log files ([2af0bb9](https://github.com/forcedotcom/sfdx-core/commit/2af0bb928c5bfc10e136ae694b11a9d54f2b2544)) -* parameterize log cleanup for test use ([b927164](https://github.com/forcedotcom/sfdx-core/commit/b92716483eae0a2b9494605d82cce083e8d762b5)) -* pino logger ([7b6565b](https://github.com/forcedotcom/sfdx-core/commit/7b6565b2f36322be85e6c9ff3dbb51844279c8f5)) - - +- clean up week+ old log files ([2af0bb9](https://github.com/forcedotcom/sfdx-core/commit/2af0bb928c5bfc10e136ae694b11a9d54f2b2544)) +- parameterize log cleanup for test use ([b927164](https://github.com/forcedotcom/sfdx-core/commit/b92716483eae0a2b9494605d82cce083e8d762b5)) +- pino logger ([7b6565b](https://github.com/forcedotcom/sfdx-core/commit/7b6565b2f36322be85e6c9ff3dbb51844279c8f5)) ## [4.3.11](https://github.com/forcedotcom/sfdx-core/compare/4.3.10...4.3.11) (2023-07-16) - ### Bug Fixes -* **deps:** bump jsonwebtoken from 9.0.0 to 9.0.1 ([ae66699](https://github.com/forcedotcom/sfdx-core/commit/ae66699c99012999db0edd85384237ba7405b7bf)) - - +- **deps:** bump jsonwebtoken from 9.0.0 to 9.0.1 ([ae66699](https://github.com/forcedotcom/sfdx-core/commit/ae66699c99012999db0edd85384237ba7405b7bf)) ## [4.3.10](https://github.com/forcedotcom/sfdx-core/compare/4.3.9...4.3.10) (2023-07-11) - ### Bug Fixes -* **deps:** bump semver from 5.7.1 to 5.7.2 ([eef3f68](https://github.com/forcedotcom/sfdx-core/commit/eef3f68337ff0b087072e4e911f309eefe60efb4)) - - +- **deps:** bump semver from 5.7.1 to 5.7.2 ([eef3f68](https://github.com/forcedotcom/sfdx-core/commit/eef3f68337ff0b087072e4e911f309eefe60efb4)) ## [4.3.9](https://github.com/forcedotcom/sfdx-core/compare/4.3.8...4.3.9) (2023-07-10) - ### Bug Fixes -* **deps:** bump @salesforce/schemas from 1.5.1 to 1.6.0 ([2be2263](https://github.com/forcedotcom/sfdx-core/commit/2be226386f14a3b3ffa1a4d6483d2db3d032c3f1)) - - +- **deps:** bump @salesforce/schemas from 1.5.1 to 1.6.0 ([2be2263](https://github.com/forcedotcom/sfdx-core/commit/2be226386f14a3b3ffa1a4d6483d2db3d032c3f1)) ## [4.3.8](https://github.com/forcedotcom/sfdx-core/compare/4.3.7...4.3.8) (2023-07-09) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.3 to 3.0.4 ([a88baa7](https://github.com/forcedotcom/sfdx-core/commit/a88baa79116250d3e75aca3c9cd2958619cfe154)) - - +- **deps:** bump @salesforce/kit from 3.0.3 to 3.0.4 ([a88baa7](https://github.com/forcedotcom/sfdx-core/commit/a88baa79116250d3e75aca3c9cd2958619cfe154)) ## [4.3.7](https://github.com/forcedotcom/sfdx-core/compare/4.3.6...4.3.7) (2023-07-08) - ### Bug Fixes -* **deps:** bump tough-cookie from 4.0.0 to 4.1.3 ([230c975](https://github.com/forcedotcom/sfdx-core/commit/230c975c5b024ea64196400752c76750dae20669)) - - +- **deps:** bump tough-cookie from 4.0.0 to 4.1.3 ([230c975](https://github.com/forcedotcom/sfdx-core/commit/230c975c5b024ea64196400752c76750dae20669)) ## [4.3.6](https://github.com/forcedotcom/sfdx-core/compare/4.3.5...4.3.6) (2023-07-06) - ### Bug Fixes -* query scratch orgs by provided Id ([cbfc47a](https://github.com/forcedotcom/sfdx-core/commit/cbfc47a66975a482cc51af2f1528142775aca3be)) - - +- query scratch orgs by provided Id ([cbfc47a](https://github.com/forcedotcom/sfdx-core/commit/cbfc47a66975a482cc51af2f1528142775aca3be)) ## [4.3.5](https://github.com/forcedotcom/sfdx-core/compare/4.3.4...4.3.5) (2023-06-29) - ### Bug Fixes -* unset aliases and configs when org is deleted ([a06ce1f](https://github.com/forcedotcom/sfdx-core/commit/a06ce1f7c500313f1f317ec68bb5c98f5aef1728)) - - +- unset aliases and configs when org is deleted ([a06ce1f](https://github.com/forcedotcom/sfdx-core/commit/a06ce1f7c500313f1f317ec68bb5c98f5aef1728)) ## [4.3.4](https://github.com/forcedotcom/sfdx-core/compare/4.3.3...4.3.4) (2023-06-28) - ### Bug Fixes -* **deps:** bump jsforce from 2.0.0-beta.24 to 2.0.0-beta.27 ([a0aa6c1](https://github.com/forcedotcom/sfdx-core/commit/a0aa6c1d74a8dcc4b3bc62927d1663132971d961)) - - +- **deps:** bump jsforce from 2.0.0-beta.24 to 2.0.0-beta.27 ([a0aa6c1](https://github.com/forcedotcom/sfdx-core/commit/a0aa6c1d74a8dcc4b3bc62927d1663132971d961)) ## [4.3.3](https://github.com/forcedotcom/sfdx-core/compare/4.3.2...4.3.3) (2023-06-26) - ### Bug Fixes -* tolerate broken auth files (with warning) during readAll ([#869](https://github.com/forcedotcom/sfdx-core/issues/869)) ([4cea657](https://github.com/forcedotcom/sfdx-core/commit/4cea657213054b6c3f22bb70a00753105caf2337)) - - +- tolerate broken auth files (with warning) during readAll ([#869](https://github.com/forcedotcom/sfdx-core/issues/869)) ([4cea657](https://github.com/forcedotcom/sfdx-core/commit/4cea657213054b6c3f22bb70a00753105caf2337)) ## [4.3.2](https://github.com/forcedotcom/sfdx-core/compare/4.3.1...4.3.2) (2023-06-20) - ### Bug Fixes -* better scratch org settings messages ([39d1124](https://github.com/forcedotcom/sfdx-core/commit/39d1124804ee845533888878c9a7aeb2c0ed8c25)) - - +- better scratch org settings messages ([39d1124](https://github.com/forcedotcom/sfdx-core/commit/39d1124804ee845533888878c9a7aeb2c0ed8c25)) ## [4.3.1](https://github.com/forcedotcom/sfdx-core/compare/4.3.0...4.3.1) (2023-06-13) - ### Bug Fixes -* **messageTransformer:** remove export, require deep import from lib ([#861](https://github.com/forcedotcom/sfdx-core/issues/861)) ([49abe60](https://github.com/forcedotcom/sfdx-core/commit/49abe603e765a29bbcb5f29c664dd862c29493be)) - - +- **messageTransformer:** remove export, require deep import from lib ([#861](https://github.com/forcedotcom/sfdx-core/issues/861)) ([49abe60](https://github.com/forcedotcom/sfdx-core/commit/49abe603e765a29bbcb5f29c664dd862c29493be)) # [4.3.0](https://github.com/forcedotcom/sfdx-core/compare/4.2.2...4.3.0) (2023-06-13) - ### Features -* export msgTransformer for other libraries ([25a5b4f](https://github.com/forcedotcom/sfdx-core/commit/25a5b4f1f3e12864fb3ac735a44eebc3b0a19293)) - - +- export msgTransformer for other libraries ([25a5b4f](https://github.com/forcedotcom/sfdx-core/commit/25a5b4f1f3e12864fb3ac735a44eebc3b0a19293)) ## [4.2.2](https://github.com/forcedotcom/sfdx-core/compare/4.2.1...4.2.2) (2023-06-11) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.2 to 3.0.3 ([19c1cf6](https://github.com/forcedotcom/sfdx-core/commit/19c1cf6310c61826ee8da296ab558f477b5817a0)) - - +- **deps:** bump @salesforce/kit from 3.0.2 to 3.0.3 ([19c1cf6](https://github.com/forcedotcom/sfdx-core/commit/19c1cf6310c61826ee8da296ab558f477b5817a0)) ## [4.2.1](https://github.com/forcedotcom/sfdx-core/compare/4.2.0...4.2.1) (2023-06-08) - ### Bug Fixes -* typos ([58064b1](https://github.com/forcedotcom/sfdx-core/commit/58064b140adfb78895f3d09a72dd731a4d299dff)) - - +- typos ([58064b1](https://github.com/forcedotcom/sfdx-core/commit/58064b140adfb78895f3d09a72dd731a4d299dff)) # [4.2.0](https://github.com/forcedotcom/sfdx-core/compare/4.1.3...4.2.0) (2023-06-06) - ### Bug Fixes -* improve test robustness ([1b29bd3](https://github.com/forcedotcom/sfdx-core/commit/1b29bd360a753a0d9c7606e45e096c6d7c7fa5e6)) - +- improve test robustness ([1b29bd3](https://github.com/forcedotcom/sfdx-core/commit/1b29bd360a753a0d9c7606e45e096c6d7c7fa5e6)) ### Features -* replace archiver with jszip for ZipWriter ([c8d03d4](https://github.com/forcedotcom/sfdx-core/commit/c8d03d429cf14140fa025cdbf2499876b56a9b38)) - - +- replace archiver with jszip for ZipWriter ([c8d03d4](https://github.com/forcedotcom/sfdx-core/commit/c8d03d429cf14140fa025cdbf2499876b56a9b38)) ## [4.1.3](https://github.com/forcedotcom/sfdx-core/compare/4.1.2...4.1.3) (2023-06-06) - ### Bug Fixes -* **deps:** bump @types/semver from 7.3.13 to 7.5.0 ([4a84e39](https://github.com/forcedotcom/sfdx-core/commit/4a84e39caaf5b66266de29a275bd46a1fde003fc)) - - +- **deps:** bump @types/semver from 7.3.13 to 7.5.0 ([4a84e39](https://github.com/forcedotcom/sfdx-core/commit/4a84e39caaf5b66266de29a275bd46a1fde003fc)) ## [4.1.2](https://github.com/forcedotcom/sfdx-core/compare/4.1.1...4.1.2) (2023-06-05) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 3.0.0 to 3.0.2 ([c1e75d0](https://github.com/forcedotcom/sfdx-core/commit/c1e75d038a3fb6776bde246348935d6a2857f6dc)) - - +- **deps:** bump @salesforce/kit from 3.0.0 to 3.0.2 ([c1e75d0](https://github.com/forcedotcom/sfdx-core/commit/c1e75d038a3fb6776bde246348935d6a2857f6dc)) ## [4.1.1](https://github.com/forcedotcom/sfdx-core/compare/4.1.0...4.1.1) (2023-06-05) - ### Bug Fixes -* trigger gha ([efbd179](https://github.com/forcedotcom/sfdx-core/commit/efbd1798fb5600545b4507ca894819d03375e0c5)) -* trigger gha ([a6cb99a](https://github.com/forcedotcom/sfdx-core/commit/a6cb99adbd28e8c1abd6bd38550c3b45d9f33c74)) -* use SF prefixed env vars, add UTs ([e266340](https://github.com/forcedotcom/sfdx-core/commit/e266340f57c6512acaf71eb3cf8a9d292f37ca01)) - - +- trigger gha ([efbd179](https://github.com/forcedotcom/sfdx-core/commit/efbd1798fb5600545b4507ca894819d03375e0c5)) +- trigger gha ([a6cb99a](https://github.com/forcedotcom/sfdx-core/commit/a6cb99adbd28e8c1abd6bd38550c3b45d9f33c74)) +- use SF prefixed env vars, add UTs ([e266340](https://github.com/forcedotcom/sfdx-core/commit/e266340f57c6512acaf71eb3cf8a9d292f37ca01)) # [4.1.0](https://github.com/forcedotcom/sfdx-core/compare/4.0.1...4.1.0) (2023-06-01) - ### Bug Fixes -* everything but ut/testsetup ([616488a](https://github.com/forcedotcom/sfdx-core/commit/616488af548498c32cf1fde45b79fd52490db6f3)) - +- everything but ut/testsetup ([616488a](https://github.com/forcedotcom/sfdx-core/commit/616488af548498c32cf1fde45b79fd52490db6f3)) ### Features -* file locking for aliases ([d351ebb](https://github.com/forcedotcom/sfdx-core/commit/d351ebb1136cd97d1c2d70f14d29622b4b40e711)) - - +- file locking for aliases ([d351ebb](https://github.com/forcedotcom/sfdx-core/commit/d351ebb1136cd97d1c2d70f14d29622b4b40e711)) ## [4.0.1](https://github.com/forcedotcom/sfdx-core/compare/3.36.2...4.0.1) (2023-05-30) - - ## [3.36.2](https://github.com/forcedotcom/sfdx-core/compare/3.36.1...3.36.2) (2023-05-22) - ### Bug Fixes -* bump jsforce to latest beta ([32c46c1](https://github.com/forcedotcom/sfdx-core/commit/32c46c187738cbb6b686e9901a03183e0a02cf34)) - - +- bump jsforce to latest beta ([32c46c1](https://github.com/forcedotcom/sfdx-core/commit/32c46c187738cbb6b686e9901a03183e0a02cf34)) ## [3.36.1](https://github.com/forcedotcom/sfdx-core/compare/3.36.0...3.36.1) (2023-05-11) - ### Bug Fixes -* handle unknown config keys that moved to plugins ([5077340](https://github.com/forcedotcom/sfdx-core/commit/5077340d04b8225bf3089112502de106af911841)) - - +- handle unknown config keys that moved to plugins ([5077340](https://github.com/forcedotcom/sfdx-core/commit/5077340d04b8225bf3089112502de106af911841)) # [3.36.0](https://github.com/forcedotcom/sfdx-core/compare/3.35.0...3.36.0) (2023-04-28) - - # [3.35.0-qa.3](https://github.com/forcedotcom/sfdx-core/compare/3.35.0-qa.2...3.35.0-qa.3) (2023-04-24) - ### Bug Fixes -* load config for deprecated stuff, too ([ef1c71b](https://github.com/forcedotcom/sfdx-core/commit/ef1c71b2f9989f7afeb99e662f5b441ef077515f)) - - +- load config for deprecated stuff, too ([ef1c71b](https://github.com/forcedotcom/sfdx-core/commit/ef1c71b2f9989f7afeb99e662f5b441ef077515f)) # [3.35.0-qa.2](https://github.com/forcedotcom/sfdx-core/compare/3.34.8...3.35.0-qa.2) (2023-04-24) - ### Features -* sf rest_deploy via env ([46ae051](https://github.com/forcedotcom/sfdx-core/commit/46ae051bd36a52be0244b55274dc4aa438286286)) - - +- sf rest_deploy via env ([46ae051](https://github.com/forcedotcom/sfdx-core/commit/46ae051bd36a52be0244b55274dc4aa438286286)) # [3.35.0-qa.1](https://github.com/forcedotcom/sfdx-core/compare/3.34.7...3.35.0-qa.1) (2023-04-21) - ### Bug Fixes -* prerelease branch for testing ([cdeaa51](https://github.com/forcedotcom/sfdx-core/commit/cdeaa514497456d7cae198e04079eb2d12630d7a)) - - +- prerelease branch for testing ([cdeaa51](https://github.com/forcedotcom/sfdx-core/commit/cdeaa514497456d7cae198e04079eb2d12630d7a)) # [3.35.0](https://github.com/forcedotcom/sfdx-core/compare/3.34.9...3.35.0) (2023-04-28) - ### Bug Fixes -* bad error message for in progress scratch orgs ([b18d112](https://github.com/forcedotcom/sfdx-core/commit/b18d1121b56c96f7bb9cddfcacc0bae58f977628)) - +- bad error message for in progress scratch orgs ([b18d112](https://github.com/forcedotcom/sfdx-core/commit/b18d1121b56c96f7bb9cddfcacc0bae58f977628)) ### Features -* backward compatible configs/envs with warnings ([51ed461](https://github.com/forcedotcom/sfdx-core/commit/51ed461ba06fd62bbada398dcc86656eb9b34fac)) -* sfdxConfigAggregator = configAggregator ([a98cd97](https://github.com/forcedotcom/sfdx-core/commit/a98cd975e17e4bc75f76c3f6034050816d0f9e1e)) -* warnings from config ([a84993e](https://github.com/forcedotcom/sfdx-core/commit/a84993edeee942175f80c5e96683164579a4fa70)) - - +- backward compatible configs/envs with warnings ([51ed461](https://github.com/forcedotcom/sfdx-core/commit/51ed461ba06fd62bbada398dcc86656eb9b34fac)) +- sfdxConfigAggregator = configAggregator ([a98cd97](https://github.com/forcedotcom/sfdx-core/commit/a98cd975e17e4bc75f76c3f6034050816d0f9e1e)) +- warnings from config ([a84993e](https://github.com/forcedotcom/sfdx-core/commit/a84993edeee942175f80c5e96683164579a4fa70)) ## [3.34.9](https://github.com/forcedotcom/sfdx-core/compare/3.35.0-qa.3...3.34.9) (2023-04-27) - ### Bug Fixes -* redirect to oauth success url ([#811](https://github.com/forcedotcom/sfdx-core/issues/811)) ([e505351](https://github.com/forcedotcom/sfdx-core/commit/e505351e2d91cc8481b2e3908914d2406ea5a217)) - - +- redirect to oauth success url ([#811](https://github.com/forcedotcom/sfdx-core/issues/811)) ([e505351](https://github.com/forcedotcom/sfdx-core/commit/e505351e2d91cc8481b2e3908914d2406ea5a217)) ## [3.34.8](https://github.com/forcedotcom/sfdx-core/compare/3.35.0-qa.1...3.34.8) (2023-04-21) - ### Bug Fixes -* prevent logging loop ([55bcbc3](https://github.com/forcedotcom/sfdx-core/commit/55bcbc357e9ac04b6d064e3d42a07e2975213d96)) - - +- prevent logging loop ([55bcbc3](https://github.com/forcedotcom/sfdx-core/commit/55bcbc357e9ac04b6d064e3d42a07e2975213d96)) # [3.35.0-qa.3](https://github.com/forcedotcom/sfdx-core/compare/3.35.0-qa.2...3.35.0-qa.3) (2023-04-24) - ### Bug Fixes -* load config for deprecated stuff, too ([ef1c71b](https://github.com/forcedotcom/sfdx-core/commit/ef1c71b2f9989f7afeb99e662f5b441ef077515f)) - - +- load config for deprecated stuff, too ([ef1c71b](https://github.com/forcedotcom/sfdx-core/commit/ef1c71b2f9989f7afeb99e662f5b441ef077515f)) # [3.35.0-qa.2](https://github.com/forcedotcom/sfdx-core/compare/3.34.8...3.35.0-qa.2) (2023-04-24) - ### Features -* sf rest_deploy via env ([46ae051](https://github.com/forcedotcom/sfdx-core/commit/46ae051bd36a52be0244b55274dc4aa438286286)) - - +- sf rest_deploy via env ([46ae051](https://github.com/forcedotcom/sfdx-core/commit/46ae051bd36a52be0244b55274dc4aa438286286)) # [3.35.0-qa.1](https://github.com/forcedotcom/sfdx-core/compare/3.34.7...3.35.0-qa.1) (2023-04-21) - ### Bug Fixes -* bad error message for in progress scratch orgs ([b18d112](https://github.com/forcedotcom/sfdx-core/commit/b18d1121b56c96f7bb9cddfcacc0bae58f977628)) -* prerelease branch for testing ([cdeaa51](https://github.com/forcedotcom/sfdx-core/commit/cdeaa514497456d7cae198e04079eb2d12630d7a)) - +- bad error message for in progress scratch orgs ([b18d112](https://github.com/forcedotcom/sfdx-core/commit/b18d1121b56c96f7bb9cddfcacc0bae58f977628)) +- prerelease branch for testing ([cdeaa51](https://github.com/forcedotcom/sfdx-core/commit/cdeaa514497456d7cae198e04079eb2d12630d7a)) ### Features -* backward compatible configs/envs with warnings ([51ed461](https://github.com/forcedotcom/sfdx-core/commit/51ed461ba06fd62bbada398dcc86656eb9b34fac)) -* sfdxConfigAggregator = configAggregator ([a98cd97](https://github.com/forcedotcom/sfdx-core/commit/a98cd975e17e4bc75f76c3f6034050816d0f9e1e)) -* warnings from config ([a84993e](https://github.com/forcedotcom/sfdx-core/commit/a84993edeee942175f80c5e96683164579a4fa70)) - - +- backward compatible configs/envs with warnings ([51ed461](https://github.com/forcedotcom/sfdx-core/commit/51ed461ba06fd62bbada398dcc86656eb9b34fac)) +- sfdxConfigAggregator = configAggregator ([a98cd97](https://github.com/forcedotcom/sfdx-core/commit/a98cd975e17e4bc75f76c3f6034050816d0f9e1e)) +- warnings from config ([a84993e](https://github.com/forcedotcom/sfdx-core/commit/a84993edeee942175f80c5e96683164579a4fa70)) ## [3.34.8](https://github.com/forcedotcom/sfdx-core/compare/3.35.0-qa.1...3.34.8) (2023-04-21) - ### Bug Fixes -* prevent logging loop ([55bcbc3](https://github.com/forcedotcom/sfdx-core/commit/55bcbc357e9ac04b6d064e3d42a07e2975213d96)) - - +- prevent logging loop ([55bcbc3](https://github.com/forcedotcom/sfdx-core/commit/55bcbc357e9ac04b6d064e3d42a07e2975213d96)) # [3.35.0-qa.1](https://github.com/forcedotcom/sfdx-core/compare/3.34.7...3.35.0-qa.1) (2023-04-21) - ### Bug Fixes -* bad error message for in progress scratch orgs ([b18d112](https://github.com/forcedotcom/sfdx-core/commit/b18d1121b56c96f7bb9cddfcacc0bae58f977628)) -* prerelease branch for testing ([cdeaa51](https://github.com/forcedotcom/sfdx-core/commit/cdeaa514497456d7cae198e04079eb2d12630d7a)) - +- bad error message for in progress scratch orgs ([b18d112](https://github.com/forcedotcom/sfdx-core/commit/b18d1121b56c96f7bb9cddfcacc0bae58f977628)) +- prerelease branch for testing ([cdeaa51](https://github.com/forcedotcom/sfdx-core/commit/cdeaa514497456d7cae198e04079eb2d12630d7a)) ### Features -* backward compatible configs/envs with warnings ([51ed461](https://github.com/forcedotcom/sfdx-core/commit/51ed461ba06fd62bbada398dcc86656eb9b34fac)) -* sfdxConfigAggregator = configAggregator ([a98cd97](https://github.com/forcedotcom/sfdx-core/commit/a98cd975e17e4bc75f76c3f6034050816d0f9e1e)) -* warnings from config ([a84993e](https://github.com/forcedotcom/sfdx-core/commit/a84993edeee942175f80c5e96683164579a4fa70)) - - +- backward compatible configs/envs with warnings ([51ed461](https://github.com/forcedotcom/sfdx-core/commit/51ed461ba06fd62bbada398dcc86656eb9b34fac)) +- sfdxConfigAggregator = configAggregator ([a98cd97](https://github.com/forcedotcom/sfdx-core/commit/a98cd975e17e4bc75f76c3f6034050816d0f9e1e)) +- warnings from config ([a84993e](https://github.com/forcedotcom/sfdx-core/commit/a84993edeee942175f80c5e96683164579a4fa70)) ## [3.34.7](https://github.com/forcedotcom/sfdx-core/compare/3.34.6...3.34.7) (2023-04-16) - ### Bug Fixes -* **deps:** bump jsforce from 2.0.0-beta.20 to 2.0.0-beta.21 ([4a5ee12](https://github.com/forcedotcom/sfdx-core/commit/4a5ee126aaf10bd6d35f0f6b9bd76bed0e74e5f6)) - - +- **deps:** bump jsforce from 2.0.0-beta.20 to 2.0.0-beta.21 ([4a5ee12](https://github.com/forcedotcom/sfdx-core/commit/4a5ee126aaf10bd6d35f0f6b9bd76bed0e74e5f6)) ## [3.34.6](https://github.com/forcedotcom/sfdx-core/compare/3.34.5...3.34.6) (2023-03-26) - ### Bug Fixes -* **deps:** bump @salesforce/schemas from 1.5.0 to 1.5.1 ([d447260](https://github.com/forcedotcom/sfdx-core/commit/d447260323d6b4e8cc556b4f0c9ef084c11b579f)) - - +- **deps:** bump @salesforce/schemas from 1.5.0 to 1.5.1 ([d447260](https://github.com/forcedotcom/sfdx-core/commit/d447260323d6b4e8cc556b4f0c9ef084c11b579f)) ## [3.34.5](https://github.com/forcedotcom/sfdx-core/compare/3.34.4...3.34.5) (2023-03-26) - ### Bug Fixes -* **deps:** bump json5 from 1.0.1 to 1.0.2 ([0dbbcf6](https://github.com/forcedotcom/sfdx-core/commit/0dbbcf61576512d527799240a50b311f723ab200)) - - +- **deps:** bump json5 from 1.0.1 to 1.0.2 ([0dbbcf6](https://github.com/forcedotcom/sfdx-core/commit/0dbbcf61576512d527799240a50b311f723ab200)) ## [3.34.4](https://github.com/forcedotcom/sfdx-core/compare/3.34.3...3.34.4) (2023-03-22) - ### Bug Fixes -* check resumable state before emitting first progress event ([#793](https://github.com/forcedotcom/sfdx-core/issues/793)) ([6677d0f](https://github.com/forcedotcom/sfdx-core/commit/6677d0f02e155e7d245701b7f73ee19dc8aa03be)) - - +- check resumable state before emitting first progress event ([#793](https://github.com/forcedotcom/sfdx-core/issues/793)) ([6677d0f](https://github.com/forcedotcom/sfdx-core/commit/6677d0f02e155e7d245701b7f73ee19dc8aa03be)) ## [3.34.3](https://github.com/forcedotcom/sfdx-core/compare/3.34.2...3.34.3) (2023-03-20) - ### Bug Fixes -* **deps:** bump graceful-fs from 4.2.10 to 4.2.11 ([8384d3f](https://github.com/forcedotcom/sfdx-core/commit/8384d3fcef55fc0ef609590364311c146f171d46)) - - +- **deps:** bump graceful-fs from 4.2.10 to 4.2.11 ([8384d3f](https://github.com/forcedotcom/sfdx-core/commit/8384d3fcef55fc0ef609590364311c146f171d46)) ## [3.34.2](https://github.com/forcedotcom/sfdx-core/compare/3.34.1...3.34.2) (2023-03-19) - ### Bug Fixes -* **deps:** bump jsforce from 2.0.0-beta.19 to 2.0.0-beta.20 ([9026092](https://github.com/forcedotcom/sfdx-core/commit/90260926103273ae5ffac382db38d6aea9e2bcc3)) - - +- **deps:** bump jsforce from 2.0.0-beta.19 to 2.0.0-beta.20 ([9026092](https://github.com/forcedotcom/sfdx-core/commit/90260926103273ae5ffac382db38d6aea9e2bcc3)) ## [3.34.1](https://github.com/forcedotcom/sfdx-core/compare/3.34.0...3.34.1) (2023-03-16) - ### Bug Fixes -* allow completed status to be resume ([484244d](https://github.com/forcedotcom/sfdx-core/commit/484244d2877b6eec610975bd643fea2a368b5f5e)) - - +- allow completed status to be resume ([484244d](https://github.com/forcedotcom/sfdx-core/commit/484244d2877b6eec610975bd643fea2a368b5f5e)) # [3.34.0](https://github.com/forcedotcom/sfdx-core/compare/3.33.9...3.34.0) (2023-03-14) - ### Features -* deprecate messages.load and docs ([3229f74](https://github.com/forcedotcom/sfdx-core/commit/3229f742f6ee2d99729e55abb8021cf5f3639b9f)) - - +- deprecate messages.load and docs ([3229f74](https://github.com/forcedotcom/sfdx-core/commit/3229f742f6ee2d99729e55abb8021cf5f3639b9f)) ## [3.33.9](https://github.com/forcedotcom/sfdx-core/compare/3.33.8...3.33.9) (2023-03-14) - ### Bug Fixes -* save expiration date for scratch org ([#775](https://github.com/forcedotcom/sfdx-core/issues/775)) ([a59323b](https://github.com/forcedotcom/sfdx-core/commit/a59323be438e6fc8e021855af8ce6d09700c2e60)) +- save expiration date for scratch org ([#775](https://github.com/forcedotcom/sfdx-core/issues/775)) ([a59323b](https://github.com/forcedotcom/sfdx-core/commit/a59323be438e6fc8e021855af8ce6d09700c2e60)) +## [3.33.8](https://github.com/forcedotcom/sfdx-core/compare/3.33.7...3.33.8) (2023-03-14) +### Bug Fixes -## [3.33.8](https://github.com/forcedotcom/sfdx-core/compare/3.33.7...3.33.8) (2023-03-14) +- **deps:** bump json5 from 1.0.1 to 1.0.2 ([7ccd063](https://github.com/forcedotcom/sfdx-core/commit/7ccd0637048531d4669252a65e7c371b2e8c5f98)) +## [3.33.7](https://github.com/forcedotcom/sfdx-core/compare/3.33.6...3.33.7) (2023-03-13) ### Bug Fixes -* **deps:** bump json5 from 1.0.1 to 1.0.2 ([7ccd063](https://github.com/forcedotcom/sfdx-core/commit/7ccd0637048531d4669252a65e7c371b2e8c5f98)) - - - -## [3.33.7](https://github.com/forcedotcom/sfdx-core/compare/3.33.6...3.33.7) (2023-03-13) - - -### Bug Fixes - -* conf file stubs for read and readSync ([a4ceedc](https://github.com/forcedotcom/sfdx-core/commit/a4ceedc086bd293f10a30d2ac78b2f832acc0120)) - - +- conf file stubs for read and readSync ([a4ceedc](https://github.com/forcedotcom/sfdx-core/commit/a4ceedc086bd293f10a30d2ac78b2f832acc0120)) ## [3.33.6](https://github.com/forcedotcom/sfdx-core/compare/3.33.5...3.33.6) (2023-03-02) - ### Bug Fixes -* check for resumable state for sandbox resume ([157622f](https://github.com/forcedotcom/sfdx-core/commit/157622f10c1d16c531d1576feb44a17eb1b04952)) - - +- check for resumable state for sandbox resume ([157622f](https://github.com/forcedotcom/sfdx-core/commit/157622f10c1d16c531d1576feb44a17eb1b04952)) ## [3.33.5](https://github.com/forcedotcom/sfdx-core/compare/3.33.4...3.33.5) (2023-02-26) - ### Bug Fixes -* **deps:** bump @salesforce/schemas from 1.4.0 to 1.5.0 ([f63c2f8](https://github.com/forcedotcom/sfdx-core/commit/f63c2f8135c27f794c5fce65be3dd5ea9e14f57f)) - - +- **deps:** bump @salesforce/schemas from 1.4.0 to 1.5.0 ([f63c2f8](https://github.com/forcedotcom/sfdx-core/commit/f63c2f8135c27f794c5fce65be3dd5ea9e14f57f)) ## [3.33.4](https://github.com/forcedotcom/sfdx-core/compare/3.33.3...3.33.4) (2023-02-22) - ### Bug Fixes -* **deps:** bump @types/graceful-fs from 4.1.5 to 4.1.6 ([d7500b9](https://github.com/forcedotcom/sfdx-core/commit/d7500b96caf2b13f8b0824c29721e639b0274165)) - - +- **deps:** bump @types/graceful-fs from 4.1.5 to 4.1.6 ([d7500b9](https://github.com/forcedotcom/sfdx-core/commit/d7500b96caf2b13f8b0824c29721e639b0274165)) ## [3.33.3](https://github.com/forcedotcom/sfdx-core/compare/3.33.2...3.33.3) (2023-02-22) - ### Bug Fixes -* correct timeout for deploy during scratch org creation ([364985d](https://github.com/forcedotcom/sfdx-core/commit/364985d849d29dc07f4c27c5e3e67e2f3b344ff6)) - - +- correct timeout for deploy during scratch org creation ([364985d](https://github.com/forcedotcom/sfdx-core/commit/364985d849d29dc07f4c27c5e3e67e2f3b344ff6)) ## [3.33.2](https://github.com/forcedotcom/sfdx-core/compare/3.33.1...3.33.2) (2023-02-21) - ### Bug Fixes -* improve error contents for device login ([#774](https://github.com/forcedotcom/sfdx-core/issues/774)) ([3ad803a](https://github.com/forcedotcom/sfdx-core/commit/3ad803ad4d4b0ff473c04a8dd727c65546bfa86e)) - - +- improve error contents for device login ([#774](https://github.com/forcedotcom/sfdx-core/issues/774)) ([3ad803a](https://github.com/forcedotcom/sfdx-core/commit/3ad803ad4d4b0ff473c04a8dd727c65546bfa86e)) ## [3.33.1](https://github.com/forcedotcom/sfdx-core/compare/3.33.0...3.33.1) (2023-01-23) - ### Bug Fixes -* remove source tracking files with Org.delete() ([a85c5bf](https://github.com/forcedotcom/sfdx-core/commit/a85c5bf4dc2312e6be689f70e3b2e74f61cfbfc4)) - - +- remove source tracking files with Org.delete() ([a85c5bf](https://github.com/forcedotcom/sfdx-core/commit/a85c5bf4dc2312e6be689f70e3b2e74f61cfbfc4)) # [3.33.0](https://github.com/forcedotcom/sfdx-core/compare/3.32.14...3.33.0) (2023-01-19) - ### Features -* backward compatible messages.createError ([ac564b9](https://github.com/forcedotcom/sfdx-core/commit/ac564b927bd0c85c874cda39641afb9d9206e268)) - - +- backward compatible messages.createError ([ac564b9](https://github.com/forcedotcom/sfdx-core/commit/ac564b927bd0c85c874cda39641afb9d9206e268)) ## [3.32.14](https://github.com/forcedotcom/sfdx-core/compare/3.32.13...3.32.14) (2023-01-18) - ### Bug Fixes -* snapshot is optional ([e81684c](https://github.com/forcedotcom/sfdx-core/commit/e81684cbe78c22e63b5c191264d26cef70c6c2f8)) - - +- snapshot is optional ([e81684c](https://github.com/forcedotcom/sfdx-core/commit/e81684cbe78c22e63b5c191264d26cef70c6c2f8)) ## [3.32.13](https://github.com/forcedotcom/sfdx-core/compare/3.32.12...3.32.13) (2023-01-12) - ### Bug Fixes -* **deps:** bump @salesforce/ts-types from 1.7.1 to 1.7.2 ([cadc91f](https://github.com/forcedotcom/sfdx-core/commit/cadc91fd5d0ced7cf15fed9ddeda1eea63f20f5b)) - - +- **deps:** bump @salesforce/ts-types from 1.7.1 to 1.7.2 ([cadc91f](https://github.com/forcedotcom/sfdx-core/commit/cadc91fd5d0ced7cf15fed9ddeda1eea63f20f5b)) ## [3.32.12](https://github.com/forcedotcom/sfdx-core/compare/3.32.11...3.32.12) (2022-12-23) - ### Bug Fixes -* **deps:** bump jsonwebtoken from 8.5.1 to 9.0.0 ([c40ea0a](https://github.com/forcedotcom/sfdx-core/commit/c40ea0aa3025045488c542bd35684ae7f296b5f5)) - - +- **deps:** bump jsonwebtoken from 8.5.1 to 9.0.0 ([c40ea0a](https://github.com/forcedotcom/sfdx-core/commit/c40ea0aa3025045488c542bd35684ae7f296b5f5)) ## [3.32.11](https://github.com/forcedotcom/sfdx-core/compare/3.32.10...3.32.11) (2022-12-16) - ### Bug Fixes -* add password to mock org getConfig ([#729](https://github.com/forcedotcom/sfdx-core/issues/729)) ([00ee0fc](https://github.com/forcedotcom/sfdx-core/commit/00ee0fc940592cc04bc5b3ad6e609a3d5e6c2582)) - - +- add password to mock org getConfig ([#729](https://github.com/forcedotcom/sfdx-core/issues/729)) ([00ee0fc](https://github.com/forcedotcom/sfdx-core/commit/00ee0fc940592cc04bc5b3ad6e609a3d5e6c2582)) ## [3.32.10](https://github.com/forcedotcom/sfdx-core/compare/3.32.9...3.32.10) (2022-12-15) - ### Bug Fixes -* provide way to stub user data ([#728](https://github.com/forcedotcom/sfdx-core/issues/728)) ([98b2503](https://github.com/forcedotcom/sfdx-core/commit/98b25035043676a745692181e4cf0f1c889ea9d0)) - - +- provide way to stub user data ([#728](https://github.com/forcedotcom/sfdx-core/issues/728)) ([98b2503](https://github.com/forcedotcom/sfdx-core/commit/98b25035043676a745692181e4cf0f1c889ea9d0)) ## [3.32.9](https://github.com/forcedotcom/sfdx-core/compare/3.32.8...3.32.9) (2022-12-08) - ### Bug Fixes -* add password property to ([1995c01](https://github.com/forcedotcom/sfdx-core/commit/1995c010d13967a49cd4e460cf7acf27eb4327f7)) - - +- add password property to ([1995c01](https://github.com/forcedotcom/sfdx-core/commit/1995c010d13967a49cd4e460cf7acf27eb4327f7)) ## [3.32.8](https://github.com/forcedotcom/sfdx-core/compare/3.32.7...3.32.8) (2022-12-04) - ### Bug Fixes -* **deps:** bump ajv from 8.11.0 to 8.11.2 ([78eb48d](https://github.com/forcedotcom/sfdx-core/commit/78eb48d394a63fb21655d8c84de64e2ea8efa987)) - - +- **deps:** bump ajv from 8.11.0 to 8.11.2 ([78eb48d](https://github.com/forcedotcom/sfdx-core/commit/78eb48d394a63fb21655d8c84de64e2ea8efa987)) ## [3.32.7](https://github.com/forcedotcom/sfdx-core/compare/3.32.6...3.32.7) (2022-12-04) - ### Bug Fixes -* **deps:** bump decode-uri-component from 0.2.0 to 0.2.2 ([bb4c0d1](https://github.com/forcedotcom/sfdx-core/commit/bb4c0d1b6d0ca3dcc07532a728ef1a27b019d256)) - - +- **deps:** bump decode-uri-component from 0.2.0 to 0.2.2 ([bb4c0d1](https://github.com/forcedotcom/sfdx-core/commit/bb4c0d1b6d0ca3dcc07532a728ef1a27b019d256)) ## [3.32.6](https://github.com/forcedotcom/sfdx-core/compare/3.32.5...3.32.6) (2022-12-01) - ### Bug Fixes -* remove refs to legacy client id ([82689ea](https://github.com/forcedotcom/sfdx-core/commit/82689ea5257b95a94d91326200293c6eb464287f)) - - +- remove refs to legacy client id ([82689ea](https://github.com/forcedotcom/sfdx-core/commit/82689ea5257b95a94d91326200293c6eb464287f)) ## [3.32.5](https://github.com/forcedotcom/sfdx-core/compare/3.32.4...3.32.5) (2022-11-30) - ### Bug Fixes -* update a few tests ([6952b44](https://github.com/forcedotcom/sfdx-core/commit/6952b4429bf7adf4ed4c5c0c9681ab04986f7720)) -* use API version cache more often ([36b0e81](https://github.com/forcedotcom/sfdx-core/commit/36b0e81abecd75ef8d69543470a0b1ad36f14a03)) - - +- update a few tests ([6952b44](https://github.com/forcedotcom/sfdx-core/commit/6952b4429bf7adf4ed4c5c0c9681ab04986f7720)) +- use API version cache more often ([36b0e81](https://github.com/forcedotcom/sfdx-core/commit/36b0e81abecd75ef8d69543470a0b1ad36f14a03)) ## [3.32.4](https://github.com/forcedotcom/sfdx-core/compare/3.32.3...3.32.4) (2022-11-27) - ### Bug Fixes -* **deps:** bump @types/semver from 7.3.10 to 7.3.13 ([0584bf6](https://github.com/forcedotcom/sfdx-core/commit/0584bf642f1d01508594d16fd5391d7419f243f4)) - - +- **deps:** bump @types/semver from 7.3.10 to 7.3.13 ([0584bf6](https://github.com/forcedotcom/sfdx-core/commit/0584bf642f1d01508594d16fd5391d7419f243f4)) ## [3.32.3](https://github.com/forcedotcom/sfdx-core/compare/3.32.2...3.32.3) (2022-11-27) - ### Bug Fixes -* **deps:** bump @salesforce/schemas from 1.1.3 to 1.4.0 ([9b0f2a9](https://github.com/forcedotcom/sfdx-core/commit/9b0f2a977868b40bc6c113ee2bff178c3ac3ceec)) - - +- **deps:** bump @salesforce/schemas from 1.1.3 to 1.4.0 ([9b0f2a9](https://github.com/forcedotcom/sfdx-core/commit/9b0f2a977868b40bc6c113ee2bff178c3ac3ceec)) ## [3.32.2](https://github.com/forcedotcom/sfdx-core/compare/3.32.1...3.32.2) (2022-11-22) - ### Bug Fixes -* pass value to message correctly ([c21f088](https://github.com/forcedotcom/sfdx-core/commit/c21f0881a13f8d16ef5a02c5bdec1e9612d8acc8)) - - +- pass value to message correctly ([c21f088](https://github.com/forcedotcom/sfdx-core/commit/c21f0881a13f8d16ef5a02c5bdec1e9612d8acc8)) ## [3.32.1](https://github.com/forcedotcom/sfdx-core/compare/3.32.0...3.32.1) (2022-11-17) - ### Bug Fixes -* **deps:** bump @salesforce/kit from 1.7.0 to 1.8.0 ([8e065a7](https://github.com/forcedotcom/sfdx-core/commit/8e065a76bbfb6182d2851ed51b18630bdcc097dc)) - - +- **deps:** bump @salesforce/kit from 1.7.0 to 1.8.0 ([8e065a7](https://github.com/forcedotcom/sfdx-core/commit/8e065a76bbfb6182d2851ed51b18630bdcc097dc)) # [3.32.0](https://github.com/forcedotcom/sfdx-core/compare/3.31.19...3.32.0) (2022-11-17) - ### Features -* getConnection accepts an optional version ([c4299f8](https://github.com/forcedotcom/sfdx-core/commit/c4299f88acf2c45979c13ca8d093919308619c99)) -* log when unnecessarily setting api version ([9e4afd2](https://github.com/forcedotcom/sfdx-core/commit/9e4afd2c573219eea43e2e43d5f3ca5822d936b3)) - - +- getConnection accepts an optional version ([c4299f8](https://github.com/forcedotcom/sfdx-core/commit/c4299f88acf2c45979c13ca8d093919308619c99)) +- log when unnecessarily setting api version ([9e4afd2](https://github.com/forcedotcom/sfdx-core/commit/9e4afd2c573219eea43e2e43d5f3ca5822d936b3)) ## [3.31.19](https://github.com/forcedotcom/sfdx-core/compare/3.31.18...3.31.19) (2022-11-12) - ### Bug Fixes -* ajv allows union type schema, sfProject doesn't validate ([#698](https://github.com/forcedotcom/sfdx-core/issues/698)) ([ca726ae](https://github.com/forcedotcom/sfdx-core/commit/ca726ae1cb6313f7eaf179517552f15b769a5b74)) - - +- ajv allows union type schema, sfProject doesn't validate ([#698](https://github.com/forcedotcom/sfdx-core/issues/698)) ([ca726ae](https://github.com/forcedotcom/sfdx-core/commit/ca726ae1cb6313f7eaf179517552f15b769a5b74)) ## [3.31.18](https://github.com/forcedotcom/sfdx-core/compare/3.31.17...3.31.18) (2022-11-07) - ### Bug Fixes -* deduplicate headers case on Connect.request ([#697](https://github.com/forcedotcom/sfdx-core/issues/697)) ([fc592b2](https://github.com/forcedotcom/sfdx-core/commit/fc592b215bcc9184f3ca8003d382b6053447349b)) - - +- deduplicate headers case on Connect.request ([#697](https://github.com/forcedotcom/sfdx-core/issues/697)) ([fc592b2](https://github.com/forcedotcom/sfdx-core/commit/fc592b215bcc9184f3ca8003d382b6053447349b)) ## [3.31.17](https://github.com/forcedotcom/sfdx-core/compare/3.31.16...3.31.17) (2022-10-24) - ### Bug Fixes -* improve `hubOrgIsNotDevHub` error msg ([#689](https://github.com/forcedotcom/sfdx-core/issues/689)) ([d3787fa](https://github.com/forcedotcom/sfdx-core/commit/d3787faf8c8aea75624b8a1b140384e1e567f1bc)) - - +- improve `hubOrgIsNotDevHub` error msg ([#689](https://github.com/forcedotcom/sfdx-core/issues/689)) ([d3787fa](https://github.com/forcedotcom/sfdx-core/commit/d3787faf8c8aea75624b8a1b140384e1e567f1bc)) ## [3.31.16](https://github.com/forcedotcom/sfdx-core/compare/3.31.15...3.31.16) (2022-10-19) - - ## [3.31.15](https://github.com/forcedotcom/sfdx-core/compare/3.31.13-0...3.31.15) (2022-10-19) - ### Bug Fixes -* remove prerelease portion of version number ([6dffeac](https://github.com/forcedotcom/sfdx-core/commit/6dffeacd0f12c24b32b3e9de13011c8a1cd22c0b)) - - +- remove prerelease portion of version number ([6dffeac](https://github.com/forcedotcom/sfdx-core/commit/6dffeacd0f12c24b32b3e9de13011c8a1cd22c0b)) ## [3.31.13-0](https://github.com/forcedotcom/sfdx-core/compare/3.31.12...3.31.13-0) (2022-10-18) - ### Bug Fixes -* reset SFDX_INTEROPERABILITY on contextRestore ([#673](https://github.com/forcedotcom/sfdx-core/issues/673)) ([4c8ecae](https://github.com/forcedotcom/sfdx-core/commit/4c8ecae69f871309b00f69a68228e3833923eee9)) - - +- reset SFDX_INTEROPERABILITY on contextRestore ([#673](https://github.com/forcedotcom/sfdx-core/issues/673)) ([4c8ecae](https://github.com/forcedotcom/sfdx-core/commit/4c8ecae69f871309b00f69a68228e3833923eee9)) ## [3.31.12](https://github.com/forcedotcom/sfdx-core/compare/3.31.11...3.31.12) (2022-10-18) - ### Bug Fixes -* incorrect url for scratch org error codes documentation ([#681](https://github.com/forcedotcom/sfdx-core/issues/681)) ([ab91644](https://github.com/forcedotcom/sfdx-core/commit/ab91644820e031a28f6fb262e0f7826e8419e5d7)) - - +- incorrect url for scratch org error codes documentation ([#681](https://github.com/forcedotcom/sfdx-core/issues/681)) ([ab91644](https://github.com/forcedotcom/sfdx-core/commit/ab91644820e031a28f6fb262e0f7826e8419e5d7)) ## [3.31.11](https://github.com/forcedotcom/sfdx-core/compare/3.31.10...3.31.11) (2022-10-18) - ### Bug Fixes -* function addLogFileStreamSync to use recursive mkdir ([#683](https://github.com/forcedotcom/sfdx-core/issues/683)) ([c85c69c](https://github.com/forcedotcom/sfdx-core/commit/c85c69c4179b2b06e4b2e6cbe5727d2a98918304)) - - +- function addLogFileStreamSync to use recursive mkdir ([#683](https://github.com/forcedotcom/sfdx-core/issues/683)) ([c85c69c](https://github.com/forcedotcom/sfdx-core/commit/c85c69c4179b2b06e4b2e6cbe5727d2a98918304)) ## [3.31.10](https://github.com/forcedotcom/sfdx-core/compare/3.31.9...3.31.10) (2022-10-14) - ### Bug Fixes -* getPackageFromPath now handles nested package paths ([#678](https://github.com/forcedotcom/sfdx-core/issues/678)) ([d8c43c6](https://github.com/forcedotcom/sfdx-core/commit/d8c43c66ec4ea58e0398009083740fab0bac1439)) - - +- getPackageFromPath now handles nested package paths ([#678](https://github.com/forcedotcom/sfdx-core/issues/678)) ([d8c43c6](https://github.com/forcedotcom/sfdx-core/commit/d8c43c66ec4ea58e0398009083740fab0bac1439)) ## [3.31.9](https://github.com/forcedotcom/sfdx-core/compare/3.31.8...3.31.9) (2022-10-13) - ### Bug Fixes -* ensure the hubOrg passes is actually a DevHub, throw error if not ([#669](https://github.com/forcedotcom/sfdx-core/issues/669)) ([753292f](https://github.com/forcedotcom/sfdx-core/commit/753292fcf51d57a39aab36190a2053152caaacd8)) - - +- ensure the hubOrg passes is actually a DevHub, throw error if not ([#669](https://github.com/forcedotcom/sfdx-core/issues/669)) ([753292f](https://github.com/forcedotcom/sfdx-core/commit/753292fcf51d57a39aab36190a2053152caaacd8)) ## [3.31.8](https://github.com/forcedotcom/sfdx-core/compare/3.30.14...3.31.8) (2022-10-13) - ### Bug Fixes -* force release ([da5ffa0](https://github.com/forcedotcom/sfdx-core/commit/da5ffa0e51855746decf1b63d6195d793929b846)) - +- force release ([da5ffa0](https://github.com/forcedotcom/sfdx-core/commit/da5ffa0e51855746decf1b63d6195d793929b846)) ### Features -* deprecate testSetup and refactor TestContext ([#676](https://github.com/forcedotcom/sfdx-core/issues/676)) ([6e2f547](https://github.com/forcedotcom/sfdx-core/commit/6e2f547229199da2e2839e4ea70dabd13089c487)) - - +- deprecate testSetup and refactor TestContext ([#676](https://github.com/forcedotcom/sfdx-core/issues/676)) ([6e2f547](https://github.com/forcedotcom/sfdx-core/commit/6e2f547229199da2e2839e4ea70dabd13089c487)) ## [3.30.14](https://github.com/forcedotcom/sfdx-core/compare/3.30.13...3.30.14) (2022-10-11) - ### Bug Fixes -* type on TokenAccessor.set ([#675](https://github.com/forcedotcom/sfdx-core/issues/675)) ([94fdf1e](https://github.com/forcedotcom/sfdx-core/commit/94fdf1ed9ded8f8fbe1a66d55affbd0ac27e79bb)) - - +- type on TokenAccessor.set ([#675](https://github.com/forcedotcom/sfdx-core/issues/675)) ([94fdf1e](https://github.com/forcedotcom/sfdx-core/commit/94fdf1ed9ded8f8fbe1a66d55affbd0ac27e79bb)) ## [3.30.13](https://github.com/forcedotcom/sfdx-core/compare/3.30.12...3.30.13) (2022-10-10) - ### Bug Fixes -* add tooling query support to autoFetchQuery ([#665](https://github.com/forcedotcom/sfdx-core/issues/665)) ([608b119](https://github.com/forcedotcom/sfdx-core/commit/608b11971d893f7417fcfe5f4eea710f38b8e7cf)) - - +- add tooling query support to autoFetchQuery ([#665](https://github.com/forcedotcom/sfdx-core/issues/665)) ([608b119](https://github.com/forcedotcom/sfdx-core/commit/608b11971d893f7417fcfe5f4eea710f38b8e7cf)) ## [3.30.12](https://github.com/forcedotcom/sfdx-core/compare/3.30.11...3.30.12) (2022-10-08) - ### Bug Fixes -* **deps:** bump ts-retry-promise from 0.6.2 to 0.7.0 ([5def87a](https://github.com/forcedotcom/sfdx-core/commit/5def87ae3be6eac81503abfaff96e29ba2c82bdf)) - - +- **deps:** bump ts-retry-promise from 0.6.2 to 0.7.0 ([5def87a](https://github.com/forcedotcom/sfdx-core/commit/5def87ae3be6eac81503abfaff96e29ba2c82bdf)) ## [3.30.11](https://github.com/forcedotcom/sfdx-core/compare/3.30.10...3.30.11) (2022-10-07) - ### Bug Fixes -* update kit, testSetup plus major refactor ([453b886](https://github.com/forcedotcom/sfdx-core/commit/453b8860c16991796252f05a3c933dee1e9d7e3b)) - - +- update kit, testSetup plus major refactor ([453b886](https://github.com/forcedotcom/sfdx-core/commit/453b8860c16991796252f05a3c933dee1e9d7e3b)) ## [3.30.10](https://github.com/forcedotcom/sfdx-core/compare/3.30.9...3.30.10) (2022-10-04) - - ## [3.30.9](https://github.com/forcedotcom/sfdx-core/compare/3.30.8...3.30.9) (2022-09-28) - ### Bug Fixes -* fix package dir functions ([#660](https://github.com/forcedotcom/sfdx-core/issues/660)) ([7df117c](https://github.com/forcedotcom/sfdx-core/commit/7df117c6b5aecf500af82adb52efe5e931fb8718)) - - +- fix package dir functions ([#660](https://github.com/forcedotcom/sfdx-core/issues/660)) ([7df117c](https://github.com/forcedotcom/sfdx-core/commit/7df117c6b5aecf500af82adb52efe5e931fb8718)) ## [3.30.8](https://github.com/forcedotcom/sfdx-core/compare/3.30.7...3.30.8) (2022-09-23) - ### Bug Fixes -* **scratch:** respect `apiVersion` config value ([#656](https://github.com/forcedotcom/sfdx-core/issues/656)) ([1a29482](https://github.com/forcedotcom/sfdx-core/commit/1a294821c07f334494f2e56295dcd1a23570fa4b)) - - +- **scratch:** respect `apiVersion` config value ([#656](https://github.com/forcedotcom/sfdx-core/issues/656)) ([1a29482](https://github.com/forcedotcom/sfdx-core/commit/1a294821c07f334494f2e56295dcd1a23570fa4b)) ## [3.30.7](https://github.com/forcedotcom/sfdx-core/compare/3.30.4...3.30.7) (2022-09-23) - ### Bug Fixes -* force build ([cb0b831](https://github.com/forcedotcom/sfdx-core/commit/cb0b8310ca2b2fc9e537229c0034deb1063c3a34)) -* revert 3.30.4 ([#658](https://github.com/forcedotcom/sfdx-core/issues/658)) ([3ed9565](https://github.com/forcedotcom/sfdx-core/commit/3ed95653fd03f80483d0bbd137697cb7df87ddd8)), closes [#657](https://github.com/forcedotcom/sfdx-core/issues/657) [#655](https://github.com/forcedotcom/sfdx-core/issues/655) - - +- force build ([cb0b831](https://github.com/forcedotcom/sfdx-core/commit/cb0b8310ca2b2fc9e537229c0034deb1063c3a34)) +- revert 3.30.4 ([#658](https://github.com/forcedotcom/sfdx-core/issues/658)) ([3ed9565](https://github.com/forcedotcom/sfdx-core/commit/3ed95653fd03f80483d0bbd137697cb7df87ddd8)), closes [#657](https://github.com/forcedotcom/sfdx-core/issues/657) [#655](https://github.com/forcedotcom/sfdx-core/issues/655) ## [3.30.4](https://github.com/forcedotcom/sfdx-core/compare/3.30.3...3.30.4) (2022-09-23) - ### Bug Fixes -* retire use of pkgdir.name field ([#655](https://github.com/forcedotcom/sfdx-core/issues/655)) ([227f9a8](https://github.com/forcedotcom/sfdx-core/commit/227f9a8663401813b3e8626344fa59464510a732)) - - +- retire use of pkgdir.name field ([#655](https://github.com/forcedotcom/sfdx-core/issues/655)) ([227f9a8](https://github.com/forcedotcom/sfdx-core/commit/227f9a8663401813b3e8626344fa59464510a732)) ## [3.30.3](https://github.com/forcedotcom/sfdx-core/compare/v3.30.2...3.30.3) (2022-09-20) - ### Bug Fixes -* add helper functions to project for pkging ([1ed5563](https://github.com/forcedotcom/sfdx-core/commit/1ed556348cd0cc2f8c9dae7125a12bf177206c5c)) - - +- add helper functions to project for pkging ([1ed5563](https://github.com/forcedotcom/sfdx-core/commit/1ed556348cd0cc2f8c9dae7125a12bf177206c5c)) ## [3.30.2](https://github.com/forcedotcom/sfdx-core/compare/v3.30.1...v3.30.2) (2022-09-16) - ### Bug Fixes -* **logger:** support `SF_*` env vars ([#637](https://github.com/forcedotcom/sfdx-core/issues/637)) ([53c4296](https://github.com/forcedotcom/sfdx-core/commit/53c4296d0ab0728a798e39626a29168371e1a062)) - - +- **logger:** support `SF_*` env vars ([#637](https://github.com/forcedotcom/sfdx-core/issues/637)) ([53c4296](https://github.com/forcedotcom/sfdx-core/commit/53c4296d0ab0728a798e39626a29168371e1a062)) ## [3.30.1](https://github.com/forcedotcom/sfdx-core/compare/v3.30.0...v3.30.1) (2022-09-15) - ### Bug Fixes -* await postOrgCreate hook ([#636](https://github.com/forcedotcom/sfdx-core/issues/636)) ([b9934d2](https://github.com/forcedotcom/sfdx-core/commit/b9934d2df6f5ea49b4f8bae44779aa5cab0e897f)) - - +- await postOrgCreate hook ([#636](https://github.com/forcedotcom/sfdx-core/issues/636)) ([b9934d2](https://github.com/forcedotcom/sfdx-core/commit/b9934d2df6f5ea49b4f8bae44779aa5cab0e897f)) # [3.30.0](https://github.com/forcedotcom/sfdx-core/compare/v3.26.3...v3.30.0) (2022-09-12) - - ## [3.26.3](https://github.com/forcedotcom/sfdx-core/compare/v3.26.2...v3.26.3) (2022-09-06) - - ## [3.26.2](https://github.com/forcedotcom/sfdx-core/compare/v3.26.1...v3.26.2) (2022-08-16) - - ## [3.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.26.0...v3.26.1) (2022-08-08) - ### Bug Fixes -* update jsforce ([0353330](https://github.com/forcedotcom/sfdx-core/commit/03533307f0ea1f8877027a5619c970e1ae2443ec)) - - +- update jsforce ([0353330](https://github.com/forcedotcom/sfdx-core/commit/03533307f0ea1f8877027a5619c970e1ae2443ec)) # [3.26.0](https://github.com/forcedotcom/sfdx-core/compare/v3.25.1...v3.26.0) (2022-08-04) - ### Features -* remove GlobalInfo ([57bd0fa](https://github.com/forcedotcom/sfdx-core/commit/57bd0fa50c5fe3cc859ca107fd0a18dc1b871c1f)) - - +- remove GlobalInfo ([57bd0fa](https://github.com/forcedotcom/sfdx-core/commit/57bd0fa50c5fe3cc859ca107fd0a18dc1b871c1f)) ## [3.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.25.0...v3.25.1) (2022-08-03) - ### Bug Fixes -* add interop between templates config/env var ([eea3d05](https://github.com/forcedotcom/sfdx-core/commit/eea3d055b75ceb61639e06bc53e309a01f70a8e2)) - - +- add interop between templates config/env var ([eea3d05](https://github.com/forcedotcom/sfdx-core/commit/eea3d055b75ceb61639e06bc53e309a01f70a8e2)) # [3.25.0](https://github.com/forcedotcom/sfdx-core/compare/v3.24.5...v3.25.0) (2022-07-29) - ### Features -* orgAccessor.get has throwOnNotFound option ([a2ee821](https://github.com/forcedotcom/sfdx-core/commit/a2ee8219adf692de7de17ba254e05f501ef5814c)) - - +- orgAccessor.get has throwOnNotFound option ([a2ee821](https://github.com/forcedotcom/sfdx-core/commit/a2ee8219adf692de7de17ba254e05f501ef5814c)) ## [3.24.5](https://github.com/forcedotcom/sfdx-core/compare/v3.24.4...v3.24.5) (2022-07-28) - ### Bug Fixes -* set correct file mode for log file ([30aa3fc](https://github.com/forcedotcom/sfdx-core/commit/30aa3fc09ba2bf0db600ee6528fde5b0ff97b217)) - - +- set correct file mode for log file ([30aa3fc](https://github.com/forcedotcom/sfdx-core/commit/30aa3fc09ba2bf0db600ee6528fde5b0ff97b217)) ## [3.24.4](https://github.com/forcedotcom/sfdx-core/compare/v3.24.3...v3.24.4) (2022-07-28) - - ## [3.24.3](https://github.com/forcedotcom/sfdx-core/compare/v3.24.2...v3.24.3) (2022-07-28) - ### Bug Fixes -* handle ancestor keywords when creating scratch org ([72af55a](https://github.com/forcedotcom/sfdx-core/commit/72af55a53b87f1d81d22dc4e53891b3b0ab2966f)) - - +- handle ancestor keywords when creating scratch org ([72af55a](https://github.com/forcedotcom/sfdx-core/commit/72af55a53b87f1d81d22dc4e53891b3b0ab2966f)) ## [3.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.24.1...v3.24.2) (2022-07-26) - ### Bug Fixes -* use correct field for clone requests ([#623](https://github.com/forcedotcom/sfdx-core/issues/623)) ([2372f03](https://github.com/forcedotcom/sfdx-core/commit/2372f0364b87a7ac498c8d7ef637a9b5fdc725ea)) - - +- use correct field for clone requests ([#623](https://github.com/forcedotcom/sfdx-core/issues/623)) ([2372f03](https://github.com/forcedotcom/sfdx-core/commit/2372f0364b87a7ac498c8d7ef637a9b5fdc725ea)) ## [3.24.1](https://github.com/forcedotcom/sfdx-core/compare/v3.24.0...v3.24.1) (2022-07-21) - ### Bug Fixes -* bump jsforce ([#622](https://github.com/forcedotcom/sfdx-core/issues/622)) ([c7b53b7](https://github.com/forcedotcom/sfdx-core/commit/c7b53b73977012f81e029a15f39c3fb35bc1041d)) - - +- bump jsforce ([#622](https://github.com/forcedotcom/sfdx-core/issues/622)) ([c7b53b7](https://github.com/forcedotcom/sfdx-core/commit/c7b53b73977012f81e029a15f39c3fb35bc1041d)) # [3.24.0](https://github.com/forcedotcom/sfdx-core/compare/v3.23.9...v3.24.0) (2022-07-14) - ### Bug Fixes -* align messages/files ([5a5f04d](https://github.com/forcedotcom/sfdx-core/commit/5a5f04d3ea8ffb30fdbbfe2c83824ec56a56ec34)) -* load messages by name ([7c3a2d9](https://github.com/forcedotcom/sfdx-core/commit/7c3a2d9d84f9553bb9cf1bc369b49ca46100484e)) -* use named messages always ([2bb25a9](https://github.com/forcedotcom/sfdx-core/commit/2bb25a9c24fcb7146e363783ea81bc3708060a18)) - +- align messages/files ([5a5f04d](https://github.com/forcedotcom/sfdx-core/commit/5a5f04d3ea8ffb30fdbbfe2c83824ec56a56ec34)) +- load messages by name ([7c3a2d9](https://github.com/forcedotcom/sfdx-core/commit/7c3a2d9d84f9553bb9cf1bc369b49ca46100484e)) +- use named messages always ([2bb25a9](https://github.com/forcedotcom/sfdx-core/commit/2bb25a9c24fcb7146e363783ea81bc3708060a18)) ### Features -* org.scratchOrgCreate uses all options except hub ([045a7aa](https://github.com/forcedotcom/sfdx-core/commit/045a7aa56c97323aa8b3191c4879cd1b43f0cfb1)) - - +- org.scratchOrgCreate uses all options except hub ([045a7aa](https://github.com/forcedotcom/sfdx-core/commit/045a7aa56c97323aa8b3191c4879cd1b43f0cfb1)) ## [3.23.9](https://github.com/forcedotcom/sfdx-core/compare/v3.23.8...v3.23.9) (2022-07-14) - - ## [3.23.8](https://github.com/forcedotcom/sfdx-core/compare/v3.23.7...v3.23.8) (2022-07-13) - ### Bug Fixes -* remove greedy matching for AuthInfo encryptedKeys ([12c6dcc](https://github.com/forcedotcom/sfdx-core/commit/12c6dcc5137a48d59e0da4a20426d8fa2cf747d9)) - - +- remove greedy matching for AuthInfo encryptedKeys ([12c6dcc](https://github.com/forcedotcom/sfdx-core/commit/12c6dcc5137a48d59e0da4a20426d8fa2cf747d9)) ## [3.23.7](https://github.com/forcedotcom/sfdx-core/compare/v3.23.6...v3.23.7) (2022-07-08) - ### Bug Fixes -* add structure writer interface and refactor ([daef19c](https://github.com/forcedotcom/sfdx-core/commit/daef19cb3a4d145ebb22c4f721a1bd47ffddce40)) - - +- add structure writer interface and refactor ([daef19c](https://github.com/forcedotcom/sfdx-core/commit/daef19cb3a4d145ebb22c4f721a1bd47ffddce40)) ## [3.23.6](https://github.com/forcedotcom/sfdx-core/compare/v3.23.5...v3.23.6) (2022-07-06) - ### Bug Fixes -* workaround for jsforce update bug ([1776f50](https://github.com/forcedotcom/sfdx-core/commit/1776f505671a5a764c4e966736c2981df2b178a4)) - - +- workaround for jsforce update bug ([1776f50](https://github.com/forcedotcom/sfdx-core/commit/1776f505671a5a764c4e966736c2981df2b178a4)) ## [3.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.23.4...v3.23.5) (2022-07-06) - ### Bug Fixes -* add resolveAlias ([#605](https://github.com/forcedotcom/sfdx-core/issues/605)) ([ffa9ed6](https://github.com/forcedotcom/sfdx-core/commit/ffa9ed63ea583baa327071db4030ea5346d1128f)) - - +- add resolveAlias ([#605](https://github.com/forcedotcom/sfdx-core/issues/605)) ([ffa9ed6](https://github.com/forcedotcom/sfdx-core/commit/ffa9ed63ea583baa327071db4030ea5346d1128f)) ## [3.23.4](https://github.com/forcedotcom/sfdx-core/compare/v3.23.3...v3.23.4) (2022-07-05) - ### Bug Fixes -* force publish ([3eb660d](https://github.com/forcedotcom/sfdx-core/commit/3eb660dd23ee959e085a9ac3dbd65de92e511d74)) - - +- force publish ([3eb660d](https://github.com/forcedotcom/sfdx-core/commit/3eb660dd23ee959e085a9ac3dbd65de92e511d74)) ## [3.23.3](https://github.com/forcedotcom/sfdx-core/compare/v3.23.2...v3.23.3) (2022-06-30) - ### Bug Fixes -* force publish ([b767232](https://github.com/forcedotcom/sfdx-core/commit/b767232f2f76a4a00387e37128428ad18221a594)) - - +- force publish ([b767232](https://github.com/forcedotcom/sfdx-core/commit/b767232f2f76a4a00387e37128428ad18221a594)) ## [3.23.2](https://github.com/forcedotcom/sfdx-core/compare/v3.23.1...v3.23.2) (2022-06-30) - ### Bug Fixes -* add getter for shape dir name ([#614](https://github.com/forcedotcom/sfdx-core/issues/614)) ([06282d8](https://github.com/forcedotcom/sfdx-core/commit/06282d868b508b2d8417fcd4de404a7863c74b14)) - - +- add getter for shape dir name ([#614](https://github.com/forcedotcom/sfdx-core/issues/614)) ([06282d8](https://github.com/forcedotcom/sfdx-core/commit/06282d868b508b2d8417fcd4de404a7863c74b14)) ## [3.23.1](https://github.com/forcedotcom/sfdx-core/compare/v3.23.0...v3.23.1) (2022-06-30) - ### Bug Fixes -* isScratch should be boolean ([ebda782](https://github.com/forcedotcom/sfdx-core/commit/ebda782bfd4f3927bc12ce4e6402673361ac47d6)) -* update AuthFields type ([766efec](https://github.com/forcedotcom/sfdx-core/commit/766efec26f404cc1f0e4d380d82f4f05aa455e95)) - - +- isScratch should be boolean ([ebda782](https://github.com/forcedotcom/sfdx-core/commit/ebda782bfd4f3927bc12ce4e6402673361ac47d6)) +- update AuthFields type ([766efec](https://github.com/forcedotcom/sfdx-core/commit/766efec26f404cc1f0e4d380d82f4f05aa455e95)) # [3.23.0](https://github.com/forcedotcom/sfdx-core/compare/v3.22.1...v3.23.0) (2022-06-30) - ### Features -* support more enhanced domains, wider test cases ([f1bac94](https://github.com/forcedotcom/sfdx-core/commit/f1bac945d9b135a9a8165260b95f7de5568ccca6)) - - +- support more enhanced domains, wider test cases ([f1bac94](https://github.com/forcedotcom/sfdx-core/commit/f1bac945d9b135a9a8165260b95f7de5568ccca6)) ## [3.22.1](https://github.com/forcedotcom/sfdx-core/compare/v3.22.0...v3.22.1) (2022-06-28) - ### Bug Fixes -* encrypted key regex tests will no longer be stateful ([06b7fa2](https://github.com/forcedotcom/sfdx-core/commit/06b7fa2f41401155b472c84f13cbf5608150a43e)) -* update dev-scripts so yarn build won't change line endings for LICENSE.txt on Windows ([ec5e48e](https://github.com/forcedotcom/sfdx-core/commit/ec5e48ee1dab2b3999f630aa56c53d353baa717e)) - - +- encrypted key regex tests will no longer be stateful ([06b7fa2](https://github.com/forcedotcom/sfdx-core/commit/06b7fa2f41401155b472c84f13cbf5608150a43e)) +- update dev-scripts so yarn build won't change line endings for LICENSE.txt on Windows ([ec5e48e](https://github.com/forcedotcom/sfdx-core/commit/ec5e48ee1dab2b3999f630aa56c53d353baa717e)) # [3.22.0](https://github.com/forcedotcom/sfdx-core/compare/v3.21.6...v3.22.0) (2022-06-23) - ### Features -* modify uniqid to accept length and template ([#604](https://github.com/forcedotcom/sfdx-core/issues/604)) ([1fd1b5c](https://github.com/forcedotcom/sfdx-core/commit/1fd1b5c40ab7f9b4d66eada94f3ecfa149b263b7)) - - +- modify uniqid to accept length and template ([#604](https://github.com/forcedotcom/sfdx-core/issues/604)) ([1fd1b5c](https://github.com/forcedotcom/sfdx-core/commit/1fd1b5c40ab7f9b4d66eada94f3ecfa149b263b7)) ## [3.21.6](https://github.com/forcedotcom/sfdx-core/compare/v3.21.5...v3.21.6) (2022-06-23) - - ## [3.21.5](https://github.com/forcedotcom/sfdx-core/compare/v3.21.4...v3.21.5) (2022-06-23) - ### Bug Fixes -* bump jsforce ([b1e8604](https://github.com/forcedotcom/sfdx-core/commit/b1e8604203b09df7b252fd6520fb73405e287aa4)) - - +- bump jsforce ([b1e8604](https://github.com/forcedotcom/sfdx-core/commit/b1e8604203b09df7b252fd6520fb73405e287aa4)) ## [3.21.4](https://github.com/forcedotcom/sfdx-core/compare/v3.21.3...v3.21.4) (2022-06-22) - ### Bug Fixes -* cause release for jsforce again ([0700356](https://github.com/forcedotcom/sfdx-core/commit/0700356759506fce59b426e84fefbe85ae2f247e)) - - +- cause release for jsforce again ([0700356](https://github.com/forcedotcom/sfdx-core/commit/0700356759506fce59b426e84fefbe85ae2f247e)) ## [3.21.3](https://github.com/forcedotcom/sfdx-core/compare/v3.21.2...v3.21.3) (2022-06-22) - ### Bug Fixes -* jsforce autofech fix 2 ([3865af9](https://github.com/forcedotcom/sfdx-core/commit/3865af9c607a8739ce6b04a166b746d7057f064c)) - - +- jsforce autofech fix 2 ([3865af9](https://github.com/forcedotcom/sfdx-core/commit/3865af9c607a8739ce6b04a166b746d7057f064c)) ## [3.21.2](https://github.com/forcedotcom/sfdx-core/compare/v3.21.1...v3.21.2) (2022-06-21) - ### Bug Fixes -* bump jsforce to latest v2 ([8a05add](https://github.com/forcedotcom/sfdx-core/commit/8a05add08c78f2bc3b6e6c30d4f1763e9fda24b0)) - - +- bump jsforce to latest v2 ([8a05add](https://github.com/forcedotcom/sfdx-core/commit/8a05add08c78f2bc3b6e6c30d4f1763e9fda24b0)) ## [3.21.1](https://github.com/forcedotcom/sfdx-core/compare/v3.21.0...v3.21.1) (2022-06-15) - ### Bug Fixes -* deprecate maxQueryLimit config var ([48105be](https://github.com/forcedotcom/sfdx-core/commit/48105bedf01d69b38a7fa527ad74c78053f7d4ef)) - - +- deprecate maxQueryLimit config var ([48105be](https://github.com/forcedotcom/sfdx-core/commit/48105bedf01d69b38a7fa527ad74c78053f7d4ef)) # [3.21.0](https://github.com/forcedotcom/sfdx-core/compare/v3.20.3...v3.21.0) (2022-06-15) - ### Features -* add getConnection method to MockTestOrgData ([#600](https://github.com/forcedotcom/sfdx-core/issues/600)) ([a642f28](https://github.com/forcedotcom/sfdx-core/commit/a642f28dc1179552ba5c646c96d2d55f5b6f3f61)) - - +- add getConnection method to MockTestOrgData ([#600](https://github.com/forcedotcom/sfdx-core/issues/600)) ([a642f28](https://github.com/forcedotcom/sfdx-core/commit/a642f28dc1179552ba5c646c96d2d55f5b6f3f61)) ## [3.20.3](https://github.com/forcedotcom/sfdx-core/compare/v3.20.2...v3.20.3) (2022-06-15) - ### Bug Fixes -* **url:** support sandboxes with enhanced domains enabled ([7c958d1](https://github.com/forcedotcom/sfdx-core/commit/7c958d1f59efc6ef55a7b4c60126603616b21794)) - - +- **url:** support sandboxes with enhanced domains enabled ([7c958d1](https://github.com/forcedotcom/sfdx-core/commit/7c958d1f59efc6ef55a7b4c60126603616b21794)) ## [3.20.2](https://github.com/forcedotcom/sfdx-core/compare/v3.20.1...v3.20.2) (2022-06-13) - ### Bug Fixes -* instanceUrl config now using org-instance-url ([54cb450](https://github.com/forcedotcom/sfdx-core/commit/54cb450c53f3db5352d9f0fdb83d33dce1da728e)) - - +- instanceUrl config now using org-instance-url ([54cb450](https://github.com/forcedotcom/sfdx-core/commit/54cb450c53f3db5352d9f0fdb83d33dce1da728e)) ## [3.20.1](https://github.com/forcedotcom/sfdx-core/compare/v3.19.5...v3.20.1) (2022-06-08) - ### Features -* cause a publish from previous skip ([069c366](https://github.com/forcedotcom/sfdx-core/commit/069c36646f5dc10a4172868ef7b5f9cd82ef7503)) -* safer caching for nuts ([fa0af41](https://github.com/forcedotcom/sfdx-core/commit/fa0af41451a4363c84e9713685c8ece439acf3bc)) - - +- cause a publish from previous skip ([069c366](https://github.com/forcedotcom/sfdx-core/commit/069c36646f5dc10a4172868ef7b5f9cd82ef7503)) +- safer caching for nuts ([fa0af41](https://github.com/forcedotcom/sfdx-core/commit/fa0af41451a4363c84e9713685c8ece439acf3bc)) ## [3.19.5](https://github.com/forcedotcom/sfdx-core/compare/v3.19.4...v3.19.5) (2022-06-06) - ### Bug Fixes -* update `NamedOrgNotFound` err name ([6a6a627](https://github.com/forcedotcom/sfdx-core/commit/6a6a62782046858c062ecb24a1d28631ea1f3bbe)) - - +- update `NamedOrgNotFound` err name ([6a6a627](https://github.com/forcedotcom/sfdx-core/commit/6a6a62782046858c062ecb24a1d28631ea1f3bbe)) ## [3.19.4](https://github.com/forcedotcom/sfdx-core/compare/v3.19.3...v3.19.4) (2022-06-06) - ### Bug Fixes -* add stat method to OrgAccessor ([f4e297c](https://github.com/forcedotcom/sfdx-core/commit/f4e297c576647b32be62621377d6e3fc5c8dc5f1)) - - +- add stat method to OrgAccessor ([f4e297c](https://github.com/forcedotcom/sfdx-core/commit/f4e297c576647b32be62621377d6e3fc5c8dc5f1)) ## [3.19.3](https://github.com/forcedotcom/sfdx-core/compare/v3.19.2...v3.19.3) (2022-06-06) - - ## [3.19.2](https://github.com/forcedotcom/sfdx-core/compare/v3.19.1...v3.19.2) (2022-06-02) - ### Bug Fixes -* loosen audience url determination ([#588](https://github.com/forcedotcom/sfdx-core/issues/588)) ([a58ab89](https://github.com/forcedotcom/sfdx-core/commit/a58ab89e2ada34fbdb6d8c72d88966a5281db60b)) - - +- loosen audience url determination ([#588](https://github.com/forcedotcom/sfdx-core/issues/588)) ([a58ab89](https://github.com/forcedotcom/sfdx-core/commit/a58ab89e2ada34fbdb6d8c72d88966a5281db60b)) ## [3.19.1](https://github.com/forcedotcom/sfdx-core/compare/v3.19.0...v3.19.1) (2022-05-27) - ### Bug Fixes -* env var resolution in ConfigAggregator ([#590](https://github.com/forcedotcom/sfdx-core/issues/590)) ([a65cfbd](https://github.com/forcedotcom/sfdx-core/commit/a65cfbdd0e2a6c3806aa4da3270b237f68b37133)) - - +- env var resolution in ConfigAggregator ([#590](https://github.com/forcedotcom/sfdx-core/issues/590)) ([a65cfbd](https://github.com/forcedotcom/sfdx-core/commit/a65cfbdd0e2a6c3806aa4da3270b237f68b37133)) # [3.19.0](https://github.com/forcedotcom/sfdx-core/compare/v3.18.3...v3.19.0) (2022-05-20) - ### Features -* missing prop and logic correction ([debe97e](https://github.com/forcedotcom/sfdx-core/commit/debe97e08f54bbd55edd2cb5b18e9d14abd3652f)) -* property on org with inteligent defaults and handling of undefined ([e7295d3](https://github.com/forcedotcom/sfdx-core/commit/e7295d38f2b8defdb54a77e61b4ef8862e5398f9)) -* tracking property on AuthFields ([2243d34](https://github.com/forcedotcom/sfdx-core/commit/2243d345c5cc81bd637c889adbe1db6eae6c93fc)) -* tracksSource in TestSetup mock ([7544c60](https://github.com/forcedotcom/sfdx-core/commit/7544c604bd4a32d21d105e8472f41b2d37fbf601)) - - +- missing prop and logic correction ([debe97e](https://github.com/forcedotcom/sfdx-core/commit/debe97e08f54bbd55edd2cb5b18e9d14abd3652f)) +- property on org with inteligent defaults and handling of undefined ([e7295d3](https://github.com/forcedotcom/sfdx-core/commit/e7295d38f2b8defdb54a77e61b4ef8862e5398f9)) +- tracking property on AuthFields ([2243d34](https://github.com/forcedotcom/sfdx-core/commit/2243d345c5cc81bd637c889adbe1db6eae6c93fc)) +- tracksSource in TestSetup mock ([7544c60](https://github.com/forcedotcom/sfdx-core/commit/7544c604bd4a32d21d105e8472f41b2d37fbf601)) ## [3.18.3](https://github.com/forcedotcom/sfdx-core/compare/v3.18.2...v3.18.3) (2022-05-20) - - ## [3.18.2](https://github.com/forcedotcom/sfdx-core/compare/v3.18.1...v3.18.2) (2022-05-17) - ### Bug Fixes -* remove unreachable code ([#585](https://github.com/forcedotcom/sfdx-core/issues/585)) ([2a6d611](https://github.com/forcedotcom/sfdx-core/commit/2a6d611a9ded7d4a0718864ca4023a0f7f259e8a)) - - +- remove unreachable code ([#585](https://github.com/forcedotcom/sfdx-core/issues/585)) ([2a6d611](https://github.com/forcedotcom/sfdx-core/commit/2a6d611a9ded7d4a0718864ca4023a0f7f259e8a)) ## [3.18.1](https://github.com/forcedotcom/sfdx-core/compare/v3.18.0...v3.18.1) (2022-05-16) - - # [3.18.0](https://github.com/forcedotcom/sfdx-core/compare/v3.17.0...v3.18.0) (2022-05-12) - ### Features -* bump jsforce for metadata rest api ([#583](https://github.com/forcedotcom/sfdx-core/issues/583)) ([6addcfd](https://github.com/forcedotcom/sfdx-core/commit/6addcfd9b2bd480974f6c965b4d04c610a38f2db)) - - +- bump jsforce for metadata rest api ([#583](https://github.com/forcedotcom/sfdx-core/issues/583)) ([6addcfd](https://github.com/forcedotcom/sfdx-core/commit/6addcfd9b2bd480974f6c965b4d04c610a38f2db)) # [3.17.0](https://github.com/forcedotcom/sfdx-core/compare/v3.16.2...v3.17.0) (2022-05-12) - ### Features -* sandboxStatus for v3 ([#571](https://github.com/forcedotcom/sfdx-core/issues/571)) ([60a004b](https://github.com/forcedotcom/sfdx-core/commit/60a004b663d918ec8b37d6ded7ddf12ce112b7f8)) - - +- sandboxStatus for v3 ([#571](https://github.com/forcedotcom/sfdx-core/issues/571)) ([60a004b](https://github.com/forcedotcom/sfdx-core/commit/60a004b663d918ec8b37d6ded7ddf12ce112b7f8)) ## [3.16.2](https://github.com/forcedotcom/sfdx-core/compare/v3.16.1...v3.16.2) (2022-05-11) - - ## [3.16.1](https://github.com/forcedotcom/sfdx-core/compare/v3.16.0...v3.16.1) (2022-05-11) - ### Bug Fixes -* homedir can change after Core loads ([bb1e4f5](https://github.com/forcedotcom/sfdx-core/commit/bb1e4f5b1f59269f6d48a5389b1d76eeee252db0)) - - +- homedir can change after Core loads ([bb1e4f5](https://github.com/forcedotcom/sfdx-core/commit/bb1e4f5b1f59269f6d48a5389b1d76eeee252db0)) # [3.16.0](https://github.com/forcedotcom/sfdx-core/compare/v3.15.5...v3.16.0) (2022-05-04) - ### Bug Fixes -* disable schemaValidation ([#578](https://github.com/forcedotcom/sfdx-core/issues/578)) ([9b60cb4](https://github.com/forcedotcom/sfdx-core/commit/9b60cb4dd3181f0bfbafadb72bcd0904e851084f)) - +- disable schemaValidation ([#578](https://github.com/forcedotcom/sfdx-core/issues/578)) ([9b60cb4](https://github.com/forcedotcom/sfdx-core/commit/9b60cb4dd3181f0bfbafadb72bcd0904e851084f)) ### Features -* force v3 release ([05620c8](https://github.com/forcedotcom/sfdx-core/commit/05620c80256052a1b814b631e9afd951d63bea9e)) - - +- force v3 release ([05620c8](https://github.com/forcedotcom/sfdx-core/commit/05620c80256052a1b814b631e9afd951d63bea9e)) ## [3.15.5](https://github.com/forcedotcom/sfdx-core/compare/v3.15.4...v3.15.5) (2022-05-03) - ### Bug Fixes -* SfdxConfigAggregator ([238ad07](https://github.com/forcedotcom/sfdx-core/commit/238ad0757cc332ecc1897bd7230140a31a559332)) - - +- SfdxConfigAggregator ([238ad07](https://github.com/forcedotcom/sfdx-core/commit/238ad0757cc332ecc1897bd7230140a31a559332)) ## [3.15.4](https://github.com/forcedotcom/sfdx-core/compare/v3.15.3...v3.15.4) (2022-05-03) - ### Bug Fixes -* SfdxConfigAggregator ([#576](https://github.com/forcedotcom/sfdx-core/issues/576)) ([9a25928](https://github.com/forcedotcom/sfdx-core/commit/9a259282efd3d2d97da42a54fd76c45d7f73df27)) - - +- SfdxConfigAggregator ([#576](https://github.com/forcedotcom/sfdx-core/issues/576)) ([9a25928](https://github.com/forcedotcom/sfdx-core/commit/9a259282efd3d2d97da42a54fd76c45d7f73df27)) ## [3.15.3](https://github.com/forcedotcom/sfdx-core/compare/v3.15.2...v3.15.3) (2022-05-02) - ### Bug Fixes -* SfdxConfigAggregator ([6ee1437](https://github.com/forcedotcom/sfdx-core/commit/6ee14378f10df123ac38325853bc3b83d4d953bd)) - - +- SfdxConfigAggregator ([6ee1437](https://github.com/forcedotcom/sfdx-core/commit/6ee14378f10df123ac38325853bc3b83d4d953bd)) ## [3.15.2](https://github.com/forcedotcom/sfdx-core/compare/v3.15.1...v3.15.2) (2022-05-02) - ### Bug Fixes -* allow ConfigAggregator to accept custom config vars ([#575](https://github.com/forcedotcom/sfdx-core/issues/575)) ([2642128](https://github.com/forcedotcom/sfdx-core/commit/264212898cf14d8f34638926841ace89abf7efb0)) - - +- allow ConfigAggregator to accept custom config vars ([#575](https://github.com/forcedotcom/sfdx-core/issues/575)) ([2642128](https://github.com/forcedotcom/sfdx-core/commit/264212898cf14d8f34638926841ace89abf7efb0)) ## [3.15.1](https://github.com/forcedotcom/sfdx-core/compare/v3.15.0...v3.15.1) (2022-04-28) - ### Bug Fixes -* replace jsen ([664da58](https://github.com/forcedotcom/sfdx-core/commit/664da58cbe06019465ccf70ed17dfafb2425e06b)) - - +- replace jsen ([664da58](https://github.com/forcedotcom/sfdx-core/commit/664da58cbe06019465ccf70ed17dfafb2425e06b)) # [3.15.0](https://github.com/forcedotcom/sfdx-core/compare/v3.14.0...v3.15.0) (2022-04-26) - ### Features -* core changes to support create scratch and sandboxes ([#570](https://github.com/forcedotcom/sfdx-core/issues/570)) ([916eeb1](https://github.com/forcedotcom/sfdx-core/commit/916eeb1f96bebd5dce255f13c838ac0b10bf5b96)) - - +- core changes to support create scratch and sandboxes ([#570](https://github.com/forcedotcom/sfdx-core/issues/570)) ([916eeb1](https://github.com/forcedotcom/sfdx-core/commit/916eeb1f96bebd5dce255f13c838ac0b10bf5b96)) # [3.14.0](https://github.com/forcedotcom/sfdx-core/compare/v3.13.1...v3.14.0) (2022-04-25) - ### Features -* add SfdxConfigAggregator ([#563](https://github.com/forcedotcom/sfdx-core/issues/563)) ([cd4debd](https://github.com/forcedotcom/sfdx-core/commit/cd4debdc99046580090b5d21bbd9da9030822d4a)) - - +- add SfdxConfigAggregator ([#563](https://github.com/forcedotcom/sfdx-core/issues/563)) ([cd4debd](https://github.com/forcedotcom/sfdx-core/commit/cd4debdc99046580090b5d21bbd9da9030822d4a)) ## [3.13.1](https://github.com/forcedotcom/sfdx-core/compare/v3.13.0...v3.13.1) (2022-04-21) - ### Bug Fixes -* log rotation errors ([#564](https://github.com/forcedotcom/sfdx-core/issues/564)) ([8a4c9de](https://github.com/forcedotcom/sfdx-core/commit/8a4c9de85840ae0efa0ee8a27494d63a61545da5)) - - +- log rotation errors ([#564](https://github.com/forcedotcom/sfdx-core/issues/564)) ([8a4c9de](https://github.com/forcedotcom/sfdx-core/commit/8a4c9de85840ae0efa0ee8a27494d63a61545da5)) # [3.13.0](https://github.com/forcedotcom/sfdx-core/compare/v3.12.2...v3.13.0) (2022-04-20) - ### Features -* detect if org is a devhub at auth time ([#560](https://github.com/forcedotcom/sfdx-core/issues/560)) ([958e2e7](https://github.com/forcedotcom/sfdx-core/commit/958e2e7317e670b738b3e7c82260ef741e1416d2)) - - +- detect if org is a devhub at auth time ([#560](https://github.com/forcedotcom/sfdx-core/issues/560)) ([958e2e7](https://github.com/forcedotcom/sfdx-core/commit/958e2e7317e670b738b3e7c82260ef741e1416d2)) ## [3.12.2](https://github.com/forcedotcom/sfdx-core/compare/v3.12.1...v3.12.2) (2022-04-14) - ### Bug Fixes -* sandbox cname recognition ([#556](https://github.com/forcedotcom/sfdx-core/issues/556)) ([2f85709](https://github.com/forcedotcom/sfdx-core/commit/2f8570912cae38fb0ddeaa37836395444c47611a)) - - +- sandbox cname recognition ([#556](https://github.com/forcedotcom/sfdx-core/issues/556)) ([2f85709](https://github.com/forcedotcom/sfdx-core/commit/2f8570912cae38fb0ddeaa37836395444c47611a)) ## [3.12.1](https://github.com/forcedotcom/sfdx-core/compare/v3.12.0...v3.12.1) (2022-04-05) - ### Bug Fixes -* more FormData with buffers and headers ([5ebf78f](https://github.com/forcedotcom/sfdx-core/commit/5ebf78fe2b037df395c87197b90ee06a0d34d5d0)) - - +- more FormData with buffers and headers ([5ebf78f](https://github.com/forcedotcom/sfdx-core/commit/5ebf78fe2b037df395c87197b90ee06a0d34d5d0)) # [3.12.0](https://github.com/forcedotcom/sfdx-core/compare/v3.11.1...v3.12.0) (2022-04-04) - ### Features -* move common authinfo utils to core ([01b8cf3](https://github.com/forcedotcom/sfdx-core/commit/01b8cf3fa38162380da5ce15f6dee1d2a5d2d72d)) - - +- move common authinfo utils to core ([01b8cf3](https://github.com/forcedotcom/sfdx-core/commit/01b8cf3fa38162380da5ce15f6dee1d2a5d2d72d)) ## [3.11.1](https://github.com/forcedotcom/sfdx-core/compare/v3.11.0...v3.11.1) (2022-04-01) - - # [3.11.0](https://github.com/forcedotcom/sfdx-core/compare/v3.10.1...v3.11.0) (2022-03-30) - ### Features -* normalize config vars for sf ([#543](https://github.com/forcedotcom/sfdx-core/issues/543)) ([93f3cbe](https://github.com/forcedotcom/sfdx-core/commit/93f3cbe90103fa159f21f532ffc173931037651c)) - - +- normalize config vars for sf ([#543](https://github.com/forcedotcom/sfdx-core/issues/543)) ([93f3cbe](https://github.com/forcedotcom/sfdx-core/commit/93f3cbe90103fa159f21f532ffc173931037651c)) ## [3.10.1](https://github.com/forcedotcom/sfdx-core/compare/v3.10.0...v3.10.1) (2022-03-24) - ### Bug Fixes -* rotating file logs ([ef5df25](https://github.com/forcedotcom/sfdx-core/commit/ef5df25c17a67541d12d5c228c18b75775251d98)) - - +- rotating file logs ([ef5df25](https://github.com/forcedotcom/sfdx-core/commit/ef5df25c17a67541d12d5c228c18b75775251d98)) # [3.10.0](https://github.com/forcedotcom/sfdx-core/compare/v3.9.0...v3.10.0) (2022-03-23) - ### Bug Fixes -* casing typo for import ([066a2bb](https://github.com/forcedotcom/sfdx-core/commit/066a2bbb37b07f62415f021ef511344976315128)) -* warnings about tracking aren't a throw (org will still auth, default) ([38114a3](https://github.com/forcedotcom/sfdx-core/commit/38114a3526267a615fa8f5d3470b79c9b36a8fa8)) - +- casing typo for import ([066a2bb](https://github.com/forcedotcom/sfdx-core/commit/066a2bbb37b07f62415f021ef511344976315128)) +- warnings about tracking aren't a throw (org will still auth, default) ([38114a3](https://github.com/forcedotcom/sfdx-core/commit/38114a3526267a615fa8f5d3470b79c9b36a8fa8)) ### Features -* lifecycle events for scratch org create ([cba673b](https://github.com/forcedotcom/sfdx-core/commit/cba673b515df311165f3c392b155fcf5fbf9e2c6)) -* scratch org lifecycle events ([541349d](https://github.com/forcedotcom/sfdx-core/commit/541349d84b4784356d8bc504d1e331450487b6ec)) - - +- lifecycle events for scratch org create ([cba673b](https://github.com/forcedotcom/sfdx-core/commit/cba673b515df311165f3c392b155fcf5fbf9e2c6)) +- scratch org lifecycle events ([541349d](https://github.com/forcedotcom/sfdx-core/commit/541349d84b4784356d8bc504d1e331450487b6ec)) # [3.9.0](https://github.com/forcedotcom/sfdx-core/compare/v3.8.1...v3.9.0) (2022-03-21) - ### Features -* add TTLConfig ([#538](https://github.com/forcedotcom/sfdx-core/issues/538)) ([e623241](https://github.com/forcedotcom/sfdx-core/commit/e623241c7e513778c8f179dde4dc16e603a3778c)) - - +- add TTLConfig ([#538](https://github.com/forcedotcom/sfdx-core/issues/538)) ([e623241](https://github.com/forcedotcom/sfdx-core/commit/e623241c7e513778c8f179dde4dc16e603a3778c)) ## [3.8.1](https://github.com/forcedotcom/sfdx-core/compare/v3.8.0...v3.8.1) (2022-03-18) - ### Bug Fixes -* adjust mock org test data to conform to v3 ([38faf50](https://github.com/forcedotcom/sfdx-core/commit/38faf5063931955066312c24b4188b12c40098a5)) -* side effects function should not save when no changes ([#541](https://github.com/forcedotcom/sfdx-core/issues/541)) ([6bfb841](https://github.com/forcedotcom/sfdx-core/commit/6bfb84172fdf74882102b9ffc6e6fbfe58e6ffbc)) - - +- adjust mock org test data to conform to v3 ([38faf50](https://github.com/forcedotcom/sfdx-core/commit/38faf5063931955066312c24b4188b12c40098a5)) +- side effects function should not save when no changes ([#541](https://github.com/forcedotcom/sfdx-core/issues/541)) ([6bfb841](https://github.com/forcedotcom/sfdx-core/commit/6bfb84172fdf74882102b9ffc6e6fbfe58e6ffbc)) # [3.8.0](https://github.com/forcedotcom/sfdx-core/compare/v3.7.9...v3.8.0) (2022-03-09) - ### Features -* add handle side effect function to authinfo ([64c78e7](https://github.com/forcedotcom/sfdx-core/commit/64c78e74bc5e1cfb748fd2d64e4b1e8fc1062bf6)) - - +- add handle side effect function to authinfo ([64c78e7](https://github.com/forcedotcom/sfdx-core/commit/64c78e74bc5e1cfb748fd2d64e4b1e8fc1062bf6)) ## [3.7.9](https://github.com/forcedotcom/sfdx-core/compare/v3.7.8...v3.7.9) (2022-03-04) - ### Bug Fixes -* error literal to match the error thrown ([#533](https://github.com/forcedotcom/sfdx-core/issues/533)) ([b91ce5c](https://github.com/forcedotcom/sfdx-core/commit/b91ce5c329c9b2b88fb4b0ad028aee5f6d5b6e77)) - - +- error literal to match the error thrown ([#533](https://github.com/forcedotcom/sfdx-core/issues/533)) ([b91ce5c](https://github.com/forcedotcom/sfdx-core/commit/b91ce5c329c9b2b88fb4b0ad028aee5f6d5b6e77)) ## [3.7.8](https://github.com/forcedotcom/sfdx-core/compare/v3.7.7...v3.7.8) (2022-03-03) - ### Bug Fixes -* add create warning and info convenience functions ([#526](https://github.com/forcedotcom/sfdx-core/issues/526)) ([e3428b3](https://github.com/forcedotcom/sfdx-core/commit/e3428b35e00b9cee3c90153ed6ce08b352535ff7)) - - +- add create warning and info convenience functions ([#526](https://github.com/forcedotcom/sfdx-core/issues/526)) ([e3428b3](https://github.com/forcedotcom/sfdx-core/commit/e3428b35e00b9cee3c90153ed6ce08b352535ff7)) ## [3.7.7](https://github.com/forcedotcom/sfdx-core/compare/v3.7.6...v3.7.7) (2022-03-01) - - ## [3.7.6](https://github.com/forcedotcom/sfdx-core/compare/v4.0.0...v3.7.6) (2022-02-28) - - # [4.0.0](https://github.com/forcedotcom/sfdx-core/compare/v2.35.2...v4.0.0) (2022-02-28) - - ## [3.7.5](https://github.com/forcedotcom/sfdx-core/compare/v2.35.1...v3.7.5) (2022-02-14) - ### Bug Fixes -* add env vars from sfdx-cli init to envvars ([#520](https://github.com/forcedotcom/sfdx-core/issues/520)) ([8ef2785](https://github.com/forcedotcom/sfdx-core/commit/8ef27859d95bfffc5999b14f4792874d04f0504c)) - - +- add env vars from sfdx-cli init to envvars ([#520](https://github.com/forcedotcom/sfdx-core/issues/520)) ([8ef2785](https://github.com/forcedotcom/sfdx-core/commit/8ef27859d95bfffc5999b14f4792874d04f0504c)) ## [3.7.4](https://github.com/forcedotcom/sfdx-core/compare/v2.35.0...v3.7.4) (2022-02-07) - ### Bug Fixes -* pin ts to 4.4.4 and bump other deps ([#509](https://github.com/forcedotcom/sfdx-core/issues/509)) ([1c0e15c](https://github.com/forcedotcom/sfdx-core/commit/1c0e15cd9a96f03e24476c13d73b62577a535fa3)) - - +- pin ts to 4.4.4 and bump other deps ([#509](https://github.com/forcedotcom/sfdx-core/issues/509)) ([1c0e15c](https://github.com/forcedotcom/sfdx-core/commit/1c0e15cd9a96f03e24476c13d73b62577a535fa3)) ## [3.7.3](https://github.com/forcedotcom/sfdx-core/compare/v2.33.1...v3.7.3) (2021-12-16) - - ## [3.7.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.1...v3.7.2) (2021-10-28) - ### Bug Fixes -* make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) - - +- make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) ## [3.7.1](https://github.com/forcedotcom/sfdx-core/compare/v2.28.2...v3.7.1) (2021-10-28) - - # [3.7.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.6...v3.7.0) (2021-10-12) - ### Features -* use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) - - +- use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) ## [3.6.6](https://github.com/forcedotcom/sfdx-core/compare/v2.28.1...v3.6.6) (2021-10-08) - - ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.35.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.5...v2.35.2) (2022-02-16) - ### Bug Fixes -* network error tolerance ([#517](https://github.com/forcedotcom/sfdx-core/issues/517)) ([676ebfe](https://github.com/forcedotcom/sfdx-core/commit/676ebfe58b13826b53f461b2fef321c21f583004)) - - +- network error tolerance ([#517](https://github.com/forcedotcom/sfdx-core/issues/517)) ([676ebfe](https://github.com/forcedotcom/sfdx-core/commit/676ebfe58b13826b53f461b2fef321c21f583004)) ## [2.35.1](https://github.com/forcedotcom/sfdx-core/compare/v3.7.4...v2.35.1) (2022-02-10) - ### Bug Fixes -* add error message on failed settings deploy ([e218b1e](https://github.com/forcedotcom/sfdx-core/commit/e218b1e40414ea9e4fec256b74224626d96eff4a)) -* prefer instanceUrl for loginUrl on user:create ([#518](https://github.com/forcedotcom/sfdx-core/issues/518)) ([c070a87](https://github.com/forcedotcom/sfdx-core/commit/c070a871861409dea722e85845eeb91f262ab66f)) - - +- add error message on failed settings deploy ([e218b1e](https://github.com/forcedotcom/sfdx-core/commit/e218b1e40414ea9e4fec256b74224626d96eff4a)) +- prefer instanceUrl for loginUrl on user:create ([#518](https://github.com/forcedotcom/sfdx-core/issues/518)) ([c070a87](https://github.com/forcedotcom/sfdx-core/commit/c070a871861409dea722e85845eeb91f262ab66f)) # [2.35.0](https://github.com/forcedotcom/sfdx-core/compare/v2.34.2...v2.35.0) (2022-01-25) - ### Bug Fixes -* jsforce dep and pjson version realign ([#516](https://github.com/forcedotcom/sfdx-core/issues/516)) ([9f35f2f](https://github.com/forcedotcom/sfdx-core/commit/9f35f2f0ce30e996a0b4c88461c2babb536c33f7)) - - +- jsforce dep and pjson version realign ([#516](https://github.com/forcedotcom/sfdx-core/issues/516)) ([9f35f2f](https://github.com/forcedotcom/sfdx-core/commit/9f35f2f0ce30e996a0b4c88461c2babb536c33f7)) ## [2.34.2](https://github.com/forcedotcom/sfdx-core/compare/v2.33.2...v2.34.2) (2022-01-25) - - ## [2.33.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.3...v2.33.2) (2022-01-25) - ### Bug Fixes -* correct import declaration ([4c69d2d](https://github.com/forcedotcom/sfdx-core/commit/4c69d2dc3370c5f920becfe260ccb178279e4d92)) -* exit deploy loop with error on status SucceededPartial ([492e891](https://github.com/forcedotcom/sfdx-core/commit/492e89184e4c865cc7fcf7df41b9c6af6a6f2237)) -* refresh auth on a connection, too ([ff32a70](https://github.com/forcedotcom/sfdx-core/commit/ff32a705d87d6e410d06597eefa407b54eeb215d)) -* remove unwanted dep ([12ccc3a](https://github.com/forcedotcom/sfdx-core/commit/12ccc3adc0efbe687059187ab4d849b1741c823d)) -* save auth info ([226bbd2](https://github.com/forcedotcom/sfdx-core/commit/226bbd2dc09a7a8df5887c0ae7548c83ae19b748)) - - +- correct import declaration ([4c69d2d](https://github.com/forcedotcom/sfdx-core/commit/4c69d2dc3370c5f920becfe260ccb178279e4d92)) +- exit deploy loop with error on status SucceededPartial ([492e891](https://github.com/forcedotcom/sfdx-core/commit/492e89184e4c865cc7fcf7df41b9c6af6a6f2237)) +- refresh auth on a connection, too ([ff32a70](https://github.com/forcedotcom/sfdx-core/commit/ff32a705d87d6e410d06597eefa407b54eeb215d)) +- remove unwanted dep ([12ccc3a](https://github.com/forcedotcom/sfdx-core/commit/12ccc3adc0efbe687059187ab4d849b1741c823d)) +- save auth info ([226bbd2](https://github.com/forcedotcom/sfdx-core/commit/226bbd2dc09a7a8df5887c0ae7548c83ae19b748)) ## [2.33.1](https://github.com/forcedotcom/sfdx-core/compare/v2.33.0...v2.33.1) (2021-12-15) - ### Bug Fixes -* faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) - - +- faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) # [2.33.0](https://github.com/forcedotcom/sfdx-core/compare/v2.32.0...v2.33.0) (2021-12-14) - ### Features -* sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) - - +- sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) # [2.32.0](https://github.com/forcedotcom/sfdx-core/compare/v2.31.1...v2.32.0) (2021-12-14) - ### Bug Fixes -* no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) -* remove redundant warnings about no listerners on warnings ([7a5bd23](https://github.com/forcedotcom/sfdx-core/commit/7a5bd2390713da929e886f41d9dcbc811104f99a)) - +- no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) +- remove redundant warnings about no listerners on warnings ([7a5bd23](https://github.com/forcedotcom/sfdx-core/commit/7a5bd2390713da929e886f41d9dcbc811104f99a)) ### Features -* switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) - +- switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) ### Reverts -* Revert "test: added basic tests for settings" ([28e656c](https://github.com/forcedotcom/sfdx-core/commit/28e656ce6f8b8461dbc866474137829941a7bde0)) - - +- Revert "test: added basic tests for settings" ([28e656c](https://github.com/forcedotcom/sfdx-core/commit/28e656ce6f8b8461dbc866474137829941a7bde0)) ## [2.31.1](https://github.com/forcedotcom/sfdx-core/compare/v2.31.0...v2.31.1) (2021-12-06) - - # [2.31.0](https://github.com/forcedotcom/sfdx-core/compare/v2.30.1...v2.31.0) (2021-11-30) - ### Features -* bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) - - +- bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) ## [2.30.1](https://github.com/forcedotcom/sfdx-core/compare/v2.30.0...v2.30.1) (2021-11-30) - ### Bug Fixes -* better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) - - +- better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) # [2.30.0](https://github.com/forcedotcom/sfdx-core/compare/v2.29.0...v2.30.0) (2021-11-25) - ### Features -* delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) - - +- delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) # [2.29.0](https://github.com/forcedotcom/sfdx-core/compare/v2.28.4...v2.29.0) (2021-11-17) - ### Bug Fixes -* use correct dir structure ([e947fec](https://github.com/forcedotcom/sfdx-core/commit/e947fecf33a1c19ff80b33f7515e39d4e524f77f)) - - +- use correct dir structure ([e947fec](https://github.com/forcedotcom/sfdx-core/commit/e947fecf33a1c19ff80b33f7515e39d4e524f77f)) ## [2.28.4](https://github.com/forcedotcom/sfdx-core/compare/v2.28.3...v2.28.4) (2021-11-10) - ### Bug Fixes -* bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) -* transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) - +- bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) +- transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) ### Features -* cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) -* use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) -* warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) -* warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) - - +- cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) +- use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) +- warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) +- warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) ## [2.28.3](https://github.com/forcedotcom/sfdx-core/compare/v3.7.2...v2.28.3) (2021-11-08) - ### Bug Fixes -* fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) -* force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) +- fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) +- force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) +## [2.28.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.0...v2.28.2) (2021-10-13) +### Bug Fixes -## [2.28.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.0...v2.28.2) (2021-10-13) +- support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) +## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) ### Bug Fixes -* support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) +- cant use require on json as module use readFileSync instead ([3085029](https://github.com/forcedotcom/sfdx-core/commit/3085029e70d7f88e2535bf0b80240855f13abf37)) +- crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) +# [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) +### Features -## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) +## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) ### Bug Fixes -* cant use require on json as module use readFileSync instead ([3085029](https://github.com/forcedotcom/sfdx-core/commit/3085029e70d7f88e2535bf0b80240855f13abf37)) -* crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) +## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) +### Bug Fixes -# [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) +- improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) +# [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - - -## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - - -### Bug Fixes - -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - - -## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - - -### Bug Fixes - -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) -* improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) - - - -# [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - - -### Features - -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.7.5](https://github.com/forcedotcom/sfdx-core/compare/v2.35.1...v3.7.5) (2022-02-14) - ### Bug Fixes -* add env vars from sfdx-cli init to envvars ([#520](https://github.com/forcedotcom/sfdx-core/issues/520)) ([8ef2785](https://github.com/forcedotcom/sfdx-core/commit/8ef27859d95bfffc5999b14f4792874d04f0504c)) - - +- add env vars from sfdx-cli init to envvars ([#520](https://github.com/forcedotcom/sfdx-core/issues/520)) ([8ef2785](https://github.com/forcedotcom/sfdx-core/commit/8ef27859d95bfffc5999b14f4792874d04f0504c)) ## [3.7.4](https://github.com/forcedotcom/sfdx-core/compare/v2.35.0...v3.7.4) (2022-02-07) - ### Bug Fixes -* pin ts to 4.4.4 and bump other deps ([#509](https://github.com/forcedotcom/sfdx-core/issues/509)) ([1c0e15c](https://github.com/forcedotcom/sfdx-core/commit/1c0e15cd9a96f03e24476c13d73b62577a535fa3)) - - +- pin ts to 4.4.4 and bump other deps ([#509](https://github.com/forcedotcom/sfdx-core/issues/509)) ([1c0e15c](https://github.com/forcedotcom/sfdx-core/commit/1c0e15cd9a96f03e24476c13d73b62577a535fa3)) ## [3.7.3](https://github.com/forcedotcom/sfdx-core/compare/v2.33.1...v3.7.3) (2021-12-16) - - ## [3.7.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.1...v3.7.2) (2021-10-28) - ### Bug Fixes -* make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) - - +- make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) ## [3.7.1](https://github.com/forcedotcom/sfdx-core/compare/v2.28.2...v3.7.1) (2021-10-28) - - # [3.7.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.6...v3.7.0) (2021-10-12) - ### Features -* use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) - - +- use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) ## [3.6.6](https://github.com/forcedotcom/sfdx-core/compare/v2.28.1...v3.6.6) (2021-10-08) - - ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.35.1](https://github.com/forcedotcom/sfdx-core/compare/v3.7.4...v2.35.1) (2022-02-10) - ### Bug Fixes -* add error message on failed settings deploy ([e218b1e](https://github.com/forcedotcom/sfdx-core/commit/e218b1e40414ea9e4fec256b74224626d96eff4a)) -* prefer instanceUrl for loginUrl on user:create ([#518](https://github.com/forcedotcom/sfdx-core/issues/518)) ([c070a87](https://github.com/forcedotcom/sfdx-core/commit/c070a871861409dea722e85845eeb91f262ab66f)) - - +- add error message on failed settings deploy ([e218b1e](https://github.com/forcedotcom/sfdx-core/commit/e218b1e40414ea9e4fec256b74224626d96eff4a)) +- prefer instanceUrl for loginUrl on user:create ([#518](https://github.com/forcedotcom/sfdx-core/issues/518)) ([c070a87](https://github.com/forcedotcom/sfdx-core/commit/c070a871861409dea722e85845eeb91f262ab66f)) # [2.35.0](https://github.com/forcedotcom/sfdx-core/compare/v2.34.2...v2.35.0) (2022-01-25) - ### Bug Fixes -* jsforce dep and pjson version realign ([#516](https://github.com/forcedotcom/sfdx-core/issues/516)) ([9f35f2f](https://github.com/forcedotcom/sfdx-core/commit/9f35f2f0ce30e996a0b4c88461c2babb536c33f7)) - - +- jsforce dep and pjson version realign ([#516](https://github.com/forcedotcom/sfdx-core/issues/516)) ([9f35f2f](https://github.com/forcedotcom/sfdx-core/commit/9f35f2f0ce30e996a0b4c88461c2babb536c33f7)) ## [2.34.2](https://github.com/forcedotcom/sfdx-core/compare/v2.33.2...v2.34.2) (2022-01-25) - - ## [2.33.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.3...v2.33.2) (2022-01-25) - ### Bug Fixes -* correct import declaration ([4c69d2d](https://github.com/forcedotcom/sfdx-core/commit/4c69d2dc3370c5f920becfe260ccb178279e4d92)) -* exit deploy loop with error on status SucceededPartial ([492e891](https://github.com/forcedotcom/sfdx-core/commit/492e89184e4c865cc7fcf7df41b9c6af6a6f2237)) -* refresh auth on a connection, too ([ff32a70](https://github.com/forcedotcom/sfdx-core/commit/ff32a705d87d6e410d06597eefa407b54eeb215d)) -* remove unwanted dep ([12ccc3a](https://github.com/forcedotcom/sfdx-core/commit/12ccc3adc0efbe687059187ab4d849b1741c823d)) -* save auth info ([226bbd2](https://github.com/forcedotcom/sfdx-core/commit/226bbd2dc09a7a8df5887c0ae7548c83ae19b748)) - - +- correct import declaration ([4c69d2d](https://github.com/forcedotcom/sfdx-core/commit/4c69d2dc3370c5f920becfe260ccb178279e4d92)) +- exit deploy loop with error on status SucceededPartial ([492e891](https://github.com/forcedotcom/sfdx-core/commit/492e89184e4c865cc7fcf7df41b9c6af6a6f2237)) +- refresh auth on a connection, too ([ff32a70](https://github.com/forcedotcom/sfdx-core/commit/ff32a705d87d6e410d06597eefa407b54eeb215d)) +- remove unwanted dep ([12ccc3a](https://github.com/forcedotcom/sfdx-core/commit/12ccc3adc0efbe687059187ab4d849b1741c823d)) +- save auth info ([226bbd2](https://github.com/forcedotcom/sfdx-core/commit/226bbd2dc09a7a8df5887c0ae7548c83ae19b748)) ## [2.33.1](https://github.com/forcedotcom/sfdx-core/compare/v2.33.0...v2.33.1) (2021-12-15) - ### Bug Fixes -* faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) - - +- faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) # [2.33.0](https://github.com/forcedotcom/sfdx-core/compare/v2.32.0...v2.33.0) (2021-12-14) - ### Features -* sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) - - +- sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) # [2.32.0](https://github.com/forcedotcom/sfdx-core/compare/v2.31.1...v2.32.0) (2021-12-14) - ### Bug Fixes -* no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) - +- no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) ### Features -* switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) - +- switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) ### Reverts -* Revert "test: added basic tests for settings" ([28e656c](https://github.com/forcedotcom/sfdx-core/commit/28e656ce6f8b8461dbc866474137829941a7bde0)) - - +- Revert "test: added basic tests for settings" ([28e656c](https://github.com/forcedotcom/sfdx-core/commit/28e656ce6f8b8461dbc866474137829941a7bde0)) ## [2.31.1](https://github.com/forcedotcom/sfdx-core/compare/v2.31.0...v2.31.1) (2021-12-06) - - # [2.31.0](https://github.com/forcedotcom/sfdx-core/compare/v2.30.1...v2.31.0) (2021-11-30) - ### Features -* bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) - - +- bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) ## [2.30.1](https://github.com/forcedotcom/sfdx-core/compare/v2.30.0...v2.30.1) (2021-11-30) - ### Bug Fixes -* better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) - - +- better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) # [2.30.0](https://github.com/forcedotcom/sfdx-core/compare/v2.29.0...v2.30.0) (2021-11-25) - ### Features -* delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) - - +- delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) # [2.29.0](https://github.com/forcedotcom/sfdx-core/compare/v2.28.4...v2.29.0) (2021-11-17) - ### Bug Fixes -* use correct dir structure ([e947fec](https://github.com/forcedotcom/sfdx-core/commit/e947fecf33a1c19ff80b33f7515e39d4e524f77f)) - - +- use correct dir structure ([e947fec](https://github.com/forcedotcom/sfdx-core/commit/e947fecf33a1c19ff80b33f7515e39d4e524f77f)) ## [2.28.4](https://github.com/forcedotcom/sfdx-core/compare/v2.28.3...v2.28.4) (2021-11-10) - ### Bug Fixes -* bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) -* transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) - +- bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) +- transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) ### Features -* cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) -* use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) -* warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) -* warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) - - +- cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) +- use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) +- warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) +- warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) ## [2.28.3](https://github.com/forcedotcom/sfdx-core/compare/v3.7.2...v2.28.3) (2021-11-08) - ### Bug Fixes -* fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) -* force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) - - +- fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) +- force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) ## [2.28.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.0...v2.28.2) (2021-10-13) - ### Bug Fixes -* support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) - - +- support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) ## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) - ### Bug Fixes -* cant use require on json as module use readFileSync instead ([3085029](https://github.com/forcedotcom/sfdx-core/commit/3085029e70d7f88e2535bf0b80240855f13abf37)) -* crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) - - +- cant use require on json as module use readFileSync instead ([3085029](https://github.com/forcedotcom/sfdx-core/commit/3085029e70d7f88e2535bf0b80240855f13abf37)) +- crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) # [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) - ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) -* improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) +- improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.7.4](https://github.com/forcedotcom/sfdx-core/compare/v2.35.0...v3.7.4) (2022-02-07) - ### Bug Fixes -* pin ts to 4.4.4 and bump other deps ([#509](https://github.com/forcedotcom/sfdx-core/issues/509)) ([1c0e15c](https://github.com/forcedotcom/sfdx-core/commit/1c0e15cd9a96f03e24476c13d73b62577a535fa3)) - - +- pin ts to 4.4.4 and bump other deps ([#509](https://github.com/forcedotcom/sfdx-core/issues/509)) ([1c0e15c](https://github.com/forcedotcom/sfdx-core/commit/1c0e15cd9a96f03e24476c13d73b62577a535fa3)) ## [3.7.3](https://github.com/forcedotcom/sfdx-core/compare/v2.33.1...v3.7.3) (2021-12-16) - - ## [3.7.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.1...v3.7.2) (2021-10-28) - ### Bug Fixes -* make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) - - +- make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) ## [3.7.1](https://github.com/forcedotcom/sfdx-core/compare/v2.28.2...v3.7.1) (2021-10-28) - - # [3.7.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.6...v3.7.0) (2021-10-12) - ### Features -* use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) - - +- use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) ## [3.6.6](https://github.com/forcedotcom/sfdx-core/compare/v2.28.1...v3.6.6) (2021-10-08) - - ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) # [2.35.0](https://github.com/forcedotcom/sfdx-core/compare/v2.34.2...v2.35.0) (2022-01-25) - ### Bug Fixes -* jsforce dep and pjson version realign ([#516](https://github.com/forcedotcom/sfdx-core/issues/516)) ([9f35f2f](https://github.com/forcedotcom/sfdx-core/commit/9f35f2f0ce30e996a0b4c88461c2babb536c33f7)) -* refresh auth on a connection, too ([ff32a70](https://github.com/forcedotcom/sfdx-core/commit/ff32a705d87d6e410d06597eefa407b54eeb215d)) - - +- jsforce dep and pjson version realign ([#516](https://github.com/forcedotcom/sfdx-core/issues/516)) ([9f35f2f](https://github.com/forcedotcom/sfdx-core/commit/9f35f2f0ce30e996a0b4c88461c2babb536c33f7)) +- refresh auth on a connection, too ([ff32a70](https://github.com/forcedotcom/sfdx-core/commit/ff32a705d87d6e410d06597eefa407b54eeb215d)) ## [2.34.2](https://github.com/forcedotcom/sfdx-core/compare/v2.33.2...v2.34.2) (2022-01-25) - - ## [2.33.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.3...v2.33.2) (2022-01-25) - ### Bug Fixes -* correct import declaration ([4c69d2d](https://github.com/forcedotcom/sfdx-core/commit/4c69d2dc3370c5f920becfe260ccb178279e4d92)) -* exit deploy loop with error on status SucceededPartial ([492e891](https://github.com/forcedotcom/sfdx-core/commit/492e89184e4c865cc7fcf7df41b9c6af6a6f2237)) -* remove unwanted dep ([12ccc3a](https://github.com/forcedotcom/sfdx-core/commit/12ccc3adc0efbe687059187ab4d849b1741c823d)) -* save auth info ([226bbd2](https://github.com/forcedotcom/sfdx-core/commit/226bbd2dc09a7a8df5887c0ae7548c83ae19b748)) - - +- correct import declaration ([4c69d2d](https://github.com/forcedotcom/sfdx-core/commit/4c69d2dc3370c5f920becfe260ccb178279e4d92)) +- exit deploy loop with error on status SucceededPartial ([492e891](https://github.com/forcedotcom/sfdx-core/commit/492e89184e4c865cc7fcf7df41b9c6af6a6f2237)) +- remove unwanted dep ([12ccc3a](https://github.com/forcedotcom/sfdx-core/commit/12ccc3adc0efbe687059187ab4d849b1741c823d)) +- save auth info ([226bbd2](https://github.com/forcedotcom/sfdx-core/commit/226bbd2dc09a7a8df5887c0ae7548c83ae19b748)) ## [2.33.1](https://github.com/forcedotcom/sfdx-core/compare/v2.33.0...v2.33.1) (2021-12-15) - ### Bug Fixes -* faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) - - +- faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) # [2.33.0](https://github.com/forcedotcom/sfdx-core/compare/v2.32.0...v2.33.0) (2021-12-14) - ### Features -* sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) - - +- sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) # [2.32.0](https://github.com/forcedotcom/sfdx-core/compare/v2.31.1...v2.32.0) (2021-12-14) - ### Bug Fixes -* no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) - +- no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) ### Features -* switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) - +- switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) ### Reverts -* Revert "test: added basic tests for settings" ([28e656c](https://github.com/forcedotcom/sfdx-core/commit/28e656ce6f8b8461dbc866474137829941a7bde0)) - - +- Revert "test: added basic tests for settings" ([28e656c](https://github.com/forcedotcom/sfdx-core/commit/28e656ce6f8b8461dbc866474137829941a7bde0)) ## [2.31.1](https://github.com/forcedotcom/sfdx-core/compare/v2.31.0...v2.31.1) (2021-12-06) - - # [2.31.0](https://github.com/forcedotcom/sfdx-core/compare/v2.30.1...v2.31.0) (2021-11-30) - ### Features -* bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) - - +- bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) ## [2.30.1](https://github.com/forcedotcom/sfdx-core/compare/v2.30.0...v2.30.1) (2021-11-30) - ### Bug Fixes -* better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) - - +- better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) # [2.30.0](https://github.com/forcedotcom/sfdx-core/compare/v2.29.0...v2.30.0) (2021-11-25) - ### Features -* delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) - - +- delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) # [2.29.0](https://github.com/forcedotcom/sfdx-core/compare/v2.28.4...v2.29.0) (2021-11-17) - ### Bug Fixes -* use correct dir structure ([e947fec](https://github.com/forcedotcom/sfdx-core/commit/e947fecf33a1c19ff80b33f7515e39d4e524f77f)) - - +- use correct dir structure ([e947fec](https://github.com/forcedotcom/sfdx-core/commit/e947fecf33a1c19ff80b33f7515e39d4e524f77f)) ## [2.28.4](https://github.com/forcedotcom/sfdx-core/compare/v2.28.3...v2.28.4) (2021-11-10) - ### Bug Fixes -* bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) -* transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) - +- bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) +- transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) ### Features -* cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) -* use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) -* warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) -* warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) - - +- cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) +- use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) +- warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) +- warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) ## [2.28.3](https://github.com/forcedotcom/sfdx-core/compare/v3.7.2...v2.28.3) (2021-11-08) - ### Bug Fixes -* fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) -* force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) - - +- fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) +- force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) ## [2.28.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.0...v2.28.2) (2021-10-13) - ### Bug Fixes -* support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) - - +- support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) ## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) - ### Bug Fixes -* cant use require on json as module use readFileSync instead ([3085029](https://github.com/forcedotcom/sfdx-core/commit/3085029e70d7f88e2535bf0b80240855f13abf37)) -* crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) - - +- cant use require on json as module use readFileSync instead ([3085029](https://github.com/forcedotcom/sfdx-core/commit/3085029e70d7f88e2535bf0b80240855f13abf37)) +- crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) # [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) - ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) -* improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) +- improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.7.3](https://github.com/forcedotcom/sfdx-core/compare/v2.33.1...v3.7.3) (2021-12-16) - - ## [3.7.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.1...v3.7.2) (2021-10-28) - ### Bug Fixes -* make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) - - +- make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) ## [3.7.1](https://github.com/forcedotcom/sfdx-core/compare/v2.28.2...v3.7.1) (2021-10-28) - - # [3.7.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.6...v3.7.0) (2021-10-12) - ### Features -* use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) - - +- use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) ## [3.6.6](https://github.com/forcedotcom/sfdx-core/compare/v2.28.1...v3.6.6) (2021-10-08) - - ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) +# [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) +### Features -# [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) +# [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - - -# [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - - -### Features - -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.33.1](https://github.com/forcedotcom/sfdx-core/compare/v2.33.0...v2.33.1) (2021-12-15) - ### Bug Fixes -* faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) - - +- faye doesn't use custom stuff passed it ([b1cefc7](https://github.com/forcedotcom/sfdx-core/commit/b1cefc76afde7f0dd56ed72b5539a47c118eef63)) # [2.33.0](https://github.com/forcedotcom/sfdx-core/compare/v2.32.0...v2.33.0) (2021-12-14) - ### Features -* sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) - - +- sandbox creation ([314dcf1](https://github.com/forcedotcom/sfdx-core/commit/314dcf164d93bd0e3a5f4763a4dfcdde7d0cb14a)) # [2.32.0](https://github.com/forcedotcom/sfdx-core/compare/v2.31.1...v2.32.0) (2021-12-14) - ### Bug Fixes -* no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) - +- no maxquery warning when records.length is 0 ([758f912](https://github.com/forcedotcom/sfdx-core/commit/758f912a23bd3e9f8d4f854f3e07682dd4d4c4aa)) ### Features -* switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) - - +- switch sfdx-faye with faye ([a0545e5](https://github.com/forcedotcom/sfdx-core/commit/a0545e57d5041c97e499f284afbd7fcb16cf2247)) ## [2.31.1](https://github.com/forcedotcom/sfdx-core/compare/v2.31.0...v2.31.1) (2021-12-06) - - # [2.31.0](https://github.com/forcedotcom/sfdx-core/compare/v2.30.1...v2.31.0) (2021-11-30) - ### Features -* bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) - - +- bump version of jsforce ([7d89024](https://github.com/forcedotcom/sfdx-core/commit/7d89024f593968c031af22ac817efc26d00fcd54)) ## [2.30.1](https://github.com/forcedotcom/sfdx-core/compare/v2.30.0...v2.30.1) (2021-11-30) - ### Bug Fixes -* better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) - - +- better output for authUrl errors ([f3ec729](https://github.com/forcedotcom/sfdx-core/commit/f3ec7298bdbd3194d3d14bfea09f47f413669376)) # [2.30.0](https://github.com/forcedotcom/sfdx-core/compare/v2.29.0...v2.30.0) (2021-11-25) - ### Features -* delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) - - +- delete scratch orgs and sandboxes ([#491](https://github.com/forcedotcom/sfdx-core/issues/491)) ([468c348](https://github.com/forcedotcom/sfdx-core/commit/468c348f0ecc69ddeea02927bf7a26ca660a86ca)) # [2.29.0](https://github.com/forcedotcom/sfdx-core/compare/v2.28.4...v2.29.0) (2021-11-17) - ### Bug Fixes -* transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) - +- transfer listeners when upgrading the global instance to newer version ([0a40831](https://github.com/forcedotcom/sfdx-core/commit/0a408317c132548771ced0fe196178d2e9c76232)) ### Features -* cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) -* use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) -* warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) -* warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) - - +- cleans up old listeners from upgraded instance ([e3f2d69](https://github.com/forcedotcom/sfdx-core/commit/e3f2d69ccd5c096d37addb1b982e19354175f11a)) +- use warnings instead of process in sfdx-core ([c1f7e98](https://github.com/forcedotcom/sfdx-core/commit/c1f7e98f6b19d57da1a2ee0cdf58e449079f0ee7)) +- warning and telemetry events ([80a8039](https://github.com/forcedotcom/sfdx-core/commit/80a8039e2f686d973ddbc24c9a2980fb93928d13)) +- warning and telemetry events ([a04b293](https://github.com/forcedotcom/sfdx-core/commit/a04b29355c8ca6c7e37e071ccc159aff5e5e9ca0)) ## [2.28.4](https://github.com/forcedotcom/sfdx-core/compare/v2.28.3...v2.28.4) (2021-11-10) - ### Bug Fixes -* bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) - - +- bump jsforce types and run unit tests on Windows ([#485](https://github.com/forcedotcom/sfdx-core/issues/485)) ([3952c8f](https://github.com/forcedotcom/sfdx-core/commit/3952c8fe248531a0597477ed12240f611048caba)) ## [2.28.3](https://github.com/forcedotcom/sfdx-core/compare/v3.7.2...v2.28.3) (2021-11-08) - ### Bug Fixes -* fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) -* force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) - - +- fix unit test ([d903c04](https://github.com/forcedotcom/sfdx-core/commit/d903c04e5f3e4f01fccb3f00b91560c443013ddf)) +- force new release ([124bb74](https://github.com/forcedotcom/sfdx-core/commit/124bb744c5ecc28cb8babf285c6d8c3032eb7ef6)) ## [2.28.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.0...v2.28.2) (2021-10-13) - ### Bug Fixes -* support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) - - +- support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) ## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) - ### Bug Fixes -* crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) - - +- crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) # [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) - ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) -* improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) +- improve error message when providing an invalid username ([2ab4bbd](https://github.com/forcedotcom/sfdx-core/commit/2ab4bbdefd962283d88ccb735de88c88fe189d39)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.7.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.1...v3.7.2) (2021-10-28) - ### Bug Fixes -* make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) - - +- make @types/sfdx-faye a dependendcy ([683680b](https://github.com/forcedotcom/sfdx-core/commit/683680b8133048f71d25ef4df7aa24d9700dc5e8)) ## [3.7.1](https://github.com/forcedotcom/sfdx-core/compare/v2.28.2...v3.7.1) (2021-10-28) - - # [3.7.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.6...v3.7.0) (2021-10-12) - ### Features -* use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) - - +- use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) ## [3.6.6](https://github.com/forcedotcom/sfdx-core/compare/v2.28.1...v3.6.6) (2021-10-08) - - ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.28.2](https://github.com/forcedotcom/sfdx-core/compare/v3.7.0...v2.28.2) (2021-10-13) - ### Bug Fixes -* support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) - - +- support for .mil sandboxes ([9ef35c7](https://github.com/forcedotcom/sfdx-core/commit/9ef35c7b1ef0fe974c3bd3b89b862a436e00f7d9)) ## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) - ### Bug Fixes -* crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) - - +- crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) # [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) - ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) # [3.7.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.6...v3.7.0) (2021-10-12) - ### Features -* use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) - - +- use jsforce v2 ([#457](https://github.com/forcedotcom/sfdx-core/issues/457)) ([4a9094e](https://github.com/forcedotcom/sfdx-core/commit/4a9094e958288cdcc6c69f5d87b10a70a437d8e9)) ## [3.6.6](https://github.com/forcedotcom/sfdx-core/compare/v2.28.1...v3.6.6) (2021-10-08) - - ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.28.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.5...v2.28.1) (2021-10-06) - ### Bug Fixes -* crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) - - +- crmforce.mil ([e263d5d](https://github.com/forcedotcom/sfdx-core/commit/e263d5d74be9c0651e5c2676d6eec1c31fca05e4)) # [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) - ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.6.5](https://github.com/forcedotcom/sfdx-core/compare/v3.6.4...v3.6.5) (2021-09-29) - ### Bug Fixes -* add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) - - +- add getValue to AliasAccessor ([c4b69f5](https://github.com/forcedotcom/sfdx-core/commit/c4b69f5ff38547fad640c64833291fe0c6e06a79)) ## [3.6.4](https://github.com/forcedotcom/sfdx-core/compare/v3.6.3...v3.6.4) (2021-09-23) - ### Bug Fixes -* edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) - - +- edit the env var blurbs ([#482](https://github.com/forcedotcom/sfdx-core/issues/482)) ([bbbdb6d](https://github.com/forcedotcom/sfdx-core/commit/bbbdb6d0800015e94ce0f0c551eec8ed73dd87c6)) ## [3.6.3](https://github.com/forcedotcom/sfdx-core/compare/v3.6.2...v3.6.3) (2021-09-23) - ### Bug Fixes -* edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) - - +- edit the config var blurbs ([#480](https://github.com/forcedotcom/sfdx-core/issues/480)) ([f845512](https://github.com/forcedotcom/sfdx-core/commit/f8455121bfd96f27495bc124dc06570632dfce70)) ## [3.6.2](https://github.com/forcedotcom/sfdx-core/compare/v2.28.0...v3.6.2) (2021-09-17) - ### Bug Fixes -* improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) - - +- improve time to build auths for many orgs @W-9914839@ ([#478](https://github.com/forcedotcom/sfdx-core/issues/478)) ([c788541](https://github.com/forcedotcom/sfdx-core/commit/c7885415d59994b28552227f0b84dcee5d3ec7cf)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) # [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) - ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) # [2.28.0](https://github.com/forcedotcom/sfdx-core/compare/v3.6.1...v2.28.0) (2021-09-16) - ### Features -* add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) -* add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) -* update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) - - +- add custom templates config ([3cf8a8c](https://github.com/forcedotcom/sfdx-core/commit/3cf8a8cee1e7196efced989dcca9b545e1283386)) +- add validator for custom templates config ([dd2bcfe](https://github.com/forcedotcom/sfdx-core/commit/dd2bcfe8e7fee5c5c1c6321189ec04288103d5b6)) +- update config name ([72e84bf](https://github.com/forcedotcom/sfdx-core/commit/72e84bfacef48a1c2d00a61ebbae3f632601abbd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.6.1](https://github.com/forcedotcom/sfdx-core/compare/v3.6.0...v3.6.1) (2021-09-13) - ### Bug Fixes -* remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) - - +- remove tokens associated with org ([#477](https://github.com/forcedotcom/sfdx-core/issues/477)) ([5034fa2](https://github.com/forcedotcom/sfdx-core/commit/5034fa2d4c52d347c00499e137a71366e4feba7f)) # [3.6.0](https://github.com/forcedotcom/sfdx-core/compare/v3.5.0...v3.6.0) (2021-09-10) - ### Features -* add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) - - +- add help section helper ([#474](https://github.com/forcedotcom/sfdx-core/issues/474)) ([b34c2d7](https://github.com/forcedotcom/sfdx-core/commit/b34c2d7a442aed2cf091fd394a7c3656287d1dbf)) # [3.5.0](https://github.com/forcedotcom/sfdx-core/compare/v3.4.5...v3.5.0) (2021-09-09) - ### Features -* expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) - - +- expose well known env vars as part of core ([#473](https://github.com/forcedotcom/sfdx-core/issues/473)) ([11c3f53](https://github.com/forcedotcom/sfdx-core/commit/11c3f53f964459072826274e6ebb33d4a9ecb990)) ## [3.4.5](https://github.com/forcedotcom/sfdx-core/compare/v3.4.4...v3.4.5) (2021-09-03) - ### Bug Fixes -* provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) - - +- provide the correct options to SfdxConfig ([fa2117e](https://github.com/forcedotcom/sfdx-core/commit/fa2117e12d7a903f26067bdcf35d7ec9c142101e)) ## [3.4.4](https://github.com/forcedotcom/sfdx-core/compare/v3.4.3...v3.4.4) (2021-09-03) - - ## [3.4.3](https://github.com/forcedotcom/sfdx-core/compare/v3.4.2...v3.4.3) (2021-08-26) - - ## [3.4.2](https://github.com/forcedotcom/sfdx-core/compare/v3.4.1...v3.4.2) (2021-08-17) - ### Bug Fixes -* improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) - - +- improve interoperability when unsetting ([#467](https://github.com/forcedotcom/sfdx-core/issues/467)) ([ad781d5](https://github.com/forcedotcom/sfdx-core/commit/ad781d5378652dfd64ccb476c11f418e940b8669)) ## [3.4.1](https://github.com/forcedotcom/sfdx-core/compare/v3.4.0...v3.4.1) (2021-08-11) - ### Bug Fixes -* optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) - - - -# [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) +- optionally throw error when reading deprecated config key ([#466](https://github.com/forcedotcom/sfdx-core/issues/466)) ([3118ad8](https://github.com/forcedotcom/sfdx-core/commit/3118ad836db384ac27c2b1db88c4753e6121e4db)) +# [3.4.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.12...v3.4.0) (2021-08-11) ### Features -* config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) - - +- config interoperability ([#461](https://github.com/forcedotcom/sfdx-core/issues/461)) ([11b60ad](https://github.com/forcedotcom/sfdx-core/commit/11b60adbe54acc8e16a90327c77abbe2613fbaab)) ## [3.3.12](https://github.com/forcedotcom/sfdx-core/compare/v2.27.2...v3.3.12) (2021-08-10) - ### Bug Fixes -* add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) - - +- add predicate function to list all auths ([ccdb02c](https://github.com/forcedotcom/sfdx-core/commit/ccdb02c268fae7532b23e0c791bcdd831f77cf98)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.27.2](https://github.com/forcedotcom/sfdx-core/compare/v2.27.1...v2.27.2) (2021-08-05) - ### Bug Fixes -* improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) - - +- improve error handling while removing config props ([eecf7b0](https://github.com/forcedotcom/sfdx-core/commit/eecf7b0d0cf14e1371dc4c5ef03a413f864b0a8b)) ## [2.27.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.11...v2.27.1) (2021-08-05) - ### Bug Fixes -* dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) - - +- dont fail when trying to unset sf config keys ([#456](https://github.com/forcedotcom/sfdx-core/issues/456)) ([8aff9fd](https://github.com/forcedotcom/sfdx-core/commit/8aff9fd4bdb73ec20e58f5a16a8192a8eecba912)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.3.11](https://github.com/forcedotcom/sfdx-core/compare/v3.3.10...v3.3.11) (2021-08-04) - ### Bug Fixes -* allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) - - +- allows for message keys of error and errors ([#455](https://github.com/forcedotcom/sfdx-core/issues/455)) ([3bfac58](https://github.com/forcedotcom/sfdx-core/commit/3bfac587c6cf1734af6f2b517439d278591ddd50)) ## [3.3.10](https://github.com/forcedotcom/sfdx-core/compare/v3.3.9...v3.3.10) (2021-08-04) - - ## [3.3.9](https://github.com/forcedotcom/sfdx-core/compare/v3.3.8...v3.3.9) (2021-08-04) - ### Bug Fixes -* merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) - - +- merge main(v2) into v3 ([#452](https://github.com/forcedotcom/sfdx-core/issues/452)) ([3a003b9](https://github.com/forcedotcom/sfdx-core/commit/3a003b9c17962f77344e4a23314bb608e1ae50db)) ## [3.3.8](https://github.com/forcedotcom/sfdx-core/compare/v3.3.7...v3.3.8) (2021-08-02) - ### Bug Fixes -* return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) - - +- return all info from AuthInfo.listAllAuthorizations ([#449](https://github.com/forcedotcom/sfdx-core/issues/449)) ([17e60ea](https://github.com/forcedotcom/sfdx-core/commit/17e60eabe87c73a83c26344967076f365ddea81c)) ## [3.3.7](https://github.com/forcedotcom/sfdx-core/compare/v2.27.0...v3.3.7) (2021-07-30) - - ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) # [2.27.0](https://github.com/forcedotcom/sfdx-core/compare/v3.3.6...v2.27.0) (2021-07-29) - ### Features -* Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) - - +- Core URL class SfdcUrl ([#420](https://github.com/forcedotcom/sfdx-core/issues/420)) ([66881ea](https://github.com/forcedotcom/sfdx-core/commit/66881eae2f30215c862ea398bfc1630d9a5898fe)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.3.6](https://github.com/forcedotcom/sfdx-core/compare/v3.3.5...v3.3.6) (2021-07-28) - ### Bug Fixes -* use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) - - +- use correct method to get username ([#446](https://github.com/forcedotcom/sfdx-core/issues/446)) ([79a6b2f](https://github.com/forcedotcom/sfdx-core/commit/79a6b2f069f95b0c50a6c03ecbac07cf0d1832b1)) ## [3.3.5](https://github.com/forcedotcom/sfdx-core/compare/v3.3.4...v3.3.5) (2021-07-28) - - ## [3.3.4](https://github.com/forcedotcom/sfdx-core/compare/v3.3.3...v3.3.4) (2021-07-26) - ### Bug Fixes -* remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) - - +- remove bad validator function ([1b97dc6](https://github.com/forcedotcom/sfdx-core/commit/1b97dc6f4d657a5b86489d33c4843ebfd54b3715)) ## [3.3.3](https://github.com/forcedotcom/sfdx-core/compare/v3.3.2...v3.3.3) (2021-07-22) - ### Bug Fixes -* write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) - - +- write sf.json contents on init ([c47f649](https://github.com/forcedotcom/sfdx-core/commit/c47f64954118d0d2f7f4a8e992d3450516239084)) ## [3.3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.26.1...v3.3.2) (2021-07-21) - ### Bug Fixes -* correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) - - +- correct jsdoc ([a362e94](https://github.com/forcedotcom/sfdx-core/commit/a362e94c4ae7538cbbcd7dae8fcd3244629d845c)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.26.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.1...v2.26.1) (2021-07-19) - ### Bug Fixes -* force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) - - +- force:org:open force:org:open --urlonly display bug ([#439](https://github.com/forcedotcom/sfdx-core/issues/439)) ([2ea0e74](https://github.com/forcedotcom/sfdx-core/commit/2ea0e74b8bf1bff6de8af70372025cac10fc8c18)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.3.1](https://github.com/forcedotcom/sfdx-core/compare/v3.3.0...v3.3.1) (2021-07-15) - ### Bug Fixes -* temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) - - +- temporarily point Alias back to .sfdx ([#438](https://github.com/forcedotcom/sfdx-core/issues/438)) ([4bffcd8](https://github.com/forcedotcom/sfdx-core/commit/4bffcd84362d5b3049ef428e90dc1b538a435f81)) # [3.3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.2.0-v3.0...v3.3.0) (2021-07-14) - ### Features -* V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) - - +- V3 merge ([#436](https://github.com/forcedotcom/sfdx-core/issues/436)) ([1193449](https://github.com/forcedotcom/sfdx-core/commit/119344969147679088e30bae4c4fc5e941661078)), closes [#413](https://github.com/forcedotcom/sfdx-core/issues/413) [#415](https://github.com/forcedotcom/sfdx-core/issues/415) [#428](https://github.com/forcedotcom/sfdx-core/issues/428) [#429](https://github.com/forcedotcom/sfdx-core/issues/429) [#427](https://github.com/forcedotcom/sfdx-core/issues/427) [#432](https://github.com/forcedotcom/sfdx-core/issues/432) # [3.2.0-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.26.0...v3.2.0-v3.0) (2021-07-14) - ### Features -* use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) - - +- use .sf/config.json @W-9546117@ ([#433](https://github.com/forcedotcom/sfdx-core/issues/433)) ([6c41653](https://github.com/forcedotcom/sfdx-core/commit/6c416531a9bae10e855ded3efc289a99196bc26b)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) # [2.26.0](https://github.com/forcedotcom/sfdx-core/compare/v2.25.1...v2.26.0) (2021-07-13) - ### Features -* update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) - - +- update generate password functionality ([#432](https://github.com/forcedotcom/sfdx-core/issues/432)) ([ed65e83](https://github.com/forcedotcom/sfdx-core/commit/ed65e83da3afe0d101743ee89cc7b2a7a38d5254)) ## [2.25.1](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.2...v2.25.1) (2021-06-30) - ### Bug Fixes -* set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) - - +- set retries to INFINITELY for polling client ([31539b4](https://github.com/forcedotcom/sfdx-core/commit/31539b4f0edd0cc1c049f70331ed5e40b8af55ea)) ## [3.1.1-3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.25.0...v3.1.1-3.2) (2021-06-30) - ### Features -* @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) - - +- @W-9517449@ Allow signupTargetLoginUrl to be overridden via env var ([#429](https://github.com/forcedotcom/sfdx-core/issues/429)) ([e2b8b36](https://github.com/forcedotcom/sfdx-core/commit/e2b8b36b2836b5277c83ffe22922978dc32e7b11)), closes [#427](https://github.com/forcedotcom/sfdx-core/issues/427) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - - ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - - -# [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) +# [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.1.1-v3.2](https://github.com/forcedotcom/sfdx-core/compare/v2.24.2...v3.1.1-v3.2) (2021-06-29) - ### Bug Fixes -* do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) - - +- do not use function prop ([#426](https://github.com/forcedotcom/sfdx-core/issues/426)) ([39efe0c](https://github.com/forcedotcom/sfdx-core/commit/39efe0ccc84b05bc891e54b24bfcddc62790ae0e)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.24.2](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.1...v2.24.2) (2021-06-23) - ### Bug Fixes -* puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) - - +- puts some types back in dependencies ([94bea31](https://github.com/forcedotcom/sfdx-core/commit/94bea31037a41d4377faecb22bce8a2d12e95f4f)) ## [3.1.1-3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.1...v3.1.1-3.1) (2021-06-23) - ### Bug Fixes -* rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) - - +- rewrite polling client ([8d363d1](https://github.com/forcedotcom/sfdx-core/commit/8d363d13616f5efa944d4bb717a010add3c996b5)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.1.1-v3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.24.0...v3.1.1-v3.1) (2021-06-14) - ### Bug Fixes -* keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) - - +- keep track of auth changes ([210be6c](https://github.com/forcedotcom/sfdx-core/commit/210be6cb408bd9ecc861989570df0e14f6a3a566)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) # [2.24.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.5...v2.24.0) (2021-06-08) - ### Features -* exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) - - +- exported function checkLightningDomain() ([#415](https://github.com/forcedotcom/sfdx-core/issues/415)) ([8e75231](https://github.com/forcedotcom/sfdx-core/commit/8e752313abf4a383a6ef18250ffac78b398987dd)) ## [2.23.5](https://github.com/forcedotcom/sfdx-core/compare/v3.1.1-3.0...v2.23.5) (2021-06-07) - ### Bug Fixes -* w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) - - +- w-9299422 (login url from config) and fs-parallelization ([043bb17](https://github.com/forcedotcom/sfdx-core/commit/043bb179dbf64f9c4522a4c0f0720ae09794227c)) ## [3.1.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.4...v3.1.1-3.0) (2021-06-03) - ### Bug Fixes -* works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) - - +- works with TS4+ and jsforce types ([#413](https://github.com/forcedotcom/sfdx-core/issues/413)) ([b77cdad](https://github.com/forcedotcom/sfdx-core/commit/b77cdad56b114290b8e5fd23d968e23e7d4eedf4)) ## [3.1.1-v3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.23.3...v3.1.1-v3.0) (2021-06-03) - ### Bug Fixes -* compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) -* unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) -* unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) - +- compilation errors ([33a9876](https://github.com/forcedotcom/sfdx-core/commit/33a9876575eff7944bb287d428f52413831725d9)) +- unit test failures ([4507575](https://github.com/forcedotcom/sfdx-core/commit/45075754175d411b6cb71eb809096e6eb3e23d95)) +- unsetAuthorization ([#399](https://github.com/forcedotcom/sfdx-core/issues/399)) ([dd57438](https://github.com/forcedotcom/sfdx-core/commit/dd57438a95b49515f560d3b915cdf916a4b8643b)) ### Features -* add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) -* add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) -* move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) - - +- add GlobalInfo config file ([#397](https://github.com/forcedotcom/sfdx-core/issues/397)) ([889425c](https://github.com/forcedotcom/sfdx-core/commit/889425c06e8ed6a364d9a2bc3dd5ef0a38a66046)) +- add message support for markdown files ([0f235a2](https://github.com/forcedotcom/sfdx-core/commit/0f235a23d5dddbd7b3f07544d8c7e380875c6c55)) +- move crypto to config file @W-9225317@ ([#406](https://github.com/forcedotcom/sfdx-core/issues/406)) ([bac83c3](https://github.com/forcedotcom/sfdx-core/commit/bac83c3a52b15c9b462dfb68be9d080e710493cd)) ## [2.23.3](https://github.com/forcedotcom/sfdx-core/compare/v2.23.2...v2.23.3) (2021-06-03) - - ## [2.23.2](https://github.com/forcedotcom/sfdx-core/compare/v2.23.1...v2.23.2) (2021-06-02) - ### Bug Fixes -* authinfo returning only lowercase usernames. ([#411](https://github.com/forcedotcom/sfdx-core/issues/411)) ([243668e](https://github.com/forcedotcom/sfdx-core/commit/243668e61cd8418b6acb2f0d4806da50ccf37b29)), closes [#405](https://github.com/forcedotcom/sfdx-core/issues/405) - - +- authinfo returning only lowercase usernames. ([#411](https://github.com/forcedotcom/sfdx-core/issues/411)) ([243668e](https://github.com/forcedotcom/sfdx-core/commit/243668e61cd8418b6acb2f0d4806da50ccf37b29)), closes [#405](https://github.com/forcedotcom/sfdx-core/issues/405) ## [2.23.1](https://github.com/forcedotcom/sfdx-core/compare/v2.23.0...v2.23.1) (2021-05-27) - - # [2.23.0](https://github.com/forcedotcom/sfdx-core/compare/v2.22.0...v2.23.0) (2021-05-26) - ### Bug Fixes -* export library method ([d0016f9](https://github.com/forcedotcom/sfdx-core/commit/d0016f96da1246535049884c1043399239a33c00)) - +- export library method ([d0016f9](https://github.com/forcedotcom/sfdx-core/commit/d0016f96da1246535049884c1043399239a33c00)) ### Features -* export getJwtAudienceUrl ([e7d26d2](https://github.com/forcedotcom/sfdx-core/commit/e7d26d20106d6abb6b424936bdf26c0a9f8cd175)) - - +- export getJwtAudienceUrl ([e7d26d2](https://github.com/forcedotcom/sfdx-core/commit/e7d26d20106d6abb6b424936bdf26c0a9f8cd175)) # [2.22.0](https://github.com/forcedotcom/sfdx-core/compare/v2.21.0...v2.22.0) (2021-05-24) - ### Features -* export getJwtAudienceUrl ([#407](https://github.com/forcedotcom/sfdx-core/issues/407)) ([585bb07](https://github.com/forcedotcom/sfdx-core/commit/585bb073434d73473a855ee52b7ddc6f0228aae1)) - - +- export getJwtAudienceUrl ([#407](https://github.com/forcedotcom/sfdx-core/issues/407)) ([585bb07](https://github.com/forcedotcom/sfdx-core/commit/585bb073434d73473a855ee52b7ddc6f0228aae1)) # [2.21.0](https://github.com/forcedotcom/sfdx-core/compare/v2.20.11...v2.21.0) (2021-05-24) - ### Features -* modify authInfo to return username for access token auth ([160b7d2](https://github.com/forcedotcom/sfdx-core/commit/160b7d20e32b80d7a54c8cf679154fcbaa9e8cda)) - - +- modify authInfo to return username for access token auth ([160b7d2](https://github.com/forcedotcom/sfdx-core/commit/160b7d20e32b80d7a54c8cf679154fcbaa9e8cda)) ## [2.20.11](https://github.com/forcedotcom/sfdx-core/compare/v3.1.0-3.0...v2.20.11) (2021-05-12) - ### Bug Fixes -* force release ([f0b837a](https://github.com/forcedotcom/sfdx-core/commit/f0b837ab7b4d0361c2fa3ba15fe56cd2f7cc1fd0)) - - +- force release ([f0b837a](https://github.com/forcedotcom/sfdx-core/commit/f0b837ab7b4d0361c2fa3ba15fe56cd2f7cc1fd0)) # [3.1.0-3.0](https://github.com/forcedotcom/sfdx-core/compare/v3.0.1-3.0...v3.1.0-3.0) (2021-05-12) - - ## [3.0.1-3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.20.10...v3.0.1-3.0) (2021-05-05) - - ## [2.20.10](https://github.com/forcedotcom/sfdx-core/compare/v2.20.9...v2.20.10) (2021-04-14) - ### Bug Fixes -* add another internal test env domain ([6ea538f](https://github.com/forcedotcom/sfdx-core/commit/6ea538f2ce62daba7262a247472ce821c6e2616f)) - - +- add another internal test env domain ([6ea538f](https://github.com/forcedotcom/sfdx-core/commit/6ea538f2ce62daba7262a247472ce821c6e2616f)) ## [2.20.9](https://github.com/forcedotcom/sfdx-core/compare/v2.20.8...v2.20.9) (2021-04-05) - ### Bug Fixes -* allow = in authUrl tokens ([2337fcd](https://github.com/forcedotcom/sfdx-core/commit/2337fcddfb1907a7092cd52f5b3ad73ae963d59e)) - - +- allow = in authUrl tokens ([2337fcd](https://github.com/forcedotcom/sfdx-core/commit/2337fcddfb1907a7092cd52f5b3ad73ae963d59e)) ## [2.20.8](https://github.com/forcedotcom/sfdx-core/compare/v2.20.7...v2.20.8) (2021-04-03) - ### Bug Fixes -* debugEnabled should be public ([dbd0124](https://github.com/forcedotcom/sfdx-core/commit/dbd01243003f555b8b4db45c83e81cc08b8cb9a1)) - - +- debugEnabled should be public ([dbd0124](https://github.com/forcedotcom/sfdx-core/commit/dbd01243003f555b8b4db45c83e81cc08b8cb9a1)) ## [2.20.7](https://github.com/forcedotcom/sfdx-core/compare/v2.20.6...v2.20.7) (2021-04-02) - ### Bug Fixes -* add deployRecentValidation ([62d367b](https://github.com/forcedotcom/sfdx-core/commit/62d367b217e6b552573bd7176b064e28252348c5)) -* add deployRecentValidation ([a39c329](https://github.com/forcedotcom/sfdx-core/commit/a39c329b3fab603b537ae5ed8cce4773bdf24eb6)) -* add test, clarify comments ([8d5679e](https://github.com/forcedotcom/sfdx-core/commit/8d5679ecbd482af84842f5c1c8908a059d97ef3f)) - - +- add deployRecentValidation ([62d367b](https://github.com/forcedotcom/sfdx-core/commit/62d367b217e6b552573bd7176b064e28252348c5)) +- add deployRecentValidation ([a39c329](https://github.com/forcedotcom/sfdx-core/commit/a39c329b3fab603b537ae5ed8cce4773bdf24eb6)) +- add test, clarify comments ([8d5679e](https://github.com/forcedotcom/sfdx-core/commit/8d5679ecbd482af84842f5c1c8908a059d97ef3f)) ## [2.20.6](https://github.com/forcedotcom/sfdx-core/compare/v2.20.5...v2.20.6) (2021-04-02) - ### Bug Fixes -* add REST deploy and test ([a1204f8](https://github.com/forcedotcom/sfdx-core/commit/a1204f857654ef979913708a8404d3b1e5328352)) -* deploy with REST working :) ([ec36851](https://github.com/forcedotcom/sfdx-core/commit/ec368515cd2d5d947f947573abbdaa83d3a853a2)) -* remove requrie ts-node/register from package ([5377fe4](https://github.com/forcedotcom/sfdx-core/commit/5377fe46c3ed5707d31e45794f9fd397aabbcf63)) -* rest deploy without fs :D ([9a4202d](https://github.com/forcedotcom/sfdx-core/commit/9a4202d157131fbf6aebb007a0334d3d1ce1d4e8)) -* working on adding REST deploy ([0b3947b](https://github.com/forcedotcom/sfdx-core/commit/0b3947b4e39b1ecd790cd6c03077e4388faf2b04)) - - +- add REST deploy and test ([a1204f8](https://github.com/forcedotcom/sfdx-core/commit/a1204f857654ef979913708a8404d3b1e5328352)) +- deploy with REST working :) ([ec36851](https://github.com/forcedotcom/sfdx-core/commit/ec368515cd2d5d947f947573abbdaa83d3a853a2)) +- remove requrie ts-node/register from package ([5377fe4](https://github.com/forcedotcom/sfdx-core/commit/5377fe46c3ed5707d31e45794f9fd397aabbcf63)) +- rest deploy without fs :D ([9a4202d](https://github.com/forcedotcom/sfdx-core/commit/9a4202d157131fbf6aebb007a0334d3d1ce1d4e8)) +- working on adding REST deploy ([0b3947b](https://github.com/forcedotcom/sfdx-core/commit/0b3947b4e39b1ecd790cd6c03077e4388faf2b04)) ## [2.20.5](https://github.com/forcedotcom/sfdx-core/compare/v2.20.4...v2.20.5) (2021-03-08) - ### Bug Fixes -* qualify a sandbox url via cname lookup ([#385](https://github.com/forcedotcom/sfdx-core/issues/385)) ([3e27623](https://github.com/forcedotcom/sfdx-core/commit/3e276237278fabb609b890e3271c4d8a28c0f573)) - - +- qualify a sandbox url via cname lookup ([#385](https://github.com/forcedotcom/sfdx-core/issues/385)) ([3e27623](https://github.com/forcedotcom/sfdx-core/commit/3e276237278fabb609b890e3271c4d8a28c0f573)) ## [2.20.4](https://github.com/forcedotcom/sfdx-core/compare/v2.20.3...v2.20.4) (2021-03-03) - - ## [2.20.3](https://github.com/forcedotcom/sfdx-core/compare/v2.20.2...v2.20.3) (2021-02-25) - ### Bug Fixes -* await the call to authInfo.save ([299499e](https://github.com/forcedotcom/sfdx-core/commit/299499ee29e9243b7d60fb9bdef22165a34b4611)) -* web:login fails when org cannot access REST ([31b139a](https://github.com/forcedotcom/sfdx-core/commit/31b139a56ce37e0d8a15946163dbf96c872c565b)) - +- await the call to authInfo.save ([299499e](https://github.com/forcedotcom/sfdx-core/commit/299499ee29e9243b7d60fb9bdef22165a34b4611)) +- web:login fails when org cannot access REST ([31b139a](https://github.com/forcedotcom/sfdx-core/commit/31b139a56ce37e0d8a15946163dbf96c872c565b)) ### Performance Improvements -* small queries to identify a devHub ([7bc75c1](https://github.com/forcedotcom/sfdx-core/commit/7bc75c16c7d03a81031e4e645e24aa9d23205028)) - - +- small queries to identify a devHub ([7bc75c1](https://github.com/forcedotcom/sfdx-core/commit/7bc75c16c7d03a81031e4e645e24aa9d23205028)) ## [2.20.2](https://github.com/forcedotcom/sfdx-core/compare/v2.20.1...v2.20.2) (2021-02-25) - ### Performance Improvements -* small queries to identify a devHub ([2bae295](https://github.com/forcedotcom/sfdx-core/commit/2bae295a63cb28ee7e7ea31f8d4b8f165ccd6173)) - - +- small queries to identify a devHub ([2bae295](https://github.com/forcedotcom/sfdx-core/commit/2bae295a63cb28ee7e7ea31f8d4b8f165ccd6173)) ## [2.20.1](https://github.com/forcedotcom/sfdx-core/compare/v2.20.0...v2.20.1) (2021-02-24) - ### Bug Fixes -* await the call to authInfo.save ([b26ea70](https://github.com/forcedotcom/sfdx-core/commit/b26ea700793eb2a985f28ce7fc349164d5edaf89)) - - +- await the call to authInfo.save ([b26ea70](https://github.com/forcedotcom/sfdx-core/commit/b26ea700793eb2a985f28ce7fc349164d5edaf89)) # [2.20.0](https://github.com/forcedotcom/sfdx-core/compare/v2.19.1...v2.20.0) (2021-02-22) - ### Bug Fixes -* do not save access token files ([46d88b9](https://github.com/forcedotcom/sfdx-core/commit/46d88b90c11c7de392412ef64ded201a2145de9d)) - +- do not save access token files ([46d88b9](https://github.com/forcedotcom/sfdx-core/commit/46d88b90c11c7de392412ef64ded201a2145de9d)) ### Features -* cache api version on auth info ([cb21cf0](https://github.com/forcedotcom/sfdx-core/commit/cb21cf099a4ab6911e49b26488b51eb6988b2be7)) - - +- cache api version on auth info ([cb21cf0](https://github.com/forcedotcom/sfdx-core/commit/cb21cf099a4ab6911e49b26488b51eb6988b2be7)) ## [2.19.1](https://github.com/forcedotcom/sfdx-core/compare/v2.19.0...v2.19.1) (2021-02-19) - ### Bug Fixes -* meet more password requirements ([53025f0](https://github.com/forcedotcom/sfdx-core/commit/53025f00a5a52cb32ed8ac20178c409df5014b76)) - - +- meet more password requirements ([53025f0](https://github.com/forcedotcom/sfdx-core/commit/53025f00a5a52cb32ed8ac20178c409df5014b76)) # [2.19.0](https://github.com/forcedotcom/sfdx-core/compare/v2.18.6...v2.19.0) (2021-02-17) - ### Bug Fixes -* move env vars to myDomainResolver ([fcf1a4a](https://github.com/forcedotcom/sfdx-core/commit/fcf1a4a4e333e6ac9e8d6e91204d030031de3d1c)) -* revert dns polling timeout to 30 and frequency to 10 ([4ba7a63](https://github.com/forcedotcom/sfdx-core/commit/4ba7a63ad5019c33123773789af6c7c58e4c6eb3)) - +- move env vars to myDomainResolver ([fcf1a4a](https://github.com/forcedotcom/sfdx-core/commit/fcf1a4a4e333e6ac9e8d6e91204d030031de3d1c)) +- revert dns polling timeout to 30 and frequency to 10 ([4ba7a63](https://github.com/forcedotcom/sfdx-core/commit/4ba7a63ad5019c33123773789af6c7c58e4c6eb3)) ### Features -* add SFDX_DISABLE_DNS_CHECK ([2e2cb84](https://github.com/forcedotcom/sfdx-core/commit/2e2cb84f557ecb057358efa107c616d79dbc160b)) - - +- add SFDX_DISABLE_DNS_CHECK ([2e2cb84](https://github.com/forcedotcom/sfdx-core/commit/2e2cb84f557ecb057358efa107c616d79dbc160b)) ## [2.18.6](https://github.com/forcedotcom/sfdx-core/compare/v2.18.5...v2.18.6) (2021-02-17) - ### Bug Fixes -* pass decrypted client secret for oauth ([#374](https://github.com/forcedotcom/sfdx-core/issues/374)) ([63bf84e](https://github.com/forcedotcom/sfdx-core/commit/63bf84eaa962c151dc6a5ffcec3edcdf4bf91b05)) - - +- pass decrypted client secret for oauth ([#374](https://github.com/forcedotcom/sfdx-core/issues/374)) ([63bf84e](https://github.com/forcedotcom/sfdx-core/commit/63bf84eaa962c151dc6a5ffcec3edcdf4bf91b05)) ## [2.18.5](https://github.com/forcedotcom/sfdx-core/compare/v2.18.4...v2.18.5) (2021-02-11) - ### Bug Fixes -* filter allowedProperties on getConfigInfo ([cbb91e1](https://github.com/forcedotcom/sfdx-core/commit/cbb91e1604f7c7c8b192b8d6ca2c64bdd4fb05b2)) -* no throw on unknown config value ([49618db](https://github.com/forcedotcom/sfdx-core/commit/49618db01cd180fd1267092d36754d83a6514182)) - - +- filter allowedProperties on getConfigInfo ([cbb91e1](https://github.com/forcedotcom/sfdx-core/commit/cbb91e1604f7c7c8b192b8d6ca2c64bdd4fb05b2)) +- no throw on unknown config value ([49618db](https://github.com/forcedotcom/sfdx-core/commit/49618db01cd180fd1267092d36754d83a6514182)) ## [2.18.4](https://github.com/forcedotcom/sfdx-core/compare/v2.18.3...v2.18.4) (2021-02-10) - ### Bug Fixes -* isresolvable mock ([6a7e8b1](https://github.com/forcedotcom/sfdx-core/commit/6a7e8b153a42135792a3df58b809981706492e83)) - - +- isresolvable mock ([6a7e8b1](https://github.com/forcedotcom/sfdx-core/commit/6a7e8b153a42135792a3df58b809981706492e83)) ## [2.18.3](https://github.com/forcedotcom/sfdx-core/compare/v2.18.2...v2.18.3) (2021-02-05) - ### Bug Fixes -* update password jsdoc for v51 + return type ([390ed8d](https://github.com/forcedotcom/sfdx-core/commit/390ed8d0f15ee3915e35ccea5505890b10f16c81)) - - +- update password jsdoc for v51 + return type ([390ed8d](https://github.com/forcedotcom/sfdx-core/commit/390ed8d0f15ee3915e35ccea5505890b10f16c81)) ## [2.18.2](https://github.com/forcedotcom/sfdx-core/compare/v2.18.1...v2.18.2) (2021-02-04) - ### Bug Fixes -* fixed maxQueryLimit validation ([6431065](https://github.com/forcedotcom/sfdx-core/commit/6431065a0da6a615ef19594f69c069a19885f3e5)) -* fixed test descriptions ([1455204](https://github.com/forcedotcom/sfdx-core/commit/145520456c48c59003b1397ef7bcdf7a047ac083)) -* improved validation, error message, add test ([63e6c4d](https://github.com/forcedotcom/sfdx-core/commit/63e6c4d5814aa324d41b87a7ec275c16a085ef78)) -* maxQueryLimit must be > 0 ([a3d9156](https://github.com/forcedotcom/sfdx-core/commit/a3d91561f7510901dc02e42e80bb943bf3008a62)) - - +- fixed maxQueryLimit validation ([6431065](https://github.com/forcedotcom/sfdx-core/commit/6431065a0da6a615ef19594f69c069a19885f3e5)) +- fixed test descriptions ([1455204](https://github.com/forcedotcom/sfdx-core/commit/145520456c48c59003b1397ef7bcdf7a047ac083)) +- improved validation, error message, add test ([63e6c4d](https://github.com/forcedotcom/sfdx-core/commit/63e6c4d5814aa324d41b87a7ec275c16a085ef78)) +- maxQueryLimit must be > 0 ([a3d9156](https://github.com/forcedotcom/sfdx-core/commit/a3d91561f7510901dc02e42e80bb943bf3008a62)) ## [2.18.1](https://github.com/forcedotcom/sfdx-core/compare/v2.18.0...v2.18.1) (2021-02-04) - ### Bug Fixes -* add space option to write json ([51d01aa](https://github.com/forcedotcom/sfdx-core/commit/51d01aae7f7b2fc7fe0cf10ec9cffd170e0574ca)) - - +- add space option to write json ([51d01aa](https://github.com/forcedotcom/sfdx-core/commit/51d01aae7f7b2fc7fe0cf10ec9cffd170e0574ca)) # [2.18.0](https://github.com/forcedotcom/sfdx-core/compare/v2.17.0...v2.18.0) (2021-02-01) - ### Bug Fixes -* audience for loginUrls without my in the domain ([2bca84c](https://github.com/forcedotcom/sfdx-core/commit/2bca84c0b66d59b536ffa61f051e43b43c4c23dd)) -* audiences handle uppercased CS instances ([0d6d3ea](https://github.com/forcedotcom/sfdx-core/commit/0d6d3ea14601c1008f16e7d23af2802ef8e3ff65)) -* audiences use instanceURL ([64590cc](https://github.com/forcedotcom/sfdx-core/commit/64590cc4f9f30a37dbf4d17a6cf8db53ba0bdd09)) -* support enhanced domains ([a89ce21](https://github.com/forcedotcom/sfdx-core/commit/a89ce21c24ddbdd4cfad0772490f16768e5a0e3c)) - +- audience for loginUrls without my in the domain ([2bca84c](https://github.com/forcedotcom/sfdx-core/commit/2bca84c0b66d59b536ffa61f051e43b43c4c23dd)) +- audiences handle uppercased CS instances ([0d6d3ea](https://github.com/forcedotcom/sfdx-core/commit/0d6d3ea14601c1008f16e7d23af2802ef8e3ff65)) +- audiences use instanceURL ([64590cc](https://github.com/forcedotcom/sfdx-core/commit/64590cc4f9f30a37dbf4d17a6cf8db53ba0bdd09)) +- support enhanced domains ([a89ce21](https://github.com/forcedotcom/sfdx-core/commit/a89ce21c24ddbdd4cfad0772490f16768e5a0e3c)) ### Features -* falcon usa support w/o createdOrgInstance ([ec15d37](https://github.com/forcedotcom/sfdx-core/commit/ec15d37cb2500e41e787c432579e87ec7ed126d4)) -* more falcon domain support, url case insensitivity ([f72b85d](https://github.com/forcedotcom/sfdx-core/commit/f72b85d3e8a875306654bc7eb5b692218f242518)) -* more jwt audience domains ([03751ea](https://github.com/forcedotcom/sfdx-core/commit/03751ea884eacb59eecaadd139a8a09035cd08d0)) - - +- falcon usa support w/o createdOrgInstance ([ec15d37](https://github.com/forcedotcom/sfdx-core/commit/ec15d37cb2500e41e787c432579e87ec7ed126d4)) +- more falcon domain support, url case insensitivity ([f72b85d](https://github.com/forcedotcom/sfdx-core/commit/f72b85d3e8a875306654bc7eb5b692218f242518)) +- more jwt audience domains ([03751ea](https://github.com/forcedotcom/sfdx-core/commit/03751ea884eacb59eecaadd139a8a09035cd08d0)) # [2.17.0](https://github.com/forcedotcom/sfdx-core/compare/v2.16.6...v2.17.0) (2021-01-29) - ### Bug Fixes -* at least 3 ([109da8a](https://github.com/forcedotcom/sfdx-core/commit/109da8a5b335678c4967bd2aef92069e1f1bd955)) - +- at least 3 ([109da8a](https://github.com/forcedotcom/sfdx-core/commit/109da8a5b335678c4967bd2aef92069e1f1bd955)) ### Features -* adjustable DNS timeout ([9db7b66](https://github.com/forcedotcom/sfdx-core/commit/9db7b66bf8f3fb284ab98c0fbd0906c6195eabc6)) - - +- adjustable DNS timeout ([9db7b66](https://github.com/forcedotcom/sfdx-core/commit/9db7b66bf8f3fb284ab98c0fbd0906c6195eabc6)) ## [2.16.6](https://github.com/forcedotcom/sfdx-core/compare/v2.16.5...v2.16.6) (2021-01-29) - ### Bug Fixes -* add internal mil environment ([27e33ae](https://github.com/forcedotcom/sfdx-core/commit/27e33ae0a99ebc2c63364a67348174ab56468290)) -* additional "internal" host ([af15447](https://github.com/forcedotcom/sfdx-core/commit/af15447166e85124326134a4f8d51b9fd05381ea)) -* internal, local, and new stm.force domains ([b93f26d](https://github.com/forcedotcom/sfdx-core/commit/b93f26d2a2e255a0ef3089cde1d20445aa12e802)) -* myDomainResolver shouldn't check localhost ([c07984e](https://github.com/forcedotcom/sfdx-core/commit/c07984e507d98be59ca15da97621b92bd2e73497)) - - +- add internal mil environment ([27e33ae](https://github.com/forcedotcom/sfdx-core/commit/27e33ae0a99ebc2c63364a67348174ab56468290)) +- additional "internal" host ([af15447](https://github.com/forcedotcom/sfdx-core/commit/af15447166e85124326134a4f8d51b9fd05381ea)) +- internal, local, and new stm.force domains ([b93f26d](https://github.com/forcedotcom/sfdx-core/commit/b93f26d2a2e255a0ef3089cde1d20445aa12e802)) +- myDomainResolver shouldn't check localhost ([c07984e](https://github.com/forcedotcom/sfdx-core/commit/c07984e507d98be59ca15da97621b92bd2e73497)) ## [2.16.5](https://github.com/forcedotcom/sfdx-core/compare/v2.16.4...v2.16.5) (2021-01-29) - ### Bug Fixes -* send oauth error to browser ([5fd027a](https://github.com/forcedotcom/sfdx-core/commit/5fd027a2ee8c12b21621f7478763175f499a1517)) - - +- send oauth error to browser ([5fd027a](https://github.com/forcedotcom/sfdx-core/commit/5fd027a2ee8c12b21621f7478763175f499a1517)) ## [2.16.4](https://github.com/forcedotcom/sfdx-core/compare/v2.16.3...v2.16.4) (2021-01-27) - ### Bug Fixes -* remove mobile domains ([ae413db](https://github.com/forcedotcom/sfdx-core/commit/ae413db35916ecd480524d1994664729c0685f2f)) - - +- remove mobile domains ([ae413db](https://github.com/forcedotcom/sfdx-core/commit/ae413db35916ecd480524d1994664729c0685f2f)) ## [2.16.3](https://github.com/forcedotcom/sfdx-core/compare/v2.16.2...v2.16.3) (2021-01-21) - - ## [2.16.2](https://github.com/forcedotcom/sfdx-core/compare/v2.16.1...v2.16.2) (2021-01-21) - ### Bug Fixes -* better error messaging and Steve feedback ([20c8977](https://github.com/forcedotcom/sfdx-core/commit/20c897739d077a15945701843fac9c2c3457dff4)) -* better error name ([43cac98](https://github.com/forcedotcom/sfdx-core/commit/43cac980bba0bf276a28cd7d90b4bc3656cacd3b)) -* error name as a constant ([92ced7e](https://github.com/forcedotcom/sfdx-core/commit/92ced7e7de418c4dc36af6d12be930adcf801706)) -* export name for testing ([fda9ce0](https://github.com/forcedotcom/sfdx-core/commit/fda9ce0a802917cbcf496dc03450182f3ec5f79a)) -* line spacing ([89e4dc7](https://github.com/forcedotcom/sfdx-core/commit/89e4dc7d46e7b3b553329c7eb125caa75015dce1)) -* log versions as string ([d82fe3e](https://github.com/forcedotcom/sfdx-core/commit/d82fe3e8a41c177bd905ee3278332db375dc9761)) -* prevent DNS ENOTFOUND from hitting stdout ([1bc473f](https://github.com/forcedotcom/sfdx-core/commit/1bc473fc36ff70edbb1145b1c2f3ae6e0a4331ee)) - - +- better error messaging and Steve feedback ([20c8977](https://github.com/forcedotcom/sfdx-core/commit/20c897739d077a15945701843fac9c2c3457dff4)) +- better error name ([43cac98](https://github.com/forcedotcom/sfdx-core/commit/43cac980bba0bf276a28cd7d90b4bc3656cacd3b)) +- error name as a constant ([92ced7e](https://github.com/forcedotcom/sfdx-core/commit/92ced7e7de418c4dc36af6d12be930adcf801706)) +- export name for testing ([fda9ce0](https://github.com/forcedotcom/sfdx-core/commit/fda9ce0a802917cbcf496dc03450182f3ec5f79a)) +- line spacing ([89e4dc7](https://github.com/forcedotcom/sfdx-core/commit/89e4dc7d46e7b3b553329c7eb125caa75015dce1)) +- log versions as string ([d82fe3e](https://github.com/forcedotcom/sfdx-core/commit/d82fe3e8a41c177bd905ee3278332db375dc9761)) +- prevent DNS ENOTFOUND from hitting stdout ([1bc473f](https://github.com/forcedotcom/sfdx-core/commit/1bc473fc36ff70edbb1145b1c2f3ae6e0a4331ee)) ## [2.16.1](https://github.com/forcedotcom/sfdx-core/compare/v2.16.0...v2.16.1) (2021-01-20) - - # [2.16.0](https://github.com/forcedotcom/sfdx-core/compare/v2.15.5...v2.16.0) (2021-01-12) - ### Bug Fixes -* bumped npm release to v4 ([1ad0a98](https://github.com/forcedotcom/sfdx-core/commit/1ad0a984fd75e5e0cba20a907f542014b919095f)) -* dry-run fixed orb ([b3eb476](https://github.com/forcedotcom/sfdx-core/commit/b3eb4764b63869907d653d63e47f4e092df75481)) -* per peter feedback ([e0c366a](https://github.com/forcedotcom/sfdx-core/commit/e0c366ad6d7b7affb746aa8ba4869685f8563b5d)) -* remove another redundant condition ([021ff2d](https://github.com/forcedotcom/sfdx-core/commit/021ff2d08292148e50cf1ba8eccc54c92ed12328)) -* revert dry-run fix ([b415aca](https://github.com/forcedotcom/sfdx-core/commit/b415aca58e005093760cd8873e67d69ce70e1935)) -* updated yarn.lock ([7caaed5](https://github.com/forcedotcom/sfdx-core/commit/7caaed58d4f18bb6be675b690b1b9fc17c16d207)) - +- bumped npm release to v4 ([1ad0a98](https://github.com/forcedotcom/sfdx-core/commit/1ad0a984fd75e5e0cba20a907f542014b919095f)) +- dry-run fixed orb ([b3eb476](https://github.com/forcedotcom/sfdx-core/commit/b3eb4764b63869907d653d63e47f4e092df75481)) +- per peter feedback ([e0c366a](https://github.com/forcedotcom/sfdx-core/commit/e0c366ad6d7b7affb746aa8ba4869685f8563b5d)) +- remove another redundant condition ([021ff2d](https://github.com/forcedotcom/sfdx-core/commit/021ff2d08292148e50cf1ba8eccc54c92ed12328)) +- revert dry-run fix ([b415aca](https://github.com/forcedotcom/sfdx-core/commit/b415aca58e005093760cd8873e67d69ce70e1935)) +- updated yarn.lock ([7caaed5](https://github.com/forcedotcom/sfdx-core/commit/7caaed58d4f18bb6be675b690b1b9fc17c16d207)) ### Features -* singleRecordQuery ([ea72d9f](https://github.com/forcedotcom/sfdx-core/commit/ea72d9f3e31aff8dbcf1f15fd7539f75cafc4ffc)) - - +- singleRecordQuery ([ea72d9f](https://github.com/forcedotcom/sfdx-core/commit/ea72d9f3e31aff8dbcf1f15fd7539f75cafc4ffc)) ## [2.15.5](https://github.com/forcedotcom/sfdx-core/compare/v2.15.4...v2.15.5) (2021-01-07) - ### Bug Fixes -* accessToken works as username ([6f0ec24](https://github.com/forcedotcom/sfdx-core/commit/6f0ec24d0b220f4ba6f3460392c2ae6fc3b4d998)) -* get username from accessToken ([18dd97d](https://github.com/forcedotcom/sfdx-core/commit/18dd97dad14639d66a19cfde0b33497864fa3594)) -* test > match ([56815e8](https://github.com/forcedotcom/sfdx-core/commit/56815e85cbaf6fd0b7253c83af08d62ba6b1f685)) - - +- accessToken works as username ([6f0ec24](https://github.com/forcedotcom/sfdx-core/commit/6f0ec24d0b220f4ba6f3460392c2ae6fc3b4d998)) +- get username from accessToken ([18dd97d](https://github.com/forcedotcom/sfdx-core/commit/18dd97dad14639d66a19cfde0b33497864fa3594)) +- test > match ([56815e8](https://github.com/forcedotcom/sfdx-core/commit/56815e85cbaf6fd0b7253c83af08d62ba6b1f685)) ## [2.15.4](https://github.com/forcedotcom/sfdx-core/compare/v2.15.3...v2.15.4) (2020-12-09) - ### Bug Fixes -* **windows:** throw error when file is not accessible ([3c5e5f8](https://github.com/forcedotcom/sfdx-core/commit/3c5e5f83ead8fe5f8e9cfc9623a3d4296e42458f)) - - +- **windows:** throw error when file is not accessible ([3c5e5f8](https://github.com/forcedotcom/sfdx-core/commit/3c5e5f83ead8fe5f8e9cfc9623a3d4296e42458f)) ## [2.15.3](https://github.com/forcedotcom/sfdx-core/compare/v2.15.2...v2.15.3) (2020-12-02) - ### Bug Fixes -* added docs around MyDomainResolver constructor method ([68d8e52](https://github.com/forcedotcom/sfdx-core/commit/68d8e520353dae10cda4b04153ec7cc753cbc02a)) -* single package entry is defaulted to default package ([badff89](https://github.com/forcedotcom/sfdx-core/commit/badff89be92c492d990dc91ce79ff94eb88a7117)) - - +- added docs around MyDomainResolver constructor method ([68d8e52](https://github.com/forcedotcom/sfdx-core/commit/68d8e520353dae10cda4b04153ec7cc753cbc02a)) +- single package entry is defaulted to default package ([badff89](https://github.com/forcedotcom/sfdx-core/commit/badff89be92c492d990dc91ce79ff94eb88a7117)) ## [2.15.2](https://github.com/forcedotcom/sfdx-core/compare/v2.15.1...v2.15.2) (2020-11-11) - ### Bug Fixes -* config aggregator show changes to local and global config ([e3b3a55](https://github.com/forcedotcom/sfdx-core/commit/e3b3a55b7ea5e3a728ea021c8eb6a24555b63dc4)) -* localConfig typings now correctly show it might not exist ([3cb7716](https://github.com/forcedotcom/sfdx-core/commit/3cb7716fff790aac2357cd28dd28e11e81513e4f)) -* updated various logic and QOL on User and PermissionSetAssignment ([1bab28f](https://github.com/forcedotcom/sfdx-core/commit/1bab28fc799cba944aa01aa5d330e5524e267b63)) - - +- config aggregator show changes to local and global config ([e3b3a55](https://github.com/forcedotcom/sfdx-core/commit/e3b3a55b7ea5e3a728ea021c8eb6a24555b63dc4)) +- localConfig typings now correctly show it might not exist ([3cb7716](https://github.com/forcedotcom/sfdx-core/commit/3cb7716fff790aac2357cd28dd28e11e81513e4f)) +- updated various logic and QOL on User and PermissionSetAssignment ([1bab28f](https://github.com/forcedotcom/sfdx-core/commit/1bab28fc799cba944aa01aa5d330e5524e267b63)) ## [2.15.1](https://github.com/forcedotcom/sfdx-core/compare/v2.15.0...v2.15.1) (2020-11-02) - ### Bug Fixes -* move @types/mkdirp to dependencies ([e8e5cf7](https://github.com/forcedotcom/sfdx-core/commit/e8e5cf753c9d3ca56ae9f55e90b41d6168b49d0b)) - - +- move @types/mkdirp to dependencies ([e8e5cf7](https://github.com/forcedotcom/sfdx-core/commit/e8e5cf753c9d3ca56ae9f55e90b41d6168b49d0b)) # [2.15.0](https://github.com/forcedotcom/sfdx-core/compare/v2.14.0...v2.15.0) (2020-10-30) - ### Features -* allow adding property metas to allowedProperties on config ([2a264d3](https://github.com/forcedotcom/sfdx-core/commit/2a264d3ca3002c4c90c771beaa2036a06d331697)) - - +- allow adding property metas to allowedProperties on config ([2a264d3](https://github.com/forcedotcom/sfdx-core/commit/2a264d3ca3002c4c90c771beaa2036a06d331697)) # [2.14.0](https://github.com/forcedotcom/sfdx-core/compare/v2.13.0...v2.14.0) (2020-10-22) - ### Features -* add decrypt option to getFields ([ccd32e2](https://github.com/forcedotcom/sfdx-core/commit/ccd32e20aa613554153c75bab59373225cea2382)) - - +- add decrypt option to getFields ([ccd32e2](https://github.com/forcedotcom/sfdx-core/commit/ccd32e20aa613554153c75bab59373225cea2382)) # [2.13.0](https://github.com/forcedotcom/sfdx-core/compare/v2.12.3...v2.13.0) (2020-10-13) - ### Bug Fixes -* add falcon sandboxes ([558dd72](https://github.com/forcedotcom/sfdx-core/commit/558dd720d1988ad2d80fa9227b277e56c284e09a)) -* mock package json instead of fs ([8cba4d1](https://github.com/forcedotcom/sfdx-core/commit/8cba4d1e04a7c8fbe98e9cc646f663f404330394)) -* resolve sfdx project path before checking cache ([265e523](https://github.com/forcedotcom/sfdx-core/commit/265e52350a69028f6a81aafb2e9779f455a29c31)) - +- add falcon sandboxes ([558dd72](https://github.com/forcedotcom/sfdx-core/commit/558dd720d1988ad2d80fa9227b277e56c284e09a)) +- mock package json instead of fs ([8cba4d1](https://github.com/forcedotcom/sfdx-core/commit/8cba4d1e04a7c8fbe98e9cc646f663f404330394)) +- resolve sfdx project path before checking cache ([265e523](https://github.com/forcedotcom/sfdx-core/commit/265e52350a69028f6a81aafb2e9779f455a29c31)) ### Features -* add DeviceOauthService ([3e72962](https://github.com/forcedotcom/sfdx-core/commit/3e72962fd3a192b7dc6ff2ce7123ef7312185694)) -* add WebOauthServer for web based auth flow ([25cea05](https://github.com/forcedotcom/sfdx-core/commit/25cea057200fcb5861d6862f877832a1ad93fd79)) - - +- add DeviceOauthService ([3e72962](https://github.com/forcedotcom/sfdx-core/commit/3e72962fd3a192b7dc6ff2ce7123ef7312185694)) +- add WebOauthServer for web based auth flow ([25cea05](https://github.com/forcedotcom/sfdx-core/commit/25cea057200fcb5861d6862f877832a1ad93fd79)) ## [2.12.3](https://github.com/forcedotcom/sfdx-core/compare/v2.12.2...v2.12.3) (2020-10-01) - ### Bug Fixes -* lifecycle should be a singleton across core versions ([66a450b](https://github.com/forcedotcom/sfdx-core/commit/66a450b0a0030d85c61645eb8c782289e4938e4a)) -* stub should call resolver at runtime ([9002cbf](https://github.com/forcedotcom/sfdx-core/commit/9002cbf8f02da9422dd547a3ea989d174749726b)) - - +- lifecycle should be a singleton across core versions ([66a450b](https://github.com/forcedotcom/sfdx-core/commit/66a450b0a0030d85c61645eb8c782289e4938e4a)) +- stub should call resolver at runtime ([9002cbf](https://github.com/forcedotcom/sfdx-core/commit/9002cbf8f02da9422dd547a3ea989d174749726b)) ## [2.12.2](https://github.com/forcedotcom/sfdx-core/compare/v2.12.1...v2.12.2) (2020-09-28) - ### Bug Fixes -* fixed mocking error ([f5cfe52](https://github.com/forcedotcom/sfdx-core/commit/f5cfe52605e54ab8250e155e17077bc03b0cd6ec)) - - +- fixed mocking error ([f5cfe52](https://github.com/forcedotcom/sfdx-core/commit/f5cfe52605e54ab8250e155e17077bc03b0cd6ec)) ## [2.12.1](https://github.com/forcedotcom/sfdx-core/compare/v2.12.0...v2.12.1) (2020-09-18) - ### Bug Fixes -* missed line in merge ([9f73ba5](https://github.com/forcedotcom/sfdx-core/commit/9f73ba52c6cf3330b3a3f4560920e35296151bd5)) - - +- missed line in merge ([9f73ba5](https://github.com/forcedotcom/sfdx-core/commit/9f73ba52c6cf3330b3a3f4560920e35296151bd5)) # [2.12.0](https://github.com/forcedotcom/sfdx-core/compare/v2.11.0...v2.12.0) (2020-09-14) - ### Bug Fixes -* convert core from tslint -> eslint ([d4791c8](https://github.com/forcedotcom/sfdx-core/commit/d4791c8db200a18973d2164971395998693b3d03)) -* query for username during refresh token flow ([f640070](https://github.com/forcedotcom/sfdx-core/commit/f640070feef25c0589cbcad8868152a564be028c)) -* some changes regressed toolbelt ([#299](https://github.com/forcedotcom/sfdx-core/issues/299)) ([2c571a7](https://github.com/forcedotcom/sfdx-core/commit/2c571a729c4d62fc2da4427aa28ebfc769c92b97)) - +- convert core from tslint -> eslint ([d4791c8](https://github.com/forcedotcom/sfdx-core/commit/d4791c8db200a18973d2164971395998693b3d03)) +- query for username during refresh token flow ([f640070](https://github.com/forcedotcom/sfdx-core/commit/f640070feef25c0589cbcad8868152a564be028c)) +- some changes regressed toolbelt ([#299](https://github.com/forcedotcom/sfdx-core/issues/299)) ([2c571a7](https://github.com/forcedotcom/sfdx-core/commit/2c571a729c4d62fc2da4427aa28ebfc769c92b97)) ### Features -* add a lot of sync method, add package directory information to the project ([#284](https://github.com/forcedotcom/sfdx-core/issues/284)) ([b973901](https://github.com/forcedotcom/sfdx-core/commit/b973901d69855debecc553452a6664dc482cc3c5)) -* add scope options ([#289](https://github.com/forcedotcom/sfdx-core/issues/289)) ([6bc23ec](https://github.com/forcedotcom/sfdx-core/commit/6bc23ecbb0f744e8575ac21b90a59bf540a79156)) -* support plugin-auth ([a1f6eca](https://github.com/forcedotcom/sfdx-core/commit/a1f6eca37d26cb869014e1cd7eafcc3eb5b5e830)) - - +- add a lot of sync method, add package directory information to the project ([#284](https://github.com/forcedotcom/sfdx-core/issues/284)) ([b973901](https://github.com/forcedotcom/sfdx-core/commit/b973901d69855debecc553452a6664dc482cc3c5)) +- add scope options ([#289](https://github.com/forcedotcom/sfdx-core/issues/289)) ([6bc23ec](https://github.com/forcedotcom/sfdx-core/commit/6bc23ecbb0f744e8575ac21b90a59bf540a79156)) +- support plugin-auth ([a1f6eca](https://github.com/forcedotcom/sfdx-core/commit/a1f6eca37d26cb869014e1cd7eafcc3eb5b5e830)) # [2.11.0](https://github.com/forcedotcom/sfdx-core/compare/v2.10.0...v2.11.0) (2020-08-27) - ### Bug Fixes -* examples/package.json & examples/yarn.lock to reduce vulnerabilities ([d062ccc](https://github.com/forcedotcom/sfdx-core/commit/d062cccdd96d16f45dafd41425827299a26ed766)) -* wrap logfmt message with double quotes ([#280](https://github.com/forcedotcom/sfdx-core/issues/280)) ([3ef407b](https://github.com/forcedotcom/sfdx-core/commit/3ef407b667cdd65dc2bbd8259924e0b8b7ecb284)) - +- examples/package.json & examples/yarn.lock to reduce vulnerabilities ([d062ccc](https://github.com/forcedotcom/sfdx-core/commit/d062cccdd96d16f45dafd41425827299a26ed766)) +- wrap logfmt message with double quotes ([#280](https://github.com/forcedotcom/sfdx-core/issues/280)) ([3ef407b](https://github.com/forcedotcom/sfdx-core/commit/3ef407b667cdd65dc2bbd8259924e0b8b7ecb284)) ### Features -* support array of messages when using getMessage ([ac7407a](https://github.com/forcedotcom/sfdx-core/commit/ac7407ad899fba3825082ba23f53b66101b699de)) -* support logfmt style formatting ([#273](https://github.com/forcedotcom/sfdx-core/issues/273)) ([2767cbf](https://github.com/forcedotcom/sfdx-core/commit/2767cbfe4ec356915140260dfb780ec3b39ccb84)) - - +- support array of messages when using getMessage ([ac7407a](https://github.com/forcedotcom/sfdx-core/commit/ac7407ad899fba3825082ba23f53b66101b699de)) +- support logfmt style formatting ([#273](https://github.com/forcedotcom/sfdx-core/issues/273)) ([2767cbf](https://github.com/forcedotcom/sfdx-core/commit/2767cbfe4ec356915140260dfb780ec3b39ccb84)) # [2.10.0](https://github.com/forcedotcom/sfdx-core/compare/v2.9.4...v2.10.0) (2020-08-10) - ### Features -* support logfmt style formatting ([#273](https://github.com/forcedotcom/sfdx-core/issues/273)) ([#274](https://github.com/forcedotcom/sfdx-core/issues/274)) ([93b156c](https://github.com/forcedotcom/sfdx-core/commit/93b156c6e82ee8029bd4c8ec714b75c89e0f531f)) - - +- support logfmt style formatting ([#273](https://github.com/forcedotcom/sfdx-core/issues/273)) ([#274](https://github.com/forcedotcom/sfdx-core/issues/274)) ([93b156c](https://github.com/forcedotcom/sfdx-core/commit/93b156c6e82ee8029bd4c8ec714b75c89e0f531f)) ## [2.9.4](https://github.com/forcedotcom/sfdx-core/compare/v2.9.3...v2.9.4) (2020-08-07) - ### Bug Fixes -* updated messaging ([7f9ab06](https://github.com/forcedotcom/sfdx-core/commit/7f9ab06ecbde1ac082f027f35f07002efb8dc7cf)) -* fix edge case, updated messaging ([a8f9a54](https://github.com/forcedotcom/sfdx-core/commit/a8f9a547893918b2a3f6a23e9bcfa99e13b28974)) - - +- updated messaging ([7f9ab06](https://github.com/forcedotcom/sfdx-core/commit/7f9ab06ecbde1ac082f027f35f07002efb8dc7cf)) +- fix edge case, updated messaging ([a8f9a54](https://github.com/forcedotcom/sfdx-core/commit/a8f9a547893918b2a3f6a23e9bcfa99e13b28974)) ## [2.9.3](https://github.com/forcedotcom/sfdx-core/compare/v2.9.2...v2.9.3) (2020-08-06) - ### Bug Fixes -* changed to be greater than, not greater than or equal to ([7f1a12d](https://github.com/forcedotcom/sfdx-core/commit/7f1a12d7a7d7aa460de5bb32a368f52c11219a4e)) - - +- changed to be greater than, not greater than or equal to ([7f1a12d](https://github.com/forcedotcom/sfdx-core/commit/7f1a12d7a7d7aa460de5bb32a368f52c11219a4e)) ## [2.9.2](https://github.com/forcedotcom/sfdx-core/compare/v2.9.1...v2.9.2) (2020-08-06) - ### Bug Fixes -* maxQueryLimit config, return full jsforce result, fix build issue ([6c11196](https://github.com/forcedotcom/sfdx-core/commit/6c11196a48e19bca8d43fd994fa864bf3cb72cfa)) -* removed promise.reject ([d28d649](https://github.com/forcedotcom/sfdx-core/commit/d28d649f60ca1362380b4e5e408376561d6a64ed)) -* updated autoFetchQuery method ([4d018f6](https://github.com/forcedotcom/sfdx-core/commit/4d018f6d2c8e4d6b19179563f11db2ff1f9b5f3d)) - - +- maxQueryLimit config, return full jsforce result, fix build issue ([6c11196](https://github.com/forcedotcom/sfdx-core/commit/6c11196a48e19bca8d43fd994fa864bf3cb72cfa)) +- removed promise.reject ([d28d649](https://github.com/forcedotcom/sfdx-core/commit/d28d649f60ca1362380b4e5e408376561d6a64ed)) +- updated autoFetchQuery method ([4d018f6](https://github.com/forcedotcom/sfdx-core/commit/4d018f6d2c8e4d6b19179563f11db2ff1f9b5f3d)) ## [2.9.1](https://github.com/forcedotcom/sfdx-core/compare/v2.9.0...v2.9.1) (2020-08-04) - ### Bug Fixes -* remove encrypted from ISV_URL ([d2c89fe](https://github.com/forcedotcom/sfdx-core/commit/d2c89fed3602f0f9e06a3cefa605268914d69d6e)), closes [#262](https://github.com/forcedotcom/sfdx-core/issues/262) - - +- remove encrypted from ISV_URL ([d2c89fe](https://github.com/forcedotcom/sfdx-core/commit/d2c89fed3602f0f9e06a3cefa605268914d69d6e)), closes [#262](https://github.com/forcedotcom/sfdx-core/issues/262) # [2.9.0](https://github.com/forcedotcom/sfdx-core/compare/v2.8.0...v2.9.0) (2020-07-29) - ### Features -* overwriting configStore unset ([6095dd6](https://github.com/forcedotcom/sfdx-core/commit/6095dd69ab4ed5e4324e5a46d8ec5bed74bb538a)) - - +- overwriting configStore unset ([6095dd6](https://github.com/forcedotcom/sfdx-core/commit/6095dd69ab4ed5e4324e5a46d8ec5bed74bb538a)) # [2.8.0](https://github.com/forcedotcom/sfdx-core/compare/v2.7.0...v2.8.0) (2020-07-27) - ### Features -* changed data to be more flexible type ([50414f9](https://github.com/forcedotcom/sfdx-core/commit/50414f936569993b5bdf96c90bf251bbd6083b10)) - - +- changed data to be more flexible type ([50414f9](https://github.com/forcedotcom/sfdx-core/commit/50414f936569993b5bdf96c90bf251bbd6083b10)) # [2.7.0](https://github.com/forcedotcom/sfdx-core/compare/v2.6.0...v2.7.0) (2020-07-01) - ### Features -* adds areFilesEqual / actOn / getContentHash from toolbelt to core ([807dc72](https://github.com/forcedotcom/sfdx-core/commit/807dc729f414cda335fcba737580b53fc6ceddc1)) - - +- adds areFilesEqual / actOn / getContentHash from toolbelt to core ([807dc72](https://github.com/forcedotcom/sfdx-core/commit/807dc729f414cda335fcba737580b53fc6ceddc1)) # [2.6.0](https://github.com/forcedotcom/sfdx-core/compare/v2.5.1...v2.6.0) (2020-06-23) - ### Bug Fixes -* added line breaks for readability ([0f8b857](https://github.com/forcedotcom/sfdx-core/commit/0f8b8576d6401ed88b424e60e2f9302003d9ea90)) -* fixed a capitalization that caused CircleCI to fail ([db803a7](https://github.com/forcedotcom/sfdx-core/commit/db803a7fc83ead6fccf84e1791ba668cd25d013e)) -* updated comments and async for loop ([fa3b580](https://github.com/forcedotcom/sfdx-core/commit/fa3b580d82b3bb389a4d1b7edf9340080d392f50)) - +- added line breaks for readability ([0f8b857](https://github.com/forcedotcom/sfdx-core/commit/0f8b8576d6401ed88b424e60e2f9302003d9ea90)) +- fixed a capitalization that caused CircleCI to fail ([db803a7](https://github.com/forcedotcom/sfdx-core/commit/db803a7fc83ead6fccf84e1791ba668cd25d013e)) +- updated comments and async for loop ([fa3b580](https://github.com/forcedotcom/sfdx-core/commit/fa3b580d82b3bb389a4d1b7edf9340080d392f50)) ### Features -* added lifecycleEvents.ts from toolbelt: an event listener/emitter ([099478c](https://github.com/forcedotcom/sfdx-core/commit/099478cf087c024d965bba16bb6341df64ce7edb)) - - +- added lifecycleEvents.ts from toolbelt: an event listener/emitter ([099478c](https://github.com/forcedotcom/sfdx-core/commit/099478cf087c024d965bba16bb6341df64ce7edb)) ## [2.5.1](https://github.com/forcedotcom/sfdx-core/compare/v2.5.0...v2.5.1) (2020-06-11) - ### Bug Fixes -* fix child logger unit test ([93da343](https://github.com/forcedotcom/sfdx-core/commit/93da3432e83e4db0f2642b54f618521ea53bc414)) -* log uncaught exception in root logger only ([7a80662](https://github.com/forcedotcom/sfdx-core/commit/7a806622e1007d363f317f90a392328f6b6d40e7)) -* mock audience url for unit test ([963b696](https://github.com/forcedotcom/sfdx-core/commit/963b6960e971adaafd43c31581ffc07686fc8378)) - - +- fix child logger unit test ([93da343](https://github.com/forcedotcom/sfdx-core/commit/93da3432e83e4db0f2642b54f618521ea53bc414)) +- log uncaught exception in root logger only ([7a80662](https://github.com/forcedotcom/sfdx-core/commit/7a806622e1007d363f317f90a392328f6b6d40e7)) +- mock audience url for unit test ([963b696](https://github.com/forcedotcom/sfdx-core/commit/963b6960e971adaafd43c31581ffc07686fc8378)) # [2.5.0](https://github.com/forcedotcom/sfdx-core/compare/v2.4.1...v2.5.0) (2020-06-08) - ### Bug Fixes -* update mkdirp for updated dep ([e2b471b](https://github.com/forcedotcom/sfdx-core/commit/e2b471b120edd1b55bca50d71a2fe8d995ef8bbd)) - +- update mkdirp for updated dep ([e2b471b](https://github.com/forcedotcom/sfdx-core/commit/e2b471b120edd1b55bca50d71a2fe8d995ef8bbd)) ### Features -* add fs.fileExists ([0c5d0a7](https://github.com/forcedotcom/sfdx-core/commit/0c5d0a75867094f5b05d9d356f23c94c38d6213e)) - - +- add fs.fileExists ([0c5d0a7](https://github.com/forcedotcom/sfdx-core/commit/0c5d0a75867094f5b05d9d356f23c94c38d6213e)) ## [2.4.1](https://github.com/forcedotcom/sfdx-core/compare/v2.4.0...v2.4.1) (2020-05-05) - ### Bug Fixes -* don't ship with ts-sinon ([b4005fb](https://github.com/forcedotcom/sfdx-core/commit/b4005fb27b3f85be1297b9cfec0bc7e0de91979d)) -* fixed test spy ([c1f4ba4](https://github.com/forcedotcom/sfdx-core/commit/c1f4ba42ba94a03c5e3e77e793558cfea947f78e)) -* path.resolve jwt key file path ([86e6957](https://github.com/forcedotcom/sfdx-core/commit/86e695757a68dca1ea659e801ead59e57e6632b9)) - - +- don't ship with ts-sinon ([b4005fb](https://github.com/forcedotcom/sfdx-core/commit/b4005fb27b3f85be1297b9cfec0bc7e0de91979d)) +- fixed test spy ([c1f4ba4](https://github.com/forcedotcom/sfdx-core/commit/c1f4ba42ba94a03c5e3e77e793558cfea947f78e)) +- path.resolve jwt key file path ([86e6957](https://github.com/forcedotcom/sfdx-core/commit/86e695757a68dca1ea659e801ead59e57e6632b9)) # [2.4.0](https://github.com/forcedotcom/sfdx-core/compare/v2.3.1...v2.4.0) (2020-04-23) - ### Features -* create auth info with sfdx auth url ([68dbfad](https://github.com/forcedotcom/sfdx-core/commit/68dbfad817202813555b5438c498b24bfdb5aa0f)) - - +- create auth info with sfdx auth url ([68dbfad](https://github.com/forcedotcom/sfdx-core/commit/68dbfad817202813555b5438c498b24bfdb5aa0f)) ## [2.3.1](https://github.com/forcedotcom/sfdx-core/compare/v2.3.0...v2.3.1) (2020-04-13) - ### Bug Fixes -* use new @salesfore/bunyan library, run tests in node 10 & 12 ([#211](https://github.com/forcedotcom/sfdx-core/issues/211)) ([249850d](https://github.com/forcedotcom/sfdx-core/commit/249850dfbf5da4199709e9573944a4da72d0581d)) - - +- use new @salesfore/bunyan library, run tests in node 10 & 12 ([#211](https://github.com/forcedotcom/sfdx-core/issues/211)) ([249850d](https://github.com/forcedotcom/sfdx-core/commit/249850dfbf5da4199709e9573944a4da72d0581d)) # [2.3.0](https://github.com/forcedotcom/sfdx-core/compare/v2.2.0...v2.3.0) (2020-03-20) - ### Features -* allow stubbing on single tests ([37cef1b](https://github.com/forcedotcom/sfdx-core/commit/37cef1bbf8f4d1c4909f13c1fac7757f1430e40b)) - - +- allow stubbing on single tests ([37cef1b](https://github.com/forcedotcom/sfdx-core/commit/37cef1bbf8f4d1c4909f13c1fac7757f1430e40b)) # [2.2.0](https://github.com/forcedotcom/sfdx-core/compare/v2.1.6...v2.2.0) (2020-02-11) - ### Features -* create authinfo with a parent authinfo ([9b21226](https://github.com/forcedotcom/sfdx-core/commit/9b212264bafe458c95ae22fce11298c706d23393)), closes [#202](https://github.com/forcedotcom/sfdx-core/issues/202) - - +- create authinfo with a parent authinfo ([9b21226](https://github.com/forcedotcom/sfdx-core/commit/9b212264bafe458c95ae22fce11298c706d23393)), closes [#202](https://github.com/forcedotcom/sfdx-core/issues/202) ## [2.1.6](https://github.com/forcedotcom/sfdx-core/compare/v2.1.5...v2.1.6) (2020-01-13) - ### Bug Fixes -* add config var for telemetry opt out ([f79ace3](https://github.com/forcedotcom/sfdx-core/commit/f79ace34462f586feb296b94ee369e1f7922341d)) - - +- add config var for telemetry opt out ([f79ace3](https://github.com/forcedotcom/sfdx-core/commit/f79ace34462f586feb296b94ee369e1f7922341d)) ## [2.1.5](https://github.com/forcedotcom/sfdx-core/compare/v2.1.4...v2.1.5) (2019-11-15) - ### Bug Fixes -* rogue import causing compile issue ([d0b5e5c](https://github.com/forcedotcom/sfdx-core/commit/d0b5e5c13dc497ef0ba98d460e91514ea0400d7a)) - - +- rogue import causing compile issue ([d0b5e5c](https://github.com/forcedotcom/sfdx-core/commit/d0b5e5c13dc497ef0ba98d460e91514ea0400d7a)) ## [2.1.4](https://github.com/forcedotcom/sfdx-core/compare/v2.1.3...v2.1.4) (2019-11-04) - ### Bug Fixes -* contrib ([7e91751](https://github.com/forcedotcom/sfdx-core/commit/7e91751e1dcb1d3ca18d083262ae675503a7614b)) - - +- contrib ([7e91751](https://github.com/forcedotcom/sfdx-core/commit/7e91751e1dcb1d3ca18d083262ae675503a7614b)) ## [2.1.3](https://github.com/forcedotcom/sfdx-core/compare/v2.1.2...v2.1.3) (2019-10-09) - ### Bug Fixes -* make sure when stream processor throws an error we disconnect the streaming client ([6dc8de9](https://github.com/forcedotcom/sfdx-core/commit/6dc8de9cfbf7aebfadf50233d914c05cba6eda9a)) - - +- make sure when stream processor throws an error we disconnect the streaming client ([6dc8de9](https://github.com/forcedotcom/sfdx-core/commit/6dc8de9cfbf7aebfadf50233d914c05cba6eda9a)) ## [2.1.2](https://github.com/forcedotcom/sfdx-core/compare/v2.1.1...v2.1.2) (2019-08-29) - ### Bug Fixes -* add debug logger that accepts a function ([117dee4](https://github.com/forcedotcom/sfdx-core/commit/117dee474600ea8202f460afefb2b54d272516a7)) -* deleting and org auth file never worked ([a6a77c6](https://github.com/forcedotcom/sfdx-core/commit/a6a77c674b4c6111d0a213f537eebdd2f4099808)) -* review feedback ([7c1f630](https://github.com/forcedotcom/sfdx-core/commit/7c1f630cc936b6f49b261fa8304b07dbd8a0527b)) - - +- add debug logger that accepts a function ([117dee4](https://github.com/forcedotcom/sfdx-core/commit/117dee474600ea8202f460afefb2b54d272516a7)) +- deleting and org auth file never worked ([a6a77c6](https://github.com/forcedotcom/sfdx-core/commit/a6a77c674b4c6111d0a213f537eebdd2f4099808)) +- review feedback ([7c1f630](https://github.com/forcedotcom/sfdx-core/commit/7c1f630cc936b6f49b261fa8304b07dbd8a0527b)) ## [2.1.1](https://github.com/forcedotcom/sfdx-core/compare/v2.1.0...v2.1.1) (2019-07-17) - ### Bug Fixes -* yarn.lock ([70e75a2](https://github.com/forcedotcom/sfdx-core/commit/70e75a219aff454a4aefb26482e450e684fd527a)) - - +- yarn.lock ([70e75a2](https://github.com/forcedotcom/sfdx-core/commit/70e75a219aff454a4aefb26482e450e684fd527a)) # [2.1.0](https://github.com/forcedotcom/sfdx-core/compare/v2.0.1...v2.1.0) (2019-07-16) - ### Bug Fixes -* update secureBuffer cipherName ([b55fcde](https://github.com/forcedotcom/sfdx-core/commit/b55fcde0baac74e2450b0eec8121d397d5760628)) -* update secureBuffer cipherName ([8e66a0c](https://github.com/forcedotcom/sfdx-core/commit/8e66a0c86daa5debd080a6de82a24c38645bd409)) -* use empty string for client secret when client secret is undefined ([9513551](https://github.com/forcedotcom/sfdx-core/commit/951355110b2a4aa0c97e93b764f59052be2b5356)) - +- update secureBuffer cipherName ([b55fcde](https://github.com/forcedotcom/sfdx-core/commit/b55fcde0baac74e2450b0eec8121d397d5760628)) +- update secureBuffer cipherName ([8e66a0c](https://github.com/forcedotcom/sfdx-core/commit/8e66a0c86daa5debd080a6de82a24c38645bd409)) +- use empty string for client secret when client secret is undefined ([9513551](https://github.com/forcedotcom/sfdx-core/commit/951355110b2a4aa0c97e93b764f59052be2b5356)) ### Features -* add config file for sandbox ([db2026e](https://github.com/forcedotcom/sfdx-core/commit/db2026e4530971877a702938843cb9e338cca84b)) -* do not throw error on org.remove if sandbox config doesn't exist ([3912993](https://github.com/forcedotcom/sfdx-core/commit/391299358c4789cf5c2c24048617d3de8df7ee6d)) - - +- add config file for sandbox ([db2026e](https://github.com/forcedotcom/sfdx-core/commit/db2026e4530971877a702938843cb9e338cca84b)) +- do not throw error on org.remove if sandbox config doesn't exist ([3912993](https://github.com/forcedotcom/sfdx-core/commit/391299358c4789cf5c2c24048617d3de8df7ee6d)) ## [2.0.1](https://github.com/forcedotcom/sfdx-core/compare/v2.0.0...v2.0.1) (2019-07-02) - ### Bug Fixes -* update secureBuffer cipherName ([1e8037b](https://github.com/forcedotcom/sfdx-core/commit/1e8037b3ed51141d67510e68ddcefb41ea288168)) -* update secureBuffer cipherName ([874d5b6](https://github.com/forcedotcom/sfdx-core/commit/874d5b69ccec6f720cddfea90d3a6d3b1a62a454)) -* use empty string for client secret when client secret is undefined ([0d22a56](https://github.com/forcedotcom/sfdx-core/commit/0d22a56f3a3060712065cc0a5d6be14f43955f48)) - - +- update secureBuffer cipherName ([1e8037b](https://github.com/forcedotcom/sfdx-core/commit/1e8037b3ed51141d67510e68ddcefb41ea288168)) +- update secureBuffer cipherName ([874d5b6](https://github.com/forcedotcom/sfdx-core/commit/874d5b69ccec6f720cddfea90d3a6d3b1a62a454)) +- use empty string for client secret when client secret is undefined ([0d22a56](https://github.com/forcedotcom/sfdx-core/commit/0d22a56f3a3060712065cc0a5d6be14f43955f48)) # [2.0.0](https://github.com/forcedotcom/sfdx-core/compare/v1.3.3...v2.0.0) (2019-06-17) - ### Bug Fixes -* 🐛 prevent auth files from being accidentally overwritten ([06d96fc](https://github.com/forcedotcom/sfdx-core/commit/06d96fcd6fc052960b4d991e88b0da8751e48209)), closes [PR#114](https://github.com/PR/issues/114) -* add clientId to jwt fields ([8a7c040](https://github.com/forcedotcom/sfdx-core/commit/8a7c04049038b76c2b40a86619d848624ce74c74)) -* force version bump to test ci-docs on release ([ecb6a66](https://github.com/forcedotcom/sfdx-core/commit/ecb6a663c266539c5de5b15c54ca603c0c57cea2)) - +- 🐛 prevent auth files from being accidentally overwritten ([06d96fc](https://github.com/forcedotcom/sfdx-core/commit/06d96fcd6fc052960b4d991e88b0da8751e48209)), closes [PR#114](https://github.com/PR/issues/114) +- add clientId to jwt fields ([8a7c040](https://github.com/forcedotcom/sfdx-core/commit/8a7c04049038b76c2b40a86619d848624ce74c74)) +- force version bump to test ci-docs on release ([ecb6a66](https://github.com/forcedotcom/sfdx-core/commit/ecb6a663c266539c5de5b15c54ca603c0c57cea2)) ### BREAKING CHANGES -* 🧨 some commands that call getCoreConnection with auth options and a -username will now throw an error. - - +- 🧨 some commands that call getCoreConnection with auth options and a + username will now throw an error. ## [1.3.3](https://github.com/forcedotcom/sfdx-core/compare/v1.3.2...v1.3.3) (2019-04-04) - ### Bug Fixes -* allow aliases with dots ([e8b17af](https://github.com/forcedotcom/sfdx-core/commit/e8b17af8b06a8137844f834c62d18d773638be36)) -* allow packageAliases in sfdx-project.json ([8d7b1fe](https://github.com/forcedotcom/sfdx-core/commit/8d7b1fe4cb8e61beb726f19241543c3887e062af)) -* hide sensitive values from being logged ([8505f04](https://github.com/forcedotcom/sfdx-core/commit/8505f04e80a561a94be52a99ba5fa75b1131b190)) -* move generating the secretfile path to the catch block ([2b9e57d](https://github.com/forcedotcom/sfdx-core/commit/2b9e57d36722a1e5d629639527cf5c1a54b1c720)) -* potential missing key.json file on windows ([f94f127](https://github.com/forcedotcom/sfdx-core/commit/f94f12762b423a1cb23aaa7920ae910cebb29669)) -* properly invoke callbacks ([f03838c](https://github.com/forcedotcom/sfdx-core/commit/f03838ce54cf2987762f7ed9ef31734d50e68e95)) - - +- allow aliases with dots ([e8b17af](https://github.com/forcedotcom/sfdx-core/commit/e8b17af8b06a8137844f834c62d18d773638be36)) +- allow packageAliases in sfdx-project.json ([8d7b1fe](https://github.com/forcedotcom/sfdx-core/commit/8d7b1fe4cb8e61beb726f19241543c3887e062af)) +- hide sensitive values from being logged ([8505f04](https://github.com/forcedotcom/sfdx-core/commit/8505f04e80a561a94be52a99ba5fa75b1131b190)) +- move generating the secretfile path to the catch block ([2b9e57d](https://github.com/forcedotcom/sfdx-core/commit/2b9e57d36722a1e5d629639527cf5c1a54b1c720)) +- potential missing key.json file on windows ([f94f127](https://github.com/forcedotcom/sfdx-core/commit/f94f12762b423a1cb23aaa7920ae910cebb29669)) +- properly invoke callbacks ([f03838c](https://github.com/forcedotcom/sfdx-core/commit/f03838ce54cf2987762f7ed9ef31734d50e68e95)) ## [1.3.2](https://github.com/forcedotcom/sfdx-core/compare/v1.3.1...v1.3.2) (2019-03-25) - ### Bug Fixes -* revert of throwing auth error ([f6ebe12](https://github.com/forcedotcom/sfdx-core/commit/f6ebe12907e04337169ef6473ae0f8a29ace231c)) - - +- revert of throwing auth error ([f6ebe12](https://github.com/forcedotcom/sfdx-core/commit/f6ebe12907e04337169ef6473ae0f8a29ace231c)) ## [1.3.1](https://github.com/forcedotcom/sfdx-core/compare/v1.3.0...v1.3.1) (2019-03-25) - ### Bug Fixes -* prevent auth files from being inadvertently overwritten ([45195c1](https://github.com/forcedotcom/sfdx-core/commit/45195c1b8232c243746ee2582e67a811c74a9e2e)) -* update test and don't throw when auth file not found ([75af396](https://github.com/forcedotcom/sfdx-core/commit/75af396c253b80c668f1c76a29462677b6b9d950)) - - +- prevent auth files from being inadvertently overwritten ([45195c1](https://github.com/forcedotcom/sfdx-core/commit/45195c1b8232c243746ee2582e67a811c74a9e2e)) +- update test and don't throw when auth file not found ([75af396](https://github.com/forcedotcom/sfdx-core/commit/75af396c253b80c668f1c76a29462677b6b9d950)) # [1.3.0](https://github.com/forcedotcom/sfdx-core/compare/v1.2.3...v1.3.0) (2019-03-19) - ### Features -* support wrapping a string ([2445003](https://github.com/forcedotcom/sfdx-core/commit/24450037619c39c361647af4415665499dc518a2)) - - +- support wrapping a string ([2445003](https://github.com/forcedotcom/sfdx-core/commit/24450037619c39c361647af4415665499dc518a2)) ## [1.2.3](https://github.com/forcedotcom/sfdx-core/compare/v1.2.2...v1.2.3) (2019-03-18) - ### Bug Fixes -* @W-5907580@ respect code if it exist ([5263fe2](https://github.com/forcedotcom/sfdx-core/commit/5263fe2ee8045e1162492d00ac90de6cb62283e5)) -* do not let name and code get out-of-date is name is set ([3e5914e](https://github.com/forcedotcom/sfdx-core/commit/3e5914ef7e11d3309df1520abba037e649be88f2)) -* security update and patch to allow colons in filepaths for windows ([a385b40](https://github.com/forcedotcom/sfdx-core/commit/a385b403e11508006fa18abed51ba250e7aa0520)) -* use name by default for code ([c5283d3](https://github.com/forcedotcom/sfdx-core/commit/c5283d374b67c667d3deab5f7f941c8f5d789f62)) - - +- @W-5907580@ respect code if it exist ([5263fe2](https://github.com/forcedotcom/sfdx-core/commit/5263fe2ee8045e1162492d00ac90de6cb62283e5)) +- do not let name and code get out-of-date is name is set ([3e5914e](https://github.com/forcedotcom/sfdx-core/commit/3e5914ef7e11d3309df1520abba037e649be88f2)) +- security update and patch to allow colons in filepaths for windows ([a385b40](https://github.com/forcedotcom/sfdx-core/commit/a385b403e11508006fa18abed51ba250e7aa0520)) +- use name by default for code ([c5283d3](https://github.com/forcedotcom/sfdx-core/commit/c5283d374b67c667d3deab5f7f941c8f5d789f62)) ## [1.2.2](https://github.com/forcedotcom/sfdx-core/compare/v1.2.1...v1.2.2) (2019-02-11) - ### Bug Fixes -* use default options off the constructor ([368a5f1](https://github.com/forcedotcom/sfdx-core/commit/368a5f160206559529eafae2d71d47aad6186549)) - - +- use default options off the constructor ([368a5f1](https://github.com/forcedotcom/sfdx-core/commit/368a5f160206559529eafae2d71d47aad6186549)) ## [1.2.1](https://github.com/forcedotcom/sfdx-core/compare/v1.2.0...v1.2.1) (2019-01-31) - ### Bug Fixes -* update docs ([789816e](https://github.com/forcedotcom/sfdx-core/commit/789816e7b734864471c943ca503ea6c1bd9d668f)) - - +- update docs ([789816e](https://github.com/forcedotcom/sfdx-core/commit/789816e7b734864471c943ca503ea6c1bd9d668f)) # [1.2.0](https://github.com/forcedotcom/sfdx-core/compare/v1.1.2...v1.2.0) (2019-01-30) - ### Bug Fixes -* do not query server if cached ([d7ccf99](https://github.com/forcedotcom/sfdx-core/commit/d7ccf99aaf84c432da96046d63bd387945a10c21)) -* update to allow stored connected app info ([66ea057](https://github.com/forcedotcom/sfdx-core/commit/66ea05727ca4f6e4a979ee3045fdd96a9c9f8a1e)) - +- do not query server if cached ([d7ccf99](https://github.com/forcedotcom/sfdx-core/commit/d7ccf99aaf84c432da96046d63bd387945a10c21)) +- update to allow stored connected app info ([66ea057](https://github.com/forcedotcom/sfdx-core/commit/66ea05727ca4f6e4a979ee3045fdd96a9c9f8a1e)) ### Features -* determine if a org is a dev hub ([586d7ba](https://github.com/forcedotcom/sfdx-core/commit/586d7bac67636b40c040a7944e8ccaaae9f85621)) - - +- determine if a org is a dev hub ([586d7ba](https://github.com/forcedotcom/sfdx-core/commit/586d7bac67636b40c040a7944e8ccaaae9f85621)) ## [1.1.2](https://github.com/forcedotcom/sfdx-core/compare/v1.1.1...v1.1.2) (2018-12-21) - ### Bug Fixes -* update contrib doc to trigger build ([28c6945](https://github.com/forcedotcom/sfdx-core/commit/28c694506f813f2e38f8cb3789d618833e042f6e)) - - +- update contrib doc to trigger build ([28c6945](https://github.com/forcedotcom/sfdx-core/commit/28c694506f813f2e38f8cb3789d618833e042f6e)) ## [1.1.1](https://github.com/forcedotcom/sfdx-core/compare/v1.1.0...v1.1.1) (2018-12-19) - ### Bug Fixes -* bump kit, ts-types, and ts-sinon versions ([1f088b4](https://github.com/forcedotcom/sfdx-core/commit/1f088b4332ee7e00d1481fcf152a9177b5c20f29)) -* downgrade jsforce to match sfdx toolbelt ([5fba254](https://github.com/forcedotcom/sfdx-core/commit/5fba254c75f0412b2407a5a14f6d66e592159169)) -* fix jsforce types reference ([407e3df](https://github.com/forcedotcom/sfdx-core/commit/407e3dfff4356eba17da3f7a1ffee1f39b0e7776)) -* migrate from /docs to gh-pages branch ([7d36139](https://github.com/forcedotcom/sfdx-core/commit/7d36139542ef731d460f1dcf39495e951c4b794b)) - - +- bump kit, ts-types, and ts-sinon versions ([1f088b4](https://github.com/forcedotcom/sfdx-core/commit/1f088b4332ee7e00d1481fcf152a9177b5c20f29)) +- downgrade jsforce to match sfdx toolbelt ([5fba254](https://github.com/forcedotcom/sfdx-core/commit/5fba254c75f0412b2407a5a14f6d66e592159169)) +- fix jsforce types reference ([407e3df](https://github.com/forcedotcom/sfdx-core/commit/407e3dfff4356eba17da3f7a1ffee1f39b0e7776)) +- migrate from /docs to gh-pages branch ([7d36139](https://github.com/forcedotcom/sfdx-core/commit/7d36139542ef731d460f1dcf39495e951c4b794b)) # [1.1.0](https://github.com/forcedotcom/sfdx-core/compare/v1.0.3...v1.1.0) (2018-12-14) - ### Bug Fixes -* add retreive to keychain config ([#29](https://github.com/forcedotcom/sfdx-core/issues/29)) ([219b1ce](https://github.com/forcedotcom/sfdx-core/commit/219b1cec58fb3233ae9b55ceeef66c4a596b978e)) -* conflict merge ([8686cf8](https://github.com/forcedotcom/sfdx-core/commit/8686cf84570058dfa4282b37d2b0d48e16c07ef4)) -* doc update ([7ad690e](https://github.com/forcedotcom/sfdx-core/commit/7ad690e38e39a8d57f70ee58e7d86f3550cef004)) -* doc updates ([3c34908](https://github.com/forcedotcom/sfdx-core/commit/3c34908f0932fe0ccb48ac90e0332be1cf9832e7)) -* docs updates ([cecd438](https://github.com/forcedotcom/sfdx-core/commit/cecd438df2bf499e7e76c9598d4a84ca6c15138d)) -* docs updates ([2a01945](https://github.com/forcedotcom/sfdx-core/commit/2a019450c54b15eb57c00e3a9df531f799801a7f)) -* ensure AuthInfoConfig can throw when config file not found ([f11b84a](https://github.com/forcedotcom/sfdx-core/commit/f11b84a498e73dbd72fca5c48439cf4785962cda)) -* lower code coverage ([73eabad](https://github.com/forcedotcom/sfdx-core/commit/73eabad4e0c04197be7c927bf1f4ff2aa3e49ea1)) -* make user use async creatable ([895da90](https://github.com/forcedotcom/sfdx-core/commit/895da903f57f0babff7ca93eabffe9bd66117fab)) -* move call to super.init after dependency ([f52341e](https://github.com/forcedotcom/sfdx-core/commit/f52341e9018422d511abb34aab5b889606f2ba4e)) -* move throwOnNotFound option to ConfigFile ([924352a](https://github.com/forcedotcom/sfdx-core/commit/924352af134e16a2dc242d48eb00c99f6ca6898a)) -* move ts-sinon to reg dep ([47a6e6a](https://github.com/forcedotcom/sfdx-core/commit/47a6e6a3c069d4539e65226823860890936e874c)) -* remove reference to yarnpkg ([5ba0887](https://github.com/forcedotcom/sfdx-core/commit/5ba08872b6a52830e8aee38d6a761374eb3ad7d6)) -* resolve alias before creating AuthInfo ([4234197](https://github.com/forcedotcom/sfdx-core/commit/4234197065cd936d86f756e5256ea76d4c3dfb4a)) -* typedoc updates ([2552fec](https://github.com/forcedotcom/sfdx-core/commit/2552feca49fdc12689adf7471c6a4f95e281425d)) -* update docs for config ([3fcdc52](https://github.com/forcedotcom/sfdx-core/commit/3fcdc52cb41d644b1eec043bed3f3eee9f68c42b)) -* update package.json ([69ee399](https://github.com/forcedotcom/sfdx-core/commit/69ee39925d72f1e7181eda6227104ea168a823e3)) -* update package.json ([650021d](https://github.com/forcedotcom/sfdx-core/commit/650021d99ef005fab6b64c824a652d95638f44b2)) -* update package.json ([83bce69](https://github.com/forcedotcom/sfdx-core/commit/83bce694ddd60be629916c9808f63deaaeaa3460)) -* update package.json ([9cc515a](https://github.com/forcedotcom/sfdx-core/commit/9cc515a7d8b203eccf1c91d9830a389b6446c739)) -* update package.json version ([871f211](https://github.com/forcedotcom/sfdx-core/commit/871f211253ce8d25046f1392610cdb054d332ccd)) -* update to latest docs ([e250e2f](https://github.com/forcedotcom/sfdx-core/commit/e250e2f440b6f4751278a76f8c3fcc38ad651967)) - - -### Features - -* consistent enum naming ([#26](https://github.com/forcedotcom/sfdx-core/issues/26)) ([ab3bc7e](https://github.com/forcedotcom/sfdx-core/commit/ab3bc7e3c37da4bf86f23b6824c8715ba780a0a6)) -* replace time with kit's duration ([#24](https://github.com/forcedotcom/sfdx-core/issues/24)) ([a3b519f](https://github.com/forcedotcom/sfdx-core/commit/a3b519f83b190d61475353525483b14c54d09020)) -* update jsforce typings ([374b8fc](https://github.com/forcedotcom/sfdx-core/commit/374b8fcf7d5f24465843f3d98e448a0663a8a89f)) - - +- add retreive to keychain config ([#29](https://github.com/forcedotcom/sfdx-core/issues/29)) ([219b1ce](https://github.com/forcedotcom/sfdx-core/commit/219b1cec58fb3233ae9b55ceeef66c4a596b978e)) +- conflict merge ([8686cf8](https://github.com/forcedotcom/sfdx-core/commit/8686cf84570058dfa4282b37d2b0d48e16c07ef4)) +- doc update ([7ad690e](https://github.com/forcedotcom/sfdx-core/commit/7ad690e38e39a8d57f70ee58e7d86f3550cef004)) +- doc updates ([3c34908](https://github.com/forcedotcom/sfdx-core/commit/3c34908f0932fe0ccb48ac90e0332be1cf9832e7)) +- docs updates ([cecd438](https://github.com/forcedotcom/sfdx-core/commit/cecd438df2bf499e7e76c9598d4a84ca6c15138d)) +- docs updates ([2a01945](https://github.com/forcedotcom/sfdx-core/commit/2a019450c54b15eb57c00e3a9df531f799801a7f)) +- ensure AuthInfoConfig can throw when config file not found ([f11b84a](https://github.com/forcedotcom/sfdx-core/commit/f11b84a498e73dbd72fca5c48439cf4785962cda)) +- lower code coverage ([73eabad](https://github.com/forcedotcom/sfdx-core/commit/73eabad4e0c04197be7c927bf1f4ff2aa3e49ea1)) +- make user use async creatable ([895da90](https://github.com/forcedotcom/sfdx-core/commit/895da903f57f0babff7ca93eabffe9bd66117fab)) +- move call to super.init after dependency ([f52341e](https://github.com/forcedotcom/sfdx-core/commit/f52341e9018422d511abb34aab5b889606f2ba4e)) +- move throwOnNotFound option to ConfigFile ([924352a](https://github.com/forcedotcom/sfdx-core/commit/924352af134e16a2dc242d48eb00c99f6ca6898a)) +- move ts-sinon to reg dep ([47a6e6a](https://github.com/forcedotcom/sfdx-core/commit/47a6e6a3c069d4539e65226823860890936e874c)) +- remove reference to yarnpkg ([5ba0887](https://github.com/forcedotcom/sfdx-core/commit/5ba08872b6a52830e8aee38d6a761374eb3ad7d6)) +- resolve alias before creating AuthInfo ([4234197](https://github.com/forcedotcom/sfdx-core/commit/4234197065cd936d86f756e5256ea76d4c3dfb4a)) +- typedoc updates ([2552fec](https://github.com/forcedotcom/sfdx-core/commit/2552feca49fdc12689adf7471c6a4f95e281425d)) +- update docs for config ([3fcdc52](https://github.com/forcedotcom/sfdx-core/commit/3fcdc52cb41d644b1eec043bed3f3eee9f68c42b)) +- update package.json ([69ee399](https://github.com/forcedotcom/sfdx-core/commit/69ee39925d72f1e7181eda6227104ea168a823e3)) +- update package.json ([650021d](https://github.com/forcedotcom/sfdx-core/commit/650021d99ef005fab6b64c824a652d95638f44b2)) +- update package.json ([83bce69](https://github.com/forcedotcom/sfdx-core/commit/83bce694ddd60be629916c9808f63deaaeaa3460)) +- update package.json ([9cc515a](https://github.com/forcedotcom/sfdx-core/commit/9cc515a7d8b203eccf1c91d9830a389b6446c739)) +- update package.json version ([871f211](https://github.com/forcedotcom/sfdx-core/commit/871f211253ce8d25046f1392610cdb054d332ccd)) +- update to latest docs ([e250e2f](https://github.com/forcedotcom/sfdx-core/commit/e250e2f440b6f4751278a76f8c3fcc38ad651967)) + +### Features + +- consistent enum naming ([#26](https://github.com/forcedotcom/sfdx-core/issues/26)) ([ab3bc7e](https://github.com/forcedotcom/sfdx-core/commit/ab3bc7e3c37da4bf86f23b6824c8715ba780a0a6)) +- replace time with kit's duration ([#24](https://github.com/forcedotcom/sfdx-core/issues/24)) ([a3b519f](https://github.com/forcedotcom/sfdx-core/commit/a3b519f83b190d61475353525483b14c54d09020)) +- update jsforce typings ([374b8fc](https://github.com/forcedotcom/sfdx-core/commit/374b8fcf7d5f24465843f3d98e448a0663a8a89f)) ## [0.24.3](https://github.com/forcedotcom/sfdx-core/compare/v0.25.0...v0.24.3) (2018-11-15) - ### Bug Fixes -* remove npm install from core ([832eaeb](https://github.com/forcedotcom/sfdx-core/commit/832eaeb73855dc65eb0acf91d13869e042d53166)) - - +- remove npm install from core ([832eaeb](https://github.com/forcedotcom/sfdx-core/commit/832eaeb73855dc65eb0acf91d13869e042d53166)) # [0.25.0](https://github.com/forcedotcom/sfdx-core/compare/v0.24.2...v0.25.0) (2018-11-15) - ### Features -* build ([c03e0bc](https://github.com/forcedotcom/sfdx-core/commit/c03e0bc866e255ed8a1bb37dd28557cd2e5487d1)) - - +- build ([c03e0bc](https://github.com/forcedotcom/sfdx-core/commit/c03e0bc866e255ed8a1bb37dd28557cd2e5487d1)) ## [0.24.2](https://github.com/forcedotcom/sfdx-core/compare/v0.24.1...v0.24.2) (2018-11-15) - ### Features -* update build ([4e6426e](https://github.com/forcedotcom/sfdx-core/commit/4e6426e74dd221503b0b8b63629149397568a8fd)) - - +- update build ([4e6426e](https://github.com/forcedotcom/sfdx-core/commit/4e6426e74dd221503b0b8b63629149397568a8fd)) ## [0.24.1](https://github.com/forcedotcom/sfdx-core/compare/v0.21.4...v0.24.1) (2018-11-15) - ### Bug Fixes -* adopt ts-types fix of AnyJson values ([#20](https://github.com/forcedotcom/sfdx-core/issues/20)) ([c7d1433](https://github.com/forcedotcom/sfdx-core/commit/c7d14336020995c7f195b813a2d0822b5cb2f444)) -* support sfdx-faye ([#21](https://github.com/forcedotcom/sfdx-core/issues/21)) ([115683c](https://github.com/forcedotcom/sfdx-core/commit/115683ca1457929b0b94520c0e1b3b372c02bf75)) - +- adopt ts-types fix of AnyJson values ([#20](https://github.com/forcedotcom/sfdx-core/issues/20)) ([c7d1433](https://github.com/forcedotcom/sfdx-core/commit/c7d14336020995c7f195b813a2d0822b5cb2f444)) +- support sfdx-faye ([#21](https://github.com/forcedotcom/sfdx-core/issues/21)) ([115683c](https://github.com/forcedotcom/sfdx-core/commit/115683ca1457929b0b94520c0e1b3b372c02bf75)) ### Features -* new build ([8cf0c39](https://github.com/forcedotcom/sfdx-core/commit/8cf0c39a486f00229ff9a7878e98415f4d8e85ca)) - +- new build ([8cf0c39](https://github.com/forcedotcom/sfdx-core/commit/8cf0c39a486f00229ff9a7878e98415f4d8e85ca)) ### Reverts -* Revert "Revert "build: try oclif semantic/release"" ([a514b9a](https://github.com/forcedotcom/sfdx-core/commit/a514b9ab7e66d2aaaf767d01d02470b35bc5d60b)) -* Revert "build: try oclif semantic/release" ([840da22](https://github.com/forcedotcom/sfdx-core/commit/840da22c64a57cf2ca8f729c65c4a9aab34127cd)) - - +- Revert "Revert "build: try oclif semantic/release"" ([a514b9a](https://github.com/forcedotcom/sfdx-core/commit/a514b9ab7e66d2aaaf767d01d02470b35bc5d60b)) +- Revert "build: try oclif semantic/release" ([840da22](https://github.com/forcedotcom/sfdx-core/commit/840da22c64a57cf2ca8f729c65c4a9aab34127cd)) ## [0.21.4](https://github.com/forcedotcom/sfdx-core/compare/v0.21.3...v0.21.4) (2018-11-08) - ### Bug Fixes -* make public ([ac497a3](https://github.com/forcedotcom/sfdx-core/commit/ac497a3a50a7f7dea93d4182d29c2b4508888642)) - - +- make public ([ac497a3](https://github.com/forcedotcom/sfdx-core/commit/ac497a3a50a7f7dea93d4182d29c2b4508888642)) ## [0.21.3](https://github.com/forcedotcom/sfdx-core/compare/v0.21.2...v0.21.3) (2018-11-08) - ### Bug Fixes -* actual ts-types and kit versions ([ca03b33](https://github.com/forcedotcom/sfdx-core/commit/ca03b3321702362a061b8d46b59c30fec8818bd1)) -* typing correction in kit ([2191040](https://github.com/forcedotcom/sfdx-core/commit/2191040a11b749efa6d732accc6988fa691b52f7)) -* update has impl ([429c4e9](https://github.com/forcedotcom/sfdx-core/commit/429c4e934bd3f6942b5791259d31e48f6bb7ead2)) -* updates for ts-types and kit api changes ([c7c599d](https://github.com/forcedotcom/sfdx-core/commit/c7c599d8af5aa2d1dfee55b58778ddfd1dc0174f)) -* use latest versions of ts-types and kit ([0d73ad6](https://github.com/forcedotcom/sfdx-core/commit/0d73ad62247f9051e640f6d5cd06b61a63330029)) - - +- actual ts-types and kit versions ([ca03b33](https://github.com/forcedotcom/sfdx-core/commit/ca03b3321702362a061b8d46b59c30fec8818bd1)) +- typing correction in kit ([2191040](https://github.com/forcedotcom/sfdx-core/commit/2191040a11b749efa6d732accc6988fa691b52f7)) +- update has impl ([429c4e9](https://github.com/forcedotcom/sfdx-core/commit/429c4e934bd3f6942b5791259d31e48f6bb7ead2)) +- updates for ts-types and kit api changes ([c7c599d](https://github.com/forcedotcom/sfdx-core/commit/c7c599d8af5aa2d1dfee55b58778ddfd1dc0174f)) +- use latest versions of ts-types and kit ([0d73ad6](https://github.com/forcedotcom/sfdx-core/commit/0d73ad62247f9051e640f6d5cd06b61a63330029)) ## [0.21.2](https://github.com/forcedotcom/sfdx-core/compare/v0.23.1...v0.21.2) (2018-10-24) - ### Bug Fixes -* disable semantic release until approved ([e443d17](https://github.com/forcedotcom/sfdx-core/commit/e443d17a04451b81ed83d0bdbb2ed3cae956c803)) -* fix build config ([b286261](https://github.com/forcedotcom/sfdx-core/commit/b28626110273ab387d1c570b0500d1a7232533e6)) - - +- disable semantic release until approved ([e443d17](https://github.com/forcedotcom/sfdx-core/commit/e443d17a04451b81ed83d0bdbb2ed3cae956c803)) +- fix build config ([b286261](https://github.com/forcedotcom/sfdx-core/commit/b28626110273ab387d1c570b0500d1a7232533e6)) ## [0.23.1](https://github.com/forcedotcom/sfdx-core/compare/v0.22.0...v0.23.1) (2018-10-05) - - # [0.22.0](https://github.com/forcedotcom/sfdx-core/compare/v0.21.1...v0.22.0) (2018-09-25) - - ## [0.21.1](https://github.com/forcedotcom/sfdx-core/compare/v0.21.0...v0.21.1) (2018-09-18) - - # [0.21.0](https://github.com/forcedotcom/sfdx-core/compare/v0.20.0...v0.21.0) (2018-09-14) - - # [0.20.0](https://github.com/forcedotcom/sfdx-core/compare/v0.19.0...v0.20.0) (2018-08-30) - - # [0.19.0](https://github.com/forcedotcom/sfdx-core/compare/v0.18.2...v0.19.0) (2018-08-21) - - ## [0.18.2](https://github.com/forcedotcom/sfdx-core/compare/v0.18.1...v0.18.2) (2018-07-16) - - ## [0.18.1](https://github.com/forcedotcom/sfdx-core/compare/v0.17.6...v0.18.1) (2018-07-12) - - ## [0.17.6](https://github.com/forcedotcom/sfdx-core/compare/v0.17.5...v0.17.6) (2018-07-11) - - ## [0.17.5](https://github.com/forcedotcom/sfdx-core/compare/v0.17.4...v0.17.5) (2018-07-06) - - ## [0.17.4](https://github.com/forcedotcom/sfdx-core/compare/v0.17.3...v0.17.4) (2018-06-29) - - ## [0.17.3](https://github.com/forcedotcom/sfdx-core/compare/v0.17.2...v0.17.3) (2018-06-29) - - ## [0.17.2](https://github.com/forcedotcom/sfdx-core/compare/v0.17.1...v0.17.2) (2018-06-16) - - ## [0.17.1](https://github.com/forcedotcom/sfdx-core/compare/v0.16.17...v0.17.1) (2018-06-16) - - ## [0.16.17](https://github.com/forcedotcom/sfdx-core/compare/v0.16.16...v0.16.17) (2018-06-13) - - ## [0.16.16](https://github.com/forcedotcom/sfdx-core/compare/v0.16.15...v0.16.16) (2018-06-04) - - ## [0.16.15](https://github.com/forcedotcom/sfdx-core/compare/v0.16.14...v0.16.15) (2018-05-29) - - ## [0.16.14](https://github.com/forcedotcom/sfdx-core/compare/v0.16.13...v0.16.14) (2018-05-22) - - ## [0.16.13](https://github.com/forcedotcom/sfdx-core/compare/v0.16.12...v0.16.13) (2018-04-20) - - ## [0.16.12](https://github.com/forcedotcom/sfdx-core/compare/v0.16.11...v0.16.12) (2018-04-06) - - ## [0.16.11](https://github.com/forcedotcom/sfdx-core/compare/v0.16.10...v0.16.11) (2018-04-06) - - ## [0.16.10](https://github.com/forcedotcom/sfdx-core/compare/v0.16.9...v0.16.10) (2018-03-22) - - ## [0.16.9](https://github.com/forcedotcom/sfdx-core/compare/v0.16.8...v0.16.9) (2018-03-21) - - ## [0.16.8](https://github.com/forcedotcom/sfdx-core/compare/v0.16.7...v0.16.8) (2018-03-20) - - ## [0.16.7](https://github.com/forcedotcom/sfdx-core/compare/v0.16.6...v0.16.7) (2018-03-20) - - ## [0.16.6](https://github.com/forcedotcom/sfdx-core/compare/v0.16.5...v0.16.6) (2018-03-16) - - ## [0.16.5](https://github.com/forcedotcom/sfdx-core/compare/v0.16.4...v0.16.5) (2018-03-15) - - ## [0.16.4](https://github.com/forcedotcom/sfdx-core/compare/v0.16.3...v0.16.4) (2018-03-14) - - ## [0.16.3](https://github.com/forcedotcom/sfdx-core/compare/v0.16.2...v0.16.3) (2018-03-14) - - ## [0.16.2](https://github.com/forcedotcom/sfdx-core/compare/v0.16.1...v0.16.2) (2018-03-10) - - ## [0.16.1](https://github.com/forcedotcom/sfdx-core/compare/v0.16.0...v0.16.1) (2018-03-06) - - # [0.16.0](https://github.com/forcedotcom/sfdx-core/compare/v0.15.0...v0.16.0) (2018-03-06) - - # [0.15.0](https://github.com/forcedotcom/sfdx-core/compare/v0.14.0...v0.15.0) (2018-03-06) - - # [0.14.0](https://github.com/forcedotcom/sfdx-core/compare/v0.13.0...v0.14.0) (2018-03-06) - - # [0.13.0](https://github.com/forcedotcom/sfdx-core/compare/v0.12.0...v0.13.0) (2018-03-06) - - # [0.12.0](https://github.com/forcedotcom/sfdx-core/compare/v0.11.0...v0.12.0) (2018-03-05) - - # [0.11.0](https://github.com/forcedotcom/sfdx-core/compare/v0.10.0...v0.11.0) (2018-03-05) - - # [0.10.0](https://github.com/forcedotcom/sfdx-core/compare/v0.9.0...v0.10.0) (2018-03-01) - - # [0.9.0](https://github.com/forcedotcom/sfdx-core/compare/v0.8.0...v0.9.0) (2018-02-27) - - # [0.8.0](https://github.com/forcedotcom/sfdx-core/compare/v0.7.0...v0.8.0) (2018-02-27) - - ## [0.5.3](https://github.com/forcedotcom/sfdx-core/compare/v0.5.2...v0.5.3) (2018-02-26) - - ## [0.5.2](https://github.com/forcedotcom/sfdx-core/compare/v0.6.0...v0.5.2) (2018-02-26) - - ## [0.5.1](https://github.com/forcedotcom/sfdx-core/compare/v0.5.0...v0.5.1) (2018-02-26) - - # [0.7.0](https://github.com/forcedotcom/sfdx-core/compare/v0.5.3...v0.7.0) (2018-02-27) - - # [0.6.0](https://github.com/forcedotcom/sfdx-core/compare/v0.5.1...v0.6.0) (2018-02-26) - - ## [0.5.3](https://github.com/forcedotcom/sfdx-core/compare/v0.5.2...v0.5.3) (2018-02-26) - - ## [0.5.2](https://github.com/forcedotcom/sfdx-core/compare/v0.6.0...v0.5.2) (2018-02-26) - - ## [0.5.1](https://github.com/forcedotcom/sfdx-core/compare/v0.5.0...v0.5.1) (2018-02-26) - - # [0.6.0](https://github.com/forcedotcom/sfdx-core/compare/v0.5.1...v0.6.0) (2018-02-26) - - ## [0.5.1](https://github.com/forcedotcom/sfdx-core/compare/v0.5.0...v0.5.1) (2018-02-26) - - # [0.5.0](https://github.com/forcedotcom/sfdx-core/compare/v0.4.0...v0.5.0) (2018-02-23) - - # [0.4.0](https://github.com/forcedotcom/sfdx-core/compare/v0.3.0...v0.4.0) (2018-02-22) - - # [0.3.0](https://github.com/forcedotcom/sfdx-core/compare/v0.2.0...v0.3.0) (2018-02-22) - - # [0.2.0](https://github.com/forcedotcom/sfdx-core/compare/v0.1.0...v0.2.0) (2018-02-20) - - # [0.1.0](https://github.com/forcedotcom/sfdx-core/compare/v0.0.4...v0.1.0) (2018-02-13) - - ## [0.0.4](https://github.com/forcedotcom/sfdx-core/compare/v0.0.3...v0.0.4) (2017-12-05) - - ## [0.0.3](https://github.com/forcedotcom/sfdx-core/compare/v0.0.2...v0.0.3) (2017-12-05) - - ## [0.0.2](https://github.com/forcedotcom/sfdx-core/compare/v0.0.1...v0.0.2) (2017-12-05) - - ## 0.0.1 (2017-12-05) - - - diff --git a/MIGRATING_V5-V6.md b/MIGRATING_V5-V6.md new file mode 100644 index 0000000000..afcec25d78 --- /dev/null +++ b/MIGRATING_V5-V6.md @@ -0,0 +1,30 @@ +# Migrating `@salesforce/core` from v5 to v6 + +v5 contains breaking changes to the classes that extend from ConfigStore/ConfigFile. We'll call these the "config stack" as a shorthand + +We've had a series of bugs where files controlled by the config stack could lose data or become corrupted when multiple processes try to write them concurrently. + +V6 introducing a file locking mechanism previously only available on the `alias` file and a process of resolving conflicts based on timestamps. + +But that comes with breaking changes to reduce the risk of "getting around" the safeties. + +## Breaking changes related to the Config Stack + +- AuthInfo.getFields now returns a read-only object. Use AuthInfo.update to change values in the fields. +- `setContents` method is no longer available in the ConfigFile stack. Use `update` to merge in multiple props, or `set/unset` on a single prop. +- `write` and `writeSync` method no longer accepts a param. Use other methods (`set`, `unset`, `update) to make modifications, then call write()/writeSync() to do the write. +- the use of lodash-style `get`/`set`/`unset`/`unsetAll` (ex: `set('foo.bar.baz[0]', 3)`) no longer works. +- `awaitEach` is removed +- You can no longer override the `setMethod` and `getMethod` when extending classes built on ConfigFile. Technically you could override get/set, but DON'T! +- Everything related to tokens/tokenConfig is gone + +## Unrelated changes that we did because it's a major version + +- node18+ only, compiles to es2022 +- move `uniqid`` to a shared function, outside of testSetup + +## Previously deprecated items that are now removed + +- removed sfdc.isInternalUrl. Use new SfdcUrl(url).isInternalUrl() +- removed sfdc.findUppercaseKeys. There is no replacement. +- removed SchemaPrinter. There is no replacement. diff --git a/README.md b/README.md index 233705ac90..4989db6d02 100644 --- a/README.md +++ b/README.md @@ -34,11 +34,11 @@ The Messages class, by default, loads message text during run time. It's optimiz If you're using @salesforce/core or other code that uses its Messages class in a bundler (webpack, esbuild, etc) it may struggle with these runtime references. -src/messageTransformer will "inline" the messages into the js files during TS compile using `https://github.com/cevek/ttypescript`. +src/messageTransformer will "inline" the messages into the js files during TS compile using `https://github.com/nonara/ts-patch`. In your plugin or library, -`yarn add --dev ttypescript` +`yarn add --dev ts-patch` > tsconfig.json @@ -54,7 +54,7 @@ In your plugin or library, ```json "wireit": { "compile": { - "command": "ttsc -p . --pretty --incremental", + "command": "tspc -p . --pretty --incremental", "files": [ "src/**/*.ts", "tsconfig.json", diff --git a/messages/org.md b/messages/org.md index 97524ef844..d4dddcc81e 100644 --- a/messages/org.md +++ b/messages/org.md @@ -65,13 +65,3 @@ We found more than one SandboxProcess with the SandboxName %s. # sandboxNotResumable The sandbox %s cannot resume with status of %s. - -# UnexpectedResponse - -Unexpected response from the platform - -# UnexpectedResponse.actions - -- Check that the instance URL is correct and the org still exists. - -- See what's at the URL that's causing the problem: %s. diff --git a/package.json b/package.json index fe4a738dd8..0e595f55ad 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "@salesforce/core", - "version": "5.3.20", + "version": "6.0.0", "description": "Core libraries to interact with SFDX projects, orgs, and APIs.", "main": "lib/exported", "types": "lib/exported.d.ts", "license": "BSD-3-Clause", "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "scripts": { "build": "wireit", @@ -51,49 +51,25 @@ "jsforce": "^2.0.0-beta.28", "jsonwebtoken": "9.0.2", "jszip": "3.10.1", - "pino": "^8.16.0", - "pino-abstract-transport": "^1.0.0", + "pino": "^8.16.1", + "pino-abstract-transport": "^1.1.0", "pino-pretty": "^10.2.3", "proper-lockfile": "^4.1.2", "semver": "^7.5.4", "ts-retry-promise": "^0.7.1" }, "devDependencies": { - "@salesforce/dev-config": "^4.1.0", - "@salesforce/dev-scripts": "^5.4.2", - "@salesforce/prettier-config": "^0.0.3", + "@salesforce/dev-scripts": "^6.0.3", "@salesforce/ts-sinon": "^1.4.19", "@types/benchmark": "^2.1.3", "@types/chai-string": "^1.4.5", "@types/jsonwebtoken": "9.0.3", - "@types/lodash": "^4.14.201", "@types/proper-lockfile": "^4.1.2", - "@types/shelljs": "0.8.13", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", "benchmark": "^2.1.4", - "chai": "^4.3.10", "chai-string": "^1.5.0", - "eslint": "^8.53.0", - "eslint-config-prettier": "^8.10.0", - "eslint-config-salesforce": "^2.0.2", - "eslint-config-salesforce-license": "^0.2.0", - "eslint-config-salesforce-typescript": "^1.1.2", - "eslint-plugin-header": "^3.1.1", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsdoc": "^43.2.0", - "husky": "^7.0.4", - "lodash": "^4.17.21", - "mocha": "^9.1.3", - "nyc": "^15.1.0", - "prettier": "^2.8.7", - "pretty-quick": "^3.1.3", - "shelljs": "0.8.5", - "sinon": "^14.0.2", - "ts-node": "^10.4.0", - "ttypescript": "^1.5.15", - "typescript": "^4.9.5", - "wireit": "^0.14.0" + "ts-node": "^10.9.1", + "ts-patch": "^3.0.2", + "typescript": "^5.2.2" }, "repository": { "type": "git", @@ -110,7 +86,7 @@ ] }, "compile": { - "command": "ttsc -p . --pretty --incremental", + "command": "tspc -p . --pretty --incremental", "files": [ "src/**/*.ts", "tsconfig.json", diff --git a/src/config/authInfoConfig.ts b/src/config/authInfoConfig.ts index 9ce5abcde4..f901f6e32c 100644 --- a/src/config/authInfoConfig.ts +++ b/src/config/authInfoConfig.ts @@ -5,7 +5,7 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { AuthFields } from '../org'; +import { AuthFields } from '../org/authInfo'; import { ConfigFile } from './configFile'; /** diff --git a/src/config/config.ts b/src/config/config.ts index 99cc21c69c..7af17722d5 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -5,10 +5,10 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { dirname as pathDirname, join as pathJoin } from 'path'; -import * as fs from 'fs'; -import { keyBy, parseJsonMap, set } from '@salesforce/kit'; -import { Dictionary, ensure, isString, JsonPrimitive, Nullable } from '@salesforce/ts-types'; +import { dirname as pathDirname, join as pathJoin } from 'node:path'; +import * as fs from 'node:fs'; +import { keyBy, parseJsonMap } from '@salesforce/kit'; +import { Dictionary, ensure, isString, Nullable } from '@salesforce/ts-types'; import { Global } from '../global'; import { Logger } from '../logger/logger'; import { Messages } from '../messages'; @@ -17,7 +17,8 @@ import { SfdcUrl } from '../util/sfdcUrl'; import { ORG_CONFIG_ALLOWED_PROPERTIES, OrgConfigProperties } from '../org/orgConfigProperties'; import { Lifecycle } from '../lifecycleEvents'; import { ConfigFile } from './configFile'; -import { ConfigContents, ConfigValue } from './configStore'; +import { ConfigContents, ConfigValue, Key } from './configStackTypes'; +import { LWWState, stateFromContents } from './lwwMap'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/core', 'config'); @@ -95,7 +96,7 @@ export const SF_ALLOWED_PROPERTIES = [ key: SfConfigProperties.DISABLE_TELEMETRY, description: messages.getMessage(SfConfigProperties.DISABLE_TELEMETRY), input: { - validator: (value: ConfigValue): boolean => value == null || ['true', 'false'].includes(value.toString()), + validator: (value: ConfigValue): boolean => value == null || isBooleanOrBooleanString(value), failedMessage: messages.getMessage('invalidBooleanConfigValue'), }, }, @@ -247,7 +248,7 @@ export const SFDX_ALLOWED_PROPERTIES = [ deprecated: true, description: messages.getMessage(SfdxPropertyKeys.DISABLE_TELEMETRY), input: { - validator: (value: ConfigValue): boolean => value == null || ['true', 'false'].includes(value.toString()), + validator: (value: ConfigValue): boolean => value == null || isBooleanOrBooleanString(value), failedMessage: messages.getMessage('invalidBooleanConfigValue'), }, }, @@ -264,7 +265,7 @@ export const SFDX_ALLOWED_PROPERTIES = [ newKey: 'org-metadata-rest-deploy', deprecated: true, input: { - validator: (value: ConfigValue): boolean => value != null && ['true', 'false'].includes(value.toString()), + validator: (value: ConfigValue): boolean => value != null && isBooleanOrBooleanString(value), failedMessage: messages.getMessage('invalidBooleanConfigValue'), }, }, @@ -287,7 +288,10 @@ export const SFDX_ALLOWED_PROPERTIES = [ // Generic global config properties. Specific properties can be loaded like orgConfigProperties.ts. export const SfProperty: { [index: string]: ConfigPropertyMeta } = {}; -export type ConfigProperties = { [index: string]: JsonPrimitive }; +/* A very loose type to account for the possibility of plugins adding properties via configMeta. + * The class itself is doing runtime validation to check property keys and values. + */ +export type ConfigProperties = ConfigContents; /** * The files where sfdx config values are stored for projects and the global space. @@ -309,28 +313,24 @@ export class Config extends ConfigFile { ...ORG_CONFIG_ALLOWED_PROPERTIES, ]; - private sfdxConfig: SfdxConfig; + private sfdxPath?: string; public constructor(options?: ConfigFile.Options) { - super( - Object.assign( - { - isGlobal: false, - }, - options ?? {}, - { - // Don't let consumers of config override this. If they really really want to, - // they can extend this class. - isState: true, - filename: Config.getFileName(), - stateFolder: Global.SF_STATE_FOLDER, - } - ) - ); + super({ + ...{ isGlobal: false }, + ...(options ?? {}), + // Don't let consumers of config override this. If they really really want to, + // they can extend this class. + isState: true, + filename: Config.getFileName(), + stateFolder: Global.SF_STATE_FOLDER, + }); // Resolve the config path on creation. this.getPath(); - this.sfdxConfig = new SfdxConfig(this.options, this); + if (Global.SFDX_INTEROPERABILITY) { + this.sfdxPath = buildSfdxPath(this.options); + } } /** @@ -378,31 +378,33 @@ export class Config extends ConfigFile { * @param propertyName The name of the property to set. * @param value The property value. */ - public static async update(isGlobal: boolean, propertyName: string, value?: ConfigValue): Promise { + public static async update>( + isGlobal: boolean, + propertyName: K, + value?: ConfigProperties[K] + ): Promise { const config = await Config.create({ isGlobal }); - const content = await config.read(); + await config.read(); if (value == null) { - delete content[propertyName]; + config.unset(propertyName); } else { - set(content, propertyName, value); + config.set(propertyName, value); } - - return config.write(content); + return config.write(); } /** * Clear all the configured properties both local and global. */ public static async clear(): Promise { - const globalConfig = await Config.create({ isGlobal: true }); - globalConfig.clear(); - await globalConfig.write(); + const [globalConfig, localConfig] = await Promise.all([Config.create({ isGlobal: true }), Config.create()]); - const localConfig = await Config.create(); + globalConfig.clear(); localConfig.clear(); - await localConfig.write(); + + await Promise.all([globalConfig.write(), localConfig.write()]); } public static getPropertyConfigMeta(propertyName: string): Nullable { @@ -423,10 +425,12 @@ export class Config extends ConfigFile { */ public async read(force = true): Promise { try { - const config = await super.read(false, force); - // Merge .sfdx/sfdx-config.json and .sf/config.json - const merged = this.sfdxConfig.merge(config); - this.setContents(merged); + await super.read(false, force); + if (Global.SFDX_INTEROPERABILITY) { + // will exist if Global.SFDX_INTEROPERABILITY is enabled + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + this.contents.merge(stateFromSfdxFileSync(this.sfdxPath!, this)); + } await this.cryptProperties(false); return this.getContents(); } finally { @@ -435,10 +439,13 @@ export class Config extends ConfigFile { } public readSync(force = true): ConfigProperties { - const config = super.readSync(false, force); - // Merge .sfdx/sfdx-config.json and .sf/config.json - const merged = this.sfdxConfig.merge(config); - this.setContents(merged); + super.readSync(false, force); + if (Global.SFDX_INTEROPERABILITY) { + // will exist if Global.SFDX_INTEROPERABILITY is enabled + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + this.contents.merge(stateFromSfdxFileSync(this.sfdxPath!, this)); + } + return this.getContents(); } @@ -447,16 +454,17 @@ export class Config extends ConfigFile { * * @param newContents The new Config value to persist. */ - public async write(newContents?: ConfigProperties): Promise { - if (newContents != null) { - this.setContents(newContents); - } - + public async write(): Promise { await this.cryptProperties(true); + // super.write will merge the contents if the target file had newer properties await super.write(); - if (Global.SFDX_INTEROPERABILITY) await this.sfdxConfig.write(); + if (Global.SFDX_INTEROPERABILITY) { + // will exist if Global.SFDX_INTEROPERABILITY is enabled + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + await writeToSfdx(this.sfdxPath!, this.getContents()); + } await this.cryptProperties(false); return this.getContents(); @@ -484,7 +492,7 @@ export class Config extends ConfigFile { * @param key The property to set. * @param value The value of the property. */ - public set(key: string, value: JsonPrimitive): ConfigProperties { + public set>(key: K, value: ConfigProperties[K]): ConfigProperties { const property = Config.allowedProperties.find((allowedProp) => allowedProp.key === key); if (!property) { @@ -496,7 +504,7 @@ export class Config extends ConfigFile { return this.set(property.newKey, value); } - if (property.input) { + if (value !== undefined && property.input) { if (property.input?.validator(value)) { super.set(property.key, value); } else { @@ -589,97 +597,71 @@ export class Config extends ConfigFile { } } -export class SfdxConfig { - private sfdxPath: string; - public constructor(private options: ConfigFile.Options = {}, private config: Config) { - this.sfdxPath = this.getSfdxPath(); - } - - /** - * If Global.SFDX_INTEROPERABILITY is enabled, merge the sfdx config into the sf config - */ - public merge(config: ConfigProperties): ConfigProperties | undefined { - if (!Global.SFDX_INTEROPERABILITY) return config; - const sfdxConfig = this.readSync(); - - const sfdxPropKeys = Object.values(SfdxPropertyKeys) as string[]; - - // Get a list of config keys that are NOT provided by SfdxPropertyKeys - const nonSfdxPropKeys = Config.getAllowedProperties() - .filter((p) => !sfdxPropKeys.includes(p.key)) - .map((p) => p.key); - - // Remove any config from .sf that isn't also in .sfdx - // This handles the scenario where a config has been deleted - // from .sfdx and we want to mirror that change in .sf - for (const key of nonSfdxPropKeys) { - if (!sfdxConfig[key]) delete config[key]; - } - - return Object.assign(config, sfdxConfig); - } +/** + * convert from "new" to "old" config names + * - For example, `target-org` will be renamed to `defaultusername`. + */ +const translateToSfdx = (sfContents: ConfigProperties): ConfigProperties => + Object.fromEntries( + Object.entries(sfContents).map(([key, value]) => { + const propConfig = Config.getAllowedProperties().find((c) => c.newKey === key) ?? ({} as ConfigPropertyMeta); + return propConfig.deprecated && propConfig.newKey ? [propConfig.key, value] : [key, value]; + }) + ); - public async write(config = this.config.toObject()): Promise { - try { - const translated = this.translate(config as ConfigProperties, 'toOld'); - const sfdxPath = this.getSfdxPath(); - await fs.promises.mkdir(pathDirname(sfdxPath), { recursive: true }); - await fs.promises.writeFile(sfdxPath, JSON.stringify(translated, null, 2)); - } catch (error) { - /* Do nothing */ - } - } +/** + * convert from "old" to "new" config names + * - For example, `defaultusername` will be renamed to `target-org` + */ +const translateToSf = (sfdxContents: ConfigProperties, SfConfig: Config): ConfigProperties => + Object.fromEntries( + Object.entries(sfdxContents).map(([key, value]) => { + const propConfig = SfConfig.getPropertyConfig(key); + return propConfig.deprecated && propConfig.newKey ? [propConfig.newKey, value] : [key, value]; + }) + ); + +/** given the ConfigFile options, calculate the full path where the config file goes */ +const buildSfdxPath = (options: ConfigFile.Options): string => { + // Don't let users store config files in homedir without being in the state folder. + const configRootFolder = options.rootFolder ?? ConfigFile.resolveRootFolderSync(!!options.isGlobal); + const rootWithState = + options.isGlobal === true || options.isState === true + ? pathJoin(configRootFolder, Global.SFDX_STATE_FOLDER) + : configRootFolder; + + return pathJoin(rootWithState, SFDX_CONFIG_FILE_NAME); +}; - private readSync(): ConfigProperties { - try { - const contents = parseJsonMap(fs.readFileSync(this.getSfdxPath(), 'utf8')); - return this.translate(contents, 'toNew'); - } catch (error) { - /* Do nothing */ - return {}; - } +/** + * writes (in an unsafe way) the configuration file to the sfdx file location. + * Make sure you call ConfigFile.write and getContents so that the contents passed here are not cross-saving something + */ +const writeToSfdx = async (path: string, contents: ConfigProperties): Promise => { + try { + const translated = translateToSfdx(contents); + await fs.promises.mkdir(pathDirname(path), { recursive: true }); + await fs.promises.writeFile(path, JSON.stringify(translated, null, 2)); + } catch (e) { + const logger = Logger.childFromRoot('core:config:writeToSfdx'); + logger.debug(`Error writing to sfdx config file at ${path}: ${e instanceof Error ? e.message : ''}`); } - - private getSfdxPath(): string { - if (!this.sfdxPath) { - const stateFolder = Global.SFDX_STATE_FOLDER; - const fileName = SFDX_CONFIG_FILE_NAME; - - // Don't let users store config files in homedir without being in the state folder. - let configRootFolder = this.options.rootFolder - ? this.options.rootFolder - : ConfigFile.resolveRootFolderSync(!!this.options.isGlobal); - - if (this.options.isGlobal === true || this.options.isState === true) { - configRootFolder = pathJoin(configRootFolder, stateFolder); - } - - this.sfdxPath = pathJoin(configRootFolder, fileName); - } - return this.sfdxPath; +}; + +/** turn the sfdx config file into a LWWState based on its contents and its timestamp */ +const stateFromSfdxFileSync = (path: string, config: Config): LWWState => { + try { + const fileContents = fs.readFileSync(path, 'utf8'); + const mtimeNs = fs.statSync(path, { bigint: true }).mtimeNs; + const translatedContents = translateToSf(parseJsonMap(fileContents, path), config); + // get the file timestamp + return stateFromContents(translatedContents, mtimeNs); + } catch (e) { + const logger = Logger.childFromRoot('core:config:stateFromSfdxFileSync'); + logger.debug(`Error reading state from sfdx config file at ${path}: ${e instanceof Error ? e.message : ''}`); + return {}; } +}; - /** - * If toNew is specified: migrate all deprecated configs with a newKey to the newKey. - * - For example, defaultusername will be renamed to target-org. - * - * If toOld is specified: migrate all deprecated configs back to their original key. - * - For example, target-org will be renamed to defaultusername. - */ - private translate(contents: ConfigProperties, direction: 'toNew' | 'toOld'): ConfigProperties { - const translated = {} as ConfigProperties; - for (const [key, value] of Object.entries(contents)) { - const propConfig = - direction === 'toNew' - ? this.config.getPropertyConfig(key) - : Config.getAllowedProperties().find((c) => c.newKey === key) ?? ({} as ConfigPropertyMeta); - if (propConfig.deprecated && propConfig.newKey) { - const normalizedKey = direction === 'toNew' ? propConfig.newKey : propConfig.key; - translated[normalizedKey] = value; - } else { - translated[key] = value; - } - } - return translated; - } -} +const isBooleanOrBooleanString = (value: unknown): boolean => + (typeof value === 'string' && ['true', 'false'].includes(value)) || typeof value === 'boolean'; diff --git a/src/config/configFile.ts b/src/config/configFile.ts index 1bb38b45d6..97b21b707d 100644 --- a/src/config/configFile.ts +++ b/src/config/configFile.ts @@ -5,17 +5,19 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as fs from 'fs'; -import { constants as fsConstants, Stats as fsStats } from 'fs'; -import { homedir as osHomedir } from 'os'; -import { dirname as pathDirname, join as pathJoin } from 'path'; -import { isPlainObject } from '@salesforce/ts-types'; +import * as fs from 'node:fs'; +import { constants as fsConstants, Stats as fsStats } from 'node:fs'; +import { homedir as osHomedir } from 'node:os'; +import { join as pathJoin } from 'node:path'; import { parseJsonMap } from '@salesforce/kit'; import { Global } from '../global'; import { Logger } from '../logger/logger'; import { SfError } from '../sfError'; import { resolveProjectPath, resolveProjectPathSync } from '../util/internal'; -import { BaseConfigStore, ConfigContents } from './configStore'; +import { lockInit, lockInitSync } from '../util/fileLocking'; +import { BaseConfigStore } from './configStore'; +import { ConfigContents } from './configStackTypes'; +import { stateFromContents } from './lwwMap'; /** * Represents a json config file used to manage settings and state. Global config @@ -160,9 +162,14 @@ export class ConfigFile< // Only need to read config files once. They are kept up to date // internally and updated persistently via write(). if (!this.hasRead || force) { - this.logger.info(`Reading config file: ${this.getPath()}`); - const obj = parseJsonMap(await fs.promises.readFile(this.getPath(), 'utf8'), this.getPath()); - this.setContentsFromObject(obj); + this.logger.debug( + `Reading config file: ${this.getPath()} because ${ + !this.hasRead ? 'hasRead is false' : 'force parameter is true' + }` + ); + + const obj = parseJsonMap

(await fs.promises.readFile(this.getPath(), 'utf8'), this.getPath()); + this.setContentsFromFileContents(obj, (await fs.promises.stat(this.getPath(), { bigint: true })).mtimeNs); } // Necessarily set this even when an error happens to avoid infinite re-reading. // To attempt another read, pass `force=true`. @@ -172,7 +179,7 @@ export class ConfigFile< this.hasRead = true; if ((err as SfError).code === 'ENOENT') { if (!throwOnNotFound) { - this.setContents(); + this.setContentsFromFileContents({} as P); return this.getContents(); } } @@ -196,15 +203,19 @@ export class ConfigFile< // Only need to read config files once. They are kept up to date // internally and updated persistently via write(). if (!this.hasRead || force) { - this.logger.info(`Reading config file: ${this.getPath()}`); - const obj = parseJsonMap(fs.readFileSync(this.getPath(), 'utf8')); - this.setContentsFromObject(obj); + this.logger.debug(`Reading config file: ${this.getPath()}`); + const obj = parseJsonMap

(fs.readFileSync(this.getPath(), 'utf8')); + this.setContentsFromFileContents(obj, fs.statSync(this.getPath(), { bigint: true }).mtimeNs); } + // Necessarily set this even when an error happens to avoid infinite re-reading. + // To attempt another read, pass `force=true`. + this.hasRead = true; return this.getContents(); } catch (err) { + this.hasRead = true; if ((err as SfError).code === 'ENOENT') { if (!throwOnNotFound) { - this.setContents(); + this.setContentsFromFileContents({} as P); return this.getContents(); } } @@ -222,19 +233,19 @@ export class ConfigFile< * * @param newContents The new contents of the file. */ - public async write(newContents?: P): Promise

{ - if (newContents) { - this.setContents(newContents); - } + public async write(): Promise

{ + const lockResponse = await lockInit(this.getPath()); + // lock the file. Returns an unlock function to call when done. try { - await fs.promises.mkdir(pathDirname(this.getPath()), { recursive: true }); + const fileTimestamp = (await fs.promises.stat(this.getPath(), { bigint: true })).mtimeNs; + const fileContents = parseJsonMap

(await fs.promises.readFile(this.getPath(), 'utf8'), this.getPath()); + this.logAndMergeContents(fileTimestamp, fileContents); } catch (err) { - throw SfError.wrap(err as Error); + this.handleWriteError(err); } - - this.logger.info(`Writing to config file: ${this.getPath()}`); - await fs.promises.writeFile(this.getPath(), JSON.stringify(this.toObject(), null, 2)); + // write the merged LWWMap to file + await lockResponse.writeAndUnlock(JSON.stringify(this.getContents(), null, 2)); return this.getContents(); } @@ -245,19 +256,19 @@ export class ConfigFile< * * @param newContents The new contents of the file. */ - public writeSync(newContents?: P): P { - if (isPlainObject(newContents)) { - this.setContents(newContents); - } - + public writeSync(): P { + const lockResponse = lockInitSync(this.getPath()); try { - fs.mkdirSync(pathDirname(this.getPath()), { recursive: true }); + // get the file modstamp. Do this after the lock acquisition in case the file is being written to. + const fileTimestamp = fs.statSync(this.getPath(), { bigint: true }).mtimeNs; + const fileContents = parseJsonMap

(fs.readFileSync(this.getPath(), 'utf8'), this.getPath()); + this.logAndMergeContents(fileTimestamp, fileContents); } catch (err) { - throw SfError.wrap(err as Error); + this.handleWriteError(err); } - this.logger.info(`Writing to config file: ${this.getPath()}`); - fs.writeFileSync(this.getPath(), JSON.stringify(this.toObject(), null, 2)); + // write the merged LWWMap to file + lockResponse.writeAndUnlock(JSON.stringify(this.getContents(), null, 2)); return this.getContents(); } @@ -368,6 +379,27 @@ export class ConfigFile< // Read the file, which also sets the path and throws any errors around project paths. await this.read(this.options.throwOnNotFound); } + + // method exists to share code between write() and writeSync() + private logAndMergeContents(fileTimestamp: bigint, fileContents: P): void { + this.logger.debug(`Existing file contents on filesystem (timestamp: ${fileTimestamp.toString()}`, fileContents); + this.logger.debug('Contents in configFile in-memory', this.getContents()); + + // read the file contents into a LWWMap using the modstamp + const stateFromFile = stateFromContents

(fileContents, fileTimestamp); + // merge the new contents into the in-memory LWWMap + this.contents.merge(stateFromFile); + this.logger.debug('Result from merge', this.getContents()); + } + + // shared error handling for both write() and writeSync() + private handleWriteError(err: unknown): void { + if (err instanceof Error && err.message.includes('ENOENT')) { + this.logger.debug(`No file found at ${this.getPath()}. Write will create it.`); + } else { + throw err; + } + } } export namespace ConfigFile { diff --git a/src/config/configStackTypes.ts b/src/config/configStackTypes.ts new file mode 100644 index 0000000000..420c76f29d --- /dev/null +++ b/src/config/configStackTypes.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2023, 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 { Dictionary, AnyJson } from '@salesforce/ts-types'; + +export type Key

= Extract; +/** + * The allowed types stored in a config store. + */ + +export type ConfigValue = AnyJson; +/** + * The type of entries in a config store defined by the key and value type of {@link ConfigContents}. + */ + +export type ConfigEntry = [string, ConfigValue]; +/** + * The type of content a config stores. + */ + +export type ConfigContents = Dictionary; diff --git a/src/config/configStore.ts b/src/config/configStore.ts index 52b4eb348a..4529dda4e0 100644 --- a/src/config/configStore.ts +++ b/src/config/configStore.ts @@ -5,38 +5,14 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { AsyncOptionalCreatable, cloneJson, set } from '@salesforce/kit'; -import { isPlainObject } from '@salesforce/ts-types'; -import { - AnyJson, - definiteEntriesOf, - definiteValuesOf, - Dictionary, - get, - isJsonMap, - isString, - JsonMap, - Optional, -} from '@salesforce/ts-types'; +import { AsyncOptionalCreatable, cloneJson } from '@salesforce/kit'; +import { entriesOf, isPlainObject } from '@salesforce/ts-types'; +import { definiteEntriesOf, definiteValuesOf, isJsonMap, isString, JsonMap, Optional } from '@salesforce/ts-types'; import { Crypto } from '../crypto/crypto'; import { SfError } from '../sfError'; - -/** - * The allowed types stored in a config store. - */ -export type ConfigValue = AnyJson; - -/** - * The type of entries in a config store defined by the key and value type of {@link ConfigContents}. - */ -export type ConfigEntry = [string, ConfigValue]; - -/** - * The type of content a config stores. - */ -export type ConfigContents = Dictionary; - -export type Key

= Extract; +import { nowBigInt } from '../util/time'; +import { LWWMap, stateFromContents } from './lwwMap'; +import { ConfigContents, ConfigEntry, ConfigValue, Key } from './configStackTypes'; /** * An interface for a config object with a persistent store. @@ -59,11 +35,9 @@ export interface ConfigStore

{ values(): ConfigValue[]; forEach(actionFn: (key: string, value: ConfigValue) => void): void; - awaitEach(actionFn: (key: string, value: ConfigValue) => Promise): Promise; // Content methods getContents(): P; - setContents(contents?: P): void; } /** @@ -85,7 +59,7 @@ export abstract class BaseConfigStore< protected crypto?: Crypto; // Initialized in setContents - private contents!: P; + protected contents = new LWWMap

(); private statics = this.constructor as typeof BaseConfigStore; /** @@ -104,30 +78,29 @@ export abstract class BaseConfigStore< * Returns an array of {@link ConfigEntry} for each element in the config. */ public entries(): ConfigEntry[] { - return definiteEntriesOf(this.contents); + return definiteEntriesOf(this.contents.value ?? {}); } /** * Returns the value associated to the key, or undefined if there is none. * - * @param key The key. Supports query key like `a.b[0]`. + * @param key The key (object property) * @param decrypt If it is an encrypted key, decrypt the value. * If the value is an object, a clone will be returned. */ public get>(key: K, decrypt?: boolean): P[K]; public get(key: string, decrypt?: boolean): V; public get>(key: K | string, decrypt = false): P[K] | ConfigValue { - const k = key as string; - let value = this.getMethod(this.contents, k); + const rawValue = this.contents.get(key as K); if (this.hasEncryption() && decrypt) { - if (isJsonMap(value)) { - value = this.recursiveDecrypt(cloneJson(value), k); - } else if (this.isCryptoKey(k)) { - value = this.decrypt(value); + if (isJsonMap(rawValue)) { + return this.recursiveDecrypt(cloneJson(rawValue), key); + } else if (this.isCryptoKey(key)) { + return this.decrypt(rawValue) as P[K] | ConfigValue; } } - return value as P[K]; + return rawValue as P[K] | ConfigValue; } /** @@ -144,29 +117,26 @@ export abstract class BaseConfigStore< /** * Returns a boolean asserting whether a value has been associated to the key in the config object or not. * - * @param key The key. Supports query key like `a.b[0]`. */ public has(key: string): boolean { - return !!this.getMethod(this.contents, key); + return this.contents.has(key) ?? false; } /** * Returns an array that contains the keys for each element in the config object. */ public keys(): Array> { - return Object.keys(this.contents) as Array>; + return Object.keys(this.contents.value ?? {}) as Array>; } /** * Sets the value for the key in the config object. This will override the existing value. * To do a partial update, use {@link BaseConfigStore.update}. * - * @param key The key. Supports query key like `a.b[0]`. + * @param key The key. * @param value The value. */ - public set>(key: K, value: P[K]): void; - public set(key: string, value: V): void; - public set>(key: K | string, value: P[K] | ConfigValue): void { + public set>(key: K, value: P[K]): void { if (this.hasEncryption()) { if (isJsonMap(value)) { value = this.recursiveEncrypt(value, key as string) as P[K]; @@ -174,40 +144,40 @@ export abstract class BaseConfigStore< value = this.encrypt(value) as P[K]; } } - this.setMethod(this.contents, key as string, value); + // set(key, undefined) means unset + if (value === undefined) { + this.unset(key); + } else { + this.contents.set(key, value); + } } /** * Updates the value for the key in the config object. If the value is an object, it * will be merged with the existing object. * - * @param key The key. Supports query key like `a.b[0]`. + * @param key The key. * @param value The value. */ - public update>(key: K, value: Partial): void; - public update(key: string, value: Partial): void; - public update>(key: K | string, value: Partial | Partial): void { + public update>(key: K, value: Partial): void { const existingValue = this.get(key, true); if (isPlainObject(existingValue) && isPlainObject(value)) { - value = Object.assign({}, existingValue, value); + const mergedValue = Object.assign({}, existingValue, value); + this.set(key, mergedValue as P[K]); + } else { + this.set(key, value as P[K]); } - this.set(key, value); } /** * Returns `true` if an element in the config object existed and has been removed, or `false` if the element does not * exist. {@link BaseConfigStore.has} will return false afterwards. * - * @param key The key. Supports query key like `a.b[0]`. + * @param key The key */ - public unset(key: string): boolean { + public unset>(key: K): boolean { if (this.has(key)) { - if (this.contents[key]) { - delete this.contents[key]; - } else { - // It is a query key, so just set it to undefined - this.setMethod(this.contents, key, undefined); - } + this.contents.delete(key); return true; } return false; @@ -217,24 +187,24 @@ export abstract class BaseConfigStore< * Returns `true` if all elements in the config object existed and have been removed, or `false` if all the elements * do not exist (some may have been removed). {@link BaseConfigStore.has(key)} will return false afterwards. * - * @param keys The keys. Supports query keys like `a.b[0]`. + * @param keys The keys */ - public unsetAll(keys: string[]): boolean { - return keys.reduce((val: boolean, key) => val && this.unset(key), true); + public unsetAll(keys: Array>): boolean { + return keys.map((key) => this.unset(key)).every(Boolean); } /** * Removes all key/value pairs from the config object. */ public clear(): void { - this.contents = {} as P; + this.keys().map((key) => this.unset(key)); } /** * Returns an array that contains the values for each element in the config object. */ public values(): ConfigValue[] { - return definiteValuesOf(this.contents); + return definiteValuesOf(this.contents.value ?? {}); } /** @@ -247,26 +217,11 @@ export abstract class BaseConfigStore< * @param decrypt: decrypt all data in the config. A clone of the data will be returned. * */ - public getContents(decrypt = false): P { - if (!this.contents) { - this.setContents(); - } + public getContents(decrypt = false): Readonly

{ if (this.hasEncryption() && decrypt) { - return this.recursiveDecrypt(cloneJson(this.contents)) as P; + return this.recursiveDecrypt(cloneJson(this.contents?.value ?? {})) as P; } - return this.contents; - } - - /** - * Sets the entire config contents. - * - * @param contents The contents. - */ - public setContents(contents: P = {} as P): void { - if (this.hasEncryption()) { - contents = this.recursiveEncrypt(contents); - } - this.contents = contents; + return this.contents?.value ?? ({} as P); } /** @@ -275,26 +230,7 @@ export abstract class BaseConfigStore< * @param {function} actionFn The function `(key: string, value: ConfigValue) => void` to be called for each element. */ public forEach(actionFn: (key: string, value: ConfigValue) => void): void { - const entries = this.entries(); - for (const entry of entries) { - actionFn(entry[0], entry[1]); - } - } - - /** - * Asynchronously invokes `actionFn` once for each key-value pair present in the config object. - * - * @param {function} actionFn The function `(key: string, value: ConfigValue) => Promise` to be called for - * each element. - * @returns {Promise} - */ - public async awaitEach(actionFn: (key: string, value: ConfigValue) => Promise): Promise { - const entries = this.entries(); - for (const entry of entries) { - // prevent ConfigFile collision bug - // eslint-disable-next-line no-await-in-loop - await actionFn(entry[0], entry[1]); - } + this.entries().map((entry) => actionFn(entry[0], entry[1])); } /** @@ -302,7 +238,7 @@ export abstract class BaseConfigStore< * Same as calling {@link ConfigStore.getContents} */ public toObject(): JsonMap { - return this.contents; + return this.contents.value ?? {}; } /** @@ -310,15 +246,39 @@ export abstract class BaseConfigStore< * * @param obj The object. */ - public setContentsFromObject(obj: U): void { - this.contents = (this.hasEncryption() ? this.recursiveEncrypt(obj) : {}) as P; - Object.entries(obj).forEach(([key, value]) => { - this.setMethod(this.contents, key, value); + public setContentsFromObject(obj: P): void { + const objForWrite = this.hasEncryption() ? this.recursiveEncrypt(obj) : obj; + entriesOf(objForWrite).map(([key, value]) => { + this.set(key, value); + }); + } + + /** + * Keep ConfigFile concurrency-friendly. + * Avoid using this unless you're reading the file for the first time + * and guaranteed to no be cross-saving existing contents + * */ + protected setContentsFromFileContents(contents: P, timestamp?: bigint): void { + const state = stateFromContents(contents, timestamp ?? nowBigInt()); + this.contents = new LWWMap

(state); + } + + /** + * Sets the entire config contents. + * + * @param contents The contents. + */ + protected setContents(contents: P = {} as P): void { + if (this.hasEncryption()) { + contents = this.recursiveEncrypt(contents); + } + entriesOf(contents).map(([key, value]) => { + this.contents.set(key, value); }); } protected getEncryptedKeys(): Array { - return [...(this.options?.encryptedKeys ?? []), ...(this.statics?.encryptedKeys || [])]; + return [...(this.options?.encryptedKeys ?? []), ...(this.statics?.encryptedKeys ?? [])]; } /** @@ -330,21 +290,6 @@ export abstract class BaseConfigStore< return this.getEncryptedKeys().length > 0; } - // Allows extended classes the ability to override the set method. i.e. maybe they want - // nested object set from kit. - // eslint-disable-next-line class-methods-use-this - protected setMethod(contents: ConfigContents, key: string, value?: ConfigValue): void { - set(contents, key, value); - } - - // Allows extended classes the ability to override the get method. i.e. maybe they want - // nested object get from ts-types. - // NOTE: Key must stay string to be reliably overwritten. - // eslint-disable-next-line class-methods-use-this - protected getMethod(contents: ConfigContents, key: string): Optional { - return get(contents, key) as ConfigValue; - } - // eslint-disable-next-line class-methods-use-this protected initialContents(): P { return {} as P; @@ -411,18 +356,18 @@ export abstract class BaseConfigStore< if (!this.crypto) throw new SfError('crypto is not initialized', 'CryptoNotInitializedError'); if (!isString(value)) throw new SfError( - `can only encrypt strings but found: ${typeof value} : ${value.toString()}`, + `can only encrypt strings but found: ${typeof value} : ${JSON.stringify(value)}`, 'InvalidCryptoValueError' ); return this.crypto.isEncrypted(value) ? value : this.crypto.encrypt(value); } - protected decrypt(value: unknown): Optional { + protected decrypt(value: unknown): string | undefined { if (!value) return; if (!this.crypto) throw new SfError('crypto is not initialized', 'CryptoNotInitializedError'); if (!isString(value)) throw new SfError( - `can only encrypt strings but found: ${typeof value} : ${value.toString()}`, + `can only encrypt strings but found: ${typeof value} : ${JSON.stringify(value)}`, 'InvalidCryptoValueError' ); return this.crypto.isEncrypted(value) ? this.crypto.decrypt(value) : value; diff --git a/src/config/envVars.ts b/src/config/envVars.ts index 202a881530..9116758727 100644 --- a/src/config/envVars.ts +++ b/src/config/envVars.ts @@ -4,7 +4,7 @@ * 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 { join as pathJoin } from 'path'; +import { join as pathJoin } from 'node:path'; import { Dictionary, Nullable } from '@salesforce/ts-types'; import { camelCase, snakeCase } from 'change-case'; import { Env } from '@salesforce/kit'; diff --git a/src/config/lwwMap.ts b/src/config/lwwMap.ts new file mode 100644 index 0000000000..953ad9ba87 --- /dev/null +++ b/src/config/lwwMap.ts @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2023, 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 { entriesOf } from '@salesforce/ts-types'; +import { nowBigInt } from '../util/time'; +import { LWWRegister } from './lwwRegister'; +import { ConfigContents, Key } from './configStackTypes'; + +export const SYMBOL_FOR_DELETED = 'UNIQUE_IDENTIFIER_FOR_DELETED' as const; + +export type LWWState

= { + [Property in keyof P]: LWWRegister['state']; +}; + +/** + * @param contents object aligning with ConfigContents + * @param timestamp a bigInt that sets the timestamp. Defaults to the current time + * construct a LWWState from an object + * @param keysToCheckForDeletion if a key is in this array, AND not in the contents, it will be marked as deleted + * */ +export const stateFromContents =

(contents: P, timestamp?: bigint): LWWState

=> + Object.fromEntries( + entriesOf(contents).map( + ([key, value]): [keyof P, LWWRegister['state']] => [ + key, + new LWWRegister({ timestamp: timestamp ?? nowBigInt(), value }), + ] + ) + // I'd love to get rid of this ASsertion but don't know how. + ) as LWWState

; + +export class LWWMap

{ + /** map of key to LWWRegister. Used for managing conflicts */ + #data = new Map>(); + + public constructor(state?: LWWState

) { + // create a new register for each key in the initial state + for (const [key, register] of entriesOf(state ?? {})) { + this.#data.set(key, new LWWRegister(register)); + } + } + + public get value(): P { + return Object.fromEntries( + Array.from(this.#data.entries()) + .filter(([, register]) => register.value !== SYMBOL_FOR_DELETED) + .map(([key, register]) => [key, register.value]) + ) as P; + } + + public get state(): LWWState

{ + return Object.fromEntries( + Array.from(this.#data.entries()).map(([key, register]) => [key, register.state]) + ) as LWWState

; + } + + // Merge top-level properties of the incoming state with the current state. + // The value with the latest timestamp wins. + public merge(state: LWWState

): LWWState

{ + // properties that are in the incoming state but not the current state might have been deleted. + // recursively merge each key's register with the incoming state for that key + for (const [key, remote] of entriesOf(state)) { + const local = this.#data.get(key); + // if the register already exists, merge it with the incoming state + if (local) local.merge(remote); + // otherwise, instantiate a new `LWWRegister` with the incoming state + else this.#data.set(key, new LWWRegister(remote)); + } + return this.state; + } + + public set>(key: K, value: P[K]): void { + // get the register at the given key + const register = this.#data.get(key); + + // if the register already exists, set the value + if (register) register.set(value); + // otherwise, instantiate a new `LWWRegister` with the value + else this.#data.set(key, new LWWRegister({ timestamp: nowBigInt(), value })); + } + + public get>(key: K): P[K] | undefined { + // map loses the typing + const value = this.#data.get(key)?.value; + if (value === SYMBOL_FOR_DELETED) return undefined; + return value as P[K]; + } + + public delete>(key: K): void { + this.#data.set( + key, + new LWWRegister({ + timestamp: nowBigInt(), + value: SYMBOL_FOR_DELETED, + }) + ); + } + + public has(key: string): boolean { + // if a register doesn't exist or its value is null, the map doesn't contain the key + return this.#data.has(key) && this.#data.get(key)?.value !== SYMBOL_FOR_DELETED; + } +} diff --git a/src/config/lwwRegister.ts b/src/config/lwwRegister.ts new file mode 100644 index 0000000000..9e63ee97c9 --- /dev/null +++ b/src/config/lwwRegister.ts @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2023, 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 { nowBigInt } from '../util/time'; + +type LWWRegisterState = { timestamp: bigint; value: T }; + +/** a CRDT implementation. Uses timestamps to resolve conflicts when updating the value (last write wins) + * mostly based on https://jakelazaroff.com/words/an-interactive-intro-to-crdts/ + * + * @param T the type of the value stored in the register + */ +export class LWWRegister { + public constructor(public state: LWWRegisterState) {} + + public get value(): T { + return this.state.value; + } + + public get timestamp(): bigint { + return this.state.timestamp; + } + + public set(value: T): void { + this.state = { timestamp: nowBigInt(), value }; + } + + public merge(incoming: LWWRegisterState): LWWRegisterState { + // only update if the incoming timestamp is greater than the local timestamp + if (incoming.timestamp > this.state.timestamp) { + this.state = incoming; + } + return this.state; + } +} diff --git a/src/config/orgUsersConfig.ts b/src/config/orgUsersConfig.ts index 089688af65..b14e1f500e 100644 --- a/src/config/orgUsersConfig.ts +++ b/src/config/orgUsersConfig.ts @@ -8,10 +8,13 @@ import { Global } from '../global'; import { ConfigFile } from './configFile'; +type UserConfig = { + usernames: string[]; +}; /** * A config file that stores usernames for an org. */ -export class OrgUsersConfig extends ConfigFile { +export class OrgUsersConfig extends ConfigFile { /** * Constructor. * **Do not directly construct instances of this class -- use {@link OrgUsersConfig.create} instead.** diff --git a/src/config/sandboxProcessCache.ts b/src/config/sandboxProcessCache.ts index 9a36d28ffa..56dac4e790 100644 --- a/src/config/sandboxProcessCache.ts +++ b/src/config/sandboxProcessCache.ts @@ -5,7 +5,7 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { Duration } from '@salesforce/kit'; -import { SandboxProcessObject, SandboxRequest } from '../org'; +import { SandboxProcessObject, SandboxRequest } from '../org/org'; import { Global } from '../global'; import { TTLConfig } from './ttlConfig'; diff --git a/src/config/tokensConfig.ts b/src/config/tokensConfig.ts deleted file mode 100644 index 05ea646732..0000000000 --- a/src/config/tokensConfig.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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 - */ -/* eslint-disable class-methods-use-this */ - -import { Optional } from '@salesforce/ts-types'; -import { SfTokens } from '../stateAggregator'; -import { ConfigFile } from './configFile'; -import { ConfigContents, ConfigValue } from './configStore'; - -export class TokensConfig extends ConfigFile { - protected static encryptedKeys = [/token/i, /password/i, /secret/i]; - public static getDefaultOptions(): ConfigFile.Options { - return { - isGlobal: true, - isState: true, - filename: 'tokens.json', - }; - } - - protected getMethod(contents: ConfigContents, key: string): Optional { - return contents[key]; - } - - protected setMethod(contents: ConfigContents, key: string, value?: ConfigValue): void { - contents[key] = value; - } -} diff --git a/src/config/ttlConfig.ts b/src/config/ttlConfig.ts index afc2874b96..ebe1e31e0c 100644 --- a/src/config/ttlConfig.ts +++ b/src/config/ttlConfig.ts @@ -46,7 +46,11 @@ export class TTLConfig extends C protected async init(): Promise { const contents = await this.read(this.options.throwOnNotFound); const date = new Date().getTime(); - this.setContents(Object.fromEntries(Object.entries(contents).filter(([, value]) => !this.isExpired(date, value)))); + + // delete all the expired entries + Object.entries(contents) + .filter(([, value]) => this.isExpired(date, value)) + .map(([key]) => this.unset(key)); } // eslint-disable-next-line class-methods-use-this diff --git a/src/crypto/crypto.ts b/src/crypto/crypto.ts index 880a698bbe..ef151d2c1f 100644 --- a/src/crypto/crypto.ts +++ b/src/crypto/crypto.ts @@ -6,9 +6,9 @@ */ /* eslint-disable @typescript-eslint/ban-types */ -import * as crypto from 'crypto'; -import * as os from 'os'; -import { join as pathJoin } from 'path'; +import * as crypto from 'node:crypto'; +import * as os from 'node:os'; +import { join as pathJoin } from 'node:path'; import { ensure, Nullable, Optional } from '@salesforce/ts-types'; import { AsyncOptionalCreatable, env } from '@salesforce/kit'; import { Logger } from '../logger/logger'; diff --git a/src/crypto/keyChainImpl.ts b/src/crypto/keyChainImpl.ts index ddcfe18315..01e6e7f1cf 100644 --- a/src/crypto/keyChainImpl.ts +++ b/src/crypto/keyChainImpl.ts @@ -5,12 +5,12 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as childProcess from 'child_process'; -import * as nodeFs from 'fs'; -import * as fs from 'fs'; -import * as os from 'os'; -import { homedir } from 'os'; -import * as path from 'path'; +import * as childProcess from 'node:child_process'; +import * as nodeFs from 'node:fs'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import { homedir } from 'node:os'; +import * as path from 'node:path'; import { asString, ensureString, Nullable } from '@salesforce/ts-types'; import { parseJsonMap } from '@salesforce/kit'; import { Global } from '../global'; @@ -46,7 +46,7 @@ const isExe = (mode: number, gid: number, uid: number): boolean => { return Boolean( mode & parseInt('0001', 8) || - (mode & parseInt('0010', 8) && process.getgid && gid === process.getgid()) || + Boolean(mode & parseInt('0010', 8) && process.getgid && gid === process.getgid()) || (mode & parseInt('0100', 8) && process.getuid && uid === process.getuid()) ); }; diff --git a/src/crypto/secureBuffer.ts b/src/crypto/secureBuffer.ts index ec9cf0bd8f..6ef4a92ae5 100644 --- a/src/crypto/secureBuffer.ts +++ b/src/crypto/secureBuffer.ts @@ -5,7 +5,7 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as crypto from 'crypto'; +import * as crypto from 'node:crypto'; import { ensure, Optional } from '@salesforce/ts-types'; const cipherName = 'aes-256-cbc'; diff --git a/src/deviceOauthService.ts b/src/deviceOauthService.ts index e565c64620..fdd7733381 100644 --- a/src/deviceOauthService.ts +++ b/src/deviceOauthService.ts @@ -13,7 +13,8 @@ import { HttpRequest, OAuth2Config } from 'jsforce'; import { ensureString, JsonMap, Nullable } from '@salesforce/ts-types'; import * as FormData from 'form-data'; import { Logger } from './logger/logger'; -import { AuthInfo, DEFAULT_CONNECTED_APP_INFO, SFDX_HTTP_HEADERS } from './org'; +import { AuthInfo, DEFAULT_CONNECTED_APP_INFO } from './org/authInfo'; +import { SFDX_HTTP_HEADERS } from './org/connection'; import { SfError } from './sfError'; import { Messages } from './messages'; diff --git a/src/exported.ts b/src/exported.ts index 0ac144309b..c067a98232 100644 --- a/src/exported.ts +++ b/src/exported.ts @@ -16,9 +16,9 @@ export { TTLConfig } from './config/ttlConfig'; export { envVars, EnvironmentVariable, SUPPORTED_ENV_VARS, EnvVars } from './config/envVars'; -export { ConfigContents, ConfigEntry, ConfigStore, ConfigValue } from './config/configStore'; - -export { SfTokens, StateAggregator } from './stateAggregator'; +export { ConfigStore } from './config/configStore'; +export { ConfigEntry, ConfigContents, ConfigValue } from './config/configStackTypes'; +export { StateAggregator } from './stateAggregator/stateAggregator'; export { DeviceOauthService, DeviceCodeResponse, DeviceCodePollingResponse } from './deviceOauthService'; @@ -70,14 +70,13 @@ export { OrgTypes, ResultEvent, ScratchOrgRequest, -} from './org'; +} from './org/org'; export { OrgConfigProperties, ORG_CONFIG_ALLOWED_PROPERTIES } from './org/orgConfigProperties'; export { PackageDir, NamedPackageDir, PackageDirDependency, SfProject, SfProjectJson } from './sfProject'; export { SchemaValidator } from './schema/validator'; -export { SchemaPrinter } from './schema/printer'; export { SfError } from './sfError'; @@ -90,7 +89,7 @@ export { MyDomainResolver } from './status/myDomainResolver'; export { DefaultUserFields, REQUIRED_FIELDS, User, UserFields } from './org/user'; export { PermissionSetAssignment, PermissionSetAssignmentFields } from './org/permissionSetAssignment'; - +export { lockInit } from './util/fileLocking'; export { ScratchOrgCreateOptions, ScratchOrgCreateResult, @@ -105,6 +104,6 @@ export { scratchOrgLifecycleStages, } from './org/scratchOrgLifecycleEvents'; export { ScratchOrgCache } from './org/scratchOrgCache'; + // Utility sub-modules export * from './util/sfdc'; -export * from './util/sfdcUrl'; diff --git a/src/global.ts b/src/global.ts index 598258e1c8..0f58158198 100644 --- a/src/global.ts +++ b/src/global.ts @@ -5,9 +5,9 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { env } from '@salesforce/kit'; import { SfError } from './sfError'; diff --git a/src/logger/logger.ts b/src/logger/logger.ts index 2ac684ee51..9a54921d69 100644 --- a/src/logger/logger.ts +++ b/src/logger/logger.ts @@ -4,8 +4,8 @@ * 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 * as path from 'path'; +import * as os from 'node:os'; +import * as path from 'node:path'; import { Logger as PinoLogger, pino } from 'pino'; import { Env } from '@salesforce/kit'; @@ -171,7 +171,7 @@ export class Logger { level, enabled, }; - if (options.useMemoryLogger || Global.getEnvironmentMode() === Mode.TEST || !enabled) { + if (Boolean(options.useMemoryLogger) || Global.getEnvironmentMode() === Mode.TEST || !enabled) { this.memoryLogger = new MemoryLogger(); this.pinoLogger = pino( { diff --git a/src/logger/memoryLogger.ts b/src/logger/memoryLogger.ts index b077eb7cef..a88be2c61a 100644 --- a/src/logger/memoryLogger.ts +++ b/src/logger/memoryLogger.ts @@ -4,7 +4,7 @@ * 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 { Writable } from 'stream'; +import { Writable } from 'node:stream'; import { unwrapArray } from '../util/unwrapArray'; import { filterSecrets } from './filters'; diff --git a/src/logger/transformStream.ts b/src/logger/transformStream.ts index f0e02bb96a..e813204be4 100644 --- a/src/logger/transformStream.ts +++ b/src/logger/transformStream.ts @@ -4,7 +4,7 @@ * 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 { pipeline, Transform } from 'stream'; +import { pipeline, Transform } from 'node:stream'; import { unwrapArray } from '../util/unwrapArray'; import { filterSecrets } from './filters'; diff --git a/src/messageTransformer.ts b/src/messageTransformer.ts index 7242ffa26b..789f8dd12d 100644 --- a/src/messageTransformer.ts +++ b/src/messageTransformer.ts @@ -29,7 +29,7 @@ export const messageTransformer = (): ts.TransformerFactory => { if (ts.isExpressionStatement(node) && node.getText().includes('importMessagesDirectory')) { // importMessagesDirectory now happens at compile, not in runtime // returning undefined removes the node - return undefined; + return ts.factory.createEmptyStatement(); } if ( // transform a runtime load call into hardcoded messages values @@ -57,7 +57,7 @@ export const messageTransformer = (): ts.TransformerFactory => { // it might be a node that contains one of the things we're interested in, so keep digging return ts.visitEachChild(node, visitor, context); }; - return ts.visitNode(sourceFile, visitor); + return ts.visitNode(sourceFile, visitor, ts.isSourceFile); }; return transformerFactory; }; diff --git a/src/messages.ts b/src/messages.ts index 4a162bc8f9..5b40c5ef24 100644 --- a/src/messages.ts +++ b/src/messages.ts @@ -5,10 +5,10 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; -import * as util from 'util'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; +import * as util from 'node:util'; import { AnyJson, asString, ensureJsonMap, ensureString, isJsonMap, isObject } from '@salesforce/ts-types'; import { ensureArray, NamedError, upperFirst } from '@salesforce/kit'; import { SfError } from './sfError'; @@ -544,7 +544,7 @@ export class Messages { // 'myMessage' -> `MyMessageWarning` // 'myMessageError' -> `MyMessageError` // 'warning.myMessage' -> `MyMessageWarning` - const name = `${upperFirst(key.replace(searchValue, ''))}${labelRegExp.exec(key) || preserveName ? '' : label}`; + const name = `${upperFirst(key.replace(searchValue, ''))}${labelRegExp.exec(key) ?? preserveName ? '' : label}`; const message = this.getMessage(key, tokens); let actions; try { diff --git a/src/org/authInfo.ts b/src/org/authInfo.ts index 67eaa24dff..ed837cfedd 100644 --- a/src/org/authInfo.ts +++ b/src/org/authInfo.ts @@ -6,10 +6,10 @@ */ /* eslint-disable class-methods-use-this */ -import { randomBytes } from 'crypto'; -import { resolve as pathResolve } from 'path'; -import * as os from 'os'; -import * as fs from 'fs'; +import { randomBytes } from 'node:crypto'; +import { resolve as pathResolve } from 'node:path'; +import * as os from 'node:os'; +import * as fs from 'node:fs'; import { Record as RecordType } from 'jsforce'; import { AsyncOptionalCreatable, cloneJson, env, isEmpty, parseJson, parseJsonMap } from '@salesforce/kit'; import { @@ -34,7 +34,7 @@ import { ConfigAggregator } from '../config/configAggregator'; import { Logger } from '../logger/logger'; import { SfError } from '../sfError'; import { matchesAccessToken, trimTo15 } from '../util/sfdc'; -import { StateAggregator } from '../stateAggregator'; +import { StateAggregator } from '../stateAggregator/stateAggregator'; import { Messages } from '../messages'; import { getLoginAudienceCombos, SfdcUrl } from '../util/sfdcUrl'; import { Connection, SFDX_HTTP_HEADERS } from './connection'; @@ -394,7 +394,7 @@ export class AuthInfo extends AsyncOptionalCreatable { const logger = await Logger.child('Common', { tag: 'identifyPossibleScratchOrgs' }); // return if we already know the hub org, we know it is a devhub or prod-like, or no orgId present - if (fields.isDevHub || fields.devHubUsername || !fields.orgId) return; + if (Boolean(fields.isDevHub) || Boolean(fields.devHubUsername) || !fields.orgId) return; logger.debug('getting devHubs and prod orgs to identify scratch orgs and sandboxes'); @@ -664,8 +664,10 @@ export class AuthInfo extends AsyncOptionalCreatable { * Get the authorization fields. * * @param decrypt Decrypt the fields. + * + * Returns a ReadOnly object of the fields. If you need to modify the fields, use AuthInfo.update() */ - public getFields(decrypt?: boolean): AuthFields { + public getFields(decrypt?: boolean): Readonly { return this.stateAggregator.orgs.get(this.username, decrypt) ?? {}; } @@ -713,7 +715,7 @@ export class AuthInfo extends AsyncOptionalCreatable { */ public async handleAliasAndDefaultSettings(sideEffects: AuthSideEffects): Promise { if ( - sideEffects.alias || + Boolean(sideEffects.alias) || sideEffects.setDefault || sideEffects.setDefaultDevHub || typeof sideEffects.setTracksSource === 'boolean' diff --git a/src/org/authRemover.ts b/src/org/authRemover.ts index fef9a8471e..1b2a3e211a 100644 --- a/src/org/authRemover.ts +++ b/src/org/authRemover.ts @@ -10,9 +10,9 @@ import { JsonMap } from '@salesforce/ts-types'; import { ConfigAggregator } from '../config/configAggregator'; import { Logger } from '../logger/logger'; import { Messages } from '../messages'; -import { StateAggregator } from '../stateAggregator'; +import { StateAggregator } from '../stateAggregator/stateAggregator'; import { OrgConfigProperties } from './orgConfigProperties'; -import { AuthFields } from '.'; +import { AuthFields } from './authInfo'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/core', 'auth'); @@ -55,7 +55,6 @@ export class AuthRemover extends AsyncOptionalCreatable { this.logger.debug(`Removing authorization for user ${username}`); await this.unsetConfigValues(username); await this.unsetAliases(username); - await this.unsetTokens(username); await this.stateAggregator.orgs.remove(username); } @@ -186,15 +185,4 @@ export class AuthRemover extends AsyncOptionalCreatable { existingAliases.forEach((alias) => this.stateAggregator.aliases.unset(alias)); await this.stateAggregator.aliases.write(); } - - private async unsetTokens(username: string): Promise { - this.logger.debug(`Clearing tokens for username: ${username}`); - const tokens = this.stateAggregator.tokens.getAll(); - for (const [key, token] of Object.entries(tokens)) { - if (token.user === username) { - this.stateAggregator.tokens.unset(key); - } - } - await this.stateAggregator.tokens.write(); - } } diff --git a/src/org/connection.ts b/src/org/connection.ts index 19680cfb22..cbc5838a77 100644 --- a/src/org/connection.ts +++ b/src/org/connection.ts @@ -7,7 +7,7 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ -import { URL } from 'url'; +import { URL } from 'node:url'; import { AsyncResult, DeployOptions, DeployResultLocator } from 'jsforce/api/metadata'; import { Duration, env, maxBy } from '@salesforce/kit'; import { asString, ensure, isString, JsonMap, Optional } from '@salesforce/ts-types'; diff --git a/src/org/index.ts b/src/org/index.ts deleted file mode 100644 index 684f6b8d31..0000000000 --- a/src/org/index.ts +++ /dev/null @@ -1,13 +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 - */ - -export * from './authInfo'; -export * from './authRemover'; -export * from './connection'; -export * from './org'; -export * from './permissionSetAssignment'; -export * from './user'; diff --git a/src/org/org.ts b/src/org/org.ts index d6cdec5fa0..4910bc1095 100644 --- a/src/org/org.ts +++ b/src/org/org.ts @@ -6,8 +6,8 @@ */ /* eslint-disable class-methods-use-this */ -import { join as pathJoin } from 'path'; -import * as fs from 'fs'; +import { join as pathJoin } from 'node:path'; +import * as fs from 'node:fs'; import { AsyncOptionalCreatable, Duration } from '@salesforce/kit'; import { AnyFunction, @@ -26,7 +26,7 @@ import { import { HttpRequest, SaveResult } from 'jsforce'; import { Config } from '../config/config'; import { ConfigAggregator } from '../config/configAggregator'; -import { ConfigContents } from '../config/configStore'; +import { ConfigContents } from '../config/configStackTypes'; import { OrgUsersConfig } from '../config/orgUsersConfig'; import { Global } from '../global'; import { Lifecycle } from '../lifecycleEvents'; @@ -35,7 +35,7 @@ import { SfError } from '../sfError'; import { trimTo15 } from '../util/sfdc'; import { WebOAuthServer } from '../webOAuthServer'; import { Messages } from '../messages'; -import { StateAggregator } from '../stateAggregator'; +import { StateAggregator } from '../stateAggregator/stateAggregator'; import { PollingClient } from '../status/pollingClient'; import { StatusResult } from '../status/types'; import { Connection, SingleRecordQueryErrors } from './connection'; @@ -698,17 +698,9 @@ export class Org extends AsyncOptionalCreatable { url: this.getConnection().baseUrl(), method: 'GET', }; + const conn = this.getConnection(); - try { - await conn.request(requestInfo); - } catch (e) { - // an html error page like https://computing-connect-6970-dev-ed.scratch.my.salesforce.com/services/data/v50.0 - // where the message is an entire html page - if (e instanceof Error && (e.name.includes('ERROR_HTTP') || e.message.includes(' { this.logger.debug(`removing username ${authInfo.getFields().username}`); const orgConfig: OrgUsersConfig = await this.retrieveOrgUsersConfig(); - - const contents: ConfigContents = await orgConfig.read(); + const contents = await orgConfig.read(); const targetUser = authInfo.getFields().username; - const usernames = (contents.usernames ?? []) as string[]; - contents.usernames = usernames.filter((username) => username !== targetUser); + const usernames = (contents.usernames ?? []).filter((username) => username !== targetUser); + + orgConfig.set('usernames', usernames); await orgConfig.write(); return this; } diff --git a/src/org/orgConfigProperties.ts b/src/org/orgConfigProperties.ts index 2d1eea7056..7a68256098 100644 --- a/src/org/orgConfigProperties.ts +++ b/src/org/orgConfigProperties.ts @@ -5,9 +5,9 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { join as pathJoin } from 'path'; +import { join as pathJoin } from 'node:path'; import { isString } from '@salesforce/ts-types'; -import { ConfigValue } from '../config/configStore'; +import { ConfigValue } from '../config/configStackTypes'; import { Messages } from '../messages'; import { SfdcUrl } from '../util/sfdcUrl'; import { validateApiVersion } from '../util/sfdc'; diff --git a/src/org/permissionSetAssignment.ts b/src/org/permissionSetAssignment.ts index 883af9f2b3..663b5cdf29 100644 --- a/src/org/permissionSetAssignment.ts +++ b/src/org/permissionSetAssignment.ts @@ -5,10 +5,10 @@ * 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 { EOL } from 'node:os'; import { mapKeys, upperFirst } from '@salesforce/kit'; -import { hasArray, Optional } from '@salesforce/ts-types'; -import { QueryResult, Record } from 'jsforce'; +import type { Optional } from '@salesforce/ts-types'; +import type { QueryResult, Record } from 'jsforce'; import { Logger } from '../logger/logger'; import { Messages } from '../messages'; import { SfError } from '../sfError'; @@ -94,19 +94,22 @@ export class PermissionSetAssignment { .sobject('PermissionSetAssignment') .create(mapKeys(assignment, (value: unknown, key: string) => upperFirst(key))); - if (hasArray(createResponse, 'errors') && createResponse.errors.length > 0) { - let message = messages.getMessage('errorsEncounteredCreatingAssignment'); - - const errors = createResponse.errors; - if (errors && errors.length > 0) { - message = `${message}:${EOL}`; - errors.forEach((_message) => { - message = `${message}${_message as string}${EOL}`; - }); - throw new SfError(message, 'errorsEncounteredCreatingAssignment'); - } else { + if (createResponse.success === false) { + if (!createResponse.errors?.length) { throw messages.createError('notSuccessfulButNoErrorsReported'); } + const message = [messages.getMessage('errorsEncounteredCreatingAssignment')] + .concat( + (createResponse.errors ?? []).map((error) => { + // note: the types for jsforce SaveError don't have "string[]" error, + // but there was a UT for that at https://github.com/forcedotcom/sfdx-core/blob/7412d103703cfe2df2211546fcf2e6d93a689bc0/test/unit/org/permissionSetAssignmentTest.ts#L146 + // which could either be hallucination or a real response we've seen, so I'm preserving that behavior. + if (typeof error === 'string') return error; + return error.fields ? `${error.message} on fields ${error.fields.join(',')}` : error.message; + }) + ) + .join(EOL); + throw new SfError(message, 'errorsEncounteredCreatingAssignment'); } else { return assignment; } diff --git a/src/org/scratchOrgCreate.ts b/src/org/scratchOrgCreate.ts index 38c143ac37..ce2cc3e647 100644 --- a/src/org/scratchOrgCreate.ts +++ b/src/org/scratchOrgCreate.ts @@ -11,7 +11,7 @@ import { Logger } from '../logger/logger'; import { ConfigAggregator } from '../config/configAggregator'; import { OrgConfigProperties } from '../org/orgConfigProperties'; import { SfProject } from '../sfProject'; -import { StateAggregator } from '../stateAggregator'; +import { StateAggregator } from '../stateAggregator/stateAggregator'; import { Org } from './org'; import { authorizeScratchOrg, diff --git a/src/org/scratchOrgInfoGenerator.ts b/src/org/scratchOrgInfoGenerator.ts index 0b03001fad..de0302d988 100644 --- a/src/org/scratchOrgInfoGenerator.ts +++ b/src/org/scratchOrgInfoGenerator.ts @@ -4,7 +4,7 @@ * 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 { promises as fs } from 'fs'; +import { promises as fs } from 'node:fs'; import { parseJson } from '@salesforce/kit'; import { ensureString } from '@salesforce/ts-types'; import { SfProjectJson } from '../sfProject'; diff --git a/src/org/scratchOrgSettingsGenerator.ts b/src/org/scratchOrgSettingsGenerator.ts index e5b9460af2..575bf0c421 100644 --- a/src/org/scratchOrgSettingsGenerator.ts +++ b/src/org/scratchOrgSettingsGenerator.ts @@ -5,7 +5,7 @@ * 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 * as path from 'node:path'; import { isEmpty, env, upperFirst, Duration } from '@salesforce/kit'; import { ensureObject, JsonMap } from '@salesforce/ts-types'; import * as js2xmlparser from 'js2xmlparser'; @@ -291,7 +291,7 @@ export default class SettingsGenerator { fullName: string; problem: string; }; - if (status !== RequestStatus.Succeeded) { + if (status !== RequestStatus.Succeeded.toString()) { const componentFailures = ensureObject<{ componentFailures: FailureMessage | FailureMessage[]; }>(result.details).componentFailures; diff --git a/src/org/user.ts b/src/org/user.ts index 83d6a71794..e0edb73d7a 100644 --- a/src/org/user.ts +++ b/src/org/user.ts @@ -5,7 +5,7 @@ * 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 { EOL } from 'node:os'; import { AsyncCreatable, lowerFirst, mapKeys, omit, parseJsonMap, upperFirst } from '@salesforce/kit'; import { asJsonArray, asNumber, ensureJsonMap, ensureString, isJsonMap, Many } from '@salesforce/ts-types'; import type { HttpRequest, HttpResponse, QueryResult, Schema, SObjectUpdateRecord } from 'jsforce'; @@ -389,8 +389,7 @@ export class User extends AsyncCreatable { }); // Update the auth info object with created user id. - const newUserAuthFields: AuthFields = newUserAuthInfo.getFields(); - newUserAuthFields.userId = refreshTokenSecret.userId; + newUserAuthInfo.update({ userId: refreshTokenSecret.userId }); // Make sure we can connect and if so save the auth info. await this.describeUserAndSave(newUserAuthInfo); diff --git a/src/schema/printer.ts b/src/schema/printer.ts deleted file mode 100644 index 8eab57b3d8..0000000000 --- a/src/schema/printer.ts +++ /dev/null @@ -1,309 +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 - */ -/* eslint-disable class-methods-use-this */ - -import { - asJsonArray, - asJsonMap, - asNumber, - asString, - isJsonMap, - JsonArray, - JsonMap, - Optional, -} from '@salesforce/ts-types'; -import { Logger } from '../logger/logger'; -import { SfError } from '../sfError'; - -/** - * Renders schema properties. By default, this is simply an identity transform. Subclasses may provide more - * interesting decorations of each values, such as ANSI coloring. - * - * @deprecated - * - */ -export class SchemaPropertyRenderer { - /** - * Renders a name. - * - * @param name The name value to render. - */ - public renderName(name: string): string { - return name; - } - - /** - * Renders a title. - * - * @param title The title value to render. - */ - public renderTitle(title: string): string { - return title; - } - - /** - * Renders a description. - * - * @param description The description value to render. - */ - public renderDescription(description: string): string { - return description; - } - - /** - * Renders a type. - * - * @param propertyType The type value to render. - */ - public renderType(propertyType: string): string { - return propertyType; - } -} - -/** - * Prints a JSON schema in a human-friendly format. - * - * @deprecated - * remaining reference: https://github.com/salesforcecli/plugin-data/blob/cc1bdfa2c707f93a6da96beea8117b25f9612d4a/src/commands/data/import/tree.ts#L75 - * - * ``` - * import chalk from 'chalk'; - * class MyPropertyRenderer extends SchemaPropertyRenderer { - * renderName(name) { return chalk.bold.blue(name); } - * } - * - * const printer = new SchemaPrinter(logger, schema, new MyPropertyRenderer()); - * printer.getLines().forEach(console.log); - * ``` - */ -export class SchemaPrinter { - private logger: Logger; - private lines: string[] = []; - - /** - * Constructs a new `SchemaPrinter`. - * - * @param logger The logger to use when emitting the printed schema. - * @param schema The schema to print. - * @param propertyRenderer The property renderer. - */ - public constructor( - logger: Logger, - private schema: JsonMap, - private propertyRenderer: SchemaPropertyRenderer = new SchemaPropertyRenderer() - ) { - this.logger = logger.child('SchemaPrinter'); - - if (!this.schema.properties && !this.schema.items) { - // No need to add to messages, since this should never happen. In fact, - // this will cause a test failure if there is a command that uses a schema - // with no properties defined. - throw new SfError('There is no purpose to print a schema with no properties or items'); - } - - const startLevel = 0; - const add = this.addFn(startLevel); - - // For object schemas, print out the "header" and first level properties differently - if (this.schema.properties) { - if (typeof this.schema.description === 'string') { - // Output the overall schema description before printing the properties - add(this.schema.description); - add(''); - } - - Object.keys(this.schema.properties).forEach((key) => { - const properties = asJsonMap(this.schema.properties); - if (!properties) { - return; - } - this.parseProperty(key, asJsonMap(properties[key]), startLevel); - add(''); - }); - } else { - this.parseProperty('schema', this.schema, startLevel); - } - } - - /** - * Gets a read-only array of ready-to-display lines. - */ - public getLines(): readonly string[] { - return this.lines; - } - - /** - * Gets a ready-to-display line by index. - * - * @param index The line index to get. - */ - public getLine(index: number): string { - return this.lines[index]; - } - - /** - * Prints the accumulated set of schema lines as info log lines to the logger. - */ - public print(): void { - this.lines.forEach((line) => this.logger.info(line)); - } - - private addFn(level: number): (line: string) => void { - const indent = ' '.repeat(level * 4); - return (line: string) => { - this.lines.push(`${indent}${line}`); - }; - } - - private parseProperty(name: string, rawProperty?: JsonMap, level = 0): void { - if (!rawProperty) { - return; - } - - const add = this.addFn(level); - const property = new SchemaProperty(this.logger, this.schema, name, rawProperty, this.propertyRenderer); - - add(property.renderHeader()); - - if (property.type === 'object' && property.properties) { - Object.keys(property.properties).forEach((key) => { - this.parseProperty(key, property.getProperty(key), level + 1); - }); - } - if (property.type === 'array') { - add(` ${property.renderArrayHeader()}`); - if (property.items && property.items.type === 'object' && property.items.properties) { - Object.keys(property.items.properties).forEach((key) => { - const items = asJsonMap(property.items); - if (!items) { - return; - } - const properties = asJsonMap(items.properties); - if (!properties) { - return; - } - this.parseProperty(key, asJsonMap(properties[key]), level + 2); - }); - } - } - if (property.required) { - add(`Required: ${property.required.join(', ')}`); - } - } -} - -class SchemaProperty { - public constructor( - private readonly logger: Logger, - private readonly schema: JsonMap, - private readonly name: string, - private rawProperty: JsonMap, - private propertyRenderer: SchemaPropertyRenderer - ) { - this.name = name; - - // Capture the referenced definition, if specified - if (typeof this.rawProperty.$ref === 'string') { - // Copy the referenced property while adding the original property's properties on top of that -- - // if they are defined here, they take precedence over referenced definition properties. - this.rawProperty = Object.assign({}, resolveRef(this.schema, this.rawProperty), rawProperty); - } - - const oneOfs = asJsonArray(this.rawProperty.oneOf); - if (oneOfs && !this.rawProperty.type) { - this.rawProperty.type = oneOfs.map((value) => (isJsonMap(value) ? value.type ?? value.$ref : value)).join('|'); - } - - // Handle items references - if (isJsonMap(this.items) && this.items && this.items.$ref) { - Object.assign(this.items, resolveRef(this.schema, this.items)); - } - } - - public get title(): Optional { - return asString(this.rawProperty.title); - } - - public get description(): Optional { - return asString(this.rawProperty.description); - } - - public get type(): Optional { - return asString(this.rawProperty.type); - } - - public get required(): Optional { - return asJsonArray(this.rawProperty.required); - } - - public get properties(): Optional { - return asJsonMap(this.rawProperty.properties); - } - - public get items(): Optional { - return asJsonMap(this.rawProperty.items); - } - - public get minItems(): Optional { - return asNumber(this.rawProperty.minItems); - } - - public getProperty(key: string): Optional { - const properties = this.getProperties(); - return asJsonMap(properties?.[key]); - } - - public getProperties(): Optional { - return asJsonMap(this.rawProperty.properties); - } - - public renderName(): string { - return this.propertyRenderer.renderName(this.name); - } - - public renderTitle(): string { - return this.propertyRenderer.renderTitle(this.title ?? ''); - } - - public renderDescription(): string { - return this.propertyRenderer.renderDescription(this.description ?? ''); - } - - public renderType(): string { - return this.propertyRenderer.renderType(this.type ?? ''); - } - - public renderHeader(): string { - return `${this.renderName()}(${this.renderType()}) - ${this.renderTitle()}: ${this.renderDescription()}`; - } - - public renderArrayHeader(): string { - if (!this.items) { - return ''; - } - const minItems = this.minItems ? ` - min ${this.minItems}` : ''; - const prop = new SchemaProperty(this.logger, this.schema, 'items', this.items, this.propertyRenderer); - return `items(${prop.renderType()}${minItems}) - ${prop.renderTitle()}: ${prop.renderDescription()}`; - } -} - -/** - * Get the referenced definition by following the reference path on the current schema. - * - * @param schema The source schema containing the property containing a `$ref` field. - * @param property The property that contains the `$ref` field. - */ -function resolveRef(schema: JsonMap, property: JsonMap): JsonMap | null { - const ref = property.$ref; - if (!ref || typeof ref !== 'string') { - return null; - } - return ref.split('/').reduce((prev, key) => { - const next = prev[key]; - return key === '#' ? schema : isJsonMap(next) ? next : {}; - }, property); -} diff --git a/src/schema/validator.ts b/src/schema/validator.ts index 2d16f9406c..ab4baa6078 100644 --- a/src/schema/validator.ts +++ b/src/schema/validator.ts @@ -5,8 +5,8 @@ * 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 * as fs from 'fs'; +import * as path from 'node:path'; +import * as fs from 'node:fs'; import Ajv, { DefinedError } from 'ajv'; import { AnyJson, JsonMap } from '@salesforce/ts-types'; import { getJsonValuesByName, parseJsonMap } from '@salesforce/kit'; diff --git a/src/sfError.ts b/src/sfError.ts index 4ffc2cb594..c7af7a4043 100644 --- a/src/sfError.ts +++ b/src/sfError.ts @@ -75,7 +75,7 @@ export class SfError extends NamedError { } // eslint-disable-next-line @typescript-eslint/no-explicit-any - public get code(): string | undefined | any { + public get code(): any { return this.#code ?? this.name; } diff --git a/src/sfProject.ts b/src/sfProject.ts index c3383cbf09..1161641c5a 100644 --- a/src/sfProject.ts +++ b/src/sfProject.ts @@ -4,21 +4,21 @@ * 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 { basename, dirname, isAbsolute, normalize, resolve, sep } from 'path'; -import * as fs from 'fs'; +import { basename, dirname, isAbsolute, normalize, resolve, sep } from 'node:path'; +import * as fs from 'node:fs'; import { defaults, env } from '@salesforce/kit'; import { Dictionary, ensure, JsonMap, Nullable, Optional } from '@salesforce/ts-types'; import { SfdcUrl } from './util/sfdcUrl'; import { ConfigAggregator } from './config/configAggregator'; import { ConfigFile } from './config/configFile'; -import { ConfigContents } from './config/configStore'; +import { ConfigContents } from './config/configStackTypes'; import { SchemaValidator } from './schema/validator'; import { resolveProjectPath, resolveProjectPathSync, SFDX_PROJECT_JSON } from './util/internal'; import { SfError } from './sfError'; -import { findUpperCaseKeys } from './util/sfdc'; import { Messages } from './messages'; +import { findUpperCaseKeys } from './util/findUppercaseKeys'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/core', 'config'); @@ -114,18 +114,12 @@ export class SfProjectJson extends ConfigFile { return contents; } - public async write(newContents?: ConfigContents): Promise { - if (newContents) { - this.setContents(newContents); - } + public async write(): Promise { this.validateKeys(); return super.write(); } - public writeSync(newContents?: ConfigContents): ConfigContents { - if (newContents) { - this.setContents(newContents); - } + public writeSync(): ConfigContents { this.validateKeys(); return super.writeSync(); } @@ -136,12 +130,7 @@ export class SfProjectJson extends ConfigFile { // eslint-disable-next-line class-methods-use-this public getDefaultOptions(options?: ConfigFile.Options): ConfigFile.Options { - const defaultOptions: ConfigFile.Options = { - isState: false, - }; - - Object.assign(defaultOptions, options ?? {}); - return defaultOptions; + return { ...{ isState: false }, ...(options ?? {}) }; } /** @@ -335,13 +324,8 @@ export class SfProjectJson extends ConfigFile { if (!/^.{15,18}$/.test(id)) { throw messages.createError('invalidId', [id]); } - - const contents = this.getContents(); - if (!contents.packageAliases) { - contents.packageAliases = {}; - } - contents.packageAliases[alias] = id; - this.setContents(contents); + const newAliases = { ...(this.getContents().packageAliases ?? {}), [alias]: id }; + this.contents.set('packageAliases', newAliases); } /** diff --git a/src/stateAggregator/accessors/aliasAccessor.ts b/src/stateAggregator/accessors/aliasAccessor.ts index 0a6653624b..0d06462929 100644 --- a/src/stateAggregator/accessors/aliasAccessor.ts +++ b/src/stateAggregator/accessors/aliasAccessor.ts @@ -16,19 +16,14 @@ import { AsyncOptionalCreatable, ensureArray } from '@salesforce/kit'; import { Nullable } from '@salesforce/ts-types'; import { Global } from '../../global'; import { AuthFields } from '../../org/authInfo'; -import { ConfigContents } from '../../config/configStore'; +import { ConfigContents } from '../../config/configStackTypes'; import { SfError } from '../../sfError'; -import { SfToken } from './tokenAccessor'; +import { lockRetryOptions, lockOptions } from '../../util/lockRetryOptions'; -export type Aliasable = string | (Partial & Partial); +export type Aliasable = string | Partial; export const DEFAULT_GROUP = 'orgs'; export const FILENAME = 'alias.json'; -const lockOptions = { stale: 10_000 }; -const lockRetryOptions = { - ...lockOptions, - retries: { retries: 10, maxTimeout: 1000, factor: 2 }, -}; export class AliasAccessor extends AsyncOptionalCreatable { // set in init method private fileLocation!: string; @@ -193,7 +188,7 @@ export class AliasAccessor extends AsyncOptionalCreatable { /** * @deprecated the set/unset methods now write to the file when called. Use (un)setAndSave instead of calling (un)set and then calling write() */ - public async write(): Promise { + public async write(): Promise> { return Promise.resolve(this.getAll()); } @@ -268,7 +263,7 @@ export class AliasAccessor extends AsyncOptionalCreatable { */ const getNameOf = (entity: Aliasable): string => { if (typeof entity === 'string') return entity; - const aliaseeName = entity.username ?? entity.user; + const aliaseeName = entity.username; if (!aliaseeName) { throw new SfError(`Invalid aliasee, it must contain a user or username property: ${JSON.stringify(entity)}`); } diff --git a/src/stateAggregator/accessors/orgAccessor.ts b/src/stateAggregator/accessors/orgAccessor.ts index 2fa317aaac..3a44bc8e89 100644 --- a/src/stateAggregator/accessors/orgAccessor.ts +++ b/src/stateAggregator/accessors/orgAccessor.ts @@ -5,15 +5,15 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as fs from 'fs'; -import * as path from 'path'; -import { Nullable } from '@salesforce/ts-types'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { Nullable, entriesOf } from '@salesforce/ts-types'; import { AsyncOptionalCreatable, isEmpty } from '@salesforce/kit'; import { AuthInfoConfig } from '../../config/authInfoConfig'; import { Global } from '../../global'; -import { AuthFields } from '../../org'; +import { AuthFields } from '../../org/authInfo'; import { ConfigFile } from '../../config/configFile'; -import { ConfigContents } from '../../config/configStore'; +import { ConfigContents } from '../../config/configStackTypes'; import { Logger } from '../../logger/logger'; import { Messages } from '../../messages'; import { Lifecycle } from '../../lifecycleEvents'; @@ -26,6 +26,7 @@ function chunk(array: T[], chunkSize: number): T[][] { export abstract class BaseOrgAccessor extends AsyncOptionalCreatable { private configs: Map> = new Map(); + /** map of Org files by username */ private contents: Map = new Map(); private logger!: Logger; @@ -167,10 +168,10 @@ export abstract class BaseOrgAccessor config.set(key, value)); + if (!config.has('username')) { + config.set('username', username); + } } else { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore diff --git a/src/stateAggregator/accessors/sandboxAccessor.ts b/src/stateAggregator/accessors/sandboxAccessor.ts index 69f756433d..ecdd4c744c 100644 --- a/src/stateAggregator/accessors/sandboxAccessor.ts +++ b/src/stateAggregator/accessors/sandboxAccessor.ts @@ -7,7 +7,7 @@ /* eslint-disable class-methods-use-this */ import { SandboxOrgConfig } from '../../config/sandboxOrgConfig'; -import { SandboxFields } from '../../org'; +import { SandboxFields } from '../../org/org'; import { BaseOrgAccessor } from './orgAccessor'; export class SandboxAccessor extends BaseOrgAccessor { diff --git a/src/stateAggregator/accessors/tokenAccessor.ts b/src/stateAggregator/accessors/tokenAccessor.ts deleted file mode 100644 index 67068ed91d..0000000000 --- a/src/stateAggregator/accessors/tokenAccessor.ts +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2021, 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 { AsyncOptionalCreatable } from '@salesforce/kit'; -import { JsonMap, Optional } from '@salesforce/ts-types'; -import { TokensConfig } from '../../config/tokensConfig'; - -export type SfToken = { - token: string; - url: string; - user?: string; - timestamp: string; -} & JsonMap; - -export type SfTokens = { - [key: string]: SfToken; -}; - -export class TokenAccessor extends AsyncOptionalCreatable { - private config!: TokensConfig; - - /** - * Return all tokens. - * - * @param decrypt - * @returns {SfTokens} - */ - public getAll(decrypt = false): SfTokens { - return this.config.getContents(decrypt) || {}; - } - - /** - * Return a token for the provided name. - * - * @param name - * @param decrypt - * @returns {Optional} - */ - public get(name: string, decrypt = false): Optional { - return this.config.get(name, decrypt); - } - - /** - * Return true if a given name has a token associated with it. - * - * @param name - * @returns {boolean} - */ - public has(name: string): boolean { - return !!this.getAll()[name]; - } - - /** - * Set the token for the provided name. - * - * @param name - * @param token - */ - public set(name: string, token: Partial): void { - this.config.set(name, token); - } - - /** - * Update the token for the provided name. - * - * @param name - * @param token - */ - public update(name: string, token: Partial): void { - this.config.update(name, token); - } - - /** - * Unet the token for the provided name. - * - * @param name - */ - public unset(name: string): void { - this.config.unset(name); - } - - /** - * Write the contents to the token file. - * - * @returns {Promise} - */ - public async write(): Promise { - return this.config.write(); - } - - protected async init(): Promise { - this.config = await TokensConfig.create(); - } -} diff --git a/src/stateAggregator/index.ts b/src/stateAggregator/index.ts deleted file mode 100644 index 381b749a7b..0000000000 --- a/src/stateAggregator/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) 2021, 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 - */ - -export * from './accessors/orgAccessor'; -export * from './accessors/aliasAccessor'; -export * from './accessors/tokenAccessor'; -export * from './stateAggregator'; diff --git a/src/stateAggregator/stateAggregator.ts b/src/stateAggregator/stateAggregator.ts index 395bb08a57..3259b1f91b 100644 --- a/src/stateAggregator/stateAggregator.ts +++ b/src/stateAggregator/stateAggregator.ts @@ -10,13 +10,11 @@ import { Global } from '../global'; import { AliasAccessor } from './accessors/aliasAccessor'; import { OrgAccessor } from './accessors/orgAccessor'; import { SandboxAccessor } from './accessors/sandboxAccessor'; -import { TokenAccessor } from './accessors/tokenAccessor'; export class StateAggregator extends AsyncOptionalCreatable { private static instanceMap: Map = new Map(); public aliases!: AliasAccessor; public orgs!: OrgAccessor; public sandboxes!: SandboxAccessor; - public tokens!: TokenAccessor; /** * Reuse a StateAggregator if one was already created for the current global state directory @@ -44,6 +42,5 @@ export class StateAggregator extends AsyncOptionalCreatable { this.orgs = await OrgAccessor.create(); this.sandboxes = await SandboxAccessor.create(); this.aliases = await AliasAccessor.create(); - this.tokens = await TokenAccessor.create(); } } diff --git a/src/status/myDomainResolver.ts b/src/status/myDomainResolver.ts index 25dc42ceea..b93574c568 100644 --- a/src/status/myDomainResolver.ts +++ b/src/status/myDomainResolver.ts @@ -5,9 +5,9 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { lookup, resolveCname } from 'dns'; -import { URL } from 'url'; -import { promisify } from 'util'; +import { lookup, resolveCname } from 'node:dns'; +import { URL } from 'node:url'; +import { promisify } from 'node:util'; import { ensureString } from '@salesforce/ts-types'; diff --git a/src/status/streamingClient.ts b/src/status/streamingClient.ts index 700a911555..248b6d8719 100644 --- a/src/status/streamingClient.ts +++ b/src/status/streamingClient.ts @@ -7,7 +7,7 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ -import { resolve as resolveUrl } from 'url'; +import { resolve as resolveUrl } from 'node:url'; import { AsyncOptionalCreatable, Duration, Env, env, set } from '@salesforce/kit/lib'; import { AnyFunction, AnyJson, ensure, ensureString, JsonMap } from '@salesforce/ts-types/lib'; import * as Faye from 'faye'; @@ -215,7 +215,7 @@ export class StreamingClient extends AsyncOptionalCreatable { - let timeout: NodeJS.Timer; + let timeout: NodeJS.Timeout; return new Promise((resolve, reject) => { timeout = setTimeout(() => { @@ -243,7 +243,7 @@ export class StreamingClient extends AsyncOptionalCreatable Promise): Promise { - let timeout: NodeJS.Timer; + let timeout: NodeJS.Timeout; // This outer promise is to hold the streaming promise chain open until the streaming processor // says it's complete. @@ -323,7 +323,7 @@ export class StreamingClient extends AsyncOptionalCreatable Promise; - /** - * A function to conditionally set based on the config instance. The `this` value will be the config instance. - */ - updateContents?: () => Promise; } /** @@ -123,7 +123,6 @@ export class TestContext { AuthInfoConfig?: ConfigStub; Config?: ConfigStub; SfProjectJson?: ConfigStub; - TokensConfig?: ConfigStub; OrgUsersConfig?: ConfigStub; } = {}; /** @@ -396,13 +395,6 @@ export class TestContext { await ConfigAggregator.create(); } - /** - * Stub the tokens in the global token config file. - */ - public stubTokens(tokens: Record): void { - this.configStubs.TokensConfig = { contents: tokens }; - } - public restore(): void { restoreContext(this); } @@ -439,28 +431,6 @@ export class TestContext { } } -/** - * A function to generate a unique id and return it in the context of a template, if supplied. - * - * A template is a string that can contain `${%s}` to be replaced with a unique id. - * If the template contains the "%s" placeholder, it will be replaced with the unique id otherwise the id will be appended to the template. - * - * @param options an object with the following properties: - * - template: a template string. - * - length: the length of the unique id as presented in hexadecimal. - */ -export function uniqid(options?: { template?: string; length?: number }): string { - const uniqueString = randomBytes(Math.ceil((options?.length ?? 32) / 2.0)) - .toString('hex') - .slice(0, options?.length ?? 32); - if (!options?.template) { - return uniqueString; - } - return options.template.includes('%s') - ? util.format(options.template, uniqueString) - : `${options.template}${uniqueString}`; -} - function getTestLocalPath(uid: string): string { return pathJoin(osTmpdir(), uid, 'sfdx_core', 'local'); } @@ -550,6 +520,7 @@ export const stubContext = (testContext: TestContext): Record testContext.SANDBOXES.PROJECT.stub(SfProjectJson.prototype, 'doesPackageExist').callsFake(() => true); const initStubForRead = (configFile: ConfigFile): ConfigStub => { + testContext.configStubs[configFile.constructor.name] ??= {}; const stub: ConfigStub = testContext.configStubs[configFile.constructor.name] ?? {}; // init calls read calls getPath which sets the path on the config file the first time. // Since read is now stubbed, make sure to call getPath to initialize it. @@ -562,7 +533,7 @@ export const stubContext = (testContext: TestContext): Record const readSync = function (this: ConfigFile, newContents?: JsonMap): JsonMap { const stub = initStubForRead(this); - this.setContentsFromObject(newContents ?? stub.contents ?? {}); + this.setContentsFromFileContents(newContents ?? stub.contents ?? {}); return this.getContents(); }; @@ -585,33 +556,22 @@ export const stubContext = (testContext: TestContext): Record // @ts-expect-error: muting exact type match for stub readSync stubs.configReadSync = testContext.SANDBOXES.CONFIG.stub(ConfigFile.prototype, 'readSync').callsFake(readSync); - const writeSync = function (this: ConfigFile, newContents?: ConfigContents): void { - if (!testContext.configStubs[this.constructor.name]) { - testContext.configStubs[this.constructor.name] = {}; - } - const stub = testContext.configStubs[this.constructor.name]; - if (!stub) return; + const writeSync = function (this: ConfigFile): void { + testContext.configStubs[this.constructor.name] ??= {}; + const stub = testContext.configStubs[this.constructor.name] ?? {}; - this.setContents(newContents ?? this.getContents()); stub.contents = this.toObject(); }; - const write = async function (this: ConfigFile, newContents?: ConfigContents): Promise { - if (!testContext.configStubs[this.constructor.name]) { - testContext.configStubs[this.constructor.name] = {}; - } - const stub = testContext.configStubs[this.constructor.name]; - if (!stub) return; + const write = async function (this: ConfigFile): Promise { + testContext.configStubs[this.constructor.name] ??= {}; + const stub = testContext.configStubs[this.constructor.name] ?? {}; if (stub.writeFn) { - return stub.writeFn.call(this, newContents); + return stub.writeFn.call(this); } - if (stub.updateContents) { - writeSync.call(this, await stub.updateContents.call(this)); - } else { - writeSync.call(this); - } + writeSync.call(this); }; stubs.configWriteSync = testContext.SANDBOXES.CONFIG.stub(ConfigFile.prototype, 'writeSync').callsFake(writeSync); @@ -1082,7 +1042,8 @@ export class MockTestOrgData { config.password = crypto.encrypt(this.password); } - return config as AuthFields; + // remove "undefined" properties that don't exist in actual files + return Object.fromEntries(Object.entries(config).filter(([, v]) => v !== undefined)) as AuthFields; } /** diff --git a/src/util/checkLightningDomain.ts b/src/util/checkLightningDomain.ts index b5a12e46a8..6ee6f183c7 100644 --- a/src/util/checkLightningDomain.ts +++ b/src/util/checkLightningDomain.ts @@ -4,7 +4,7 @@ * 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 { URL } from 'url'; +import { URL } from 'node:url'; import { Env, Duration } from '@salesforce/kit'; import { MyDomainResolver } from '../status/myDomainResolver'; import { SfdcUrl } from './sfdcUrl'; diff --git a/src/util/directoryWriter.ts b/src/util/directoryWriter.ts index d9b0c68139..96ebed22bf 100644 --- a/src/util/directoryWriter.ts +++ b/src/util/directoryWriter.ts @@ -5,11 +5,11 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { Readable, pipeline as cbPipeline } from 'stream'; -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; -import { promisify } from 'util'; +import { Readable, pipeline as cbPipeline } from 'node:stream'; +import * as fs from 'node:fs'; +import * as os from 'node:os'; +import * as path from 'node:path'; +import { promisify } from 'node:util'; import { StructuredWriter } from './structuredWriter'; const pipeline = promisify(cbPipeline); diff --git a/src/util/fileLocking.ts b/src/util/fileLocking.ts new file mode 100644 index 0000000000..0a6efb6277 --- /dev/null +++ b/src/util/fileLocking.ts @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2023, 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 fs from 'node:fs'; +import { dirname } from 'node:path'; +import { lock, lockSync } from 'proper-lockfile'; +import { SfError } from '../sfError'; +import { Logger } from '../logger/logger'; +import { lockRetryOptions } from './lockRetryOptions'; + +type LockInitResponse = { writeAndUnlock: (data: string) => Promise; unlock: () => Promise }; +type LockInitSyncResponse = { writeAndUnlock: (data: string) => void; unlock: () => void }; + +/** + * + *This method exists as a separate function so it can be used by ConfigFile OR outside of ConfigFile. + * + * @param filePath where to save the file + * @returns 2 functions: + * - writeAndUnlock: a function that takes the data to write and writes it to the file, then unlocks the file whether write succeeded or not + * - unlock: a function that unlocks the file (in case you don't end up calling writeAndUnlock) + */ +export const lockInit = async (filePath: string): Promise => { + // make sure we can write to the directory + try { + await fs.promises.mkdir(dirname(filePath), { recursive: true }); + } catch (err) { + throw SfError.wrap(err as Error); + } + + const [unlock] = await Promise.all( + fs.existsSync(filePath) + ? // if the file exists, wait for it to be unlocked + [lock(filePath, lockRetryOptions)] + : // lock the entire directory to keep others from trying to create the file while we are + [ + lock(dirname(filePath), lockRetryOptions), + ( + await Logger.child('fileLocking.lockInit') + ).debug( + `No file found at ${filePath}. Write will create it. Locking the entire directory until file is written.` + ), + ] + ); + + return { + writeAndUnlock: async (data: string): Promise => { + const logger = await Logger.child('fileLocking.writeAndUnlock'); + logger.debug(`Writing to file: ${filePath}`); + try { + await fs.promises.writeFile(filePath, data); + } finally { + await unlock(); + } + }, + unlock, + }; +}; + +/** + * prefer async {@link lockInit}. + * See its documentation for details. + */ +export const lockInitSync = (filePath: string): LockInitSyncResponse => { + // make sure we can write to the directory + try { + fs.mkdirSync(dirname(filePath), { recursive: true }); + } catch (err) { + throw SfError.wrap(err as Error); + } + + const [unlock] = fs.existsSync(filePath) + ? // if the file exists, wait for it to be unlocked + [lockSync(filePath, lockRetryOptions)] + : // lock the entire directory to keep others from trying to create the file while we are + [ + lockSync(dirname(filePath), lockRetryOptions), + Logger.childFromRoot('fileLocking.lockInit').debug( + `No file found at ${filePath}. Write will create it. Locking the entire directory until file is written.` + ), + ]; + return { + writeAndUnlock: (data: string): void => { + const logger = Logger.childFromRoot('fileLocking.writeAndUnlock'); + logger.debug(`Writing to file: ${filePath}`); + try { + fs.writeFileSync(filePath, data); + } finally { + unlock(); + } + }, + unlock, + }; +}; diff --git a/src/util/findUppercaseKeys.ts b/src/util/findUppercaseKeys.ts new file mode 100644 index 0000000000..3452647d56 --- /dev/null +++ b/src/util/findUppercaseKeys.ts @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2023, 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 { JsonMap, Optional, isJsonMap, asJsonMap, AnyJson } from '@salesforce/ts-types'; +import { findKey } from '@salesforce/kit'; + +export const findUpperCaseKeys = (data?: JsonMap, sectionBlocklist: string[] = []): Optional => { + let key: Optional; + findKey(data, (val: AnyJson, k: string) => { + if (/^[A-Z]/.test(k)) { + key = k; + } else if (isJsonMap(val)) { + if (sectionBlocklist.includes(k)) { + return key; + } + key = findUpperCaseKeys(asJsonMap(val)); + } + return key; + }); + return key; +}; diff --git a/src/util/internal.ts b/src/util/internal.ts index ccbfff216e..1b2f538264 100644 --- a/src/util/internal.ts +++ b/src/util/internal.ts @@ -5,8 +5,8 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as fs from 'fs'; -import { join, resolve } from 'path'; +import * as fs from 'node:fs'; +import { join, resolve } from 'node:path'; import { Optional } from '@salesforce/ts-types'; import { Messages } from '../messages'; import { SfError } from '../sfError'; diff --git a/src/util/jsonXmlTools.ts b/src/util/jsonXmlTools.ts deleted file mode 100644 index 52d02ec402..0000000000 --- a/src/util/jsonXmlTools.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2021, 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 { promises as fs } from 'fs'; -import * as jsToXml from 'js2xmlparser'; -import { JsonMap } from '@salesforce/ts-types'; -import { IOptions } from 'js2xmlparser/lib/options'; - -export interface JSONasXML { - json: JsonMap; - type: string; - options?: IOptions; -} - -export interface WriteJSONasXMLInputs extends JSONasXML { - path: string; -} - -export const standardOptions: IOptions = { - declaration: { - include: true, - encoding: 'UTF-8', - version: '1.0', - }, - format: { - doubleQuotes: true, - }, -}; - -export const writeJSONasXML = async ({ - path, - json, - type, - options = standardOptions, -}: WriteJSONasXMLInputs): Promise => { - const xml = jsToXml.parse(type, fixExistingDollarSign(json), options); - return fs.writeFile(path, xml); -}; - -export const JsonAsXml = ({ json, type, options = standardOptions }: JSONasXML): string => - jsToXml.parse(type, fixExistingDollarSign(json), options); - -export const fixExistingDollarSign = (existing: WriteJSONasXMLInputs['json']): Record => { - const existingCopy = { ...existing } as Record; - if (existingCopy.$) { - const temp = existingCopy.$; - delete existingCopy.$; - existingCopy['@'] = temp; - } - return existingCopy; -}; diff --git a/src/util/lockRetryOptions.ts b/src/util/lockRetryOptions.ts new file mode 100644 index 0000000000..fe1060fddd --- /dev/null +++ b/src/util/lockRetryOptions.ts @@ -0,0 +1,14 @@ +/* + * Copyright (c) 2023, 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 + */ + +// docs: https://github.com/moxystudio/node-proper-lockfile + +export const lockOptions = { stale: 10_000 }; +export const lockRetryOptions = { + ...lockOptions, + retries: { retries: 10, maxTimeout: 1_000, factor: 2 }, +}; diff --git a/src/util/sfdc.ts b/src/util/sfdc.ts index 848d936a7f..c4fee36f75 100644 --- a/src/util/sfdc.ts +++ b/src/util/sfdc.ts @@ -5,9 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { findKey } from '@salesforce/kit'; -import { AnyJson, asJsonMap, isJsonMap, JsonMap, Optional } from '@salesforce/ts-types'; - /** * Converts an 18 character Salesforce ID to 15 characters. * @@ -40,20 +37,6 @@ export const validateApiVersion = (value: string): boolean => value == null || / */ export const validateEmail = (value: string): boolean => /^[^.][^@]*@[^.]+(\.[^.\s]+)+$/.test(value); -/** - * - * @deprecated use `new SfdcUrl(url).isInternalUrl()` - * Tests whether a given url is an internal Salesforce domain - * - * @param url - */ -export const isInternalUrl = (url: string): boolean => { - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires - const SfdcUrl = require('./sfdcUrl'); - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call - return new SfdcUrl(url).isInternalUrl() as boolean; -}; - /** * Tests whether a Salesforce ID is in the correct format, a 15- or 18-character length string with only letters and numbers * @@ -71,30 +54,6 @@ export const validatePathDoesNotContainInvalidChars = (value: string): boolean = // eslint-disable-next-line no-useless-escape !/[\["\?<>\|\]]+/.test(value); -/** - * @deprecated - * // TODO: move this to a module-scope function in sfProject - * Returns the first key within the object that has an upper case first letter. - * - * @param data The object in which to check key casing. - * @param sectionBlocklist properties in the object to exclude from the search. e.g. a blocklist of `["a"]` and data of `{ "a": { "B" : "b"}}` would ignore `B` because it is in the object value under `a`. - */ -export const findUpperCaseKeys = (data?: JsonMap, sectionBlocklist: string[] = []): Optional => { - let key: Optional; - findKey(data, (val: AnyJson, k: string) => { - if (/^[A-Z]/.test(k)) { - key = k; - } else if (isJsonMap(val)) { - if (sectionBlocklist.includes(k)) { - return key; - } - key = findUpperCaseKeys(asJsonMap(val)); - } - return key; - }); - return key; -}; - export const accessTokenRegex = /(00D\w{12,15})![.\w]*/; export const sfdxAuthUrlRegex = /force:\/\/([a-zA-Z0-9._-]+):([a-zA-Z0-9._-]*):([a-zA-Z0-9._-]+={0,2})@([a-zA-Z0-9._-]+)/; diff --git a/src/util/sfdcUrl.ts b/src/util/sfdcUrl.ts index 73f1c7829a..9db6deec71 100644 --- a/src/util/sfdcUrl.ts +++ b/src/util/sfdcUrl.ts @@ -5,7 +5,7 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { URL } from 'url'; +import { URL } from 'node:url'; import { Env, Duration } from '@salesforce/kit'; import { ensureNumber, ensureArray } from '@salesforce/ts-types'; import { MyDomainResolver } from '../status/myDomainResolver'; @@ -83,7 +83,10 @@ export class SfdcUrl extends URL { return envVarVal; } - if ((createdOrgInstance && /^gs1/gi.test(createdOrgInstance)) || /(gs1.my.salesforce.com)/gi.test(this.origin)) { + if ( + Boolean(createdOrgInstance && /^gs1/gi.test(createdOrgInstance)) || + /(gs1.my.salesforce.com)/gi.test(this.origin) + ) { return 'https://gs1.salesforce.com'; } @@ -173,7 +176,7 @@ export class SfdcUrl extends URL { * @returns {Promise} The resolved ip address or never * @throws {@link SfError} If can't resolve DNS. */ - public async checkLightningDomain(): Promise { + public async checkLightningDomain(): Promise { const quantity = ensureNumber(new Env().getNumber('SFDX_DOMAIN_RETRY', 240)); const timeout = new Duration(quantity, Duration.Unit.SECONDS); diff --git a/src/util/structuredWriter.ts b/src/util/structuredWriter.ts index 119c095a48..5f8fad2cea 100644 --- a/src/util/structuredWriter.ts +++ b/src/util/structuredWriter.ts @@ -4,7 +4,7 @@ * 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 { Readable } from 'stream'; +import { Readable } from 'node:stream'; export interface StructuredWriter { addToStore(contents: string | Readable | Buffer, path: string): Promise; diff --git a/src/util/time.ts b/src/util/time.ts new file mode 100644 index 0000000000..f61cea95ef --- /dev/null +++ b/src/util/time.ts @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2023, 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 { performance } from 'node:perf_hooks'; + +export const nowBigInt = (): bigint => BigInt((performance.now() + performance.timeOrigin) * 1_000_000); diff --git a/src/util/uniqid.ts b/src/util/uniqid.ts new file mode 100644 index 0000000000..f64fd759d5 --- /dev/null +++ b/src/util/uniqid.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2023, 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 { randomBytes } from 'node:crypto'; +import * as util from 'node:util'; + +/** + * A function to generate a unique id and return it in the context of a template, if supplied. + * + * A template is a string that can contain `${%s}` to be replaced with a unique id. + * If the template contains the "%s" placeholder, it will be replaced with the unique id otherwise the id will be appended to the template. + * + * @param options an object with the following properties: + * - template: a template string. + * - length: the length of the unique id as presented in hexadecimal. + */ + +export function uniqid(options?: { template?: string; length?: number }): string { + const uniqueString = randomBytes(Math.ceil((options?.length ?? 32) / 2)) + .toString('hex') + .slice(0, options?.length ?? 32); + if (!options?.template) { + return uniqueString; + } + return options.template.includes('%s') + ? util.format(options.template, uniqueString) + : `${options.template}${uniqueString}`; +} diff --git a/src/util/zipWriter.ts b/src/util/zipWriter.ts index a53bf89f1b..aad397ba92 100644 --- a/src/util/zipWriter.ts +++ b/src/util/zipWriter.ts @@ -5,7 +5,7 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { Readable, Writable } from 'stream'; +import { Readable, Writable } from 'node:stream'; import * as JSZip from 'jszip'; import { Logger } from '../logger/logger'; import { SfError } from '../sfError'; diff --git a/src/webOAuthServer.ts b/src/webOAuthServer.ts index 9ba93cea60..dc8841774e 100644 --- a/src/webOAuthServer.ts +++ b/src/webOAuthServer.ts @@ -7,16 +7,16 @@ /* eslint-disable class-methods-use-this */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import * as http from 'http'; -import { parse as parseQueryString } from 'querystring'; -import { parse as parseUrl } from 'url'; -import { Socket } from 'net'; -import { EventEmitter } from 'events'; +import * as http from 'node:http'; +import { parse as parseQueryString } from 'node:querystring'; +import { parse as parseUrl } from 'node:url'; +import { Socket } from 'node:net'; +import { EventEmitter } from 'node:events'; import { OAuth2 } from 'jsforce'; import { AsyncCreatable, Env, set, toNumber } from '@salesforce/kit'; import { asString, get, Nullable } from '@salesforce/ts-types'; import { Logger } from './logger/logger'; -import { AuthInfo, DEFAULT_CONNECTED_APP_INFO } from './org'; +import { AuthInfo, DEFAULT_CONNECTED_APP_INFO } from './org/authInfo'; import { SfError } from './sfError'; import { Messages } from './messages'; import { SfProjectJson } from './sfProject'; diff --git a/test/.eslintrc.js b/test/.eslintrc.cjs similarity index 97% rename from test/.eslintrc.js rename to test/.eslintrc.cjs index f1c7d4ff18..43cb31b5c2 100644 --- a/test/.eslintrc.js +++ b/test/.eslintrc.cjs @@ -9,7 +9,7 @@ // See more at https://github.com/forcedotcom/sfdx-dev-packages/tree/master/packages/dev-scripts module.exports = { - extends: '../.eslintrc.js', + extends: '../.eslintrc.cjs', // Allow describe and it env: { mocha: true }, rules: { diff --git a/test/unit/config/configAggregatorTest.ts b/test/unit/config/configAggregatorTest.ts index 6c820506e3..db7761f8db 100644 --- a/test/unit/config/configAggregatorTest.ts +++ b/test/unit/config/configAggregatorTest.ts @@ -6,7 +6,7 @@ */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-call */ -import * as fs from 'fs'; +import * as fs from 'node:fs'; import { assert, expect, config as chaiConfig } from 'chai'; import { Config, ConfigProperties, SFDX_ALLOWED_PROPERTIES, SfdxPropertyKeys } from '../../../src/config/config'; import { ConfigAggregator, ConfigInfo } from '../../../src/config/configAggregator'; @@ -53,6 +53,10 @@ describe('ConfigAggregator', () => { }); describe('locations', () => { + beforeEach(() => { + // @ts-expect-error there's a lot more properties we're not mocking + $$.SANDBOX.stub(fs.promises, 'stat').resolves({ mtimeNs: BigInt(new Date().valueOf() - 1_000 * 60 * 5) }); + }); it('local', async () => { // @ts-expect-error async function signature not quite same as expected $$.SANDBOX.stub(fs.promises, 'readFile').callsFake(async (path: string) => { diff --git a/test/unit/config/configFileConcurrency.test.ts b/test/unit/config/configFileConcurrency.test.ts new file mode 100644 index 0000000000..f9f47ef29e --- /dev/null +++ b/test/unit/config/configFileConcurrency.test.ts @@ -0,0 +1,193 @@ +/* + * Copyright (c) 2023, 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 { join } from 'node:path'; +import { tmpdir } from 'node:os'; +import { rm } from 'node:fs/promises'; +import { expect } from 'chai'; +import { sleep } from '@salesforce/kit'; +import { ConfigFile } from '../../../src/exported'; + +const FILENAME = 'concurrency.json'; +const sharedLocation = join('sfdx-core-ut', 'test', 'configFile'); + +class TestConfig extends ConfigFile { + public static getOptions( + filename: string, + isGlobal: boolean, + isState?: boolean, + filePath?: string + ): ConfigFile.Options { + return { + rootFolder: tmpdir(), + filename, + isGlobal, + isState, + filePath, + }; + } + + public static getFileName() { + return FILENAME; + } +} + +/* file and node - clock timestamps aren't precise enough to run in a UT. + * the goal of this and the `sleep` is to put a bit of space between operations + * to simulate real-world concurrency where it's unlikely to hit the same ms + */ +const SLEEP_FUDGE_MS = 5; + +describe('concurrency', () => { + beforeEach(async () => { + await rm(join(tmpdir(), '.sfdx', 'sfdx-core-ut'), { recursive: true, force: true }); + }); + afterEach(async () => { + await rm(join(tmpdir(), '.sfdx', 'sfdx-core-ut'), { recursive: true, force: true }); + }); + + it('merges in new props from file saved since a prop was set in memory', async () => { + const config1 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config1.set('x', 0); + await sleep(SLEEP_FUDGE_MS); + const config2 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config2.set('x', 1); + await config2.write(); + + const c1output = await config1.write(); + expect(c1output.x).to.equal(1); + }); + + it('newer props beat older files', async () => { + const config1 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + + const config2 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config2.set('x', 1); + await config2.write(); + await sleep(SLEEP_FUDGE_MS); + + config1.set('x', 0); + await sleep(SLEEP_FUDGE_MS); + + const c1output = await config1.write(); + expect(c1output.x).to.equal(0); + }); + + it('"deleted" (missing) props in a file do not delete from contents"', async () => { + const config1 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config1.set('x', 0); + await sleep(SLEEP_FUDGE_MS); + + const config2 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config2.set('x', 1); + config2.unset('x'); + await sleep(SLEEP_FUDGE_MS); + + await config2.write(); + await sleep(SLEEP_FUDGE_MS); + + const c1output = await config1.write(); + expect(c1output.x).to.equal(0); + }); + + it('newer deleted props beat older files', async () => { + const config1 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config1.set('x', 0); + await sleep(SLEEP_FUDGE_MS); + + const config2 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config2.set('x', 1); + + await config2.write(); + await sleep(SLEEP_FUDGE_MS); + + config1.unset('x'); + + const c1output = await config1.write(); + expect(c1output.x).to.equal(undefined); + }); + + it('deleted in both memory and file', async () => { + const config1 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config1.set('x', 0); + await sleep(SLEEP_FUDGE_MS); + + const config2 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + config2.set('x', 1); + + await config2.write(); + await sleep(SLEEP_FUDGE_MS); + + config2.unset('x'); + await config2.write(); + + await sleep(SLEEP_FUDGE_MS); + config1.unset('x'); + + const c1output = await config1.write(); + expect(c1output.x).to.equal(undefined); + }); + + it('parallel writes from different processes produce valid json when file exists', async () => { + const config1 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + await config1.write(); + const config2 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + const config3 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + const config4 = new TestConfig(TestConfig.getOptions(FILENAME, true, true, sharedLocation)); + + config1.set('x', 0); + await sleep(SLEEP_FUDGE_MS); + config2.set('x', 1); + config2.set('b', 2); + await sleep(SLEEP_FUDGE_MS); + config3.set('x', 2); + config3.set('c', 3); + await sleep(SLEEP_FUDGE_MS); + config4.set('x', 3); + await sleep(SLEEP_FUDGE_MS); + + // simulate non-deterministic parallel operations from different processes. We can't guarantee the order of files, + // so this might result in a set prop being deleted. + await Promise.all([config1.write(), config2.write(), config3.write(), config4.write()]); + await Promise.all([config1.read(), config2.read(), config3.read(), config4.read()]); + // timestamps on the files are treated as the stamp for all props, + // since we lose the CRDT prop - level timestamps when writing to json + expect(config1.get('x')).to.be.greaterThanOrEqual(0).and.lessThanOrEqual(3); + if (config1.has('b')) { + expect(config1.get('b')).to.equal(2); + } + if (config1.has('c')) { + expect(config1.get('c')).to.equal(3); + } + if (config2.has('b')) { + expect(config2.get('b')).to.equal(2); + } + if (config2.has('c')) { + expect(config2.get('c')).to.equal(3); + } + }); + + it('parallel writes, reverse order, with deletes', async () => { + const config1 = new TestConfig(TestConfig.getOptions('test', true, true, sharedLocation)); + const config2 = new TestConfig(TestConfig.getOptions('test', true, true, sharedLocation)); + const config3 = new TestConfig(TestConfig.getOptions('test', true, true, sharedLocation)); + const config4 = new TestConfig(TestConfig.getOptions('test', true, true, sharedLocation)); + + config1.set('x', 7); + await sleep(SLEEP_FUDGE_MS); + config2.set('x', 8); + await sleep(SLEEP_FUDGE_MS); + config3.set('x', 9); + await sleep(SLEEP_FUDGE_MS); + config4.unset('x'); + + await Promise.all([config4.write(), config3.write(), config2.write(), config1.write()]); + await Promise.all([config1.read(), config2.read(), config3.read(), config4.read()]); + if (config4.has('x')) { + expect(config4.get('x')).to.be.greaterThanOrEqual(7).and.lessThanOrEqual(9); + } + }); +}); diff --git a/test/unit/config/configFileTest.ts b/test/unit/config/configFileTest.ts index 5e806d58a5..b07ca95452 100644 --- a/test/unit/config/configFileTest.ts +++ b/test/unit/config/configFileTest.ts @@ -7,11 +7,12 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-call */ -import * as Path from 'path'; -import * as fs from 'fs'; +import * as Path from 'node:path'; +import * as fs from 'node:fs'; import { expect } from 'chai'; import { assert } from '@salesforce/ts-types'; +import * as lockfileLib from 'proper-lockfile'; import { ConfigFile } from '../../../src/config/configFile'; import { SfError } from '../../../src/exported'; import { shouldThrow, TestContext } from '../../../src/testSetup'; @@ -205,196 +206,217 @@ describe('Config', () => { $$.SANDBOXES.CONFIG.restore(); }); it('uses passed in contents', async () => { - // const mkdirpStub = $$.SANDBOX.stub(mkdirp, 'native'); + $$.SANDBOX.stub(fs.promises, 'readFile').resolves('{}'); + // @ts-expect-error --> we're only mocking on prop of many + $$.SANDBOX.stub(fs.promises, 'stat').resolves({ mtimeNs: BigInt(Date.now() - 1_000 * 60 * 5) }); + $$.SANDBOX.stub(fs.promises, 'mkdir').resolves(); + const lockStub = $$.SANDBOX.stub(lockfileLib, 'lock').resolves(() => Promise.resolve()); + const writeJson = $$.SANDBOX.stub(fs.promises, 'writeFile'); const config = await TestConfig.create({ isGlobal: true }); const expected = { test: 'test' }; - const actual = await config.write(expected); - expect(expected).to.equal(actual); - expect(expected).to.equal(config.getContents()); - // expect(mkdirpStub.called).to.be.true; + config.set('test', 'test'); + const actual = await config.write(); + expect(lockStub.callCount).to.equal(1); + expect(expected).to.deep.equal(actual); + expect(expected).to.deep.equal(config.getContents()); + // // expect(mkdirpStub.called).to.be.true; expect(writeJson.called).to.be.true; }); it('sync uses passed in contents', async () => { + $$.SANDBOX.stub(fs, 'readFileSync').returns('{}'); + // @ts-expect-error --> we're only mocking on prop of many + $$.SANDBOX.stub(fs, 'statSync').returns({ mtimeNs: BigInt(Date.now() - 1_000 * 60 * 5) }); + const lockStub = $$.SANDBOX.stub(lockfileLib, 'lockSync').returns(() => undefined); + const mkdirpStub = $$.SANDBOX.stub(fs, 'mkdirSync'); const writeJson = $$.SANDBOX.stub(fs, 'writeFileSync'); const config = await TestConfig.create({ isGlobal: true }); const expected = { test: 'test' }; - const actual = config.writeSync(expected); - expect(expected).to.equal(actual); - expect(expected).to.equal(config.getContents()); + config.set('test', 'test'); + const actual = config.writeSync(); + expect(lockStub.callCount).to.equal(1); + expect(expected).to.deep.equal(actual); + expect(expected).to.deep.equal(config.getContents()); expect(mkdirpStub.called).to.be.true; expect(writeJson.called).to.be.true; }); }); - const testFileContentsString = '{"foo":"bar"}'; - const testFileContentsJson = { foo: 'bar' }; - - describe('read()', () => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let readFileStub: any; - let config: TestConfig; - - beforeEach(async () => { - $$.SANDBOXES.CONFIG.restore(); - readFileStub = $$.SANDBOX.stub(fs.promises, 'readFile'); - }); - - it('caches file contents', async () => { - readFileStub.resolves(testFileContentsString); - // TestConfig.create() calls read() - config = await TestConfig.create(TestConfig.getOptions('test', false, true)); - expect(readFileStub.calledOnce).to.be.true; - - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.true; - expect(config.getContents()).to.deep.equal(testFileContentsJson); - - // Read again. Stub should still only be called once. - const contents2 = await config.read(false, false); - expect(readFileStub.calledOnce).to.be.true; - expect(contents2).to.deep.equal(testFileContentsJson); - }); - - it('sets contents as empty object when file does not exist', async () => { - const err = SfError.wrap(new Error()); - err.code = 'ENOENT'; - readFileStub.throws(err); - - config = await TestConfig.create(TestConfig.getOptions('test', false, true)); - expect(readFileStub.calledOnce).to.be.true; - - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.true; - expect(config.getContents()).to.deep.equal({}); - }); - it('throws when file does not exist and throwOnNotFound=true', async () => { - const err = new Error('not here'); - err.name = 'FileNotFound'; - (err as any).code = 'ENOENT'; - readFileStub.throws(SfError.wrap(err)); - - const configOptions = { - filename: 'test', - isGlobal: true, - throwOnNotFound: true, - }; - - try { - await shouldThrow(TestConfig.create(configOptions)); - } catch (e) { - expect(e).to.have.property('name', 'FileNotFound'); - } - }); - - it('sets hasRead=false by default', async () => { - const configOptions = TestConfig.getOptions('test', false, true); - const testConfig = new TestConfig(configOptions); - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(testConfig.hasRead).to.be.false; - }); - - it('forces another read of the config file with force=true', async () => { - readFileStub.resolves(testFileContentsString); - // TestConfig.create() calls read() - config = await TestConfig.create(TestConfig.getOptions('test', false, true)); - expect(readFileStub.calledOnce).to.be.true; - - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.true; - expect(config.getContents()).to.deep.equal(testFileContentsJson); - - // Read again. Stub should now be called twice. - const contents2 = await config.read(false, true); - expect(readFileStub.calledTwice).to.be.true; - expect(contents2).to.deep.equal(testFileContentsJson); - }); - }); - - describe('readSync()', () => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let readFileStub: any; - let config: TestConfig; - - beforeEach(async () => { - $$.SANDBOXES.CONFIG.restore(); - readFileStub = $$.SANDBOX.stub(fs, 'readFileSync'); - }); - - it('caches file contents', () => { - readFileStub.returns(testFileContentsString); - // TestConfig.create() calls read() - config = new TestConfig(TestConfig.getOptions('test', false, true)); - expect(readFileStub.calledOnce).to.be.false; - - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.false; - - config.readSync(false, false); - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.true; - expect(config.getContents()).to.deep.equal(testFileContentsJson); - - // Read again. Stub should still only be called once. - const contents2 = config.readSync(false, false); - expect(readFileStub.calledOnce).to.be.true; - expect(contents2).to.deep.equal(testFileContentsJson); - }); - - it('sets contents as empty object when file does not exist', () => { - const err = SfError.wrap(new Error()); - err.code = 'ENOENT'; - readFileStub.throws(err); - - config = new TestConfig(TestConfig.getOptions('test', false, true)); - config.readSync(); - expect(readFileStub.calledOnce).to.be.true; - - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.true; - expect(config.getContents()).to.deep.equal({}); - }); - - it('throws when file does not exist and throwOnNotFound=true on method call', () => { - const err = new Error('not here'); - err.name = 'FileNotFound'; - (err as any).code = 'ENOENT'; - readFileStub.throws(SfError.wrap(err)); - - const configOptions = { - filename: 'test', - isGlobal: true, - throwOnNotFound: false, - }; - - try { - // The above config doesn't matter because we don't read on creation and it is overridden in the read method. - new TestConfig(configOptions).readSync(true); - assert(false, 'should throw'); - } catch (e) { - expect(e).to.have.property('name', 'FileNotFound'); - } - }); - - it('forces another read of the config file with force=true', () => { - readFileStub.returns(testFileContentsString); - // TestConfig.create() calls read() - config = new TestConfig(TestConfig.getOptions('test', false, true)); - config.readSync(); - - // -> hasRead is protected. Ignore for testing. - // @ts-expect-error -> hasRead is protected. Ignore for testing. - expect(config.hasRead).to.be.true; - - // Read again. Stub should now be called twice. - const contents2 = config.readSync(false, true); - expect(readFileStub.calledTwice).to.be.true; - expect(contents2).to.deep.equal(testFileContentsJson); + describe('read', () => { + const testFileContentsString = '{"foo":"bar"}'; + const testFileContentsJson = { foo: 'bar' }; + + describe('read()', () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let readFileStub: any; + let config: TestConfig; + + beforeEach(async () => { + $$.SANDBOXES.CONFIG.restore(); + readFileStub = $$.SANDBOX.stub(fs.promises, 'readFile'); + // @ts-expect-error --> we're only mocking on prop of many + $$.SANDBOX.stub(fs.promises, 'stat').resolves({ mtimeNs: BigInt(Date.now() - 1_000 * 60 * 5) }); + }); + + it('caches file contents', async () => { + readFileStub.resolves(testFileContentsString); + // TestConfig.create() calls read() + config = await TestConfig.create(TestConfig.getOptions('test', false, true)); + expect(readFileStub.calledOnce).to.be.true; + + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.true; + expect(config.getContents()).to.deep.equal(testFileContentsJson); + + // Read again. Stub should still only be called once. + const contents2 = await config.read(false, false); + expect(readFileStub.calledOnce).to.be.true; + expect(contents2).to.deep.equal(testFileContentsJson); + }); + + it('sets contents as empty object when file does not exist', async () => { + const err = SfError.wrap(new Error()); + err.code = 'ENOENT'; + readFileStub.throws(err); + + config = await TestConfig.create(TestConfig.getOptions('test', false, true)); + expect(readFileStub.calledOnce).to.be.true; + + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.true; + expect(config.getContents()).to.deep.equal({}); + }); + + it('throws when file does not exist and throwOnNotFound=true', async () => { + const err = new Error('not here'); + err.name = 'FileNotFound'; + (err as any).code = 'ENOENT'; + readFileStub.throws(SfError.wrap(err)); + + const configOptions = { + filename: 'test', + isGlobal: true, + throwOnNotFound: true, + }; + + try { + await shouldThrow(TestConfig.create(configOptions)); + } catch (e) { + expect(e).to.have.property('name', 'FileNotFound'); + } + }); + + it('sets hasRead=false by default', async () => { + const configOptions = TestConfig.getOptions('test', false, true); + const testConfig = new TestConfig(configOptions); + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(testConfig.hasRead).to.be.false; + }); + + it('forces another read of the config file with force=true', async () => { + readFileStub.resolves(testFileContentsString); + // TestConfig.create() calls read() + config = await TestConfig.create(TestConfig.getOptions('test', false, true)); + expect(readFileStub.calledOnce).to.be.true; + + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.true; + expect(config.getContents()).to.deep.equal(testFileContentsJson); + + // Read again. Stub should now be called twice. + const contents2 = await config.read(false, true); + expect(readFileStub.calledTwice).to.be.true; + expect(contents2).to.deep.equal(testFileContentsJson); + }); + }); + + describe('readSync()', () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let readFileStub: any; + let config: TestConfig; + + beforeEach(async () => { + $$.SANDBOXES.CONFIG.restore(); + readFileStub = $$.SANDBOX.stub(fs, 'readFileSync'); + // @ts-expect-error --> we're only mocking on prop of many + $$.SANDBOX.stub(fs, 'statSync').returns({ mtimeNs: BigInt(Date.now() - 1_000 * 60 * 5) }); + }); + + it('caches file contents', () => { + readFileStub.returns(testFileContentsString); + // TestConfig.create() calls read() + config = new TestConfig(TestConfig.getOptions('test', false, true)); + expect(readFileStub.calledOnce).to.be.false; + + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.false; + + config.readSync(false, false); + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.true; + expect(config.getContents()).to.deep.equal(testFileContentsJson); + + // Read again. Stub should still only be called once. + const contents2 = config.readSync(false, false); + expect(readFileStub.calledOnce).to.be.true; + expect(contents2).to.deep.equal(testFileContentsJson); + }); + + it('sets contents as empty object when file does not exist', () => { + const err = SfError.wrap(new Error()); + err.code = 'ENOENT'; + readFileStub.throws(err); + + config = new TestConfig(TestConfig.getOptions('test', false, true)); + config.readSync(); + expect(readFileStub.calledOnce).to.be.true; + + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.true; + expect(config.getContents()).to.deep.equal({}); + }); + + it('throws when file does not exist and throwOnNotFound=true on method call', () => { + const err = new Error('not here'); + err.name = 'FileNotFound'; + (err as any).code = 'ENOENT'; + readFileStub.throws(SfError.wrap(err)); + + const configOptions = { + filename: 'test', + isGlobal: true, + throwOnNotFound: false, + }; + + try { + // The above config doesn't matter because we don't read on creation and it is overridden in the read method. + new TestConfig(configOptions).readSync(true); + assert(false, 'should throw'); + } catch (e) { + expect(e).to.have.property('name', 'FileNotFound'); + } + }); + + it('forces another read of the config file with force=true', () => { + readFileStub.returns(testFileContentsString); + // TestConfig.create() calls read() + config = new TestConfig(TestConfig.getOptions('test', false, true)); + config.readSync(); + + // -> hasRead is protected. Ignore for testing. + // @ts-expect-error -> hasRead is protected. Ignore for testing. + expect(config.hasRead).to.be.true; + + // Read again. Stub should now be called twice. + const contents2 = config.readSync(false, true); + expect(readFileStub.calledTwice).to.be.true; + expect(contents2).to.deep.equal(testFileContentsJson); + }); }); }); }); diff --git a/test/unit/config/configStoreTest.ts b/test/unit/config/configStoreTest.ts index 4d92c23cba..577cff023e 100644 --- a/test/unit/config/configStoreTest.ts +++ b/test/unit/config/configStoreTest.ts @@ -6,8 +6,8 @@ */ import { expect } from 'chai'; import { AuthInfoConfig } from '../../../src/config/authInfoConfig'; -import { BaseConfigStore, ConfigContents } from '../../../src/config/configStore'; -import { AuthFields } from '../../../src/org/authInfo'; +import { BaseConfigStore } from '../../../src/config/configStore'; +import { ConfigContents } from '../../../src/config/configStackTypes'; import { TestContext } from '../../../src/testSetup'; const specialKey = 'spe@cial.property'; @@ -48,17 +48,6 @@ describe('ConfigStore', () => { }); expect(st).to.equal('1a2b'); }); - it('await each value', async () => { - const config = await TestConfig.create(); - config.set('1', 'a'); - config.set('2', 'b'); - - let st = ''; - await config.awaitEach(async (key, val) => { - st += `${key}${val}`; - }); - expect(st).to.equal('1a2b'); - }); it('returns the object reference', async () => { const config = new TestConfig<{ '1': { a: string } }>(); @@ -67,7 +56,6 @@ describe('ConfigStore', () => { config.get('1').a = 'b'; expect(config.get('1').a).to.equal('b'); - expect(config.get('1.a')).to.equal('b'); }); it('updates the object reference', async () => { @@ -88,14 +76,15 @@ describe('ConfigStore', () => { it('throws if crypto is not initialized', () => { const config = new CarConfig({}); - expect(() => config.set('owner.creditCardNumber', 'n/a')) + expect(() => config.update('owner', { creditCardNumber: 'n/a' })) .to.throw() .property('name', 'CryptoNotInitializedError'); }); it('throws if value is not strings', async () => { const config = await CarConfig.create(); - expect(() => config.set('owner.creditCardNumber', 12)) + // @ts-expect-error it should be a string, but testing what happens when it's not + expect(() => config.update('owner', { creditCardNumber: 12 })) .to.throw() .property('name', 'InvalidCryptoValueError'); }); @@ -113,7 +102,7 @@ describe('ConfigStore', () => { it('encrypts nested key', async () => { const expected = 'a29djf0kq3dj90d3q'; const config = await CarConfig.create(); - config.set('owner', { + config.update('owner', { name: 'Bob', creditCardNumber: expected, phone: '707-bob-cell', @@ -145,63 +134,11 @@ describe('ConfigStore', () => { expect(config.get('owner', true).superPassword).to.equal(expected); }); - it('encrypts nested query key using dot notation', async () => { - const expected = 'a29djf0kq3dj90d3q'; - const config = await CarConfig.create(); - config.set('owner.creditCardNumber', expected); - // encrypted - expect(config.get('owner.creditCardNumber')).to.not.equal(expected); - // decrypted - expect(config.get('owner.creditCardNumber', true)).to.equal(expected); - }); - - it('encrypts nested query key using accessor with single quotes', async () => { - const expected = 'a29djf0kq3dj90d3q'; - const config = await CarConfig.create(); - config.set('owner["creditCardNumber"]', expected); - // encrypted - expect(config.get("owner['creditCardNumber']")).to.not.equal(expected); - // decrypted - expect(config.get("owner['creditCardNumber']", true)).to.equal(expected); - }); - - it('encrypts nested query key using accessor with double quotes', async () => { - const expected = 'a29djf0kq3dj90d3q'; - const config = await CarConfig.create(); - config.set('owner["creditCardNumber"]', expected); - // encrypted - expect(config.get('owner["creditCardNumber"]')).to.not.equal(expected); - // decrypted - expect(config.get('owner["creditCardNumber"]', true)).to.equal(expected); - }); - - it('encrypts nested query special key using accessor with single quotes', async () => { - const expected = 'a29djf0kq3dj90d3q'; - const config = await CarConfig.create(); - const query = `owner['${specialKey}']`; - config.set(query, expected); - // encrypted - expect(config.get(query)).to.not.equal(expected); - // decrypted - expect(config.get(query, true)).to.equal(expected); - }); - - it('encrypts nested query special key using accessor with double quotes', async () => { - const expected = 'a29djf0kq3dj90d3q'; - const config = await CarConfig.create(); - const query = `owner["${specialKey}"]`; - config.set(query, expected); - // encrypted - expect(config.get(query)).to.not.equal(expected); - // decrypted - expect(config.get(query, true)).to.equal(expected); - }); - it('decrypt returns copies', async () => { const expected = 'a29djf0kq3dj90d3q'; const config = await CarConfig.create(); const owner = { name: 'Bob', creditCardNumber: expected }; - // I would love for this to throw an error, but the current typing doesn't quite work like get does. + // @ts-expect-error that's not a full owner, not all required props are set config.set('owner', owner); const decryptedOwner = config.get('owner', true); @@ -210,7 +147,6 @@ describe('ConfigStore', () => { decryptedOwner.creditCardNumber = 'invalid'; expect(config.get('owner').creditCardNumber).to.not.equal('invalid'); expect(config.get('owner', true).creditCardNumber).to.equal(expected); - expect(config.get('owner.creditCardNumber', true)).to.equal(expected); }); // Ensures accessToken and refreshToken are both decrypted upon config.get() @@ -220,37 +156,40 @@ describe('ConfigStore', () => { const refreshToken = '5678'; const config = await AuthInfoConfig.create({}); const auth = { accessToken, refreshToken }; - config.set('auth', auth); + config.setContentsFromObject(auth); - expect(config.get('auth').accessToken).to.not.equal(accessToken); - expect(config.get('auth').refreshToken).to.not.equal(refreshToken); - expect(config.get('auth', true).accessToken).to.equal(accessToken); - expect(config.get('auth', true).refreshToken).to.equal(refreshToken); + expect(config.get('accessToken')).to.not.equal(accessToken); + expect(config.get('refreshToken')).to.not.equal(refreshToken); + expect(config.get('accessToken', true)).to.equal(accessToken); + expect(config.get('refreshToken', true)).to.equal(refreshToken); }); it('does not fail when saving an already encrypted object', async () => { const expected = 'a29djf0kq3dj90d3q'; const config = await CarConfig.create(); const owner = { name: 'Bob', creditCardNumber: expected }; + // @ts-expect-error incomplete owner config.set('owner', owner); - const encryptedCreditCardNumber = config.get('owner.creditCardNumber'); + const encryptedCreditCardNumber = config.get('owner').creditCardNumber; const contents = config.getContents(); contents.owner.name = 'Tim'; + // @ts-expect-error private method config.setContents(contents); - expect(config.get('owner.name')).to.equal(contents.owner.name); - expect(config.get('owner.creditCardNumber')).to.equal(encryptedCreditCardNumber); + expect(config.get('owner').name).to.equal(contents.owner.name); + expect(config.get('owner').creditCardNumber).to.equal(encryptedCreditCardNumber); }); it('updates encrypted object', async () => { const expected = 'a29djf0kq3dj90d3q'; const config = await CarConfig.create(); const owner = { name: 'Bob', creditCardNumber: 'old credit card number' }; + // @ts-expect-error incomplete owner config.set('owner', owner); config.update('owner', { creditCardNumber: expected }); - expect(config.get('owner.name')).to.equal(owner.name); - expect(config.get('owner.creditCardNumber', true)).to.equal(expected); + expect(config.get('owner').name).to.equal(owner.name); + expect(config.get('owner', true).creditCardNumber).to.equal(expected); }); }); }); diff --git a/test/unit/config/configTest.ts b/test/unit/config/configTest.ts index ea621713ea..a732a117ec 100644 --- a/test/unit/config/configTest.ts +++ b/test/unit/config/configTest.ts @@ -9,13 +9,14 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import * as fs from 'fs'; +import * as fs from 'node:fs'; import { stubMethod } from '@salesforce/ts-sinon'; import { ensureString, JsonMap } from '@salesforce/ts-types'; import { expect } from 'chai'; +import * as lockfileLib from 'proper-lockfile'; import { Config, ConfigPropertyMeta } from '../../../src/config/config'; import { ConfigFile } from '../../../src/config/configFile'; -import { ConfigContents } from '../../../src/config/configStore'; +import { ConfigContents } from '../../../src/config/configStackTypes'; import { OrgConfigProperties } from '../../../src/exported'; import { shouldThrowSync, TestContext } from '../../../src/testSetup'; @@ -74,7 +75,9 @@ describe('Config', () => { const config = await Config.create(Config.getDefaultOptions(true)); stubMethod($$.SANDBOX, fs.promises, 'readFile').withArgs(config.getPath()).resolves(configFileContentsString); - + stubMethod($$.SANDBOX, fs.promises, 'stat') + .withArgs(config.getPath()) + .resolves({ mtimeNs: BigInt(new Date().valueOf() - 1_000 * 60 * 5) }); // Manipulate config.hasRead to force a read // @ts-expect-error -> hasRead is protected. Ignore for testing. config.hasRead = false; @@ -88,8 +91,12 @@ describe('Config', () => { }); describe('set', () => { - it('calls Config.write with updated file contents', async () => { + beforeEach(() => { + $$.SANDBOX.stub(lockfileLib, 'lock').resolves(() => Promise.resolve()); stubMethod($$.SANDBOX, fs.promises, 'readFile').resolves(configFileContentsString); + stubMethod($$.SANDBOX, fs.promises, 'stat').resolves({ mtimeNs: BigInt(new Date().valueOf() - 1_000 * 60 * 5) }); + }); + it('calls Config.write with updated file contents', async () => { const writeStub = stubMethod($$.SANDBOX, fs.promises, 'writeFile'); const expectedFileContents = clone(configFileContentsJson); @@ -108,7 +115,6 @@ describe('Config', () => { await Config.update(false, 'target-org', newUsername); - stubMethod($$.SANDBOX, fs.promises, 'readFile').resolves(configFileContentsString); const writeStub = stubMethod($$.SANDBOX, fs.promises, 'writeFile'); const targetDevhub = configFileContentsJson['target-dev-hub']; @@ -225,7 +231,9 @@ describe('Config', () => { describe('unset', () => { it('calls Config.write with updated file contents', async () => { + $$.SANDBOX.stub(lockfileLib, 'lock').resolves(() => Promise.resolve()); stubMethod($$.SANDBOX, fs.promises, 'readFile').resolves(configFileContentsString); + stubMethod($$.SANDBOX, fs.promises, 'stat').resolves({ mtimeNs: BigInt(new Date().valueOf() - 1_000 * 60 * 5) }); const writeStub = stubMethod($$.SANDBOX, fs.promises, 'writeFile'); const expectedFileContents = clone(configFileContentsJson); @@ -273,7 +281,7 @@ describe('Config', () => { stubMethod($$.SANDBOX, ConfigFile.prototype, ConfigFile.prototype.read.name).callsFake(async function () { // @ts-expect-error -> this is any // eslint-disable-next-line @typescript-eslint/no-unsafe-call - this.setContentsFromObject({ unknown: 'unknown config key and value' }); + this.setContentsFromFileContents({ unknown: 'unknown config key and value' }); }); const config = await Config.create({ isGlobal: true }); diff --git a/test/unit/config/lwwMapTest.ts b/test/unit/config/lwwMapTest.ts new file mode 100644 index 0000000000..cba9eb4d97 --- /dev/null +++ b/test/unit/config/lwwMapTest.ts @@ -0,0 +1,184 @@ +/* + * Copyright (c) 2023, 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 { expect, config } from 'chai'; +import { LWWMap, LWWState, SYMBOL_FOR_DELETED } from '../../../src/config/lwwMap'; +import { nowBigInt } from '../../../src/util/time'; + +config.truncateThreshold = 0; +// unit is ns. 1_000_000_000 ns = 1s +const TIMESTAMP_OFFSET = BigInt(1_000_000_000); + +describe('LWWMap', () => { + type TestType = { foo: string; baz: string; opt?: number; optNull?: null }; + let state: LWWState; + + describe('all properties are known', () => { + let lwwMap: LWWMap; + + beforeEach(() => { + state = { + foo: { value: 'bar', timestamp: nowBigInt() }, + baz: { value: 'qux', timestamp: nowBigInt() }, + }; + lwwMap = new LWWMap(state); + }); + + it('should initialize with the correct state', () => { + expect(lwwMap.state).to.deep.equal(state); + }); + + it('should get the correct value for the entire object', () => { + expect(lwwMap.value).to.deep.equal({ foo: 'bar', baz: 'qux' }); + }); + + it('has when it has', () => { + expect(lwwMap.has('foo')).to.be.true; + }); + + it('sets a new key', () => { + lwwMap.set('opt', 4); + expect(lwwMap.has('opt')).to.be.true; + }); + + it('get by key', () => { + expect(lwwMap.get('foo')).to.equal('bar'); + }); + + it('get missing by key', () => { + expect(lwwMap.get('opt')).to.equal(undefined); + }); + + it('has when it does not have', () => { + expect(lwwMap.has('nope')).to.be.false; + expect(lwwMap.state).to.deep.equal(state); + }); + + it('has is false for deleted', () => { + lwwMap.delete('foo'); + expect(lwwMap.has('foo')).to.be.false; + }); + + it('deletes a key that exists', () => { + lwwMap.delete('foo'); + expect(lwwMap.has('foo')).to.be.false; + expect(lwwMap.value).to.deep.equal({ baz: 'qux' }); + expect(lwwMap.state.baz).to.deep.equal(state.baz); + expect(lwwMap.state.foo.value).to.equal(SYMBOL_FOR_DELETED); + }); + + it('set and get an optional null', () => { + lwwMap.set('optNull', null); + expect(lwwMap.get('optNull')).to.be.null; + }); + + describe('merge', () => { + beforeEach(() => { + lwwMap = new LWWMap(state); + }); + it('all are updated', () => { + const remoteState = { + foo: { value: 'bar2', timestamp: nowBigInt() }, + baz: { value: 'qux2', timestamp: nowBigInt() }, + } satisfies LWWState; + lwwMap.merge(remoteState); + expect(lwwMap.state).to.deep.equal(remoteState); + expect(lwwMap.get('foo')).to.equal('bar2'); + }); + it('all are deleted', () => { + const remoteState = { + foo: { value: SYMBOL_FOR_DELETED, timestamp: nowBigInt() }, + baz: { value: SYMBOL_FOR_DELETED, timestamp: nowBigInt() }, + } satisfies LWWState; + lwwMap.merge(remoteState); + expect(lwwMap.state).to.deep.equal(remoteState); + expect(lwwMap.get('foo')).to.equal(undefined); + }); + it('none are updated', () => { + const remoteState = { + foo: { value: 'bar2', timestamp: nowBigInt() - TIMESTAMP_OFFSET }, + baz: { value: 'qux2', timestamp: nowBigInt() - TIMESTAMP_OFFSET }, + } satisfies LWWState; + lwwMap.merge(remoteState); + expect(lwwMap.state).to.deep.equal(state); + expect(lwwMap.get('foo')).to.equal('bar'); + }); + it('one is update, one is added, one is deleted', () => { + lwwMap.set('opt', 4); + const remoteState = { + foo: { value: 'bar2', timestamp: nowBigInt() }, + baz: { value: 'qux2', timestamp: nowBigInt() - TIMESTAMP_OFFSET }, + opt: { value: SYMBOL_FOR_DELETED, timestamp: nowBigInt() + TIMESTAMP_OFFSET }, + optNull: { value: null, timestamp: nowBigInt() }, + } satisfies LWWState; + lwwMap.merge(remoteState); + expect(lwwMap.get('foo')).to.equal('bar2'); + expect(lwwMap.get('baz')).to.equal('qux'); + expect(lwwMap.state.opt?.value).to.equal(SYMBOL_FOR_DELETED); + expect(lwwMap.get('opt')).to.be.undefined; + }); + }); + }); + + describe('open-ended objects', () => { + type OpenEndedType = TestType & { [key: string]: string }; + const initialState = { + foo: { value: 'bar', timestamp: nowBigInt() }, + baz: { value: 'qux', timestamp: nowBigInt() }, + } satisfies LWWState; + + it('set a new prop', () => { + const lwwMap = new LWWMap(initialState); + lwwMap.set('thing', 'whatever'); + expect(lwwMap.get('thing')).to.equal('whatever'); + expect(lwwMap.value).to.deep.equal({ foo: 'bar', baz: 'qux', thing: 'whatever' }); + expect(lwwMap.state.thing.value).to.equal('whatever'); + }); + + it('set and delete new prop', () => { + const lwwMap = new LWWMap(initialState); + lwwMap.set('thing', 'whatever'); + expect(lwwMap.get('thing')).to.equal('whatever'); + lwwMap.delete('thing'); + expect(lwwMap.get('thing')).to.be.undefined; + expect(lwwMap.value).to.deep.equal({ foo: 'bar', baz: 'qux' }); + expect(lwwMap.state.thing.value).to.equal(SYMBOL_FOR_DELETED); + }); + + it('delete a non-existent prop', () => { + const lwwMap = new LWWMap(initialState); + expect(lwwMap.get('gone')).to.be.undefined; + lwwMap.delete('gone'); + expect(lwwMap.get('gone')).to.be.undefined; + expect(lwwMap.value).to.deep.equal({ foo: 'bar', baz: 'qux' }); + expect(lwwMap.state.gone.value).to.equal(SYMBOL_FOR_DELETED); + }); + }); +}); + +describe('nested objects', () => { + type NestedOpenEndedObject = { foo: string; baz: string; opt?: number; optNull?: null; obj: Record }; + + let state: LWWState; + let lwwMap: LWWMap; + + beforeEach(() => { + state = { + foo: { value: 'bar', timestamp: nowBigInt() }, + baz: { value: 'qux', timestamp: nowBigInt() }, + obj: { value: { a: 1, b: 2, c: 3 }, timestamp: nowBigInt() }, + }; + lwwMap = new LWWMap(state); + }); + + it('should initialize with the correct state', () => { + expect(lwwMap.state).to.deep.equal(state); + }); + + it('should get the correct value for the entire object', () => { + expect(lwwMap.value).to.deep.equal({ foo: 'bar', baz: 'qux', obj: { a: 1, b: 2, c: 3 } }); + }); +}); diff --git a/test/unit/config/ttlConfigTest.ts b/test/unit/config/ttlConfigTest.ts index cd7f1eb82c..59bf3823e9 100644 --- a/test/unit/config/ttlConfigTest.ts +++ b/test/unit/config/ttlConfigTest.ts @@ -96,4 +96,31 @@ describe('TTLConfig', () => { expect(isExpired).to.be.false; }); }); + + describe('filters expired keys on init', () => { + it('should omit expired keys', async () => { + $$.setConfigStubContents('TestConfig', { + contents: { + old: { + value: 1, + timestamp: new Date().getTime() - Duration.days(7).milliseconds, + }, + current: { + value: 2, + timestamp: new Date().getTime(), + }, + future: { + value: 3, + timestamp: new Date().getTime() + Duration.days(7).milliseconds, + }, + }, + }); + + const config = await TestConfig.create(); + const keys = config.keys(); + expect(keys).to.include('current'); + expect(keys).to.include('future'); + expect(keys).to.not.include('old'); + }); + }); }); diff --git a/test/unit/crypto/cryptoKeyFailuresTest.ts b/test/unit/crypto/cryptoKeyFailuresTest.ts index f7af64c085..4525d24ca0 100644 --- a/test/unit/crypto/cryptoKeyFailuresTest.ts +++ b/test/unit/crypto/cryptoKeyFailuresTest.ts @@ -6,9 +6,9 @@ */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import * as childProcess from 'child_process'; -import * as _crypto from 'crypto'; -import * as os from 'os'; +import * as childProcess from 'node:child_process'; +import * as _crypto from 'node:crypto'; +import * as os from 'node:os'; import { AnyJson } from '@salesforce/ts-types'; import { assert, expect } from 'chai'; import { Crypto } from '../../../src/crypto/crypto'; diff --git a/test/unit/crypto/cryptoTest.ts b/test/unit/crypto/cryptoTest.ts index 02cc8f1f05..461c018e4f 100644 --- a/test/unit/crypto/cryptoTest.ts +++ b/test/unit/crypto/cryptoTest.ts @@ -6,7 +6,7 @@ */ /* eslint-disable @typescript-eslint/ban-types */ -import * as os from 'os'; +import * as os from 'node:os'; import { stubMethod } from '@salesforce/ts-sinon'; import { expect } from 'chai'; import { Crypto } from '../../../src/crypto/crypto'; diff --git a/test/unit/crypto/keyChainImplTest.ts b/test/unit/crypto/keyChainImplTest.ts index c597dba2b7..fa2e370b63 100644 --- a/test/unit/crypto/keyChainImplTest.ts +++ b/test/unit/crypto/keyChainImplTest.ts @@ -11,7 +11,7 @@ /* eslint-disable no-underscore-dangle */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ -import * as fs from 'fs'; +import * as fs from 'node:fs'; import { assert, expect } from 'chai'; import { KeychainAccess, keyChainImpl } from '../../../src/crypto/keyChainImpl'; import { shouldThrow, TestContext } from '../../../src/testSetup'; diff --git a/test/unit/crypto/keyChainTest.ts b/test/unit/crypto/keyChainTest.ts index 36d890cb5d..ce743232b9 100644 --- a/test/unit/crypto/keyChainTest.ts +++ b/test/unit/crypto/keyChainTest.ts @@ -5,11 +5,10 @@ * 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 * as fs from 'fs'; +import * as path from 'node:path'; +import * as fs from 'node:fs'; import { Nullable } from '@salesforce/ts-types'; import { expect } from 'chai'; -import * as _ from 'lodash'; import { retrieveKeychain } from '../../../src/crypto/keyChain'; import { GenericUnixKeychainAccess, @@ -36,7 +35,7 @@ describe('keyChain', () => { process.env.USE_GENERIC_UNIX_KEYCHAIN = OLD_GENERIC_VAL ?? ''; }); - it('should return OSX keychain and lib secret', () => { + it('should return OSX keychain and lib secret', async () => { $$.SANDBOX.stub(keyChainImpl.linux, 'validateProgram').resolves(); const testArray = [ @@ -47,18 +46,26 @@ describe('keyChain', () => { }, ]; - const promiseArray = testArray.map((obj) => retrieveKeychain(obj.osName)); - - return Promise.all(promiseArray).then((_keychains) => { - _.forEach(_keychains, (_keychain: any) => { - expect(_keychain).to.have.property('osImpl'); - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call - const program = _keychain['osImpl'].getProgram(); - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call - const testArrayMeta = _.find(testArray, (elem: any) => program.includes(elem.validateString)); - expect(testArrayMeta == null).to.be.false; - }); + const keyChains = await Promise.all(testArray.map((obj) => retrieveKeychain(obj.osName))); + keyChains.map((kc) => { + expect(kc).to.have.property('osImpl'); + // @ts-expect-error osImpl is a private member + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + const program = kc['osImpl'].getProgram(); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + const testArrayMeta = testArray.find((elem) => program.includes(elem.validateString)); + expect(testArrayMeta == null).to.be.false; }); + // return Promise.all(promiseArray).then((_keychains) => { + // _.forEach(_keychains, (_keychain: any) => { + // expect(_keychain).to.have.property('osImpl'); + // // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + // const program = _keychain['osImpl'].getProgram(); + // // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + // const testArrayMeta = _.find(testArray, (elem: any) => program.includes(elem.validateString)); + // expect(testArrayMeta == null).to.be.false; + // }); + // }); }); it('should return generic unix for OSX and Linux', async () => { diff --git a/test/unit/crypto/secureStringTest.ts b/test/unit/crypto/secureStringTest.ts index e7548433ef..9eb6e2752f 100644 --- a/test/unit/crypto/secureStringTest.ts +++ b/test/unit/crypto/secureStringTest.ts @@ -4,7 +4,7 @@ * 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 crypto from 'crypto'; +import * as crypto from 'node:crypto'; import { expect } from 'chai'; import { stub } from 'sinon'; import { SecureBuffer } from '../../../src/crypto/secureBuffer'; diff --git a/test/unit/deviceOauthServiceTest.ts b/test/unit/deviceOauthServiceTest.ts index bca1766a6c..60478daaa5 100644 --- a/test/unit/deviceOauthServiceTest.ts +++ b/test/unit/deviceOauthServiceTest.ts @@ -12,7 +12,8 @@ import { StubbedType, stubInterface, stubMethod } from '@salesforce/ts-sinon'; import { expect } from 'chai'; import { MockTestOrgData, TestContext } from '../../src/testSetup'; import { DeviceOauthService } from '../../src/deviceOauthService'; -import { AuthFields, AuthInfo, DEFAULT_CONNECTED_APP_INFO, SFDX_HTTP_HEADERS } from '../../src/org'; +import { AuthFields, AuthInfo, DEFAULT_CONNECTED_APP_INFO } from '../../src/org/authInfo'; +import { SFDX_HTTP_HEADERS } from '../../src/org/connection'; const deviceCodeResponse = { device_code: '1234', diff --git a/test/unit/messagesTest.ts b/test/unit/messagesTest.ts index e283481a54..fa53054305 100644 --- a/test/unit/messagesTest.ts +++ b/test/unit/messagesTest.ts @@ -7,9 +7,9 @@ /* eslint-disable @typescript-eslint/no-unsafe-argument */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import * as fs from 'fs'; -import * as path from 'path'; -import { EOL } from 'os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { EOL } from 'node:os'; import { cloneJson } from '@salesforce/kit'; import { assert, expect } from 'chai'; import { SinonStub } from 'sinon'; diff --git a/test/unit/org/authInfoTest.ts b/test/unit/org/authInfoTest.ts index f4a7a6be9e..cbb41d5972 100644 --- a/test/unit/org/authInfoTest.ts +++ b/test/unit/org/authInfoTest.ts @@ -9,8 +9,8 @@ /* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import * as pathImport from 'path'; -import * as dns from 'dns'; +import * as pathImport from 'node:path'; +import * as dns from 'node:dns'; import * as jwt from 'jsonwebtoken'; import { cloneJson, env, includes } from '@salesforce/kit'; import { spyMethod, stubMethod } from '@salesforce/ts-sinon'; @@ -20,11 +20,14 @@ import { Transport } from 'jsforce/lib/transport'; import { OAuth2 } from 'jsforce'; import { SinonSpy, SinonStub, match } from 'sinon'; -import { AuthFields, AuthInfo, Org } from '../../../src/org'; +import { Org } from '../../../src/org/org'; +import { AuthFields, AuthInfo } from '../../../src/org/authInfo'; import { JwtOAuth2Config } from '../../../src/org/authInfo'; import { MockTestOrgData, shouldThrow, shouldThrowSync, TestContext } from '../../../src/testSetup'; import { OrgConfigProperties } from '../../../src/org/orgConfigProperties'; -import { AliasAccessor, OrgAccessor, StateAggregator } from '../../../src/stateAggregator'; +import { StateAggregator } from '../../../src/stateAggregator/stateAggregator'; +import { AliasAccessor } from '../../../src/stateAggregator/accessors/aliasAccessor'; +import { OrgAccessor } from '../../../src/stateAggregator/accessors/orgAccessor'; import { Crypto } from '../../../src/crypto/crypto'; import { Config } from '../../../src/config/config'; import { SfdcUrl } from '../../../src/util/sfdcUrl'; @@ -1267,7 +1270,7 @@ describe('AuthInfo', () => { }); // delete the client secret - delete authInfo.getFields().clientSecret; + authInfo.update({ clientSecret: undefined }); const instanceUrl = testOrg.instanceUrl.replace('https://', ''); expect(authInfo.getSfdxAuthUrl()).to.contain(`force://PlatformCLI::${testOrg.refreshToken}@${instanceUrl}`); }); @@ -1292,8 +1295,7 @@ describe('AuthInfo', () => { }); // delete the refresh token - delete authInfo.getFields().refreshToken; - + authInfo.update({ ...authInfo.getFields(), refreshToken: undefined }); expect(() => authInfo.getSfdxAuthUrl()).to.throw('undefined refreshToken'); }); @@ -1317,7 +1319,7 @@ describe('AuthInfo', () => { }); // delete the instance url - delete authInfo.getFields().instanceUrl; + authInfo.update({ ...authInfo.getFields(), instanceUrl: undefined }); expect(() => authInfo.getSfdxAuthUrl()).to.throw('undefined instanceUrl'); }); diff --git a/test/unit/org/authRemoverTest.ts b/test/unit/org/authRemoverTest.ts index ac696881bd..9a0cb62bcf 100644 --- a/test/unit/org/authRemoverTest.ts +++ b/test/unit/org/authRemoverTest.ts @@ -9,10 +9,10 @@ import { spyMethod } from '@salesforce/ts-sinon'; import { expect } from 'chai'; import { AuthRemover } from '../../../src/org/authRemover'; import { Config } from '../../../src/config/config'; -import { AliasAccessor } from '../../../src/stateAggregator'; +import { AliasAccessor } from '../../../src/stateAggregator/accessors/aliasAccessor'; import { MockTestOrgData, shouldThrow, TestContext } from '../../../src/testSetup'; import { OrgConfigProperties } from '../../../src/org/orgConfigProperties'; -import { AuthFields } from '../../../src/org'; +import { AuthFields } from '../../../src/org/authInfo'; import { SfError } from '../../../src/sfError'; describe('AuthRemover', () => { diff --git a/test/unit/org/connectionTest.ts b/test/unit/org/connectionTest.ts index 4944625d00..4b33d6a806 100644 --- a/test/unit/org/connectionTest.ts +++ b/test/unit/org/connectionTest.ts @@ -10,7 +10,7 @@ import { expect } from 'chai'; import { fromStub, StubbedType, stubInterface, stubMethod } from '@salesforce/ts-sinon'; import { Duration } from '@salesforce/kit'; import { Connection as JSForceConnection, HttpRequest } from 'jsforce'; -import { AuthInfo } from '../../../src/org'; +import { AuthInfo } from '../../../src/org/authInfo'; import { MyDomainResolver } from '../../../src/status/myDomainResolver'; import { Connection, DNS_ERROR_NAME, SFDX_HTTP_HEADERS, SingleRecordQueryErrors } from '../../../src/org/connection'; import { shouldThrow, shouldThrowSync, TestContext } from '../../../src/testSetup'; diff --git a/test/unit/org/orgTest.ts b/test/unit/org/orgTest.ts index 76f468d03d..53879aff38 100644 --- a/test/unit/org/orgTest.ts +++ b/test/unit/org/orgTest.ts @@ -4,10 +4,10 @@ * 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 { deepStrictEqual, fail } from 'assert'; -import * as fs from 'fs'; -import { constants as fsConstants } from 'fs'; -import { join as pathJoin } from 'path'; +import { deepStrictEqual, fail } from 'node:assert'; +import * as fs from 'node:fs'; +import { constants as fsConstants } from 'node:fs'; +import { join as pathJoin } from 'node:path'; import { format } from 'node:util'; import { Duration, set } from '@salesforce/kit'; import { spyMethod, stubMethod } from '@salesforce/ts-sinon'; @@ -16,15 +16,10 @@ import { assert, expect, config as chaiConfig } from 'chai'; import { OAuth2 } from 'jsforce'; import { Transport } from 'jsforce/lib/transport'; import { SinonSpy, SinonStub } from 'sinon'; -import { - AuthInfo, - Connection, - Org, - SandboxEvents, - SandboxProcessObject, - SandboxUserAuthResponse, - SingleRecordQueryErrors, -} from '../../../src/org'; +import { Org, SandboxEvents, SandboxProcessObject, SandboxUserAuthResponse } from '../../../src/org/org'; +import { AuthInfo } from '../../../src/org/authInfo'; +import {} from '../../../src/org/connection'; +import { Connection, SingleRecordQueryErrors } from '../../../src/org/connection'; import { Config } from '../../../src/config/config'; import { ConfigAggregator } from '../../../src/config/configAggregator'; import { ConfigFile } from '../../../src/config/configFile'; @@ -32,7 +27,7 @@ import { OrgUsersConfig } from '../../../src/config/orgUsersConfig'; import { Global } from '../../../src/global'; import { MockTestOrgData, shouldThrow, shouldThrowSync, TestContext } from '../../../src/testSetup'; import { MyDomainResolver } from '../../../src/status/myDomainResolver'; -import { StateAggregator } from '../../../src/stateAggregator'; +import { StateAggregator } from '../../../src/stateAggregator/stateAggregator'; import { OrgConfigProperties } from '../../../src/org/orgConfigProperties'; import { Messages } from '../../../src/messages'; import { SfError } from '../../../src/sfError'; @@ -645,9 +640,8 @@ describe('Org Tests', () => { expect(info).has.property('value', org0Username); const org1Username = orgs[1].getUsername(); - + assert(org1Username); const stateAggregator = await StateAggregator.getInstance(); - // @ts-expect-error: user is nullable stateAggregator.aliases.set('foo', org1Username); const user = stateAggregator.aliases.getUsername('foo'); expect(user).eq(org1Username); diff --git a/test/unit/org/permissionSetAssignmentTest.ts b/test/unit/org/permissionSetAssignmentTest.ts index fefd599ebc..662f845cc9 100644 --- a/test/unit/org/permissionSetAssignmentTest.ts +++ b/test/unit/org/permissionSetAssignmentTest.ts @@ -4,13 +4,15 @@ * 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 { expect } from 'chai'; +import { expect, config } from 'chai'; import { AuthInfo } from '../../../src/org/authInfo'; import { Connection } from '../../../src/org/connection'; import { Org } from '../../../src/org/org'; import { PermissionSetAssignment } from '../../../src/org/permissionSetAssignment'; import { MockTestOrgData, shouldThrow, TestContext } from '../../../src/testSetup'; +config.truncateThreshold = 0; + describe('permission set assignment tests', () => { const $$ = new TestContext(); let userTestData: MockTestOrgData; @@ -144,7 +146,7 @@ describe('permission set assignment tests', () => { $$.SANDBOX.stub(Connection.prototype, 'sobject').callsFake(() => ({ // @ts-expect-error - type mismatch create() { - return Promise.resolve({ errors: ['error one', 'error two'] }); + return Promise.resolve({ success: false, errors: ['error one', 'error two'] }); }, })); diff --git a/test/unit/org/scratchOrgCreateTest.ts b/test/unit/org/scratchOrgCreateTest.ts index 56912f564a..d47d6606b3 100644 --- a/test/unit/org/scratchOrgCreateTest.ts +++ b/test/unit/org/scratchOrgCreateTest.ts @@ -8,7 +8,8 @@ import { expect } from 'chai'; import * as sinon from 'sinon'; import { Duration } from '@salesforce/kit'; import { Connection } from 'jsforce'; -import { AuthInfo, Org } from '../../../src/org'; +import { Org } from '../../../src/org/org'; +import { AuthInfo } from '../../../src/org/authInfo'; import { SfProject, SfProjectJson } from '../../../src/sfProject'; import { scratchOrgCreate, ScratchOrgCreateOptions, scratchOrgResume } from '../../../src/org/scratchOrgCreate'; import { ScratchOrgCache } from '../../../src/org/scratchOrgCache'; diff --git a/test/unit/org/scratchOrgInfoApiTest.ts b/test/unit/org/scratchOrgInfoApiTest.ts index 80f6b81193..06c03d38dc 100644 --- a/test/unit/org/scratchOrgInfoApiTest.ts +++ b/test/unit/org/scratchOrgInfoApiTest.ts @@ -10,7 +10,9 @@ import * as sinon from 'sinon'; import { assert, expect } from 'chai'; import { Duration, env } from '@salesforce/kit'; import { stubMethod } from '@salesforce/ts-sinon'; -import { AuthInfo, Connection, Org } from '../../../src/org'; +import { Org } from '../../../src/org/org'; +import { Connection } from '../../../src/org/connection'; +import { AuthInfo } from '../../../src/org/authInfo'; import { shouldThrow } from '../../../src/testSetup'; import { MyDomainResolver } from '../../../src/status/myDomainResolver'; import SettingsGenerator from '../../../src/org/scratchOrgSettingsGenerator'; diff --git a/test/unit/org/scratchOrgInfoGeneratorTest.ts b/test/unit/org/scratchOrgInfoGeneratorTest.ts index c096241125..e8c5d4f9b0 100644 --- a/test/unit/org/scratchOrgInfoGeneratorTest.ts +++ b/test/unit/org/scratchOrgInfoGeneratorTest.ts @@ -5,12 +5,13 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import * as fs from 'fs'; +import * as fs from 'node:fs'; import * as sinon from 'sinon'; import { expect } from 'chai'; import { stubMethod, stubInterface } from '@salesforce/ts-sinon'; -import { shouldThrow } from '../../../src/testSetup'; -import { Org, Connection } from '../../../src/org'; +import { MockTestOrgData, shouldThrow, TestContext } from '../../../src/testSetup'; +import { Org } from '../../../src/org/org'; +import { Connection } from '../../../src/org/connection'; import { ScratchOrgInfoPayload, getAncestorIds, @@ -28,12 +29,17 @@ Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/core', 'scratchOrgInfoGenerator'); describe('scratchOrgInfoGenerator', () => { + const $$ = new TestContext(); + describe('ancestorIds', () => { - const sandbox = sinon.createSandbox(); - beforeEach(() => { - stubMethod(sandbox, Org, 'create').resolves(Org.prototype); - stubMethod(sandbox, Org.prototype, 'getConnection').returns(Connection.prototype); - stubMethod(sandbox, Connection.prototype, 'singleRecordQuery') + const testData = new MockTestOrgData(); + + beforeEach(async () => { + await $$.stubAuths(testData); + + stubMethod($$.SANDBOX, Org, 'create').resolves(Org.prototype); + stubMethod($$.SANDBOX, Org.prototype, 'getConnection').returns(Connection.prototype); + stubMethod($$.SANDBOX, Connection.prototype, 'singleRecordQuery') .withArgs(`SELECT Id FROM Package2Version WHERE SubscriberPackageVersionId = '${packageVersionSubscriberId}'`, { tooling: true, }) @@ -55,64 +61,68 @@ describe('scratchOrgInfoGenerator', () => { ) .resolves({ Id: packageId, IsReleased: true }); }); - afterEach(() => { - sandbox.restore(); - }); - - after(() => { - sandbox.restore(); - }); describe('basic ids', () => { it('Should parse 05i ancestorId keys in sfdx-project.json', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageId }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: packageId, + default: true, + }, + ], + packageAliases: { alias: packageId }, }, }); expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); }); it('Should parse 04t ancestorId keys in sfdx-project.json', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageVersionSubscriberId }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: packageVersionSubscriberId, + default: true, + }, + ], + packageAliases: { alias: packageId }, }, }); expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); }); it('Should throw on a bad ID', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'ABC' }, - ], + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'ABC', default: true }, + ], + }, }); + try { await shouldThrow( getAncestorIds( { package2AncestorIds: 'foo' } as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ); @@ -121,27 +131,27 @@ describe('scratchOrgInfoGenerator', () => { } }); it('Should throw on a bad returned Id', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { - path: 'foo', - package: packageId, - versionNumber: '4.7.0.NEXT', - ancestorId: 'ABC', - ancestorVersion: '4.0.0.0', - }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: packageId, + versionNumber: '4.7.0.NEXT', + ancestorId: 'ABC', + ancestorVersion: '4.0.0.0', + default: true, + }, + ], + packageAliases: { alias: packageId }, }, }); + try { await shouldThrow( getAncestorIds( { ancestorId: 'foABCo' } as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ); @@ -153,21 +163,20 @@ describe('scratchOrgInfoGenerator', () => { describe('multiple ancestors', () => { it('Should merge duplicated ancestors', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageId }, - { path: 'bar', package: 'barPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageId }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageId, default: true }, + { path: 'bar', package: 'barPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageId }, + ], + packageAliases: { alias: packageId }, }, }); + expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); @@ -175,21 +184,26 @@ describe('scratchOrgInfoGenerator', () => { it('Should join multiple ancestors', async () => { const otherPackageId = packageId.replace('W', 'Q'); - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageId }, - { path: 'bar', package: 'barPkgName', versionNumber: '4.7.0.NEXT', ancestorId: otherPackageId }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: packageId, + default: true, + }, + { path: 'bar', package: 'barPkgName', versionNumber: '4.7.0.NEXT', ancestorId: otherPackageId }, + ], + packageAliases: { alias: packageId }, }, }); + expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(`${packageId};${otherPackageId}`); @@ -198,16 +212,25 @@ describe('scratchOrgInfoGenerator', () => { describe('unusual projects', () => { it('Should return an error if the package2AncestorIds key is included in the scratch org definition', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: packageVersionSubscriberId }, - ], + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: packageVersionSubscriberId, + default: true, + }, + ], + }, }); + try { await shouldThrow( getAncestorIds( { package2AncestorIds: 'foo' } as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ); @@ -218,27 +241,21 @@ describe('scratchOrgInfoGenerator', () => { } }); - it('Should not fail with an empty packageDirectories key', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [], - }); - expect( - await getAncestorIds( - {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, - await Org.create({}) - ) - ).to.equal(''); - }); - it('Should return empty string with no ancestors', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [{ path: 'foo', package: 'fooPkgName' }], + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + }, + ], + }, }); expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(''); @@ -247,43 +264,47 @@ describe('scratchOrgInfoGenerator', () => { describe('aliases as ancestorId', () => { it('Should resolve an alias', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'alias' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: 'alias', + default: true, + }, + ], + packageAliases: { alias: packageId }, }, }); expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); }); it('Should resolve an alias packageAliases is undefined', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'alias' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return undefined; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: 'alias', + default: true, + }, + ], }, }); + try { await shouldThrow( - getAncestorIds( - {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, - await Org.create({}) - ) + getAncestorIds({} as unknown as ScratchOrgInfoPayload, await SfProjectJson.create(), await Org.create({})) ); } catch (err) { expect(err).to.exist; @@ -291,21 +312,25 @@ describe('scratchOrgInfoGenerator', () => { }); it('Should throw on unresolvable alias', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'alias' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { notTheAlias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorId: 'alias', + default: true, + }, + ], + packageAliases: { notTheAlias: packageId }, }, }); try { await shouldThrow( getAncestorIds( { package2AncestorIds: 'foo' } as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ); @@ -317,23 +342,24 @@ describe('scratchOrgInfoGenerator', () => { describe('ancestorVersion', () => { it('Should throw on an invalid ancestorVersion', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorVersion: '5.0' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { alias: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorVersion: '5.0', + default: true, + }, + ], + packageAliases: { alias: packageId }, }, }); + try { await shouldThrow( - getAncestorIds( - {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, - await Org.create({}) - ) + getAncestorIds({} as unknown as ScratchOrgInfoPayload, await SfProjectJson.create(), await Org.create({})) ); } catch (err) { expect(err).to.exist; @@ -343,99 +369,110 @@ describe('scratchOrgInfoGenerator', () => { }); it('Should resolve an alias ancestor version', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorVersion: '4.0.0.0' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { fooPkgName: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorVersion: '4.0.0.0', + default: true, + }, + ], + packageAliases: { fooPkgName: packageId }, }, }); expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); }); it('Should resolve via HIGHEST ancestorVersion', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorVersion: 'HIGHEST' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { fooPkgName: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorVersion: 'HIGHEST', + default: true, + }, + ], + packageAliases: { fooPkgName: packageId }, }, }); + expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); }); it('Should resolve via NONE ancestorVersion', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorVersion: 'NONE' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { fooPkgName: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { + path: 'foo', + package: 'fooPkgName', + versionNumber: '4.7.0.NEXT', + ancestorVersion: 'NONE', + default: true, + }, + ], + packageAliases: { fooPkgName: packageId }, }, }); + expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(''); }); it('Should resolve via HIGHEST ancestorId', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'HIGHEST' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { fooPkgName: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'HIGHEST', default: true }, + ], + packageAliases: { fooPkgName: packageId }, }, }); + expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(packageId); }); it('Should resolve via NONE ancestorId', async () => { - const projectJson = stubInterface(sandbox, { - getPackageDirectories: () => [ - { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'NONE' }, - ], - get: (arg: string) => { - if (arg === 'packageAliases') { - return { fooPkgName: packageId }; - } + $$.setConfigStubContents('SfProjectJson', { + contents: { + packageDirectories: [ + { path: 'foo', package: 'fooPkgName', versionNumber: '4.7.0.NEXT', ancestorId: 'NONE', default: true }, + ], + packageAliases: { fooPkgName: packageId }, }, }); expect( await getAncestorIds( {} as unknown as ScratchOrgInfoPayload, - projectJson as unknown as SfProjectJson, + await SfProjectJson.create(), await Org.create({}) ) ).to.equal(''); @@ -561,113 +598,103 @@ describe('scratchOrgInfoGenerator', () => { }); describe('generateScratchOrgInfo', () => { - const sandbox = sinon.createSandbox(); - let getAuthInfoFieldsStub: sinon.SinonStub; - beforeEach(() => { - stubMethod(sandbox, Org, 'create').resolves(Org.prototype); - stubMethod(sandbox, Org.prototype, 'getConnection').returns(Connection.prototype); - getAuthInfoFieldsStub = stubMethod(sandbox, Connection.prototype, 'getAuthInfoFields').returns({ - clientId: '1234', + const testData = new MockTestOrgData(); + describe('with clientId', () => { + beforeEach(async () => { + await $$.stubAuths(testData); }); - stubMethod(sandbox, SfProjectJson, 'create').returns(SfProjectJson.prototype); - }); - - afterEach(() => { - sandbox.restore(); - }); - after(() => { - sandbox.restore(); - }); - it('Generates empty package2AncestorIds scratch org property', async () => { - expect( - await generateScratchOrgInfo({ - hubOrg: await Org.create({}), - scratchOrgInfoPayload: {} as ScratchOrgInfoPayload, - nonamespace: false, - ignoreAncestorIds: false, - }) - ).to.deep.equal({ - orgName: 'Company', - package2AncestorIds: '', - connectedAppConsumerKey: '1234', - connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + it('Generates empty package2AncestorIds scratch org property', async () => { + expect( + await generateScratchOrgInfo({ + hubOrg: await Org.create({ aliasOrUsername: testData.username }), + scratchOrgInfoPayload: {} as ScratchOrgInfoPayload, + nonamespace: false, + ignoreAncestorIds: false, + }) + ).to.deep.equal({ + orgName: 'Company', + package2AncestorIds: '', + connectedAppConsumerKey: testData.clientId, + connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + }); }); - }); - it('Generates empty package2AncestorIds scratch org property with hasPackages', async () => { - stubMethod(sandbox, SfProjectJson.prototype, 'hasPackages').returns(true); - stubMethod(sandbox, SfProjectJson.prototype, 'isGlobal').returns(true); - expect( - await generateScratchOrgInfo({ - hubOrg: await Org.create({}), - scratchOrgInfoPayload: {} as ScratchOrgInfoPayload, - nonamespace: false, - ignoreAncestorIds: false, - }) - ).to.deep.equal({ - orgName: 'Company', - package2AncestorIds: '', - connectedAppConsumerKey: '1234', - connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + it('Generates empty package2AncestorIds scratch org property with hasPackages', async () => { + // stubMethod(sandbox, SfProjectJson.prototype, 'hasPackages').returns(true); + // stubMethod(sandbox, SfProjectJson.prototype, 'isGlobal').returns(true); + expect( + await generateScratchOrgInfo({ + hubOrg: await Org.create({ aliasOrUsername: testData.username }), + scratchOrgInfoPayload: {} as ScratchOrgInfoPayload, + nonamespace: false, + ignoreAncestorIds: false, + }) + ).to.deep.equal({ + orgName: 'Company', + package2AncestorIds: '', + connectedAppConsumerKey: testData.clientId, + connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + }); }); - }); - it('Generates the package2AncestorIds scratch org property with ignoreAncestorIds', async () => { - expect( - await generateScratchOrgInfo({ - hubOrg: await Org.create({}), - scratchOrgInfoPayload: {} as ScratchOrgInfoPayload, - nonamespace: false, - ignoreAncestorIds: true, - }) - ).to.deep.equal({ - orgName: 'Company', - package2AncestorIds: '', - connectedAppConsumerKey: '1234', - connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + it('Generates the package2AncestorIds scratch org property with ignoreAncestorIds', async () => { + expect( + await generateScratchOrgInfo({ + hubOrg: await Org.create({ aliasOrUsername: testData.username }), + scratchOrgInfoPayload: {} as ScratchOrgInfoPayload, + nonamespace: false, + ignoreAncestorIds: true, + }) + ).to.deep.equal({ + orgName: 'Company', + package2AncestorIds: '', + connectedAppConsumerKey: testData.clientId, + connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + }); }); }); - it('Generates the package2AncestorIds scratch org property with ignoreAncestorIds no clientId with connectedAppConsumerKey', async () => { - getAuthInfoFieldsStub.restore(); - stubMethod(sandbox, Connection.prototype, 'getAuthInfoFields').returns({ - clientId: undefined, + describe('no client id', () => { + const orgWithoutClientId = new MockTestOrgData(); + // @ts-expect-error - cannot assign undefined to string + orgWithoutClientId.clientId = undefined; + beforeEach(async () => { + // $$.restore(); + await $$.stubAuths(orgWithoutClientId); }); - expect( - await generateScratchOrgInfo({ - hubOrg: await Org.create({}), - scratchOrgInfoPayload: { - connectedAppConsumerKey: '1234', - } as ScratchOrgInfoPayload, - nonamespace: false, - ignoreAncestorIds: true, - }) - ).to.deep.equal({ - orgName: 'Company', - package2AncestorIds: '', - connectedAppConsumerKey: '1234', - connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', - }); - }); - it('Generates the package2AncestorIds scratch org property with ignoreAncestorIds no clientId with no connectedAppConsumerKey and orgName', async () => { - getAuthInfoFieldsStub.restore(); - stubMethod(sandbox, Connection.prototype, 'getAuthInfoFields').returns({ - clientId: undefined, + it('Generates the package2AncestorIds scratch org property with ignoreAncestorIds no clientId with connectedAppConsumerKey', async () => { + expect( + await generateScratchOrgInfo({ + hubOrg: await Org.create({ aliasOrUsername: orgWithoutClientId.username }), + scratchOrgInfoPayload: { + connectedAppConsumerKey: orgWithoutClientId.clientId, + } as ScratchOrgInfoPayload, + nonamespace: false, + ignoreAncestorIds: true, + }) + ).to.deep.equal({ + orgName: 'Company', + package2AncestorIds: '', + connectedAppConsumerKey: 'PlatformCLI', + connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + }); }); - expect( - await generateScratchOrgInfo({ - hubOrg: await Org.create({}), - scratchOrgInfoPayload: { - orgName: 'MyOrgName', - // @ts-expect-error - cannot assign undefined to string - connectedAppConsumerKey: undefined, - }, - nonamespace: false, - ignoreAncestorIds: true, - }) - ).to.deep.equal({ - orgName: 'MyOrgName', - package2AncestorIds: '', - connectedAppConsumerKey: 'PlatformCLI', - connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + it('Generates the package2AncestorIds scratch org property with ignoreAncestorIds no clientId with no connectedAppConsumerKey and orgName', async () => { + expect( + await generateScratchOrgInfo({ + hubOrg: await Org.create({ aliasOrUsername: testData.username }), + scratchOrgInfoPayload: { + orgName: 'MyOrgName', + // @ts-expect-error - cannot assign undefined to string + connectedAppConsumerKey: undefined, + }, + nonamespace: false, + ignoreAncestorIds: true, + }) + ).to.deep.equal({ + orgName: 'MyOrgName', + package2AncestorIds: '', + connectedAppConsumerKey: 'PlatformCLI', + connectedAppCallbackUrl: 'http://localhost:1717/OauthRedirect', + }); }); }); }); diff --git a/test/unit/org/scratchOrgSettingsGeneratorTest.ts b/test/unit/org/scratchOrgSettingsGeneratorTest.ts index f198fe9b60..9d137f5080 100644 --- a/test/unit/org/scratchOrgSettingsGeneratorTest.ts +++ b/test/unit/org/scratchOrgSettingsGeneratorTest.ts @@ -5,10 +5,11 @@ * 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 * as path from 'node:path'; import * as sinon from 'sinon'; import { expect } from 'chai'; -import { Org, Connection } from '../../../src/org'; +import { Org } from '../../../src/org/org'; +import { Connection } from '../../../src/org/connection'; import { validateApiVersion } from '../../../src/util/sfdc'; import { ZipWriter } from '../../../src/util/zipWriter'; import { ScratchOrgInfo } from '../../../src/org/scratchOrgTypes'; diff --git a/test/unit/org/userTest.ts b/test/unit/org/userTest.ts index 9ebd4c1a94..22b7a36cb4 100644 --- a/test/unit/org/userTest.ts +++ b/test/unit/org/userTest.ts @@ -9,7 +9,11 @@ import { AnyJson, isString } from '@salesforce/ts-types'; import { expect } from 'chai'; import { SecureBuffer } from '../../../src/crypto/secureBuffer'; import { MockTestOrgData, shouldThrow, shouldThrowSync, TestContext } from '../../../src/testSetup'; -import { DefaultUserFields, User, PermissionSetAssignment, Org, Connection, AuthInfo } from '../../../src/org'; +import { Org } from '../../../src/org/org'; +import { DefaultUserFields, User } from '../../../src/org/user'; +import { AuthInfo } from '../../../src/org/authInfo'; +import { Connection } from '../../../src/org/connection'; +import { PermissionSetAssignment } from '../../../src/org/permissionSetAssignment'; describe('User Tests', () => { const $$ = new TestContext(); diff --git a/test/unit/projectTest.ts b/test/unit/projectTest.ts index a483aa7516..24a7abe4d7 100644 --- a/test/unit/projectTest.ts +++ b/test/unit/projectTest.ts @@ -7,7 +7,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-call */ -import { join, sep } from 'path'; +import { join, sep } from 'node:path'; import { expect } from 'chai'; import { env } from '@salesforce/kit'; @@ -28,7 +28,8 @@ describe('SfProject', () => { describe('json', () => { it('allows uppercase packaging aliases on write', async () => { const json = await SfProjectJson.create(); - await json.write({ packageAliases: { MyName: 'somePackage' } }); + json.set('packageAliases', { MyName: 'somePackage' }); + await json.write(); // @ts-expect-error possibly undefined expect($$.getConfigStubContents('SfProjectJson').packageAliases['MyName']).to.equal('somePackage'); }); @@ -309,14 +310,14 @@ describe('SfProject', () => { const read = async function () { // @ts-expect-error this is any if (this.isGlobal()) { - return { 'org-api-version': 38.0 }; + return { 'org-api-version': '38.0' }; } else { - return { 'org-api-version': 39.0 }; + return { 'org-api-version': '39.0' }; } }; $$.configStubs.SfProjectJson = { retrieveContents: read }; $$.configStubs.Config = { - contents: { 'org-api-version': 40.0, 'org-instance-url': 'https://usethis.my.salesforce.com' }, + contents: { 'org-api-version': '40.0', 'org-instance-url': 'https://usethis.my.salesforce.com' }, }; const project = await SfProject.resolve(); const config = await project.resolveProjectConfig(); @@ -326,14 +327,14 @@ describe('SfProject', () => { const read = async function () { // @ts-expect-error this is any if (this.isGlobal()) { - return { 'org-api-version': 38.0, sfdcLoginUrl: 'https://fromfiles.com' }; + return { 'org-api-version': '38.0', sfdcLoginUrl: 'https://fromfiles.com' }; } else { - return { 'org-api-version': 39.0, sfdcLoginUrl: 'https://fromfiles.com' }; + return { 'org-api-version': '39.0', sfdcLoginUrl: 'https://fromfiles.com' }; } }; $$.configStubs.SfProjectJson = { retrieveContents: read }; $$.configStubs.Config = { - contents: { 'org-api-version': 40.0, 'org-instance-url': 'https://dontusethis.my.salesforce.com' }, + contents: { 'org-api-version': '40.0', 'org-instance-url': 'https://dontusethis.my.salesforce.com' }, }; const project = await SfProject.resolve(); const config = await project.resolveProjectConfig(); @@ -343,16 +344,16 @@ describe('SfProject', () => { const read = async function () { // @ts-expect-error this is any if (this.isGlobal()) { - return { 'org-api-version': 38.0 }; + return { 'org-api-version': '38.0' }; } else { - return { 'org-api-version': 39.0 }; + return { 'org-api-version': '39.0' }; } }; $$.configStubs.SfProjectJson = { retrieveContents: read }; - $$.configStubs.Config = { contents: { 'org-api-version': 40.0 } }; + $$.configStubs.Config = { contents: { 'org-api-version': '40.0' } }; const project = await SfProject.resolve(); const config = await project.resolveProjectConfig(); - expect(config['org-api-version']).to.equal(40.0); + expect(config['org-api-version']).to.equal('40.0'); }); }); diff --git a/test/unit/schema/validatorTest.ts b/test/unit/schema/validatorTest.ts index 2ad950ce85..4730efffe9 100644 --- a/test/unit/schema/validatorTest.ts +++ b/test/unit/schema/validatorTest.ts @@ -4,8 +4,8 @@ * 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 fs from 'fs'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { AnyJson, isJsonMap, JsonCollection, JsonMap } from '@salesforce/ts-types'; import { expect } from 'chai'; import * as sinon from 'sinon'; diff --git a/test/unit/stateAggregator/accessors/aliasAccessorTest.ts b/test/unit/stateAggregator/accessors/aliasAccessorTest.ts index 77629f7da2..b6ba320930 100644 --- a/test/unit/stateAggregator/accessors/aliasAccessorTest.ts +++ b/test/unit/stateAggregator/accessors/aliasAccessorTest.ts @@ -9,9 +9,11 @@ import { existsSync } from 'node:fs'; import { rm } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { expect } from 'chai'; -import { FILENAME, StateAggregator } from '../../../../src/stateAggregator'; -import { MockTestOrgData, TestContext, uniqid } from '../../../../src/testSetup'; +import { StateAggregator } from '../../../../src/stateAggregator/stateAggregator'; +import { FILENAME } from '../../../../src/stateAggregator/accessors/aliasAccessor'; +import { MockTestOrgData, TestContext } from '../../../../src/testSetup'; import { Global } from '../../../../src/global'; +import { uniqid } from '../../../../src/util/uniqid'; const username1 = 'espresso@coffee.com'; const username2 = 'foobar@salesforce.com'; @@ -19,7 +21,6 @@ const alias1 = 'MyAlias'; const alias2 = 'MyOtherAlias'; const alias3 = 'MyThirdAlias'; const org = new MockTestOrgData(uniqid(), { username: username1 }); -const token = { token: '123', url: 'https://login.salesforce.com', user: username1 }; describe('AliasAccessor', () => { const $$ = new TestContext(); @@ -31,10 +32,6 @@ describe('AliasAccessor', () => { [alias3]: username1, }); - $$.setConfigStubContents('TokensConfig', { - contents: { [username1]: token }, - }); - await $$.stubAuths(org); }); @@ -120,13 +117,6 @@ describe('AliasAccessor', () => { const aliases = stateAggregator.aliases.getAll(org.username); expect(aliases).to.include('foobar'); }); - - it('should set an alias for a token', async () => { - const stateAggregator = await StateAggregator.getInstance(); - stateAggregator.aliases.set('foobar', token); - const aliases = stateAggregator.aliases.getAll(token.user); - expect(aliases).to.include('foobar'); - }); }); describe('setAndSave', () => { @@ -149,13 +139,6 @@ describe('AliasAccessor', () => { const aliases = stateAggregator.aliases.getAll(org.username); expect(aliases).to.include('foobar'); }); - - it('should set an alias for a token', async () => { - const stateAggregator = await StateAggregator.getInstance(); - await stateAggregator.aliases.setAndSave('foobar', token); - const aliases = stateAggregator.aliases.getAll(token.user); - expect(aliases).to.include('foobar'); - }); }); describe('unsetAll', () => { diff --git a/test/unit/stateAggregator/accessors/orgAccessorTest.ts b/test/unit/stateAggregator/accessors/orgAccessorTest.ts index 9e2c62aea6..37fd5c9a9a 100644 --- a/test/unit/stateAggregator/accessors/orgAccessorTest.ts +++ b/test/unit/stateAggregator/accessors/orgAccessorTest.ts @@ -5,9 +5,10 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { expect } from 'chai'; -import { StateAggregator } from '../../../../src/stateAggregator'; -import { AuthFields } from '../../../../src/org'; -import { MockTestOrgData, shouldThrowSync, TestContext, uniqid } from '../../../../src/testSetup'; +import { StateAggregator } from '../../../../src/stateAggregator/stateAggregator'; +import { AuthFields } from '../../../../src/org/authInfo'; +import { MockTestOrgData, shouldThrowSync, TestContext } from '../../../../src/testSetup'; +import { uniqid } from '../../../../src/util/uniqid'; const username = 'espresso@coffee.com'; const org = new MockTestOrgData(uniqid(), { username }); diff --git a/test/unit/stateAggregator/accessors/sandboxAccessorTest.ts b/test/unit/stateAggregator/accessors/sandboxAccessorTest.ts index 8e10047a78..da39794513 100644 --- a/test/unit/stateAggregator/accessors/sandboxAccessorTest.ts +++ b/test/unit/stateAggregator/accessors/sandboxAccessorTest.ts @@ -5,8 +5,9 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { expect } from 'chai'; -import { StateAggregator } from '../../../../src/stateAggregator'; -import { MockTestOrgData, MockTestSandboxData, TestContext, uniqid } from '../../../../src/testSetup'; +import { StateAggregator } from '../../../../src/stateAggregator/stateAggregator'; +import { MockTestOrgData, MockTestSandboxData, TestContext } from '../../../../src/testSetup'; +import { uniqid } from '../../../../src/util/uniqid'; const sandboxUsername = 'espresso@coffee.com.mysandbox'; const prodOrgUsername = 'espresso@coffee.com'; diff --git a/test/unit/stateAggregator/accessors/tokenAccessorTest.ts b/test/unit/stateAggregator/accessors/tokenAccessorTest.ts deleted file mode 100644 index abcde580c2..0000000000 --- a/test/unit/stateAggregator/accessors/tokenAccessorTest.ts +++ /dev/null @@ -1,93 +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 { expect } from 'chai'; -import { StateAggregator } from '../../../../src/stateAggregator'; -import { MockTestOrgData, TestContext, uniqid } from '../../../../src/testSetup'; - -const username = 'espresso@coffee.com'; -const alias = 'MyAlias'; -const org = new MockTestOrgData(uniqid(), { username }); -const token = { token: '123', url: 'https://login.salesforce.com', user: username }; - -describe('TokenAccessor', () => { - const $$ = new TestContext(); - - beforeEach(async () => { - $$.stubAliases({ [alias]: username }); - - $$.setConfigStubContents('TokensConfig', { - contents: { [username]: token }, - }); - - await $$.stubAuths(org); - }); - - describe('getAll', () => { - it('should return all the tokens', async () => { - const stateAggregator = await StateAggregator.getInstance(); - const tokens = stateAggregator.tokens.getAll(); - expect(tokens).to.deep.equal({ [username]: token }); - }); - }); - - describe('get', () => { - it('should return token that corresponds to a username', async () => { - const stateAggregator = await StateAggregator.getInstance(); - const result = stateAggregator.tokens.get(username); - expect(result).to.deep.equal(token); - }); - }); - - describe('has', () => { - it('should return true if token exists', async () => { - const stateAggregator = await StateAggregator.getInstance(); - const result = stateAggregator.tokens.has(username); - expect(result).to.deep.equal(true); - }); - - it('should return false if token does not exist', async () => { - const stateAggregator = await StateAggregator.getInstance(); - const result = stateAggregator.tokens.has('DOES_NOT_EXIST'); - expect(result).to.deep.equal(false); - }); - }); - - describe('set', () => { - it('should set the token', async () => { - const stateAggregator = await StateAggregator.getInstance(); - const newToken = { - username: 'foobar@baz.com', - token: '123', - url: 'https://login.salesforce.com', - timestamp: new Date().toISOString(), - }; - stateAggregator.tokens.set('foobar@baz.com', newToken); - const result = stateAggregator.tokens.has('foobar@baz.com'); - expect(result).to.be.true; - }); - }); - - describe('update', () => { - it('should update the token', async () => { - const stateAggregator = await StateAggregator.getInstance(); - const instanceUrl = 'https://login.salesforce.com'; - const newToken = { ...token, instanceUrl }; - stateAggregator.tokens.update(username, newToken); - const result = stateAggregator.tokens.get(username); - expect(result?.instanceUrl).to.deep.equal(instanceUrl); - }); - }); - - describe('unset', () => { - it('should remove the token', async () => { - const stateAggregator = await StateAggregator.getInstance(); - stateAggregator.tokens.unset(username); - const result = stateAggregator.tokens.get(username); - expect(result).to.be.undefined; - }); - }); -}); diff --git a/test/unit/status/myDomainResolverTest.ts b/test/unit/status/myDomainResolverTest.ts index e9ac414ba8..c381323221 100644 --- a/test/unit/status/myDomainResolverTest.ts +++ b/test/unit/status/myDomainResolverTest.ts @@ -4,8 +4,8 @@ * 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 dns from 'dns'; -import { URL } from 'url'; +import * as dns from 'node:dns'; +import { URL } from 'node:url'; import { Duration, Env } from '@salesforce/kit'; import { AnyFunction } from '@salesforce/ts-types'; import { expect } from 'chai'; diff --git a/test/unit/status/streamingClientTest.ts b/test/unit/status/streamingClientTest.ts index 1ba42851b1..2b9890cd79 100644 --- a/test/unit/status/streamingClientTest.ts +++ b/test/unit/status/streamingClientTest.ts @@ -10,7 +10,7 @@ import { SinonSpyCall } from 'sinon'; import { Duration } from '@salesforce/kit'; import { get, JsonMap } from '@salesforce/ts-types'; import { CometClient, StatusResult, StreamingClient } from '../../../src/status/streamingClient'; -import { Connection } from '../../../src/org'; +import { Connection } from '../../../src/org/connection'; // import { Crypto } from '../../../src/crypto/crypto'; import { Org } from '../../../src/org/org'; import { SfError } from '../../../src/sfError'; diff --git a/test/unit/testSetupTest.ts b/test/unit/testSetupTest.ts index b7912c41a5..22ec49fd43 100644 --- a/test/unit/testSetupTest.ts +++ b/test/unit/testSetupTest.ts @@ -5,7 +5,8 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { expect } from 'chai'; -import { uniqid } from '../../src/testSetup'; +import { uniqid } from '../../src/util/uniqid'; + describe('testSetup', () => { describe('uniqueId', () => { it('should return a unique id of default length of 32', () => { diff --git a/test/unit/util/directoryWriterTest.ts b/test/unit/util/directoryWriterTest.ts index 1d4a8bda23..5af625ca92 100644 --- a/test/unit/util/directoryWriterTest.ts +++ b/test/unit/util/directoryWriterTest.ts @@ -4,10 +4,10 @@ * 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 * as fs from 'fs'; -import * as path from 'path'; -import { Readable } from 'stream'; +import * as os from 'node:os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { Readable } from 'node:stream'; import * as chai from 'chai'; import * as chaiString from 'chai-string'; import { DirectoryWriter } from '../../../src/util/directoryWriter'; diff --git a/test/unit/util/findUppercaseKeysTest.ts b/test/unit/util/findUppercaseKeysTest.ts new file mode 100644 index 0000000000..27b91a7d6b --- /dev/null +++ b/test/unit/util/findUppercaseKeysTest.ts @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2023, 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 { expect } from 'chai'; +import { findUpperCaseKeys } from '../../../src/util/findUppercaseKeys'; + +describe('findUpperCaseKeys', () => { + it('should return the first upper case key', () => { + const testObj = { + lowercase: true, + UpperCase: false, + nested: { camelCase: true }, + }; + expect(findUpperCaseKeys(testObj)).to.equal('UpperCase'); + }); + + it('should return the first nested upper case key', () => { + const testObj = { + lowercase: true, + uppercase: false, + nested: { NestedUpperCase: true }, + }; + expect(findUpperCaseKeys(testObj)).to.equal('NestedUpperCase'); + }); + + it('should return undefined when no upper case key is found', () => { + const testObj = { + lowercase: true, + uppercase: false, + nested: { camelCase: true }, + }; + expect(findUpperCaseKeys(testObj)).to.be.undefined; + }); + + it('should return the first nested upper case key unless blocklisted', () => { + const testObj = { + lowercase: true, + uppercase: false, + nested: { NestedUpperCase: true }, + }; + expect(findUpperCaseKeys(testObj, ['nested'])).to.equal(undefined); + }); + + it('handles keys starting with numbers', () => { + const testObj = { + '1abc': true, + Abc: false, + nested: { '2abc': true }, + }; + expect(findUpperCaseKeys(testObj)).to.equal('Abc'); + }); + it('handles keys starting with numbers', () => { + const testObj = { + '1abc': true, + nested: { '2abc': true, Upper: false }, + }; + expect(findUpperCaseKeys(testObj)).to.equal('Upper'); + }); +}); diff --git a/test/unit/util/jsonXmlToolsTest.ts b/test/unit/util/jsonXmlToolsTest.ts deleted file mode 100644 index d30bbae6ba..0000000000 --- a/test/unit/util/jsonXmlToolsTest.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2021, 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 { promises as fs } from 'fs'; -import { expect } from 'chai'; -import { SinonStub } from 'sinon'; -import { stubMethod } from '@salesforce/ts-sinon'; -import { shouldThrow, TestContext } from '../../../src/testSetup'; -import { writeJSONasXML, fixExistingDollarSign } from '../../../src/util/jsonXmlTools'; - -const XML_PATH = '/tmp/myXml.xml'; -const TEST_JSON = { - name: 'Anna', - address: 'Ocean Drive 101', - phone: 123456789, - alias: ['Anita', 'Anny'], - cars: { - primary: { - brand: 'Honda', - model: 'Civic', - year: '2016', - }, - }, -}; -const TEST_XML = - '\n\n Anna\n

Ocean Drive 101
\n 123456789\n Anita\n Anny\n \n \n Honda\n Civic\n 2016\n \n \n'; -const DOLLARSIGN_OBJECT = { - $: 'value', -}; - -describe('jsonXmlTools', () => { - const $$ = new TestContext(); - - let fsWriteFileStub: SinonStub; - beforeEach(() => { - fsWriteFileStub = stubMethod($$.SANDBOX, fs, 'writeFile').callsFake((fsPath, xml) => { - expect(fsPath).to.be.a('string').and.to.have.length.greaterThan(0).and.to.be.equal(XML_PATH); - expect(xml).to.be.a('string').and.to.have.length.greaterThan(0); - return Promise.resolve(); - }); - }); - - afterEach(() => { - $$.SANDBOX.restore(); - }); - - it('writes json as xml', async () => { - const result = await writeJSONasXML({ - path: XML_PATH, - type: 'RecordType', - json: TEST_JSON, - }); - expect(fsWriteFileStub.callCount).to.be.equal(1); - expect(fsWriteFileStub.firstCall.args[1]).to.equal(TEST_XML); - // undefined means write operation succeeded https://nodejs.org/api/fs.html#fs_fspromises_writefile_file_data_options - expect(result).to.be.undefined; - }); - - it('fails to write json as xml but fails', async () => { - fsWriteFileStub.restore(); - fsWriteFileStub = stubMethod($$.SANDBOX, fs, 'writeFile').rejects(); - try { - // create() calls read() which calls schemaValidate() - await shouldThrow( - writeJSONasXML({ - path: XML_PATH, - type: 'RecordType', - json: TEST_JSON, - }) - ); - } catch (e) { - const error = e as Error; - expect(error.name).to.equal('Error'); - expect(error.message).to.equal('Error'); - } - }); -}); - -describe('fixExistingDollarSign', () => { - it('fixes existing dollar sing key in object', () => { - const result = fixExistingDollarSign(DOLLARSIGN_OBJECT); - expect(result).to.deep.equal({ - '@': 'value', - }); - }); -}); diff --git a/test/unit/util/sfdcTest.ts b/test/unit/util/sfdcTest.ts index 07724f0fde..205049032a 100644 --- a/test/unit/util/sfdcTest.ts +++ b/test/unit/util/sfdcTest.ts @@ -6,7 +6,6 @@ */ import { expect } from 'chai'; import { - findUpperCaseKeys, matchesAccessToken, trimTo15, validateApiVersion, @@ -103,60 +102,6 @@ describe('util/sfdc', () => { }); }); - describe('findUpperCaseKeys', () => { - it('should return the first upper case key', () => { - const testObj = { - lowercase: true, - UpperCase: false, - nested: { camelCase: true }, - }; - expect(findUpperCaseKeys(testObj)).to.equal('UpperCase'); - }); - - it('should return the first nested upper case key', () => { - const testObj = { - lowercase: true, - uppercase: false, - nested: { NestedUpperCase: true }, - }; - expect(findUpperCaseKeys(testObj)).to.equal('NestedUpperCase'); - }); - - it('should return undefined when no upper case key is found', () => { - const testObj = { - lowercase: true, - uppercase: false, - nested: { camelCase: true }, - }; - expect(findUpperCaseKeys(testObj)).to.be.undefined; - }); - - it('should return the first nested upper case key unless blocklisted', () => { - const testObj = { - lowercase: true, - uppercase: false, - nested: { NestedUpperCase: true }, - }; - expect(findUpperCaseKeys(testObj, ['nested'])).to.equal(undefined); - }); - - it('handles keys starting with numbers', () => { - const testObj = { - '1abc': true, - Abc: false, - nested: { '2abc': true }, - }; - expect(findUpperCaseKeys(testObj)).to.equal('Abc'); - }); - it('handles keys starting with numbers', () => { - const testObj = { - '1abc': true, - nested: { '2abc': true, Upper: false }, - }; - expect(findUpperCaseKeys(testObj)).to.equal('Upper'); - }); - }); - describe('matchesAccessToken', () => { it('should return true for a valid access token', () => { expect( diff --git a/test/unit/util/zipWriterTest.ts b/test/unit/util/zipWriterTest.ts index 4ff6fe4821..94427b834e 100644 --- a/test/unit/util/zipWriterTest.ts +++ b/test/unit/util/zipWriterTest.ts @@ -4,9 +4,9 @@ * 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 * as fs from 'fs'; -import * as path from 'path'; +import * as os from 'node:os'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; import { expect } from 'chai'; import * as sinon from 'sinon'; import * as JSZip from 'jszip'; diff --git a/test/unit/webOauthServerTest.ts b/test/unit/webOauthServerTest.ts index f193cf08e8..4f2749e996 100644 --- a/test/unit/webOauthServerTest.ts +++ b/test/unit/webOauthServerTest.ts @@ -6,7 +6,7 @@ */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import * as http from 'http'; +import * as http from 'node:http'; import { expect } from 'chai'; import { assert } from '@salesforce/ts-types'; diff --git a/typedocExamples/orgExamples.ts b/typedocExamples/orgExamples.ts index 2879f5f6ad..1e7f911af2 100644 --- a/typedocExamples/orgExamples.ts +++ b/typedocExamples/orgExamples.ts @@ -1,6 +1,6 @@ import { AuthInfo } from '../src/org/authInfo'; import { Connection } from '../src/org/connection'; -import { Org } from '../src/org'; +import { Org } from '../src/org/org'; // tslint:disable export const orgExamples = { diff --git a/typedocExamples/status/streamingClientExamples.ts b/typedocExamples/status/streamingClientExamples.ts index 72efabc54c..adf18da5f5 100644 --- a/typedocExamples/status/streamingClientExamples.ts +++ b/typedocExamples/status/streamingClientExamples.ts @@ -1,5 +1,5 @@ import { ensureJsonMap, ensureString, JsonCollection, JsonMap } from '@salesforce/ts-types'; -import { Org } from '../../src/org'; +import { Org } from '../../src/org/org'; import { StreamingClient, StatusResult } from '../../src/status/streamingClient'; import { HttpRequest } from 'jsforce'; diff --git a/typedocExamples/userExamples.ts b/typedocExamples/userExamples.ts index dc6545d938..05c6cb2c7e 100644 --- a/typedocExamples/userExamples.ts +++ b/typedocExamples/userExamples.ts @@ -1,5 +1,5 @@ import { DefaultUserFields, User, UserFields } from '../src/org/user'; -import { Org } from '../src/org'; +import { Org } from '../src/org/org'; import { Connection } from '../src/org/connection'; import { AuthInfo } from '../src/org/authInfo'; diff --git a/yarn.lock b/yarn.lock index 9f3a32c926..e71b60a4b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,10 +122,10 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== "@babel/helper-validator-option@^7.18.6": version "7.18.6" @@ -156,19 +156,19 @@ integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== "@babel/runtime-corejs3@^7.12.5": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.19.1.tgz#f0cbbe7edda7c4109cd253bb1dee99aba4594ad9" - integrity sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz#a5cd9d8b408fb946b2f074b21ea40c04e516795c" + integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.4" + core-js-pure "^3.30.2" + regenerator-runtime "^0.14.0" "@babel/runtime@^7.12.5": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.14.0" "@babel/template@^7.18.6": version "7.18.6" @@ -371,26 +371,26 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@es-joy/jsdoccomment@~0.38.0": - version "0.38.0" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.38.0.tgz#2e74f8d824b4a4ec831eaabd4c3548fb11eae5cd" - integrity sha512-TFac4Bnv0ZYNkEeDnOWHQhaS1elWlvOCQxH06iHeu5iffs+hCaLVIZJwF+FqksQi68R4i66Pu+4DfFGvble+Uw== +"@es-joy/jsdoccomment@~0.40.1": + version "0.40.1" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz#13acd77fb372ed1c83b7355edd865a3b370c9ec4" + integrity sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg== dependencies: - comment-parser "1.3.1" + comment-parser "1.4.0" esquery "^1.5.0" jsdoc-type-pratt-parser "~4.0.0" -"@eslint-community/eslint-utils@^4.2.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz#a556790523a351b4e47e9d385f47265eaaf9780a" - integrity sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA== +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.6.2" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" - integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== "@eslint/eslintrc@^2.1.3": version "2.1.3" @@ -516,49 +516,41 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@salesforce/dev-config@^4.0.1", "@salesforce/dev-config@^4.1.0": +"@salesforce/dev-config@^4.0.1": version "4.1.0" resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.1.0.tgz#e529576466d074e7a5f1441236510fef123da01e" integrity sha512-2iDDepiIwjXHS5IVY7pwv8jMo4xWosJ7p/UTj+lllpB/gnJiYLhjJPE4Z3FCGFKyvfg5jGaimCd8Ca6bLGsCQA== -"@salesforce/dev-scripts@^5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-5.4.2.tgz#77aacf9a4743fe951d9de9cbc9524a70bb46054e" - integrity sha512-D54yF+NDDa+50A28YyvG8aO5t3tIMIIZ7Q+ewWmUXdpFhqUfwq1k6/Y2tZy+rE9Z8fwWB2DQSD9dhaZavxOgrw== +"@salesforce/dev-scripts@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-6.0.3.tgz#6cf4504fd0ec8b4685e729b26685eed60f9c8b26" + integrity sha512-WLl1N07oNeRywdypwUrebX/kCkSm3IzmAQpUt4q4Sk8r4vTWv5b6F0pHLv0pGS8/QWNJT7xWGZDF1lgJBHOsmA== dependencies: "@commitlint/cli" "^17.1.2" "@commitlint/config-conventional" "^17.1.0" "@salesforce/dev-config" "^4.0.1" "@salesforce/prettier-config" "^0.0.3" "@types/chai" "^4.2.11" - "@types/mocha" "^9.0.0" - "@types/node" "^15.6.1" - "@types/sinon" "10.0.11" - chai "^4.3.7" + "@types/mocha" "^10.0.3" + "@types/node" "^18" + "@types/sinon" "^10.0.20" + chai "^4.3.10" chalk "^4.0.0" cosmiconfig "^7.0.0" - eslint "^8.41.0" - eslint-config-prettier "^8.8.0" - eslint-config-salesforce "^2.0.1" - eslint-config-salesforce-license "^0.2.0" - eslint-config-salesforce-typescript "^1.1.1" - eslint-plugin-header "^3.1.1" - eslint-plugin-import "^2.27.5" - eslint-plugin-jsdoc "^43.0.5" - eslint-plugin-prefer-arrow "^1.2.1" + eslint-config-salesforce-typescript "^3.0.1" husky "^7.0.4" - mocha "^9.1.3" + mocha "^10.2.0" nyc "^15.1.0" - prettier "^2.7.1" + prettier "^2.8.8" pretty-quick "^3.1.0" shelljs "~0.8.4" sinon "10.0.0" source-map-support "~0.5.19" - ts-node "^10.0.0" + ts-node "^10.9.1" typedoc "0.23.16" typedoc-plugin-missing-exports "0.23.0" typescript "^4.9.5" - wireit "^0.9.5" + wireit "^0.14.1" "@salesforce/kit@^3.0.15": version "3.0.15" @@ -601,13 +593,6 @@ dependencies: type-detect "4.0.8" -"@sinonjs/commons@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" - integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== - dependencies: - type-detect "4.0.8" - "@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" @@ -615,20 +600,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@sinonjs/fake-timers@^7.0.4": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" - integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== - dependencies: - "@sinonjs/commons" "^1.7.0" - "@sinonjs/formatio@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" @@ -662,15 +633,6 @@ lodash.get "^4.4.2" type-detect "^4.0.8" -"@sinonjs/samsam@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-7.0.1.tgz#5b5fa31c554636f78308439d220986b9523fc51f" - integrity sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw== - dependencies: - "@sinonjs/commons" "^2.0.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" - "@sinonjs/text-encoding@^0.7.1": version "0.7.1" resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" @@ -713,18 +675,10 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.1.tgz#e2c6e73e0bdeb2521d00756d099218e9f5d90a04" integrity sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ== -"@types/glob@~7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@types/json-schema@^7.0.12": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" @@ -738,12 +692,7 @@ dependencies: "@types/node" "*" -"@types/lodash@^4.14.201": - version "4.14.201" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.201.tgz#76f47cb63124e806824b6c18463daf3e1d480239" - integrity sha512-y9euML0cim1JrykNxADLfaG0FgD1g/yTHwUs/Jg9ZIU7WKj2/4IW9Lbb1WZbvck78W/lfGXFfe+u2EGfIJXdLQ== - -"@types/minimatch@*", "@types/minimatch@^3.0.3": +"@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== @@ -753,26 +702,23 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/mocha@^9.0.0": - version "9.1.1" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" - integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== +"@types/mocha@^10.0.3": + version "10.0.4" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.4.tgz#b5331955ebca216604691fd4fcd2dbdc2bd559a4" + integrity sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w== -"@types/node@*": - version "18.0.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.3.tgz#463fc47f13ec0688a33aec75d078a0541a447199" - integrity sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ== +"@types/node@*", "@types/node@^18": + version "18.18.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.9.tgz#5527ea1832db3bba8eb8023ce8497b7d3f299592" + integrity sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ== + dependencies: + undici-types "~5.26.4" "@types/node@^12.19.9": version "12.20.55" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^15.6.1": - version "15.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz#bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa" - integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== - "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" @@ -795,23 +741,15 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== -"@types/semver@^7.3.12", "@types/semver@^7.5.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff" - integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ== - -"@types/shelljs@0.8.13": - version "0.8.13" - resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.13.tgz#a94bf7f2b82b7cd9f4496bbe063c3adb0868a650" - integrity sha512-++uMLOQSLlse1kCfEOwhgmHuaABZwinkylmUKCpvcEGZUov3TtM+gJZloSkW/W+9pEAEg/VBOwiSR05oqJsa5A== - dependencies: - "@types/glob" "~7.2.0" - "@types/node" "*" +"@types/semver@^7.5.0", "@types/semver@^7.5.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.5.tgz#deed5ab7019756c9c90ea86139106b0346223f35" + integrity sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg== -"@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== +"@types/sinon@^10.0.20": + version "10.0.20" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.20.tgz#f1585debf4c0d99f9938f4111e5479fb74865146" + integrity sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg== dependencies: "@types/sinonjs__fake-timers" "*" @@ -820,94 +758,90 @@ resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz#bf2e02a3dbd4aecaf95942ecd99b7402e03fad5e" integrity sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA== -"@typescript-eslint/eslint-plugin@^5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== +"@typescript-eslint/eslint-plugin@^6.9.1": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz#cfe2bd34e26d2289212946b96ab19dcad64b661a" + integrity sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg== dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.10.0" + "@typescript-eslint/type-utils" "6.10.0" + "@typescript-eslint/utils" "6.10.0" + "@typescript-eslint/visitor-keys" "6.10.0" debug "^4.3.4" graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.9.1": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.10.0.tgz#578af79ae7273193b0b6b61a742a2bc8e02f875a" + integrity sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog== + dependencies: + "@typescript-eslint/scope-manager" "6.10.0" + "@typescript-eslint/types" "6.10.0" + "@typescript-eslint/typescript-estree" "6.10.0" + "@typescript-eslint/visitor-keys" "6.10.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== +"@typescript-eslint/scope-manager@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz#b0276118b13d16f72809e3cecc86a72c93708540" + integrity sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@typescript-eslint/types" "6.10.0" + "@typescript-eslint/visitor-keys" "6.10.0" -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== +"@typescript-eslint/type-utils@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz#1007faede067c78bdbcef2e8abb31437e163e2e1" + integrity sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg== dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" + "@typescript-eslint/typescript-estree" "6.10.0" + "@typescript-eslint/utils" "6.10.0" debug "^4.3.4" - tsutils "^3.21.0" + ts-api-utils "^1.0.1" -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== +"@typescript-eslint/types@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.10.0.tgz#f4f0a84aeb2ac546f21a66c6e0da92420e921367" + integrity sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg== -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== +"@typescript-eslint/typescript-estree@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz#667381eed6f723a1a8ad7590a31f312e31e07697" + integrity sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@typescript-eslint/types" "6.10.0" + "@typescript-eslint/visitor-keys" "6.10.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.10.0.tgz#4d76062d94413c30e402c9b0df8c14aef8d77336" + integrity sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.10.0" + "@typescript-eslint/types" "6.10.0" + "@typescript-eslint/typescript-estree" "6.10.0" + semver "^7.5.4" -"@typescript-eslint/utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== +"@typescript-eslint/visitor-keys@6.10.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz#b9eaf855a1ac7e95633ae1073af43d451e8f84e3" + integrity sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg== dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + "@typescript-eslint/types" "6.10.0" + eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": version "1.2.0" @@ -1075,15 +1009,15 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== +array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" is-string "^1.0.7" array-union@^2.1.0: @@ -1091,45 +1025,46 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlastindex@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz#bc229aef98f6bd0533a2bc61ff95209875526c9b" - integrity sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw== +array.prototype.findlastindex@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" + integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" + get-intrinsic "^1.2.1" -array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== +array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -arraybuffer.prototype.slice@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb" - integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== dependencies: array-buffer-byte-length "^1.0.0" call-bind "^1.0.2" define-properties "^1.2.0" + es-abstract "^1.22.1" get-intrinsic "^1.2.1" is-array-buffer "^3.0.2" is-shared-array-buffer "^1.0.2" @@ -1252,6 +1187,11 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + caching-transform@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" @@ -1262,13 +1202,14 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" callsites@^3.0.0: version "3.1.0" @@ -1321,7 +1262,7 @@ chai-string@^1.5.0: resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.5.0.tgz#0bdb2d8a5f1dbe90bc78ec493c1c1c180dd4d3d2" integrity sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw== -chai@^4.3.10, chai@^4.3.7: +chai@^4.3.10: version "4.3.10" resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== @@ -1351,7 +1292,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.1.0, 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== @@ -1404,6 +1345,18 @@ chokidar@3.5.3, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +ci-info@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -1489,10 +1442,10 @@ commander@^4.0.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -comment-parser@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" - integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== +comment-parser@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.0.tgz#0f8c560f59698193854f12884c20c0e39a26d32c" + integrity sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw== commondir@^1.0.1: version "1.0.1" @@ -1557,15 +1510,15 @@ convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" -core-js-pure@^3.25.1: - version "3.25.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.5.tgz#79716ba54240c6aa9ceba6eee08cf79471ba184d" - integrity sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg== +core-js-pure@^3.30.2: + version "3.33.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.0.tgz#938a28754b4d82017a7a8cbd2727b1abecc63591" + integrity sha512-FKSIDtJnds/YFIEaZ4HszRX7hkxGpNKM7FC9aJ9WLJbSd3lD4vOltFuVIBLR8asSx9frkTSqL0dw90SKQxgKrg== core-js@^3.6.4: - version "3.25.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.5.tgz#e86f651a2ca8a0237a5f064c2fe56cef89646e27" - integrity sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw== + version "3.33.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.0.tgz#70366dbf737134761edb017990cf5ce6c6369c40" + integrity sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw== core-util-is@~1.0.0: version "1.0.3" @@ -1639,20 +1592,13 @@ dateformat@^4.6.3: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -1697,6 +1643,15 @@ default-require-extensions@^3.0.0: dependencies: strip-bom "^4.0.0" +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" @@ -1725,11 +1680,6 @@ diff@^4.0.1, diff@^4.0.2: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1797,26 +1747,26 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: - version "1.22.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc" - integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.1" + arraybuffer.prototype.slice "^1.0.2" available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + call-bind "^1.0.5" es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" get-symbol-description "^1.0.0" globalthis "^1.0.3" gopd "^1.0.1" - has "^1.0.3" has-property-descriptors "^1.0.0" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" internal-slot "^1.0.5" is-array-buffer "^3.0.2" is-callable "^1.2.7" @@ -1824,23 +1774,23 @@ es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" - is-typed-array "^1.1.10" + is-typed-array "^1.1.12" is-weakref "^1.0.2" - object-inspect "^1.12.3" + object-inspect "^1.13.1" object-keys "^1.1.1" object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" - safe-array-concat "^1.0.0" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" typed-array-buffer "^1.0.0" typed-array-byte-length "^1.0.0" typed-array-byte-offset "^1.0.0" typed-array-length "^1.0.4" unbox-primitive "^1.0.2" - which-typed-array "^1.1.10" + which-typed-array "^1.1.13" es-set-tostringtag@^2.0.1: version "2.0.1" @@ -1887,34 +1837,45 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -eslint-config-prettier@^8.10.0, eslint-config-prettier@^8.8.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== +eslint-config-prettier@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" + integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== eslint-config-salesforce-license@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eslint-config-salesforce-license/-/eslint-config-salesforce-license-0.2.0.tgz#323193f1aa15dd33fbf108d25fc1210afc11065e" integrity sha512-DJdBvgj82Erum82YMe+YvG/o6ukna3UA++lRl0HSTldj0VlBl3Q8hzCp97nRXZHra6JH1I912yievZzklXDw6w== -eslint-config-salesforce-typescript@^1.1.1, eslint-config-salesforce-typescript@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/eslint-config-salesforce-typescript/-/eslint-config-salesforce-typescript-1.1.2.tgz#86a303e37899122bd9706c72b95ed288408a4f45" - integrity sha512-34RnT1fIo5cWdKwUH6IlfVKvVAQEH5R75K1O/c29U9qW5ZjmdfJ8NtI/4z143mhCM7wB9FsJROdKMJEISGThkA== +eslint-config-salesforce-typescript@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eslint-config-salesforce-typescript/-/eslint-config-salesforce-typescript-3.0.2.tgz#25e9e8797a109828a63a3893a15613c8ecefa1bf" + integrity sha512-3eNN2dKojedhxbsOGocXaU+83XoeOzc8pCiDjOvlUc7B9IYTgv7UwOgmIIoESmuHKcvsCDDFDttfLCSOCOaRtQ== + dependencies: + "@typescript-eslint/eslint-plugin" "^6.9.1" + "@typescript-eslint/parser" "^6.9.1" + eslint "^8.52.0" + eslint-config-prettier "^9.0.0" + eslint-config-salesforce "^2.0.2" + eslint-config-salesforce-license "^0.2.0" + eslint-plugin-header "^3.1.1" + eslint-plugin-import "^2.29.0" + eslint-plugin-jsdoc "^46.8.2" + eslint-plugin-unicorn "^49.0.0" -eslint-config-salesforce@^2.0.1, eslint-config-salesforce@^2.0.2: +eslint-config-salesforce@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/eslint-config-salesforce/-/eslint-config-salesforce-2.0.2.tgz#38eb2d8eb2824c66967ed9b45bc92082eba2f225" integrity sha512-3jbrI+QFu/KaQbPYIBxItB3okqUtA4EBCGiR6s2kcUMIZBLBBGAURW0k62f9WAv1EagR3eUoO0m9ru7LTj2F5Q== -eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" + is-core-module "^2.13.0" + resolve "^1.22.4" eslint-module-utils@^2.8.0: version "2.8.0" @@ -1928,55 +1889,63 @@ eslint-plugin-header@^3.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz#6ce512432d57675265fac47292b50d1eff11acd6" integrity sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg== -eslint-plugin-import@^2.27.5, eslint-plugin-import@^2.28.1: - version "2.28.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4" - integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A== +eslint-plugin-import@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" + integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== dependencies: - array-includes "^3.1.6" - array.prototype.findlastindex "^1.2.2" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" + eslint-import-resolver-node "^0.3.9" eslint-module-utils "^2.8.0" - has "^1.0.3" - is-core-module "^2.13.0" + hasown "^2.0.0" + is-core-module "^2.13.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.6" - object.groupby "^1.0.0" - object.values "^1.1.6" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" semver "^6.3.1" tsconfig-paths "^3.14.2" -eslint-plugin-jsdoc@^43.0.5, eslint-plugin-jsdoc@^43.2.0: - version "43.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-43.2.0.tgz#9d0df2329100a6956635f26211d0723c3ff91f15" - integrity sha512-Hst7XUfqh28UmPD52oTXmjaRN3d0KrmOZdgtp4h9/VHUJD3Evoo82ZGXi1TtRDWgWhvqDIRI63O49H0eH7NrZQ== +eslint-plugin-jsdoc@^46.8.2: + version "46.8.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz#3e6b1c93e91e38fe01874d45da121b56393c54a5" + integrity sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ== dependencies: - "@es-joy/jsdoccomment" "~0.38.0" + "@es-joy/jsdoccomment" "~0.40.1" are-docs-informative "^0.0.2" - comment-parser "1.3.1" + comment-parser "1.4.0" debug "^4.3.4" escape-string-regexp "^4.0.0" esquery "^1.5.0" - semver "^7.5.0" + is-builtin-module "^3.2.1" + semver "^7.5.4" spdx-expression-parse "^3.0.1" -eslint-plugin-prefer-arrow@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041" - integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ== - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== +eslint-plugin-unicorn@^49.0.0: + version "49.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-49.0.0.tgz#4449ea954d7e1455eec8518f9417d7021b245fa8" + integrity sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q== dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" + "@babel/helper-validator-identifier" "^7.22.20" + "@eslint-community/eslint-utils" "^4.4.0" + ci-info "^3.8.0" + clean-regexp "^1.0.0" + esquery "^1.5.0" + indent-string "^4.0.0" + is-builtin-module "^3.2.1" + jsesc "^3.0.2" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.27" + regjsparser "^0.10.0" + semver "^7.5.4" + strip-indent "^3.0.0" eslint-scope@^7.2.2: version "7.2.2" @@ -1991,7 +1960,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.41.0, eslint@^8.53.0: +eslint@^8.52.0: version "8.53.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce" integrity sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag== @@ -2063,11 +2032,6 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -2315,22 +2279,22 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" -functions-have-names@^1.2.2, functions-have-names@^1.2.3: +functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== @@ -2350,15 +2314,15 @@ get-func-name@^2.0.0, get-func-name@^2.0.2: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-package-type@^0.1.0: version "0.1.0" @@ -2452,6 +2416,15 @@ global-dirs@^0.1.1: dependencies: ini "^1.3.4" +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2500,11 +2473,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -2564,6 +2532,13 @@ hasha@^5.0.0: is-stream "^2.0.0" type-fest "^0.8.0" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -2642,10 +2617,10 @@ ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.4, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.1.4, ignore@^5.2.0, ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== immediate@~3.0.5: version "3.0.6" @@ -2683,7 +2658,7 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.4: +ini@^1.3.4, ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -2757,17 +2732,24 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: 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-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.13.0, is-core-module@^2.5.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-date-object@^1.0.1: version "1.0.5" @@ -2876,16 +2858,12 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" + which-typed-array "^1.1.11" is-typedarray@^1.0.0: version "1.0.0" @@ -3038,6 +3016,16 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + jsforce@^2.0.0-beta.28: version "2.0.0-beta.28" resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.28.tgz#5fd8d9b8e5efc798698793b147e00371f3d74e8f" @@ -3170,7 +3158,7 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" -kind-of@^6.0.3: +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -3299,7 +3287,7 @@ lodash.upperfirst@^4.3.1: resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== -lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3434,12 +3422,12 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" - integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== dependencies: - brace-expansion "^1.1.7" + brace-expansion "^2.0.1" minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" @@ -3464,37 +3452,34 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -mocha@^9.1.3: - version "9.2.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9" - integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== +mocha@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== dependencies: - "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" chokidar "3.5.3" - debug "4.3.3" + debug "4.3.4" diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" glob "7.2.0" - growl "1.10.5" he "1.2.0" js-yaml "4.1.0" log-symbols "4.1.0" - minimatch "4.2.1" + minimatch "5.0.1" ms "2.1.3" - nanoid "3.3.1" + nanoid "3.3.3" serialize-javascript "6.0.0" strip-json-comments "3.1.1" supports-color "8.1.1" - which "2.0.2" - workerpool "6.2.0" + workerpool "6.2.1" yargs "16.2.0" yargs-parser "20.2.4" yargs-unparser "2.0.0" @@ -3538,15 +3523,10 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nanoid@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" - integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== natural-compare@^1.4.0: version "1.4.0" @@ -3575,17 +3555,6 @@ nise@^4.1.0: just-extend "^4.0.2" path-to-regexp "^1.7.0" -nise@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.2.tgz#a7b8909c216b3491fd4fc0b124efb69f3939b449" - integrity sha512-+gQjFi8v+tkfCuSCxfURHLhRhniE/+IaYbIphxAN2JRR9SHKhY8hgXpaXiYfHdw+gcGe4buxgbprBQFab9FkhA== - dependencies: - "@sinonjs/commons" "^2.0.0" - "@sinonjs/fake-timers" "^7.0.4" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - path-to-regexp "^1.7.0" - no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -3595,9 +3564,9 @@ no-case@^3.0.4: tslib "^2.0.3" node-fetch@^2.6.1: - version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" @@ -3678,10 +3647,10 @@ nyc@^15.1.0: test-exclude "^6.0.0" yargs "^15.0.2" -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== object-keys@^1.1.1: version "1.1.1" @@ -3698,33 +3667,33 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== +object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -object.groupby@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.0.tgz#cb29259cf90f37e7bac6437686c1ea8c916d12a9" - integrity sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw== +object.groupby@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" + integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== dependencies: call-bind "^1.0.2" define-properties "^1.2.0" - es-abstract "^1.21.2" + es-abstract "^1.22.1" get-intrinsic "^1.2.1" -object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== +object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" on-exit-leak-free@^2.1.0: version "2.1.0" @@ -3913,7 +3882,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pino-abstract-transport@^1.0.0, pino-abstract-transport@v1.1.0: +pino-abstract-transport@^1.0.0, pino-abstract-transport@^1.1.0, pino-abstract-transport@v1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz#083d98f966262164504afb989bccd05f665937a8" integrity sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA== @@ -3946,10 +3915,10 @@ pino-std-serializers@^6.0.0: resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz#d9a9b5f2b9a402486a5fc4db0a737570a860aab3" integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== -pino@^8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.16.0.tgz#2465012a1d11fa2e7a0545032f636e203990ae26" - integrity sha512-UUmvQ/7KTZt/vHjhRrnyS7h+J7qPBQnpG80V56xmIC+o9IqYmQOw/UIny9S9zYDfRBR0ClouCr464EkBMIT7Fw== +pino@^8.16.1: + version "8.16.1" + resolved "https://registry.yarnpkg.com/pino/-/pino-8.16.1.tgz#dcaf82764b1a27f24101317cdd6453e96290f1d9" + integrity sha512-3bKsVhBmgPjGV9pyn4fO/8RtoVDR8ssW1ev819FsRXlRNgW8gR/9Kx+gCK4UPWd4JjrRDLWpzd/pb1AyWm3MGA== dependencies: atomic-sleep "^1.0.0" fast-redact "^3.1.1" @@ -3975,17 +3944,22 @@ platform@^1.3.3: resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^2.7.1, prettier@^2.8.7: - version "2.8.7" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" - integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== +prettier@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -pretty-quick@^3.1.0, pretty-quick@^3.1.3: +pretty-quick@^3.1.0: version "3.1.3" resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.3.tgz#15281108c0ddf446675157ca40240099157b638e" integrity sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA== @@ -4156,19 +4130,36 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.13.3: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regexp.prototype.flags@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regexp-tree@^0.1.27: + version "0.1.27" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + +regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: call-bind "^1.0.2" define-properties "^1.2.0" - functions-have-names "^1.2.3" + set-function-name "^2.0.0" + +regjsparser@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892" + integrity sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== + dependencies: + jsesc "~0.5.0" release-zalgo@^1.0.0: version "1.0.0" @@ -4214,12 +4205,12 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve@>=1.9.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283" - integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw== +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.22.2, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.12.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -4267,13 +4258,13 @@ rxjs@^6.6.0: dependencies: tslib "^1.9.0" -safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== +safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" + get-intrinsic "^1.2.1" has-symbols "^1.0.3" isarray "^2.0.5" @@ -4312,9 +4303,9 @@ samsam@1.3.0: integrity sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg== sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== secure-json-parse@^2.4.0: version "2.7.0" @@ -4338,7 +4329,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.7, semver@^7.5.0, semver@^7.5.4: +semver@^7.3.4, semver@^7.3.8, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -4371,6 +4362,25 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -4388,7 +4398,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shelljs@0.8.5, shelljs@~0.8.4: +shelljs@~0.8.4: version "0.8.5" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== @@ -4432,18 +4442,6 @@ sinon@10.0.0: nise "^4.1.0" supports-color "^7.1.0" -sinon@^14.0.2: - version "14.0.2" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-14.0.2.tgz#585a81a3c7b22cf950762ac4e7c28eb8b151c46f" - integrity sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w== - dependencies: - "@sinonjs/commons" "^2.0.0" - "@sinonjs/fake-timers" "^9.1.2" - "@sinonjs/samsam" "^7.0.1" - diff "^5.0.0" - nise "^5.1.2" - supports-color "^7.2.0" - sinon@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/sinon/-/sinon-5.1.1.tgz#19c59810ffb733ea6e76a28b94a71fc4c2f523b8" @@ -4554,32 +4552,32 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" string_decoder@^1.1.1: version "1.3.0" @@ -4643,7 +4641,7 @@ supports-color@^5.3.0, supports-color@^5.4.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0, supports-color@^7.2.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -4732,7 +4730,12 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -ts-node@^10.0.0, ts-node@^10.4.0, ts-node@^10.8.1: +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + +ts-node@^10.8.1, ts-node@^10.9.1: version "10.9.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== @@ -4751,6 +4754,18 @@ ts-node@^10.0.0, ts-node@^10.4.0, ts-node@^10.8.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" +ts-patch@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/ts-patch/-/ts-patch-3.0.2.tgz#cbdf88e4dfb596e4dab8f2c8269361d33270a0ba" + integrity sha512-iTg8euqiNsNM1VDfOsVIsP0bM4kAVXU38n7TGQSkky7YQX/syh6sDPIRkvSS0HjT8ZOr0pq1h+5Le6jdB3hiJQ== + dependencies: + chalk "^4.1.2" + global-prefix "^3.0.0" + minimist "^1.2.8" + resolve "^1.22.2" + semver "^7.3.8" + strip-ansi "^6.0.1" + ts-retry-promise@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ts-retry-promise/-/ts-retry-promise-0.7.1.tgz#176d6eee6415f07b6c7c286d3657355e284a6906" @@ -4766,7 +4781,7 @@ tsconfig-paths@^3.14.2: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -4776,20 +4791,6 @@ tslib@^2.0.3, tslib@^2.6.1, tslib@^2.6.2: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -ttypescript@^1.5.15: - version "1.5.15" - resolved "https://registry.yarnpkg.com/ttypescript/-/ttypescript-1.5.15.tgz#e45550ad69289d06d3bc3fd4a3c87e7c1ef3eba7" - integrity sha512-48ykDNHzFnPMnv4hYX1P8Q84TvCZyL1QlFxeuxsuZ48X2+ameBgPenvmCkHJtoOSxpoWTWi8NcgNrRnVDOmfSg== - dependencies: - resolve ">=1.9.0" - tunnel-agent@*: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -4900,6 +4901,11 @@ typescript@^4.6.4, typescript@^4.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -4910,6 +4916,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -5038,39 +5049,35 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== -which-typed-array@^1.1.10: - version "1.1.11" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== dependencies: available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + call-bind "^1.0.4" for-each "^0.3.3" gopd "^1.0.1" has-tostringtag "^1.0.0" -which@2.0.2, which@^2.0.1: +which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wireit@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.14.0.tgz#8ecb922280d9b3a493bed520900ab458e0f38727" - integrity sha512-CwHhyWduARI7zOoyyQvxH6U/5GTy8p6RxTe2LpwIhE4Y8PbaTk0iH8dLkeGMvxETVBkxCgQnF2GfzYKXMSmYSw== - dependencies: - braces "^3.0.2" - chokidar "^3.5.3" - fast-glob "^3.2.11" - jsonc-parser "^3.0.0" - proper-lockfile "^4.1.2" - -wireit@^0.9.5: - version "0.9.5" - resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.9.5.tgz#7c3622f6ff5e63b7fac05783baf82f967f52562c" - integrity sha512-dKKNAwLxQjbPPMrltPxMUFKvLy2z6hlVjvR/qitvPm8GEQyb/1QYBG7ObvOQLsi95uAXpkWLJXBYkCKeVcMVgA== +wireit@^0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.14.1.tgz#83b63598503573db6722ad49b1fe15b57ee71890" + integrity sha512-q5sixPM/vKQEpyaub6J9QoHAFAF9g4zBdnjoYelH9/RLAekcUf3x1dmFLACGZ6nYjqehCsTlXC1irmzU7znPhA== dependencies: braces "^3.0.2" chokidar "^3.5.3" @@ -5078,10 +5085,10 @@ wireit@^0.9.5: jsonc-parser "^3.0.0" proper-lockfile "^4.1.2" -workerpool@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" - integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== wrap-ansi@^6.2.0: version "6.2.0"