From 187cbf449bf46c095ca7826a0c14420449e4e4ec Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 17 Jan 2023 14:09:13 +0100 Subject: [PATCH 01/63] fix: readDir git based implementation (#419) --- .../flowTranslationProcessor.test.js | 21 +++++++++++ .../unit/lib/service/inFolderHandler.test.js | 2 +- .../lib/service/inResourceHandler.test.js | 18 +++++----- .../lib/service/inTranslationHandler.test.js | 6 ++-- .../unit/lib/service/standardHandler.test.js | 22 ++++++------ __tests__/unit/lib/utils/fsHelper.test.js | 35 +++++++++++-------- .../flowTranslationProcessor.js | 2 +- src/service/customObjectHandler.js | 4 +-- src/service/inFolderHandler.js | 2 +- src/service/inResourceHandler.js | 9 +++-- src/service/standardHandler.js | 5 ++- src/utils/fsHelper.js | 32 ++++++++--------- 12 files changed, 93 insertions(+), 65 deletions(-) diff --git a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js index 451a7214..795c0c68 100644 --- a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js +++ b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js @@ -104,6 +104,27 @@ describe('FlowTranslationProcessor', () => { expect(mockParse).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalled() }) + describe('when the folder is not a git repository', () => { + beforeEach(() => { + // Arrange + copyFiles.mockImplementationOnce(() => + Promise.reject(new Error('fatal: not a git repository')) + ) + }) + it('should throw an exception', async () => { + // Arrange + expect.assertions(2) + + // Act + try { + await sut.process() + } catch (error) { + // Assert + expect(error).toBeTruthy() + expect(copyFiles).toHaveBeenCalled() + } + }) + }) }) describe('when there is already a translation related to a flow', () => { diff --git a/__tests__/unit/lib/service/inFolderHandler.test.js b/__tests__/unit/lib/service/inFolderHandler.test.js index 6f97fbb3..f3f1d172 100644 --- a/__tests__/unit/lib/service/inFolderHandler.test.js +++ b/__tests__/unit/lib/service/inFolderHandler.test.js @@ -61,7 +61,7 @@ describe('InFolderHander', () => { expect(readDir).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalledTimes(3) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, expect.stringContaining(METAFILE_SUFFIX), expect.stringContaining(METAFILE_SUFFIX) ) diff --git a/__tests__/unit/lib/service/inResourceHandler.test.js b/__tests__/unit/lib/service/inResourceHandler.test.js index 8650aa2e..da192eb9 100644 --- a/__tests__/unit/lib/service/inResourceHandler.test.js +++ b/__tests__/unit/lib/service/inResourceHandler.test.js @@ -62,7 +62,7 @@ describe('InResourceHandler', () => { readDir.mockImplementation(() => Promise.resolve([ 'other.resource-meta.xml', - 'other', + 'other/', 'image.resource-meta.xml', ]) ) @@ -85,17 +85,17 @@ describe('InResourceHandler', () => { expect(...work.diffs.package.get(type)).toEqual(entity) expect(copyFiles).toBeCalledTimes(expectedCount) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, `${base}${type}/${path}`, `${base}${type}/${path}` ) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, `${base}${type}/${path}${METAFILE_SUFFIX}`, `${base}${type}/${path}${METAFILE_SUFFIX}` ) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, `${base}${type}/${entity}.resource${METAFILE_SUFFIX}`, `${base}${type}/${entity}.resource${METAFILE_SUFFIX}` ) @@ -117,7 +117,7 @@ describe('InResourceHandler', () => { expect(...work.diffs.package.get(type)).toEqual(entity) expect(copyFiles).toBeCalledTimes(1) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, `${base}${type}/${path}`, `${base}${type}/${path}` ) @@ -142,12 +142,12 @@ describe('InResourceHandler', () => { expect(...work.diffs.package.get(objectType)).toEqual('resource') expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, `${entityPath}`, `${entityPath}` ) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, `${entityPath}${METAFILE_SUFFIX}`, `${entityPath}${METAFILE_SUFFIX}` ) @@ -180,7 +180,7 @@ describe('InResourceHandler', () => { expect(...work.diffs.package.get(objectType)).toEqual('resource') expect(pathExists).toHaveBeenCalledWith( expect.stringContaining('resource'), - work + work.config ) }) }) @@ -207,7 +207,7 @@ describe('InResourceHandler', () => { ) expect(pathExists).toHaveBeenCalledWith( expect.stringContaining('resource'), - work + work.config ) }) }) diff --git a/__tests__/unit/lib/service/inTranslationHandler.test.js b/__tests__/unit/lib/service/inTranslationHandler.test.js index 9ad124bd..3164aee5 100644 --- a/__tests__/unit/lib/service/inTranslationHandler.test.js +++ b/__tests__/unit/lib/service/inTranslationHandler.test.js @@ -51,7 +51,7 @@ describe('InTranslation', () => { expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, expect.stringContaining('Account-es.objectTranslation'), expect.stringContaining('Account-es.objectTranslation') ) @@ -77,12 +77,12 @@ describe('InTranslation', () => { expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, expect.stringContaining('BillingFloor__c.fieldTranslation'), expect.stringContaining('BillingFloor__c.fieldTranslation') ) expect(copyFiles).toHaveBeenCalledWith( - work, + work.config, expect.stringContaining('Account-es.objectTranslation'), expect.stringContaining('Account-es.objectTranslation') ) diff --git a/__tests__/unit/lib/service/standardHandler.test.js b/__tests__/unit/lib/service/standardHandler.test.js index fb2a7205..b8e981fa 100644 --- a/__tests__/unit/lib/service/standardHandler.test.js +++ b/__tests__/unit/lib/service/standardHandler.test.js @@ -39,7 +39,9 @@ describe(`StandardHandler`, () => { it('should catch errors silently and store them', async () => { // Arrange - copyFiles.mockImplementationOnce(() => Promise.reject(new Error('test'))) + copyFiles.mockImplementationOnce(() => + Promise.reject(new Error('fatal: not a git repository')) + ) const sut = new StandardHandler( `${ADDITION} ${entityPath}`, objectType, @@ -145,9 +147,9 @@ describe(`StandardHandler`, () => { expect(work.warnings).toEqual([]) expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(copyFiles).toBeCalledWith(work, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) expect(copyFiles).toBeCalledWith( - work, + work.config, entityPath.replace(METAFILE_SUFFIX, ''), entityPath.replace(METAFILE_SUFFIX, '') ) @@ -169,9 +171,9 @@ describe(`StandardHandler`, () => { expect(work.warnings).toEqual([]) expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(copyFiles).toBeCalledWith(work, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) expect(copyFiles).toBeCalledWith( - work, + work.config, entityPath.replace(METAFILE_SUFFIX, ''), entityPath.replace(METAFILE_SUFFIX, '') ) @@ -197,9 +199,9 @@ describe(`StandardHandler`, () => { expect(work.diffs.package.get('testSuites')).toEqual(new Set(['suite'])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledTimes(1) - expect(copyFiles).toBeCalledWith(work, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) expect(copyFiles).toBeCalledWith( - work, + work.config, expect.stringContaining(METAFILE_SUFFIX), expect.stringContaining(METAFILE_SUFFIX) ) @@ -223,9 +225,9 @@ describe(`StandardHandler`, () => { expect(work.diffs.package.get('testSuites')).toEqual(new Set(['suite'])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledTimes(1) - expect(copyFiles).toBeCalledWith(work, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) expect(copyFiles).not.toBeCalledWith( - work, + work.config, expect.stringContaining(METAFILE_SUFFIX), expect.stringContaining(METAFILE_SUFFIX) ) @@ -253,7 +255,7 @@ describe(`StandardHandler`, () => { expect(work.warnings).toEqual([]) expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(copyFiles).toBeCalledWith(work, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) } ) it('should add deleted element to destructiveChanges and do not copy file', async () => { diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index d9904709..25c42fa1 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -43,11 +43,11 @@ describe('copyFile', () => { describe('when file is already copied', () => { it('should not copy file', async () => { // Arrange - await copyFiles(work, 'source/file', 'output/file') + await copyFiles(work.config, 'source/file', 'output/file') jest.resetAllMocks() // Act - await copyFiles(work, 'source/file', 'output/file') + await copyFiles(work.config, 'source/file', 'output/file') // Assert expect(spawn).not.toBeCalled() @@ -62,7 +62,7 @@ describe('copyFile', () => { getStreamContent.mockImplementation(() => '') // Act - await copyFiles(work, 'source/doNotCopy', 'output/doNotCopy') + await copyFiles(work.config, 'source/doNotCopy', 'output/doNotCopy') // Assert expect(spawn).toBeCalled() @@ -81,7 +81,7 @@ describe('copyFile', () => { getStreamContent.mockImplementation(() => 'content') // Act - await copyFiles(work, 'source/copyDir', 'output/copyDir') + await copyFiles(work.config, 'source/copyDir', 'output/copyDir') // Assert expect(spawn).toBeCalledTimes(2) @@ -90,18 +90,23 @@ describe('copyFile', () => { }) }) describe('when content is not a git location', () => { - it('should log a warning', async () => { + it('should throw an error', async () => { + expect.assertions(4) // Arrange - getStreamContent.mockImplementation(() => 'fatal') + const fatalError = 'fatal: not a git repository' + getStreamContent.mockImplementation(() => 'fatal: not a git repository') // Act - await copyFiles(work, 'source/warning', 'output/warning') - - // Assert - expect(spawn).toBeCalled() - expect(getStreamContent).toBeCalled() - expect(outputFile).not.toBeCalled() - expect(work.warnings.length).toBe(1) + try { + await copyFiles(work.config, 'source/warning', 'output/warning') + + // Assert + } catch (error) { + expect(spawn).toBeCalled() + expect(getStreamContent).toBeCalled() + expect(outputFile).not.toBeCalled() + expect(error.message).toEqual(fatalError) + } }) }) describe('when content is a file', () => { @@ -111,7 +116,7 @@ describe('copyFile', () => { }) it('should copy the file', async () => { // Act - await copyFiles(work, 'source/copyfile', 'output/copyfile') + await copyFiles(work.config, 'source/copyfile', 'output/copyfile') // Assert expect(spawn).toBeCalled() @@ -137,7 +142,7 @@ describe('readDir', () => { const dirContent = await readDir(dir, work) // Assert - expect(dirContent).toEqual(expect.arrayContaining([`${dir}${file}`])) + expect(dirContent).toEqual(expect.arrayContaining([`${file}`])) expect(getStreamContent).toHaveBeenCalled() }) }) diff --git a/src/post-processor/flowTranslationProcessor.js b/src/post-processor/flowTranslationProcessor.js index 450b8361..534fda5f 100644 --- a/src/post-processor/flowTranslationProcessor.js +++ b/src/post-processor/flowTranslationProcessor.js @@ -70,7 +70,7 @@ class FlowTranslationProcessor extends BaseProcessor { if (this.config.generateDelta) { const source = join(this.config.source, translationPath) const target = join(this.config.output, translationPath) - copyTranslationsPromises.push(copyFiles(this.work, source, target)) + copyTranslationsPromises.push(copyFiles(this.config, source, target)) } } await Promise.all(copyTranslationsPromises) diff --git a/src/service/customObjectHandler.js b/src/service/customObjectHandler.js index 60f50870..ff8b7ccd 100644 --- a/src/service/customObjectHandler.js +++ b/src/service/customObjectHandler.js @@ -24,10 +24,10 @@ class CustomObjectHandler extends StandardHandler { parse(this.line).dir, FIELD_DIRECTORY_NAME ) - const exists = await pathExists(fieldsFolder, this.work) + const exists = await pathExists(fieldsFolder, this.config) if (!exists) return - const fields = await readDir(fieldsFolder, this.work) + const fields = await readDir(fieldsFolder, this.config) const masterDetailsFields = await asyncFilter(fields, async fieldPath => { const content = await readPathFromGit( join(this.config.repo, fieldsFolder, fieldPath), diff --git a/src/service/inFolderHandler.js b/src/service/inFolderHandler.js index 89fa479f..13e9dcbc 100644 --- a/src/service/inFolderHandler.js +++ b/src/service/inFolderHandler.js @@ -34,7 +34,7 @@ class InFolderHandler extends StandardHandler { async _copySpecialExtension() { const parsedLine = parse(this.line) - const dirContent = await readDir(parsedLine.dir, this.work) + const dirContent = await readDir(parsedLine.dir, this.config) await Promise.all( dirContent diff --git a/src/service/inResourceHandler.js b/src/service/inResourceHandler.js index 469cccfe..b98cfb99 100644 --- a/src/service/inResourceHandler.js +++ b/src/service/inResourceHandler.js @@ -41,7 +41,7 @@ class ResourceHandler extends StandardHandler { async handleDeletion() { const [, , srcPath, elementName] = this._parseLine() - const exists = await pathExists(join(srcPath, elementName), this.work) + const exists = await pathExists(join(srcPath, elementName), this.config) if (exists) { await this.handleModification() } else { @@ -77,8 +77,11 @@ class ResourceHandler extends StandardHandler { async _buildElementMap(srcPath) { if (!elementSrc.has(srcPath)) { - const dirContent = await readDir(srcPath, this.work) - elementSrc.set(srcPath, dirContent) + const dirContent = await readDir(srcPath, this.config) + elementSrc.set( + srcPath, + dirContent.map(f => f.replace(/\/$/, '')) + ) } } } diff --git a/src/service/standardHandler.js b/src/service/standardHandler.js index 545f1c11..bef8ca6c 100644 --- a/src/service/standardHandler.js +++ b/src/service/standardHandler.js @@ -102,18 +102,17 @@ class StandardHandler { } async _copyWithMetaFile(src, dst) { - const file = copyFiles(this.work, src, dst) + await copyFiles(this.config, src, dst) if ( StandardHandler.metadata.get(this.type).metaFile === true && !`${src}`.endsWith(METAFILE_SUFFIX) ) { await copyFiles( - this.work, + this.config, this._getMetaTypeFilePath(src), this._getMetaTypeFilePath(dst) ) } - await file } _getMetaTypeFilePath(path) { diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 3c8cee4c..cadd911f 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -12,8 +12,7 @@ const FATAL = 'fatal' const showCmd = ['--no-pager', 'show'] const copiedFiles = new Set() -const copyFiles = async (work, src, dst) => { - const config = work.config +const copyFiles = async (config, src, dst) => { if (copiedFiles.has(src)) return copiedFiles.add(src) @@ -29,10 +28,10 @@ const copyFiles = async (work, src, dst) => { const fileDst = join(config.output, folder, file) const fileSrc = join(config.repo, folder, file) - await copyFiles(work, fileSrc, fileDst) + await copyFiles(config, fileSrc, fileDst) } } else if (data.startsWith(FATAL)) { - work.warnings.push(data) + throw new Error(data) } else { await outputFile(dst, data) } @@ -48,19 +47,17 @@ const readPathFromGit = async (path, config) => { return data } -const pathExists = async (path, work) => { - const data = await readPathFromGit(path, work) +const pathExists = async (path, config) => { + const data = await readPathFromGit(path, config) return data.startsWith(FATAL) } -const readDir = async (dir, work) => { - const data = await readPathFromGit(dir, work) +const readDir = async (dir, config) => { + const data = await readPathFromGit(dir, config) const dirContent = [] if (data.startsWith(FOLDER)) { const [, , ...files] = data.split(EOLRegex) - for (const file of files) { - dirContent.push(join(dir, file)) - } + dirContent.push(...files) } return dirContent } @@ -72,13 +69,14 @@ const readFile = async path => { return file } -async function* scan(dir, work) { - const entries = await readDir(dir, work) +async function* scan(dir, config) { + const entries = await readDir(dir, config) for (const file of entries) { + const filePath = join(dir, file) if (file.endsWith('/')) { - yield* scan(file, work) + yield* scan(filePath, config) } else { - yield file + yield filePath } } } @@ -103,5 +101,5 @@ module.exports.readDir = readDir module.exports.readFile = readFile module.exports.readPathFromGit = readPathFromGit module.exports.scan = scan -module.exports.scanExtension = (dir, ext, work) => - filterExt(scan(dir, work), ext) +module.exports.scanExtension = (dir, ext, config) => + filterExt(scan(dir, config), ext) From c3be4af1a13f0e67fb62e7fdd674a62331e2a075 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 17 Jan 2023 13:22:36 +0000 Subject: [PATCH 02/63] chore(release): 5.10.1 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98fb70db..484f8ac0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### 5.10.1 (2023-01-17) + + +### Bug Fixes + +* readDir git based implementation ([#419](https://github.com/scolladon/sfdx-git-delta/issues/419)) ([187cbf4](https://github.com/scolladon/sfdx-git-delta/commit/187cbf449bf46c095ca7826a0c14420449e4e4ec)) + ## 5.10.0 (2022-12-16) diff --git a/README.md b/README.md index d7a08181..170b196f 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.10.0/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.10.1/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index 8b45717a..d295700f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.10.0", + "version": "5.10.1", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 8c5a832bed76f9c17aac689546346ab52eb80ad3 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 17 Jan 2023 14:26:39 +0100 Subject: [PATCH 03/63] build: allow force push with protection rule in release workflow (#421) --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b8523dc4..019241e0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,8 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 + with: + token: ${{ secrets.RELEASE_PAT }} - name: Setup node uses: actions/setup-node@v3 @@ -39,7 +41,7 @@ jobs: yarn release yarn publish --access public --tag "latest-rc" env: - CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{secrets.GITHUB_TOKEN}} + CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{ secrets.RELEASE_PAT }} NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - name: Install sfdx-cli From b18e388ce4616c0e934b4c8c45bbc8d008bb94b2 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 19 Jan 2023 10:03:05 +0100 Subject: [PATCH 04/63] fix: experience metadata meta file suffix (#423) Issue introduced by commit 71c0a02 From PR #397 --- .github/workflows/main.yml | 2 +- .github/workflows/pull-request.yml | 8 +- .../lib/service/inResourceHandler.test.js | 22 +- package.json | 32 +- src/metadata/a48.json | 2 +- src/metadata/v47.json | 2 +- src/metadata/v49.json | 2 +- src/metadata/v50.json | 2 +- src/metadata/v51.json | 2 +- src/metadata/v52.json | 2 +- src/metadata/v53.json | 2 +- src/metadata/v54.json | 2 +- src/metadata/v55.json | 2 +- src/metadata/v56.json | 2 +- yarn.lock | 645 ++++++++++++------ 15 files changed, 495 insertions(+), 234 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bb85a63b..282002c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: run: yarn test:coverage --runInBand - name: Upload coverage - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} continue-on-error: true diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index fec98a05..1f9a462e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -34,7 +34,7 @@ jobs: run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile - name: Lint sources - uses: wearerequired/lint-action@v1 + uses: wearerequired/lint-action@v2 with: eslint: true continue-on-error: true @@ -50,7 +50,7 @@ jobs: continue-on-error: true - name: Upload coverage - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} continue-on-error: true @@ -100,13 +100,13 @@ jobs: fetch-depth: 0 - name: Lint commits - uses: wagoid/commitlint-github-action@v4 + uses: wagoid/commitlint-github-action@v5 continue-on-error: true pull-request-lint: runs-on: ubuntu-latest steps: - name: Lint PR - uses: amannn/action-semantic-pull-request@v1.2.0 + uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/__tests__/unit/lib/service/inResourceHandler.test.js b/__tests__/unit/lib/service/inResourceHandler.test.js index da192eb9..cb1b46f1 100644 --- a/__tests__/unit/lib/service/inResourceHandler.test.js +++ b/__tests__/unit/lib/service/inResourceHandler.test.js @@ -57,21 +57,30 @@ describe('InResourceHandler', () => { beforeEach(() => { work.config.generateDelta = true }) - describe('when matching zip resource exist', () => { + describe('when matching resource exist', () => { beforeEach(() => { readDir.mockImplementation(() => Promise.resolve([ 'other.resource-meta.xml', 'other/', 'image.resource-meta.xml', + 'my_experience_bundle.site-meta.xml', + 'my_experience_bundle/', + 'other_experience_bundle.resource-meta.xml', ]) ) }) it.each([ ['staticresources', 'image', 'image.png', 3], ['staticresources', 'image', 'image/logo.png', 3], + [ + 'experiences', + 'my_experience_bundle', + 'my_experience_bundle/config/myexperiencebundle.json', + 5, + ], ])( - 'should copy the matching resource', + 'should copy the matching folder resource, matching meta file and subject file', async (type, entity, path, expectedCount) => { // Arrange const base = 'force-app/main/default/' @@ -96,11 +105,16 @@ describe('InResourceHandler', () => { ) expect(copyFiles).toHaveBeenCalledWith( work.config, - `${base}${type}/${entity}.resource${METAFILE_SUFFIX}`, - `${base}${type}/${entity}.resource${METAFILE_SUFFIX}` + `${base}${type}/${entity}.${ + globalMetadata.get(type).suffix + }${METAFILE_SUFFIX}`, + `${base}${type}/${entity}.${ + globalMetadata.get(type).suffix + }${METAFILE_SUFFIX}` ) } ) + it('should copy the matching lwc', async () => { // Arrange const type = 'lwc' diff --git a/package.json b/package.json index d295700f..cd02c780 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ }, "author": "Sebastien Colladon ", "dependencies": { - "@oclif/command": "^1.8.20", + "@oclif/command": "^1.8.21", "@oclif/config": "^1.18.6", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.2.37", - "@salesforce/core": "^3.32.12", - "fast-xml-parser": "^4.0.12", + "@salesforce/command": "^5.2.40", + "@salesforce/core": "^3.32.13", + "fast-xml-parser": "^4.0.13", "fs-extra": "^11.1.0", "ignore": "^5.2.4", "micromatch": "^4.0.5", @@ -57,7 +57,7 @@ "test:debug:break": "node --inspect-brk node_modules/.bin/jest", "test:watch": "jest --watch", "postpack": "rm -f oclif.manifest.json && prettier --write README.md", - "postrelease": "yarn release:tags && yarn release:github", + "postrelease": "yarn release:tags && yarn release:github", "prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme", "prepare": "husky install", "release": "standard-version --no-verify --commit-all", @@ -67,35 +67,35 @@ "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { - "@commitlint/cli": "^17.4.0", - "@commitlint/config-angular": "^17.4.0", - "@commitlint/prompt-cli": "^17.4.0", + "@commitlint/cli": "^17.4.2", + "@commitlint/config-angular": "^17.4.2", + "@commitlint/prompt-cli": "^17.4.2", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.1.22", - "@oclif/test": "^2.2.19", + "@oclif/plugin-help": "^5.1.23", + "@oclif/test": "^2.2.21", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.48.0", - "@typescript-eslint/parser": "^5.48.0", + "@typescript-eslint/eslint-plugin": "^5.48.2", + "@typescript-eslint/parser": "^5.48.2", "conventional-github-releaser": "^3.1.5", - "eslint": "^8.31.0", + "eslint": "^8.32.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", - "eslint-plugin-import": "^2.26.0", + "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsdoc": "^39.6.4", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.3.1", "lint-staged": "^13.1.0", "nyc": "^15.1.0", - "prettier": "^2.8.1", + "prettier": "^2.8.3", "prettier-eslint": "^15.0.1", "standard-version": "^9.5.0", "ts-node": "^10.9.1", "typescript": "^4.9.4", - "yarn-upgrade-all": "^0.7.1" + "yarn-upgrade-all": "^0.7.2" }, "oclif": { "commands": "./lib/commands", diff --git a/src/metadata/a48.json b/src/metadata/a48.json index cb670c06..bd17566e 100644 --- a/src/metadata/a48.json +++ b/src/metadata/a48.json @@ -817,7 +817,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v47.json b/src/metadata/v47.json index 096e64f1..abb604a4 100644 --- a/src/metadata/v47.json +++ b/src/metadata/v47.json @@ -810,7 +810,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v49.json b/src/metadata/v49.json index 1441cf47..0d91c9b9 100644 --- a/src/metadata/v49.json +++ b/src/metadata/v49.json @@ -824,7 +824,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v50.json b/src/metadata/v50.json index 1441cf47..0d91c9b9 100644 --- a/src/metadata/v50.json +++ b/src/metadata/v50.json @@ -824,7 +824,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v51.json b/src/metadata/v51.json index 90af3a51..0bedc87a 100644 --- a/src/metadata/v51.json +++ b/src/metadata/v51.json @@ -880,7 +880,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v52.json b/src/metadata/v52.json index 4264f03a..c79d4d5c 100644 --- a/src/metadata/v52.json +++ b/src/metadata/v52.json @@ -880,7 +880,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v53.json b/src/metadata/v53.json index 4264f03a..c79d4d5c 100644 --- a/src/metadata/v53.json +++ b/src/metadata/v53.json @@ -880,7 +880,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v54.json b/src/metadata/v54.json index 4264f03a..c79d4d5c 100644 --- a/src/metadata/v54.json +++ b/src/metadata/v54.json @@ -880,7 +880,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 6f6a1584..5171d2dc 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -894,7 +894,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 293c6c8e..55399f12 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -901,7 +901,7 @@ "directoryName": "experiences", "inFolder": false, "metaFile": true, - "suffix": "experience", + "suffix": "site", "xmlName": "ExperienceBundle" }, { diff --git a/yarn.lock b/yarn.lock index d3a8d1d4..519248c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -312,15 +312,15 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.0.tgz#14a5f9b713a5b60ff1a0cfce66b0bb207954c1ad" - integrity sha512-SEY4sYe8yVlgxPP7X0wJb96DBAGBPsCsy6QbqJt/UECbIAjDeDV5xXBV4jnS7T/qMC10sk6Ub9kDhEX0VWvblw== +"@commitlint/cli@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.2.tgz#8600c83abb7e84191fd59528fc14f436496fb00b" + integrity sha512-0rPGJ2O1owhpxMIXL9YJ2CgPkdrFLKZElIZHXDN8L8+qWK1DGH7Q7IelBT1pchXTYTuDlqkOTdh//aTvT3bSUA== dependencies: "@commitlint/format" "^17.4.0" - "@commitlint/lint" "^17.4.0" - "@commitlint/load" "^17.4.0" - "@commitlint/read" "^17.4.0" + "@commitlint/lint" "^17.4.2" + "@commitlint/load" "^17.4.2" + "@commitlint/read" "^17.4.2" "@commitlint/types" "^17.4.0" execa "^5.0.0" lodash.isfunction "^3.0.9" @@ -333,10 +333,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/config-angular-type-enum/-/config-angular-type-enum-17.4.0.tgz#5b6c882f192d1c7f4b0f42526637295434179d7f" integrity sha512-qbmfOfVqQHMKfc6CxS0A9b7+EFsOyEBoh4+i8Qa05uk8YhT/zY1CeIXK5V3wwemMDcHUegyL/ZnwCvWD7g8GxA== -"@commitlint/config-angular@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-angular/-/config-angular-17.4.0.tgz#ee1e08b5dc1495a8826da3c4b228a095611c2848" - integrity sha512-YpFdcw++xU9PVUhA++VvYCSMD9qDBS0ecGRdOGAOB3BniFtuCQsKA9zvn1rrBWch2lcsJB2d8FRxOd3c4cfHJw== +"@commitlint/config-angular@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/config-angular/-/config-angular-17.4.2.tgz#26265570fb9324eeceb642e4e803a922a77e0336" + integrity sha512-14gEwTZ6wcpbdE0lNkJVeeafZd72occHwG9Fi6JEVQQ/nOi9XBiJRFWPRQObXlb8UZCh0q9xgIqeJTue6toypQ== dependencies: "@commitlint/config-angular-type-enum" "^17.4.0" @@ -373,33 +373,34 @@ "@commitlint/types" "^17.4.0" chalk "^4.1.0" -"@commitlint/is-ignored@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.0.tgz#7c1f35db20c409783935b9305ad695f378287b31" - integrity sha512-mkRuBlPUaBimvSvJyIHEHEW1/jP1SqEI7NOoaO9/eyJkMbsaiv5b1QgDYL4ZXlHdS64RMV7Y21MVVzuIceImDA== +"@commitlint/is-ignored@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.2.tgz#2d40a34e071c3e595e485fafe8460457a7b7af9d" + integrity sha512-1b2Y2qJ6n7bHG9K6h8S4lBGUl6kc7mMhJN9gy1SQfUZqe92ToDjUTtgNWb6LbzR1X8Cq4SEus4VU8Z/riEa94Q== dependencies: "@commitlint/types" "^17.4.0" semver "7.3.8" -"@commitlint/lint@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.0.tgz#ba3554692d8e156db04085caa75eab9d46908449" - integrity sha512-HG2YT4TUbQKs9v8QvpQjJ6OK+fhflsDB8M+D5tLrY79hbQOWA9mDKdRkABsW/AAhpNI9+zeGUWF3jj245jSHKw== +"@commitlint/lint@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.2.tgz#1277cb4d5395e9d6c39cbc351984bac9dcc6b7cd" + integrity sha512-HcymabrdBhsDMNzIv146+ZPNBPBK5gMNsVH+el2lCagnYgCi/4ixrHooeVyS64Fgce2K26+MC7OQ4vVH8wQWVw== dependencies: - "@commitlint/is-ignored" "^17.4.0" - "@commitlint/parse" "^17.4.0" - "@commitlint/rules" "^17.4.0" + "@commitlint/is-ignored" "^17.4.2" + "@commitlint/parse" "^17.4.2" + "@commitlint/rules" "^17.4.2" "@commitlint/types" "^17.4.0" -"@commitlint/load@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.0.tgz#d0136d38f3d533e706340efbccc2fb38ebb97538" - integrity sha512-wDKNvAJqukqZqKmhRlf3KNo/12QGo1AQcd80EbV01SxtGvyHOsJ/g+/IbrZpopZv8rvzmEVktcpfDYH6ITepFA== +"@commitlint/load@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.2.tgz#551875c3e1dce6dc0375dc9c8ad551de8ba35de4" + integrity sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw== dependencies: "@commitlint/config-validator" "^17.4.0" "@commitlint/execute-rule" "^17.4.0" "@commitlint/resolve-extends" "^17.4.0" "@commitlint/types" "^17.4.0" + "@types/node" "*" chalk "^4.1.0" cosmiconfig "^8.0.0" cosmiconfig-typescript-loader "^4.0.0" @@ -410,44 +411,44 @@ ts-node "^10.8.1" typescript "^4.6.4" -"@commitlint/message@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.0.tgz#40779163d1cd7946b081077e1ef7f831baa577e5" - integrity sha512-USGJDU9PPxcgQjKXCzvPUal65KAhxWq3hp+MrU1pNCN2itWM654CLIoY2LMIQ7rScTli9B5dTLH3vXhzbItmzA== +"@commitlint/message@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" + integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== -"@commitlint/parse@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.0.tgz#bb2a78dcad9abd12a53a9d50387a45c5b86afcff" - integrity sha512-x8opKc5p+Hgs+CrMbq3VAnW2L2foPAX6arW8u9c8nTzksldGgFsENT+XVyPmpSMLlVBswZ1tndcz1xyKiY9TJA== +"@commitlint/parse@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.2.tgz#b0f8a257a1f93387a497408b0b4cadba60ee3359" + integrity sha512-DK4EwqhxfXpyCA+UH8TBRIAXAfmmX4q9QRBz/2h9F9sI91yt6mltTrL6TKURMcjUVmgaB80wgS9QybNIyVBIJA== dependencies: "@commitlint/types" "^17.4.0" conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/prompt-cli@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.0.tgz#545c2b940ca346f8188d3aea62a311e55f718473" - integrity sha512-IEksDOB4uTIy+vZTRMZz6+xkRZ6hPGvQ6f0DQPHFqrhgpnUd+/FqgT0qrrWlb7ttxwYVr7cMpYCVfJN0fZkeBw== +"@commitlint/prompt-cli@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.2.tgz#9430e96db65189f03a894c4c31d0307e46697e5c" + integrity sha512-z9fq366RIdPrcv9UJtZN8E6z4gCDSKm8lQByUGnbHyfKsU85ilhhlVfrCiiHvT6leBmWBdFlOvpuKIGtYno2mw== dependencies: - "@commitlint/prompt" "^17.4.0" + "@commitlint/prompt" "^17.4.2" execa "^5.0.0" inquirer "^6.5.2" -"@commitlint/prompt@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.0.tgz#33811555a1d129c0f31ecacc58297e8fc9f9082e" - integrity sha512-RHlEUJ5W1bQHvG1Ak02v0s79aMvnS/+LVHdKSvuSOinZWZ0wQLKKIhKB7Rluaef9IlNYXS1VGd48pzwe3y2iCw== +"@commitlint/prompt@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.2.tgz#a2aad805ba5b0062b9f911c9c82367159a0a1853" + integrity sha512-I+Sjzep5sSFDz23ocsIj2cD8SwuRQhCgbzSARl+thAqCK1P/+S9A6UceuTmqLzkVYFHP61bz2BaRPd+e/dfpRQ== dependencies: "@commitlint/ensure" "^17.4.0" - "@commitlint/load" "^17.4.0" + "@commitlint/load" "^17.4.2" "@commitlint/types" "^17.4.0" chalk "^4.1.0" inquirer "^6.5.2" -"@commitlint/read@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.0.tgz#946def0be19a2af8fd1d09cd7ad7f33b3c30b610" - integrity sha512-pGDeZpbkyvhxK8ZoCDUacPPRpauKPWF3n2XpDBEnuGreqUF2clq2PVJpwMMaNN5cHW8iFKCbcoOjXhD01sln0A== +"@commitlint/read@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.2.tgz#4880a05271fb44cefa54d365a17d5753496a6de0" + integrity sha512-hasYOdbhEg+W4hi0InmXHxtD/1favB4WdwyFxs1eOy/DvMw6+2IZBmATgGOlqhahsypk4kChhxjAFJAZ2F+JBg== dependencies: "@commitlint/top-level" "^17.4.0" "@commitlint/types" "^17.4.0" @@ -467,13 +468,13 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.0.tgz#7814f9de38c10ba17b33dd16a05be8f181031538" - integrity sha512-lz3i1jet2NNjTWpAMwjjQjMZCPWBIHK1Kkja9o09UmUtMjRdALTb8uMLe8gCyeq3DiiZ5lLYOhbsoPK56xGQKA== +"@commitlint/rules@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.2.tgz#cdf203bc82af979cb319210ef9215cb1de216a9b" + integrity sha512-OGrPsMb9Fx3/bZ64/EzJehY9YDSGWzp81Pj+zJiY+r/NSgJI3nUYdlS37jykNIugzazdEXfMtQ10kmA+Kx2pZQ== dependencies: "@commitlint/ensure" "^17.4.0" - "@commitlint/message" "^17.4.0" + "@commitlint/message" "^17.4.2" "@commitlint/to-lines" "^17.4.0" "@commitlint/types" "^17.4.0" execa "^5.0.0" @@ -870,10 +871,10 @@ debug "^4.1.1" semver "^7.3.2" -"@oclif/command@^1.8.20": - version "1.8.20" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.20.tgz#7e28387be8744145e1b2ee7db89275bc7f708f2f" - integrity sha512-BHM9byujY0kf0PiRorIyp99K50cA3i6Hyro0+TPpFFx+4QM+PyQ5vMHO/TG5wkEP8tIivNRs24bF8QVyJru25g== +"@oclif/command@^1.8.21": + version "1.8.21" + resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.21.tgz#32f876f8c02d61094b9693e34167e08fe67b6411" + integrity sha512-kIDrRIbAcicVl+CWMzXeZkg5dRNuF1VI7koyFTAQMNYwRNZpeya5x7XDPr+fh7rDiBL7psnxc3B1+zoOWj96lQ== dependencies: "@oclif/config" "^1.18.2" "@oclif/errors" "^1.3.6" @@ -918,10 +919,10 @@ is-wsl "^2.1.1" tslib "^2.3.1" -"@oclif/core@^1.22.0": - version "1.22.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.22.0.tgz#dfdd76db6435cc1be2de7bbe25c23302332b9297" - integrity sha512-Bvyi6uFbmpkFl9XUATsGMlqEDGfqMKWL0Mu5VQTuPg7/NIyfygYkaburn11uGkOp0a8yG6fPpyVBfGmztjNPGA== +"@oclif/core@^1.23.0", "@oclif/core@^1.23.1": + version "1.23.1" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.23.1.tgz#bebbbc4e02a4c1a4216d64165f892037f8a1e14a" + integrity sha512-nz7wVGesJ1Qg74p1KNKluZpQ3Z042mqdaRlczEI4Xwqj5s9jjdDBCDHNkiGzV4UAKzicVzipNj6qqhyUWKYnaA== dependencies: "@oclif/linewrap" "^1.0.0" "@oclif/screen" "^3.0.3" @@ -952,13 +953,13 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^1.23.0", "@oclif/core@^1.23.1": - version "1.23.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.23.1.tgz#bebbbc4e02a4c1a4216d64165f892037f8a1e14a" - integrity sha512-nz7wVGesJ1Qg74p1KNKluZpQ3Z042mqdaRlczEI4Xwqj5s9jjdDBCDHNkiGzV4UAKzicVzipNj6qqhyUWKYnaA== +"@oclif/core@^1.24.0": + version "1.24.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.24.0.tgz#e94e2f3a1259ebb3cc867d04b12c5bfc31c21f50" + integrity sha512-J41suyV4fLfLcRRySZdtgFYSjIlpYqD90SY01Fm4+ZJUMcfDh/eQAD4sogyYOsIT0bfEzYOyYCjmfHmgcoX5aA== dependencies: "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.3" + "@oclif/screen" "^3.0.4" ansi-escapes "^4.3.2" ansi-styles "^4.3.0" cardinal "^2.1.1" @@ -1084,12 +1085,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.1.22": - version "5.1.22" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.1.22.tgz#65b78efe34af10e9427e046fb4d3524d62149226" - integrity sha512-gflrCqV3c7nd1UgknuZZTX6Th9CTkvVyTjL76UNHrea3kCZEpPzsMGhwP989R+j3KSGJGeZVrq2i9g2QXI9tZA== +"@oclif/plugin-help@^5.1.23": + version "5.1.23" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.1.23.tgz#529b193b35436ef9374fd9ba4d065e19b73b6b5a" + integrity sha512-8oyyu/yPz55Zhj0U58/YXGc51N65vOpVeqDalf5xby4T+VMo4naDVJMxcSpJF2YUTREXEfO2pcC0aA4PE5q8Ig== dependencies: - "@oclif/core" "^1.23.1" + "@oclif/core" "^1.24.0" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1101,13 +1102,10 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.3.tgz#e679ad10535e31d333f809f7a71335cc9aef1e55" integrity sha512-KX8gMYA9ujBPOd1HFsV9e0iEx7Uoj8AG/3YsW4TtWQTg4lJvr82qNm7o/cFQfYRIt+jw7Ew/4oL4A22zOT+IRA== -"@oclif/test@^2.2.17": - version "2.2.17" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.2.17.tgz#82a1cec2321552e3bcc2cbc30546bbceaacdde6d" - integrity sha512-biReDlW5a6YkiJoMPa4tQYWQ8sXkBBMD94P7/NgqAL06wE62x4cyK8V55hcbV10QPe82IUl0w3Zx09zYsoLUyQ== - dependencies: - "@oclif/core" "^1.22.0" - fancy-test "^2.0.10" +"@oclif/screen@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" + integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== "@oclif/test@^2.2.19": version "2.2.19" @@ -1117,6 +1115,14 @@ "@oclif/core" "^1.23.1" fancy-test "^2.0.10" +"@oclif/test@^2.2.21": + version "2.2.21" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.2.21.tgz#f0a64773100b12191b9f9ea5efb9a632ec2c922a" + integrity sha512-uIjn0PM6R9qlpYzoB9eYBwh3uMd5EdTux2dhBnYMA3DWcLOV4/+2TxKeVurfHFHfQfRp7imYSab7vEwTfiSo7g== + dependencies: + "@oclif/core" "^1.24.0" + fancy-test "^2.0.11" + "@oozcitak/dom@1.15.10": version "1.15.10" resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" @@ -1158,15 +1164,15 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.2.37": - version "5.2.37" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.37.tgz#e56fb991843261bb601d8836b3236d508021504c" - integrity sha512-v/yemTfiL9AQ8xiZD8xeJvsOfEFLocdFFVgA5nUbOlbEgN4RmJ19TiMdZPTQQ/l7kSFg4K5BUGmBVGqkHvc9Aw== +"@salesforce/command@^5.2.40": + version "5.2.40" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.40.tgz#2b5e98abe693698d4945178835053eabe0f6e99e" + integrity sha512-HCGtzPTbZwjAOHlRM0cd6gWcMicGZTfemfj+1qCVNWArFuTtYZu2JEjXCZRm5UgV9F+d4aFLMQtMQDiZYENq8g== dependencies: "@oclif/core" "^1.23.0" - "@oclif/test" "^2.2.17" + "@oclif/test" "^2.2.19" "@salesforce/core" "^3.32.12" - "@salesforce/kit" "^1.8.0" + "@salesforce/kit" "^1.8.2" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" @@ -1193,6 +1199,29 @@ jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" +"@salesforce/core@^3.32.13": + version "3.32.13" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.32.13.tgz#dbfe221180361ab10f2e1a4b9d35f41c3aeb2a8e" + integrity sha512-AiJ14GTCK3HqbHqhZ+G52vpLtkEKK2Liy5FnpEed/a8DXQZGNHlatGvIANRBPwSSAhnP2JkyiFUHtHHkc+ThYA== + dependencies: + "@salesforce/bunyan" "^2.0.0" + "@salesforce/kit" "^1.8.0" + "@salesforce/schemas" "^1.4.0" + "@salesforce/ts-types" "^1.7.2" + "@types/graceful-fs" "^4.1.5" + "@types/semver" "^7.3.13" + ajv "^8.11.2" + archiver "^5.3.0" + change-case "^4.1.2" + debug "^3.2.7" + faye "^1.4.0" + form-data "^4.0.0" + graceful-fs "^4.2.9" + js2xmlparser "^4.0.1" + jsforce "^2.0.0-beta.19" + jsonwebtoken "9.0.0" + ts-retry-promise "^0.7.0" + "@salesforce/dev-config@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" @@ -1207,6 +1236,15 @@ shx "^0.3.3" tslib "^2.2.0" +"@salesforce/kit@^1.8.2": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.8.3.tgz#b590b78a8618494c51534598a7eb0683ba0da3f2" + integrity sha512-p+0tWR2pyCAIjZwDXGhrYFPuLckX9fP3Xa6Jync9POeQBfDGyK9CRd1eaiWj+6BeDS9kwvgm5M6o+OptIEhEjw== + dependencies: + "@salesforce/ts-types" "^1.7.2" + shx "^0.3.3" + tslib "^2.2.0" + "@salesforce/schemas@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.4.0.tgz#7dff427c8059895d8108176047aee600703c82d6" @@ -1226,6 +1264,13 @@ dependencies: tslib "^2.4.1" +"@salesforce/ts-types@^1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.2.tgz#ab40399d291c7eca57efc9890daf2fa2632197ec" + integrity sha512-eCpWKEb03UCKBJ6Svp0Vwcwt+fG6BQbopO4x5wt6CYeT8Rjt0dbDQicZPmVL59j2qyt3Q4Y4EYsxXUGZmdfvDw== + dependencies: + tslib "^2.4.1" + "@sinclair/typebox@^0.24.1": version "0.24.39" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.39.tgz#21d0c56c295a00e391e20a88a48c11d4a1210ac5" @@ -1454,14 +1499,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67" - integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ== +"@typescript-eslint/eslint-plugin@^5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3" + integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg== dependencies: - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/type-utils" "5.48.0" - "@typescript-eslint/utils" "5.48.0" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/type-utils" "5.48.2" + "@typescript-eslint/utils" "5.48.2" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -1479,14 +1524,14 @@ "@typescript-eslint/typescript-estree" "5.36.2" debug "^4.3.4" -"@typescript-eslint/parser@^5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba" - integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg== +"@typescript-eslint/parser@^5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3" + integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw== dependencies: - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" debug "^4.3.4" "@typescript-eslint/scope-manager@5.36.2": @@ -1497,21 +1542,21 @@ "@typescript-eslint/types" "5.36.2" "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/scope-manager@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf" - integrity sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow== +"@typescript-eslint/scope-manager@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc" + integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw== dependencies: - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/visitor-keys" "5.48.0" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" -"@typescript-eslint/type-utils@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz#40496dccfdc2daa14a565f8be80ad1ae3882d6d6" - integrity sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g== +"@typescript-eslint/type-utils@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7" + integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew== dependencies: - "@typescript-eslint/typescript-estree" "5.48.0" - "@typescript-eslint/utils" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/utils" "5.48.2" debug "^4.3.4" tsutils "^3.21.0" @@ -1520,10 +1565,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== -"@typescript-eslint/types@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449" - integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw== +"@typescript-eslint/types@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e" + integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA== "@typescript-eslint/typescript-estree@5.36.2": version "5.36.2" @@ -1538,29 +1583,29 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz#a7f04bccb001003405bb5452d43953a382c2fac2" - integrity sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw== +"@typescript-eslint/typescript-estree@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0" + integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg== dependencies: - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/visitor-keys" "5.48.0" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.0.tgz#eee926af2733f7156ad8d15e51791e42ce300273" - integrity sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ== +"@typescript-eslint/utils@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3" + integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" @@ -1573,12 +1618,12 @@ "@typescript-eslint/types" "5.36.2" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz#4446d5e7f6cadde7140390c0e284c8702d944904" - integrity sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q== +"@typescript-eslint/visitor-keys@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060" + integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ== dependencies: - "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/types" "5.48.2" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1808,15 +1853,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.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== +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== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" is-string "^1.0.7" array-union@^2.1.0: @@ -1824,14 +1869,24 @@ 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.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== +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== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + 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== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" arrify@^1.0.1: @@ -1864,6 +1919,11 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + babel-jest@^29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" @@ -2828,13 +2888,6 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - debug@^3.1.0, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -3043,7 +3096,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: +es-abstract@^1.19.0, es-abstract@^1.19.5: version "1.20.2" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== @@ -3072,6 +3125,54 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" +es-abstract@^1.20.4: + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + 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" + internal-slot "^1.0.4" + is-array-buffer "^3.0.1" + is-callable "^1.2.7" + is-negative-zero "^2.0.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-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -3123,38 +3224,41 @@ eslint-config-salesforce-typescript@^1.1.1: resolved "https://registry.yarnpkg.com/eslint-config-salesforce-typescript/-/eslint-config-salesforce-typescript-1.1.1.tgz#fb038f6423c5472d6439e9f780184b00ebcd2685" integrity sha512-cjj2tU5wkushOUynecjg0JQtb/y61pWSjtOKKnNzWEdtbZEs7pe1/w5hsaZ79urdeFFUHQW2mr3qpzsWzUjgxQ== -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== +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== dependencies: debug "^3.2.7" - resolve "^1.20.0" + is-core-module "^2.11.0" + resolve "^1.22.1" -eslint-module-utils@^2.7.3: +eslint-module-utils@^2.7.4: version "2.7.4" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== dependencies: debug "^3.2.7" -eslint-plugin-import@^2.26.0: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== +eslint-plugin-import@^2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" has "^1.0.3" - is-core-module "^2.8.1" + is-core-module "^2.11.0" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" tsconfig-paths "^3.14.1" eslint-plugin-jsdoc@^39.6.4: @@ -3210,10 +3314,10 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.31.0: - version "8.31.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524" - integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA== +eslint@^8.32.0: + version "8.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.32.0.tgz#d9690056bb6f1a302bd991e7090f5b68fbaea861" + integrity sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -3435,6 +3539,20 @@ fancy-test@^2.0.10: nock "^13.0.0" stdout-stderr "^0.1.9" +fancy-test@^2.0.11: + version "2.0.12" + resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" + integrity sha512-S7qVQNaViLTMzn71huZvrUCV59ldq+enQ1EQOkdNbl4q4Om97gwqbYKvZoglsnzCWRRFaFP+qHynpdqaLdiZqg== + dependencies: + "@types/chai" "*" + "@types/lodash" "*" + "@types/node" "*" + "@types/sinon" "*" + lodash "^4.17.13" + mock-stdin "^1.0.0" + nock "^13.3.0" + stdout-stderr "^0.1.9" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3466,10 +3584,10 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@^4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.12.tgz#9e3117d76523d20dfbd30482c1621fb9b03a7817" - integrity sha512-/Nmo3823Rfx7UTJosQNz6hBVbszfv1Unb7A4iNJZhvCGCgtIHv/uODmrYIH8vc05+XKZ4hNIOv6SlBejvJgATw== +fast-xml-parser@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.13.tgz#dab3e7ea17d39805af0a9f6d041f4c975c2b9b58" + integrity sha512-g+OboAw8ol1FgTHhKLR7ZHcItNudceiY04BBrvqa0JBWoPhi/+e5r4H5AeW+EsQCroJLJwsuOP3dD3c6cc5uOg== dependencies: strnum "^1.0.5" @@ -3608,6 +3726,13 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -3734,6 +3859,15 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@ has "^1.0.3" has-symbols "^1.0.3" +get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -3919,6 +4053,13 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^10.0.1: version "10.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" @@ -3945,6 +4086,13 @@ globby@^11.0.1, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@^8.0.0: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -4024,6 +4172,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbol-support-x@^1.4.1: version "1.4.2" resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" @@ -4263,6 +4416,15 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +internal-slot@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -4276,6 +4438,15 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -4296,12 +4467,24 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-callable@^1.1.3, 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-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: +is-core-module@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== @@ -4460,6 +4643,17 @@ 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== + 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" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -5633,11 +5827,6 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -5728,6 +5917,16 @@ nock@^13.0.0: lodash "^4.17.21" propagate "^2.0.0" +nock@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" + integrity sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + lodash "^4.17.21" + propagate "^2.0.0" + node-fetch@^2.6.1: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -5875,14 +6074,14 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +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== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" @@ -6265,10 +6464,10 @@ prettier@^2.5.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -prettier@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" - integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== +prettier@^2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" + integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== pretty-format@^23.0.1: version "23.6.0" @@ -6595,7 +6794,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -6699,6 +6898,15 @@ safe-json-stringify@~1: resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -7035,6 +7243,15 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +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== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimstart@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" @@ -7044,6 +7261,15 @@ string.prototype.trimstart@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +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== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -7437,6 +7663,15 @@ type-fest@^0.8.0, type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -7633,6 +7868,18 @@ 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.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + 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" + is-typed-array "^1.1.10" + which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -7832,10 +8079,10 @@ yargs@^17.0.0, yargs@^17.3.1: y18n "^5.0.5" yargs-parser "^21.0.0" -yarn-upgrade-all@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/yarn-upgrade-all/-/yarn-upgrade-all-0.7.1.tgz#167a5a78127c7051c4ed15396bd5f68e3b5cc744" - integrity sha512-KoYfSs8jGH5fp4+12ezF3uMMIxx70X8l9efmUvsI0KQmmF4nVssEmXw4Q2aZVrRZHF30b3+cyzMIp8iU6sb9aw== +yarn-upgrade-all@^0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/yarn-upgrade-all/-/yarn-upgrade-all-0.7.2.tgz#5d2afa9230661c55f22d3f848f22258db732ae20" + integrity sha512-iVxmoBuNdpxeahAIehJ039Pp6S8zQ/qTENQRMV5hp7x/2tLGUzytCODIKZFjfUwcRRKT3boGgHheUEWC7+VlQw== yn@3.1.1: version "3.1.1" From 9a85fa2d218af8943bfd1c6cc739e2734e1cf0f4 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 19 Jan 2023 09:32:02 +0000 Subject: [PATCH 05/63] chore(release): 5.10.2 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 484f8ac0..5dd66d4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### 5.10.2 (2023-01-19) + + +### Bug Fixes + +* experience metadata meta file suffix ([#423](https://github.com/scolladon/sfdx-git-delta/issues/423)) ([b18e388](https://github.com/scolladon/sfdx-git-delta/commit/b18e388ce4616c0e934b4c8c45bbc8d008bb94b2)), closes [#397](https://github.com/scolladon/sfdx-git-delta/issues/397) + ### 5.10.1 (2023-01-17) diff --git a/README.md b/README.md index 170b196f..b734e265 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.10.1/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.10.2/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index cd02c780..94dfe9d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.10.1", + "version": "5.10.2", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From de4ac846df690cb2d306b6508311ed7f548caf1c Mon Sep 17 00:00:00 2001 From: Sebastien Date: Mon, 23 Jan 2023 11:13:19 +0100 Subject: [PATCH 06/63] feat: add RelationshipGraphDefinition metadata for v55 and v56 (#428) --- .github/PULL_REQUEST_TEMPLATE.md | 17 +-- .github/workflows/manage-versions.yml | 6 +- .github/workflows/pull-request.yml | 2 +- README.md | 2 +- package.json | 10 +- src/metadata/v55.json | 7 ++ src/metadata/v56.json | 7 ++ yarn.lock | 142 ++++++++++++++------------ 8 files changed, 102 insertions(+), 91 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f2f560d3..337f1169 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,22 +1,7 @@ -## What does this pull request contain? - ---- - - - -- [ ] Added (for new features). -- [ ] Changed (for changes in existing functionality). -- [ ] Deprecated (for soon-to-be removed features). -- [ ] Removed (for now removed features). -- [ ] Fixed (for any bug fixes). -- [ ] Security (for vulnerability fixes). - ## Explain your changes --- diff --git a/.github/workflows/manage-versions.yml b/.github/workflows/manage-versions.yml index 640c954d..bc4b3812 100644 --- a/.github/workflows/manage-versions.yml +++ b/.github/workflows/manage-versions.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: version-alias: - description: 'version alias to map to a version number' + description: version alias to map to a version number required: true type: choice options: @@ -12,9 +12,9 @@ on: - latest - latest-rc version-number: - description: 'version number (semver format)' + description: version number (semver format) required: true - default: 'vX.Y.Z' + default: vX.Y.Z type: string jobs: diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 1f9a462e..d8578bf0 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -73,7 +73,7 @@ jobs: node-version: ${{ matrix.node }} - name: Install sfdx-cli - run: npm install -g sfdx-cli # yarn installation is not working in Windows + run: npm install -g sfdx-cli # yarn installation is not working on Windows - name: Install dependencies run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod diff --git a/README.md b/README.md index b734e265..67e315a2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Actions Status](https://github.com/scolladon/sfdx-git-delta/workflows/CI/badge.svg) +![Actions Status](https://github.com/scolladon/sfdx-git-delta/workflows/Main/badge.svg) [![npm](https://badgen.net/npm/v/sfdx-git-delta)](https://badgen.net/npm/v/sfdx-git-delta) [![Maintainability](https://api.codeclimate.com/v1/badges/95619399c7bb2cf60da4/maintainability)](https://codeclimate.com/github/scolladon/sfdx-git-delta/maintainability) [![Code Coverage](https://codecov.io/gh/scolladon/sfdx-git-delta/branch/main/graph/badge.svg?token=92T8XKKBHN)](https://codecov.io/gh/scolladon/sfdx-git-delta) diff --git a/package.json b/package.json index 94dfe9d3..57d7ebcb 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "@oclif/command": "^1.8.21", "@oclif/config": "^1.18.6", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.2.40", - "@salesforce/core": "^3.32.13", + "@salesforce/command": "^5.2.41", + "@salesforce/core": "^3.33.0", "fast-xml-parser": "^4.0.13", "fs-extra": "^11.1.0", "ignore": "^5.2.4", @@ -71,8 +71,8 @@ "@commitlint/config-angular": "^17.4.2", "@commitlint/prompt-cli": "^17.4.2", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.1.23", - "@oclif/test": "^2.2.21", + "@oclif/plugin-help": "^5.2.0", + "@oclif/test": "^2.3.0", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", @@ -84,7 +84,7 @@ "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^39.6.4", + "eslint-plugin-jsdoc": "^39.6.7", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.3.1", diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 5171d2dc..bbdec43f 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,11 @@ [ + { + "directoryName": "relationshipGraphDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "relationshipGraphDefinition", + "xmlName": "RelationshipGraphDefinition" + }, { "directoryName": "omniDataTransforms", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 55399f12..4616e90c 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,11 @@ [ + { + "directoryName": "relationshipGraphDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "relationshipGraphDefinition", + "xmlName": "RelationshipGraphDefinition" + }, { "directoryName": "omniDataTransforms", "inFolder": false, diff --git a/yarn.lock b/yarn.lock index 519248c5..33e3665c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -919,13 +919,13 @@ is-wsl "^2.1.1" tslib "^2.3.1" -"@oclif/core@^1.23.0", "@oclif/core@^1.23.1": - version "1.23.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.23.1.tgz#bebbbc4e02a4c1a4216d64165f892037f8a1e14a" - integrity sha512-nz7wVGesJ1Qg74p1KNKluZpQ3Z042mqdaRlczEI4Xwqj5s9jjdDBCDHNkiGzV4UAKzicVzipNj6qqhyUWKYnaA== +"@oclif/core@^1.24.0": + version "1.24.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.24.0.tgz#e94e2f3a1259ebb3cc867d04b12c5bfc31c21f50" + integrity sha512-J41suyV4fLfLcRRySZdtgFYSjIlpYqD90SY01Fm4+ZJUMcfDh/eQAD4sogyYOsIT0bfEzYOyYCjmfHmgcoX5aA== dependencies: "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.3" + "@oclif/screen" "^3.0.4" ansi-escapes "^4.3.2" ansi-styles "^4.3.0" cardinal "^2.1.1" @@ -953,10 +953,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^1.24.0": - version "1.24.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.24.0.tgz#e94e2f3a1259ebb3cc867d04b12c5bfc31c21f50" - integrity sha512-J41suyV4fLfLcRRySZdtgFYSjIlpYqD90SY01Fm4+ZJUMcfDh/eQAD4sogyYOsIT0bfEzYOyYCjmfHmgcoX5aA== +"@oclif/core@^1.24.1": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.25.0.tgz#a3891f903bf211ce1f3c8a05419b686f02c5bbd6" + integrity sha512-vS8L5Uqc5Wuq3zmKVvX5LLcyxhfH2X2q+LG1P6czzkh6k09uLeDaZfwaYPXD7ItM4Vfy+KEctfKiWePeLDnOpg== dependencies: "@oclif/linewrap" "^1.0.0" "@oclif/screen" "^3.0.4" @@ -987,6 +987,40 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" +"@oclif/core@^2.0.2-beta.6": + version "2.0.2-beta.10" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.2-beta.10.tgz#5b459a91d653b8d5aa234e4324a4cc483747abd2" + integrity sha512-FgJ5XHE6MjE7DOyQAcOZPD5Xs5cNOzP91zAQBkut8xhOkZA1NRQjv+7BczJqOTerXccohhTlu09pd7OAyDuitw== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.10.0" + debug "^4.3.4" + ejs "^3.1.6" + fs-extra "^9.1.0" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + semver "^7.3.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + tslib "^2.4.1" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + "@oclif/dev-cli@^1.26.10": version "1.26.10" resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.26.10.tgz#d8df3a79009b68552f5e7f249d1d19ca52278382" @@ -1085,36 +1119,23 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.1.23": - version "5.1.23" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.1.23.tgz#529b193b35436ef9374fd9ba4d065e19b73b6b5a" - integrity sha512-8oyyu/yPz55Zhj0U58/YXGc51N65vOpVeqDalf5xby4T+VMo4naDVJMxcSpJF2YUTREXEfO2pcC0aA4PE5q8Ig== +"@oclif/plugin-help@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.0.tgz#5f75e6977c0f6c37cb67168170f032338a19efb6" + integrity sha512-Sp6Eywj3V2Moif/CJeJsyInPJhzifs2JjsaVbsrLS77WOL2/XAmca1sE5QxfakOGYH21g8xz/Ht9ZgiNy8u1zQ== dependencies: - "@oclif/core" "^1.24.0" + "@oclif/core" "^2.0.2-beta.6" "@oclif/screen@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-1.0.4.tgz#b740f68609dfae8aa71c3a6cab15d816407ba493" integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== -"@oclif/screen@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.3.tgz#e679ad10535e31d333f809f7a71335cc9aef1e55" - integrity sha512-KX8gMYA9ujBPOd1HFsV9e0iEx7Uoj8AG/3YsW4TtWQTg4lJvr82qNm7o/cFQfYRIt+jw7Ew/4oL4A22zOT+IRA== - "@oclif/screen@^3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.19": - version "2.2.19" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.2.19.tgz#6e60a2aff0ba514b479342b1bd5e27fe859a2947" - integrity sha512-hqxM8XHu/17fKop3AZkWtXjXnUcQDOz71De2fNPX533aYfADyVyG8mw4JtkLIUzbNxFm5km+zoYWe5YWKDOnyg== - dependencies: - "@oclif/core" "^1.23.1" - fancy-test "^2.0.10" - "@oclif/test@^2.2.21": version "2.2.21" resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.2.21.tgz#f0a64773100b12191b9f9ea5efb9a632ec2c922a" @@ -1123,6 +1144,14 @@ "@oclif/core" "^1.24.0" fancy-test "^2.0.11" +"@oclif/test@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.0.tgz#c62efef4e4fa2ec3d44a3a79b58cc9e43898413b" + integrity sha512-DgoEOY/Y1FvNwA1J0Sy7u6jZSHbDutw6kNOWqVizlf1wSJiHKV6Ia9DyhHsg2Nb4EZ+1AKcetC0fI7ixLxxJHw== + dependencies: + "@oclif/core" "^2.0.2-beta.6" + fancy-test "^2.0.11" + "@oozcitak/dom@1.15.10": version "1.15.10" resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" @@ -1164,13 +1193,13 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.2.40": - version "5.2.40" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.40.tgz#2b5e98abe693698d4945178835053eabe0f6e99e" - integrity sha512-HCGtzPTbZwjAOHlRM0cd6gWcMicGZTfemfj+1qCVNWArFuTtYZu2JEjXCZRm5UgV9F+d4aFLMQtMQDiZYENq8g== +"@salesforce/command@^5.2.41": + version "5.2.41" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.41.tgz#a56ae554ea8b75f6dbc34e1282f9d650bb42e8fa" + integrity sha512-uSsIftl7JC10keU2LQp7tDXfJUT7hLmRT2fa5Bk5Mve4SpFcP7Z4hwahoOkoeGtZdhrFJNNVFii60NQFMsSvXw== dependencies: - "@oclif/core" "^1.23.0" - "@oclif/test" "^2.2.19" + "@oclif/core" "^1.24.1" + "@oclif/test" "^2.2.21" "@salesforce/core" "^3.32.12" "@salesforce/kit" "^1.8.2" "@salesforce/ts-types" "^1.7.1" @@ -1199,10 +1228,10 @@ jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" -"@salesforce/core@^3.32.13": - version "3.32.13" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.32.13.tgz#dbfe221180361ab10f2e1a4b9d35f41c3aeb2a8e" - integrity sha512-AiJ14GTCK3HqbHqhZ+G52vpLtkEKK2Liy5FnpEed/a8DXQZGNHlatGvIANRBPwSSAhnP2JkyiFUHtHHkc+ThYA== +"@salesforce/core@^3.33.0": + version "3.33.0" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.0.tgz#481cbd58955a7384a1f9200e02effc4dfe8e59da" + integrity sha512-nz7qKwm1GpNr8swksthm5jKORj4wn647iCm6Ij1X5oRts1uynLdnqyNDtWD6OJCOaMXunjRmnhRB82JXq/TnFg== dependencies: "@salesforce/bunyan" "^2.0.0" "@salesforce/kit" "^1.8.0" @@ -1358,6 +1387,13 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== +"@types/cli-progress@^3.11.0": + version "3.11.0" + resolved "https://registry.yarnpkg.com/@types/cli-progress/-/cli-progress-3.11.0.tgz#ec79df99b26757c3d1c7170af8422e0fc95eef7e" + integrity sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg== + dependencies: + "@types/node" "*" + "@types/eslint@^8.4.2": version "8.4.6" resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" @@ -3261,10 +3297,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^39.6.4: - version "39.6.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.4.tgz#b940aebd3eea26884a0d341785d2dc3aba6a38a7" - integrity sha512-fskvdLCfwmPjHb6e+xNGDtGgbF8X7cDwMtVLAP2WwSf9Htrx68OAx31BESBM1FAwsN2HTQyYQq7m4aW4Q4Nlag== +eslint-plugin-jsdoc@^39.6.7: + version "39.6.7" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.7.tgz#f7f9abec75993b9cb3ede814c1d9d5afc3d7bf22" + integrity sha512-0mrzXrHvL2ZLe3QK9X0OEDy7Fs2cFQ/f1d1G5KHEGD+13D1qg56Iovq0uOkYf5bJlHiKPytWVgOOO9y7kLW3VA== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -3525,20 +3561,6 @@ extract-stack@^2.0.0: resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== -fancy-test@^2.0.10: - version "2.0.10" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.10.tgz#4c96b34cb15ad49693634fd1df9a28bb2086253f" - integrity sha512-gt2C/1DrFLyXNEkPHpltol0osCFEj5c3TFs3gu4EhIbnKEU9AW+lK0pWf1wRXhKs/FtcijnfODaO90d1HlTulQ== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.0.0" - stdout-stderr "^0.1.9" - fancy-test@^2.0.11: version "2.0.12" resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" @@ -5907,16 +5929,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -nock@^13.0.0: - version "13.2.9" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.9.tgz#4faf6c28175d36044da4cfa68e33e5a15086ad4c" - integrity sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.21" - propagate "^2.0.0" - nock@^13.3.0: version "13.3.0" resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" From 306f39900f2b09e4b8d5922465a631ce590b85db Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 23 Jan 2023 10:17:56 +0000 Subject: [PATCH 07/63] chore(release): 5.11.0 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dd66d4a..2890d325 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## 5.11.0 (2023-01-23) + + +### Features + +* add RelationshipGraphDefinition metadata for v55 and v56 ([#428](https://github.com/scolladon/sfdx-git-delta/issues/428)) ([de4ac84](https://github.com/scolladon/sfdx-git-delta/commit/de4ac846df690cb2d306b6508311ed7f548caf1c)) + ### 5.10.2 (2023-01-19) diff --git a/README.md b/README.md index 67e315a2..228b9c60 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.10.2/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.0/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index 57d7ebcb..8ce383d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.10.2", + "version": "5.11.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 24da1380638181ed8efcfdc8031698b53427ddcb Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 24 Jan 2023 10:46:08 +0100 Subject: [PATCH 08/63] fix: generate incremental (`-d`) with source (`-s`) parameter (#432) --- src/utils/fsHelper.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index cadd911f..3cf995b2 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -16,7 +16,6 @@ const copyFiles = async (config, src, dst) => { if (copiedFiles.has(src)) return copiedFiles.add(src) - src = relative(config.source, src) const data = await readPathFromGit(src, config) if (!data) { return From 23fc841a18891b0b64d699b46a7e0110aac6b111 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 24 Jan 2023 16:09:59 +0000 Subject: [PATCH 09/63] chore(release): 5.11.1 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2890d325..b889a034 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### 5.11.1 (2023-01-24) + + +### Bug Fixes + +* generate incremental (`-d`) with source (`-s`) parameter ([#432](https://github.com/scolladon/sfdx-git-delta/issues/432)) ([24da138](https://github.com/scolladon/sfdx-git-delta/commit/24da1380638181ed8efcfdc8031698b53427ddcb)) + ## 5.11.0 (2023-01-23) diff --git a/README.md b/README.md index 228b9c60..0c9eda79 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.0/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.1/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index 8ce383d3..60cf64f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.11.0", + "version": "5.11.1", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 7e5409d94598b68a743dddd0a86d759ac31f0bde Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 26 Jan 2023 19:34:30 +0100 Subject: [PATCH 10/63] fix: relative `repo` and `source` parameters (#433) --- README.md | 10 + .../unit/lib/service/inFolderHandler.test.js | 1 - .../lib/service/inResourceHandler.test.js | 13 +- .../lib/service/inTranslationHandler.test.js | 3 - .../unit/lib/service/standardHandler.test.js | 29 +- package.json | 18 +- .../flowTranslationProcessor.js | 6 +- src/service/botHandler.js | 6 +- src/service/customObjectHandler.js | 13 +- src/service/inFileHandler.js | 3 +- src/service/inFolderHandler.js | 16 +- src/service/inResourceHandler.js | 14 +- src/service/inTranslationHandler.js | 7 +- src/service/standardHandler.js | 20 +- src/service/subCustomObjectHandler.js | 5 +- src/utils/cliHelper.js | 4 +- src/utils/fsHelper.js | 14 +- src/utils/repoGitDiff.js | 8 +- yarn.lock | 851 +++++++++--------- 19 files changed, 497 insertions(+), 544 deletions(-) diff --git a/README.md b/README.md index 0c9eda79..84a1d37f 100644 --- a/README.md +++ b/README.md @@ -221,6 +221,15 @@ Exemple comparing `HEAD` with a `development` branch when the CI clone the repos sfdx sgd:source:delta --to "HEAD" --from "origin/development" --output . ``` +Use global variable when you need to easily switch sgd version (`vX.X.X` format) or channel (`stable`, `latest`, `latest-rc`) in your pipeline, without having to commit a new version of your pipeline. + +Exemple with [github action](https://docs.github.com/en/actions/learn-github-actions/variables#using-the-vars-context-to-access-configuration-variable-values), [create a variable](https://docs.github.com/en/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository) SGD_VERSION and use it in the plugin installation phase + +```yaml +- name: Install SGD + run: echo y | sfdx plugins:install "sfdx-git-delta@${{ vars.SGD_VERSION }}" +``` + ### Use cases Any git sha pointer is supported: commit sha, branch, tag, git expression (HEAD, etc.). @@ -442,6 +451,7 @@ $ sfdx sgd:source:delta --from commit --source force-app/unpackaged ``` > The ignored patterns specified using `--ignore [-i]` and `--ignore-destructive [-D]` still apply. +> The `--source` path msut be relative to the `--repo` path ### Generate a comma-separated list of the added and modified Apex classes: diff --git a/__tests__/unit/lib/service/inFolderHandler.test.js b/__tests__/unit/lib/service/inFolderHandler.test.js index f3f1d172..f30e3687 100644 --- a/__tests__/unit/lib/service/inFolderHandler.test.js +++ b/__tests__/unit/lib/service/inFolderHandler.test.js @@ -62,7 +62,6 @@ describe('InFolderHander', () => { expect(copyFiles).toHaveBeenCalledTimes(3) expect(copyFiles).toHaveBeenCalledWith( work.config, - expect.stringContaining(METAFILE_SUFFIX), expect.stringContaining(METAFILE_SUFFIX) ) }) diff --git a/__tests__/unit/lib/service/inResourceHandler.test.js b/__tests__/unit/lib/service/inResourceHandler.test.js index cb1b46f1..f467d149 100644 --- a/__tests__/unit/lib/service/inResourceHandler.test.js +++ b/__tests__/unit/lib/service/inResourceHandler.test.js @@ -95,19 +95,14 @@ describe('InResourceHandler', () => { expect(copyFiles).toBeCalledTimes(expectedCount) expect(copyFiles).toHaveBeenCalledWith( work.config, - `${base}${type}/${path}`, `${base}${type}/${path}` ) expect(copyFiles).toHaveBeenCalledWith( work.config, - `${base}${type}/${path}${METAFILE_SUFFIX}`, `${base}${type}/${path}${METAFILE_SUFFIX}` ) expect(copyFiles).toHaveBeenCalledWith( work.config, - `${base}${type}/${entity}.${ - globalMetadata.get(type).suffix - }${METAFILE_SUFFIX}`, `${base}${type}/${entity}.${ globalMetadata.get(type).suffix }${METAFILE_SUFFIX}` @@ -132,7 +127,6 @@ describe('InResourceHandler', () => { expect(copyFiles).toBeCalledTimes(1) expect(copyFiles).toHaveBeenCalledWith( work.config, - `${base}${type}/${path}`, `${base}${type}/${path}` ) }) @@ -155,14 +149,9 @@ describe('InResourceHandler', () => { // Assert expect(...work.diffs.package.get(objectType)).toEqual('resource') expect(copyFiles).toBeCalledTimes(2) + expect(copyFiles).toHaveBeenCalledWith(work.config, `${entityPath}`) expect(copyFiles).toHaveBeenCalledWith( work.config, - `${entityPath}`, - `${entityPath}` - ) - expect(copyFiles).toHaveBeenCalledWith( - work.config, - `${entityPath}${METAFILE_SUFFIX}`, `${entityPath}${METAFILE_SUFFIX}` ) }) diff --git a/__tests__/unit/lib/service/inTranslationHandler.test.js b/__tests__/unit/lib/service/inTranslationHandler.test.js index 3164aee5..6c5c5d57 100644 --- a/__tests__/unit/lib/service/inTranslationHandler.test.js +++ b/__tests__/unit/lib/service/inTranslationHandler.test.js @@ -52,7 +52,6 @@ describe('InTranslation', () => { expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith( work.config, - expect.stringContaining('Account-es.objectTranslation'), expect.stringContaining('Account-es.objectTranslation') ) expect(...work.diffs.package.get(objectType)).toEqual('Account-es') @@ -78,12 +77,10 @@ describe('InTranslation', () => { expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith( work.config, - expect.stringContaining('BillingFloor__c.fieldTranslation'), expect.stringContaining('BillingFloor__c.fieldTranslation') ) expect(copyFiles).toHaveBeenCalledWith( work.config, - expect.stringContaining('Account-es.objectTranslation'), expect.stringContaining('Account-es.objectTranslation') ) expect(...work.diffs.package.get(objectType)).toEqual('Account-es') diff --git a/__tests__/unit/lib/service/standardHandler.test.js b/__tests__/unit/lib/service/standardHandler.test.js index b8e981fa..46c119fc 100644 --- a/__tests__/unit/lib/service/standardHandler.test.js +++ b/__tests__/unit/lib/service/standardHandler.test.js @@ -147,10 +147,9 @@ describe(`StandardHandler`, () => { expect(work.warnings).toEqual([]) expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath) expect(copyFiles).toBeCalledWith( work.config, - entityPath.replace(METAFILE_SUFFIX, ''), entityPath.replace(METAFILE_SUFFIX, '') ) }) @@ -171,10 +170,9 @@ describe(`StandardHandler`, () => { expect(work.warnings).toEqual([]) expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath) expect(copyFiles).toBeCalledWith( work.config, - entityPath.replace(METAFILE_SUFFIX, ''), entityPath.replace(METAFILE_SUFFIX, '') ) }) @@ -199,10 +197,9 @@ describe(`StandardHandler`, () => { expect(work.diffs.package.get('testSuites')).toEqual(new Set(['suite'])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledTimes(1) - expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath) expect(copyFiles).toBeCalledWith( work.config, - expect.stringContaining(METAFILE_SUFFIX), expect.stringContaining(METAFILE_SUFFIX) ) }) @@ -225,10 +222,9 @@ describe(`StandardHandler`, () => { expect(work.diffs.package.get('testSuites')).toEqual(new Set(['suite'])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledTimes(1) - expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath) expect(copyFiles).not.toBeCalledWith( work.config, - expect.stringContaining(METAFILE_SUFFIX), expect.stringContaining(METAFILE_SUFFIX) ) }) @@ -255,7 +251,7 @@ describe(`StandardHandler`, () => { expect(work.warnings).toEqual([]) expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(copyFiles).toBeCalledWith(work.config, entityPath, entityPath) + expect(copyFiles).toBeCalledWith(work.config, entityPath) } ) it('should add deleted element to destructiveChanges and do not copy file', async () => { @@ -282,7 +278,7 @@ describe(`StandardHandler`, () => { describe('_parseLine', () => { it.each(['.', '', 'other'])( - 'should return repo, path and name part of a line with config.repo "%s"', + 'should return path and name part of a line "%s"', repoPath => { // Arrange work.config.repo = repoPath @@ -297,15 +293,10 @@ describe(`StandardHandler`, () => { const result = sut._parseLine() // Assert - expect(result.length).toBe(4) - expect(result[0]).toBe( - `${!['', '.'].includes(repoPath) ? `${repoPath}/` : ''}${entityPath}` - ) - expect(result[1]).toBe(['', '.'].includes(repoPath) ? '' : repoPath) - expect(result[2]).toBe( - `${!['', '.'].includes(repoPath) ? '/' : ''}${basePath}${objectType}` - ) - expect(result[3]).toBe(`${entity}.${extension}`) + expect(result.length).toBe(3) + expect(result[0]).toBe(`${entityPath}`) + expect(result[1]).toBe(`${basePath}${objectType}`) + expect(result[2]).toBe(`${entity}.${extension}`) } ) }) diff --git a/package.json b/package.json index 60cf64f3..96024949 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,9 @@ "@oclif/command": "^1.8.21", "@oclif/config": "^1.18.6", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.2.41", - "@salesforce/core": "^3.33.0", - "fast-xml-parser": "^4.0.13", + "@salesforce/command": "^5.2.42", + "@salesforce/core": "^3.33.1", + "fast-xml-parser": "^4.0.15", "fs-extra": "^11.1.0", "ignore": "^5.2.4", "micromatch": "^4.0.5", @@ -71,23 +71,23 @@ "@commitlint/config-angular": "^17.4.2", "@commitlint/prompt-cli": "^17.4.2", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.2.0", - "@oclif/test": "^2.3.0", + "@oclif/plugin-help": "^5.2.1", + "@oclif/test": "^2.3.3", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.48.2", - "@typescript-eslint/parser": "^5.48.2", + "@typescript-eslint/eslint-plugin": "^5.49.0", + "@typescript-eslint/parser": "^5.49.0", "conventional-github-releaser": "^3.1.5", "eslint": "^8.32.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^39.6.7", + "eslint-plugin-jsdoc": "^39.6.8", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", - "jest": "^29.3.1", + "jest": "^29.4.0", "lint-staged": "^13.1.0", "nyc": "^15.1.0", "prettier": "^2.8.3", diff --git a/src/post-processor/flowTranslationProcessor.js b/src/post-processor/flowTranslationProcessor.js index 534fda5f..7bdfd701 100644 --- a/src/post-processor/flowTranslationProcessor.js +++ b/src/post-processor/flowTranslationProcessor.js @@ -13,7 +13,7 @@ const { readPathFromGit, isSubDir, } = require('../utils/fsHelper') -const { join, parse } = require('path') +const { parse } = require('path') const { forPath } = require('../utils/ignoreHelper') const { XMLParser } = require('fast-xml-parser') const { asArray, XML_PARSER_OPTION } = require('../utils/fxpHelper') @@ -68,9 +68,7 @@ class FlowTranslationProcessor extends BaseProcessor { elementName: getTranslationName(translationPath), }) if (this.config.generateDelta) { - const source = join(this.config.source, translationPath) - const target = join(this.config.output, translationPath) - copyTranslationsPromises.push(copyFiles(this.config, source, target)) + copyTranslationsPromises.push(copyFiles(this.config, translationPath)) } } await Promise.all(copyTranslationsPromises) diff --git a/src/service/botHandler.js b/src/service/botHandler.js index a61cedff..3495096a 100644 --- a/src/service/botHandler.js +++ b/src/service/botHandler.js @@ -1,7 +1,7 @@ 'use strict' const WaveHandler = require('./waveHandler') const { fillPackageWithParameter } = require('../utils/packageHelper') -const { join, parse, sep } = require('path') +const { parse, sep } = require('path') const BOT_TYPE = 'Bot' const BOT_EXTENSION = 'bot' @@ -31,10 +31,8 @@ class BotHandler extends WaveHandler { if (!this.config.generateDelta) return const botPath = `${parse(this.line).dir}${sep}${botName}.${BOT_EXTENSION}` - const source = join(this.config.repo, botPath) - const target = join(this.config.output, botPath) - await this._copyWithMetaFile(source, target) + await this._copyWithMetaFile(botPath) } } diff --git a/src/service/customObjectHandler.js b/src/service/customObjectHandler.js index ff8b7ccd..d376df7f 100644 --- a/src/service/customObjectHandler.js +++ b/src/service/customObjectHandler.js @@ -19,18 +19,14 @@ class CustomObjectHandler extends StandardHandler { async _handleMasterDetailException() { if (this.type !== OBJECT_TYPE) return - const fieldsFolder = join( - this.config.repo, - parse(this.line).dir, - FIELD_DIRECTORY_NAME - ) + const fieldsFolder = join(parse(this.line).dir, FIELD_DIRECTORY_NAME) const exists = await pathExists(fieldsFolder, this.config) if (!exists) return const fields = await readDir(fieldsFolder, this.config) const masterDetailsFields = await asyncFilter(fields, async fieldPath => { const content = await readPathFromGit( - join(this.config.repo, fieldsFolder, fieldPath), + join(fieldsFolder, fieldPath), this.config ) return content.includes(MASTER_DETAIL_TAG) @@ -38,10 +34,7 @@ class CustomObjectHandler extends StandardHandler { await Promise.all( masterDetailsFields.map(field => - this._copyWithMetaFile( - join(this.config.repo, fieldsFolder, field), - join(this.config.output, fieldsFolder, field) - ) + this._copyWithMetaFile(join(fieldsFolder, field)) ) ) } diff --git a/src/service/inFileHandler.js b/src/service/inFileHandler.js index c01b9e4d..7f06d048 100644 --- a/src/service/inFileHandler.js +++ b/src/service/inFileHandler.js @@ -16,6 +16,7 @@ const { basename, join } = require('path') const { XMLBuilder, XMLParser } = require('fast-xml-parser') const { asArray } = require('../utils/fxpHelper') const { XML_PARSER_OPTION, JSON_PARSER_OPTION } = require('../utils/fxpHelper') +const { treatPathSep } = require('../utils/childProcessUtils') class InFileHandler extends StandardHandler { static xmlObjectToPackageType @@ -69,7 +70,7 @@ class InFileHandler extends StandardHandler { const xmlBuilder = new XMLBuilder(JSON_PARSER_OPTION) const xmlContent = xmlBuilder.build(result.fileContent) await outputFile( - join(this.config.output, this.line), + join(this.config.output, treatPathSep(this.line)), xmlContent.replace(XML_HEADER_TAG_END, `${XML_HEADER_TAG_END}\n`) ) } diff --git a/src/service/inFolderHandler.js b/src/service/inFolderHandler.js index 13e9dcbc..e9d26c49 100644 --- a/src/service/inFolderHandler.js +++ b/src/service/inFolderHandler.js @@ -5,7 +5,7 @@ const { META_REGEX, METAFILE_SUFFIX, } = require('../utils/metadataConstants') -const { join, normalize, parse, sep } = require('path') +const { join, parse, sep } = require('path') const { readDir } = require('../utils/fsHelper') const INFOLDER_SUFFIX_REGEX = new RegExp(`${INFOLDER_SUFFIX}$`) @@ -19,17 +19,14 @@ class InFolderHandler extends StandardHandler { } async _copyFolderMetaFile() { - const [, , folderPath, folderName] = this._parseLine() + const [, folderPath, folderName] = this._parseLine() const folderFileName = `${folderName}.${ StandardHandler.metadata.get(this.type).suffix.toLowerCase() + METAFILE_SUFFIX }` - await this._copyWithMetaFile( - normalize(join(this.config.repo, folderPath, folderFileName)), - normalize(join(this.config.output, folderPath, folderFileName)) - ) + await this._copyWithMetaFile(join(folderPath, folderFileName)) } async _copySpecialExtension() { @@ -39,12 +36,7 @@ class InFolderHandler extends StandardHandler { await Promise.all( dirContent .filter(file => file.includes(parsedLine.name)) - .map(file => - this._copyWithMetaFile( - normalize(join(this.config.repo, parsedLine.dir, file)), - normalize(join(this.config.output, parsedLine.dir, file)) - ) - ) + .map(file => this._copyWithMetaFile(join(parsedLine.dir, file))) ) } diff --git a/src/service/inResourceHandler.js b/src/service/inResourceHandler.js index b98cfb99..32d69845 100644 --- a/src/service/inResourceHandler.js +++ b/src/service/inResourceHandler.js @@ -14,13 +14,7 @@ class ResourceHandler extends StandardHandler { async handleAddition() { await super.handleAddition() if (!this.config.generateDelta) return - const [, , srcPath, elementName] = this._parseLine() - const [targetPath] = `${join(this.config.output, this.line)}`.match( - new RegExp( - `.*[/\\\\]${StandardHandler.metadata.get(this.type).directoryName}`, - 'u' - ) - ) + const [, srcPath, elementName] = this._parseLine() await this._buildElementMap(srcPath) const matchingFiles = this._buildMatchingFiles(elementName) @@ -33,14 +27,12 @@ class ResourceHandler extends StandardHandler { src.startsWith(parse(elementName).name)) || matchingFiles.includes(src) ) - .map(src => - this._copyWithMetaFile(join(srcPath, src), join(targetPath, src)) - ) + .map(src => this._copyWithMetaFile(join(srcPath, src))) ) } async handleDeletion() { - const [, , srcPath, elementName] = this._parseLine() + const [, srcPath, elementName] = this._parseLine() const exists = await pathExists(join(srcPath, elementName), this.config) if (exists) { await this.handleModification() diff --git a/src/service/inTranslationHandler.js b/src/service/inTranslationHandler.js index 216697a0..fe52d6df 100644 --- a/src/service/inTranslationHandler.js +++ b/src/service/inTranslationHandler.js @@ -4,7 +4,7 @@ const StandardHandler = require('./standardHandler') const { OBJECT_TRANSLATION_META_XML_SUFFIX, } = require('../utils/metadataConstants') -const { join, normalize, parse, sep } = require('path') +const { parse, sep } = require('path') class TranslationHandler extends ResourceHandler { async handleAddition() { @@ -17,10 +17,7 @@ class TranslationHandler extends ResourceHandler { const objectTranslationName = `${parse(this.line).dir}${sep}${ this.splittedLine[this.splittedLine.length - 2] }.${OBJECT_TRANSLATION_META_XML_SUFFIX}` - await this._copyWithMetaFile( - normalize(join(this.config.repo, objectTranslationName)), - normalize(join(this.config.output, objectTranslationName)) - ) + await this._copyWithMetaFile(objectTranslationName) } } diff --git a/src/service/standardHandler.js b/src/service/standardHandler.js index bef8ca6c..a8a18b7f 100644 --- a/src/service/standardHandler.js +++ b/src/service/standardHandler.js @@ -61,10 +61,7 @@ class StandardHandler { this._fillPackage(this.diffs.package) if (!this.config.generateDelta) return - const source = join(this.config.repo, this.line) - const target = join(this.config.output, this.line) - - await this._copyWithMetaFile(source, target) + await this._copyWithMetaFile(this.line) } handleDeletion() { @@ -101,17 +98,13 @@ class StandardHandler { }) } - async _copyWithMetaFile(src, dst) { - await copyFiles(this.config, src, dst) + async _copyWithMetaFile(src) { + await copyFiles(this.config, src) if ( StandardHandler.metadata.get(this.type).metaFile === true && !`${src}`.endsWith(METAFILE_SUFFIX) ) { - await copyFiles( - this.config, - this._getMetaTypeFilePath(src), - this._getMetaTypeFilePath(dst) - ) + await copyFiles(this.config, this._getMetaTypeFilePath(src)) } } @@ -124,10 +117,9 @@ class StandardHandler { } _parseLine() { - const regexRepo = this.config.repo !== '.' ? this.config.repo : '' - return join(this.config.repo, this.line).match( + return this.line.match( new RegExp( - `(?${RegExpEscape(regexRepo)})(?.*[/\\\\]${RegExpEscape( + `(?.*[/\\\\]${RegExpEscape( StandardHandler.metadata.get(this.type).directoryName )})[/\\\\](?[^/\\\\]*)+`, 'u' diff --git a/src/service/subCustomObjectHandler.js b/src/service/subCustomObjectHandler.js index 81bb3d22..7bfb9ea4 100644 --- a/src/service/subCustomObjectHandler.js +++ b/src/service/subCustomObjectHandler.js @@ -26,10 +26,7 @@ class SubCustomObjectHandler extends StandardHandler { `${customObjectName}.${OBJECT_META_XML_SUFFIX}` ) - await this._copyWithMetaFile( - join(this.config.repo, customObjectPath), - join(this.config.output, customObjectPath) - ) + await this._copyWithMetaFile(customObjectPath) } _getElementName() { diff --git a/src/utils/cliHelper.js b/src/utils/cliHelper.js index baa2b002..b501b39c 100644 --- a/src/utils/cliHelper.js +++ b/src/utils/cliHelper.js @@ -110,7 +110,9 @@ class CLIHelper { _filterDirectories() { return asyncFilter( - [this.config.output, this.config.source].filter(Boolean), + [this.config.output, join(this.config.repo, this.config.source)].filter( + Boolean + ), async dir => { const exist = await dirExists(dir) return !exist diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 3cf995b2..0c650e35 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -4,7 +4,11 @@ const { isAbsolute, join, relative } = require('path') const { outputFile } = require('fs-extra') const { spawn } = require('child_process') const { UTF8_ENCODING } = require('../utils/gitConstants') -const { EOLRegex, getStreamContent } = require('./childProcessUtils') +const { + EOLRegex, + getStreamContent, + treatPathSep, +} = require('./childProcessUtils') const FOLDER = 'tree' const FATAL = 'fatal' @@ -12,7 +16,7 @@ const FATAL = 'fatal' const showCmd = ['--no-pager', 'show'] const copiedFiles = new Set() -const copyFiles = async (config, src, dst) => { +const copyFiles = async (config, src) => { if (copiedFiles.has(src)) return copiedFiles.add(src) @@ -24,14 +28,14 @@ const copyFiles = async (config, src, dst) => { const [header, , ...files] = data.split(EOLRegex) const folder = header.split(':')[1] for (const file of files) { - const fileDst = join(config.output, folder, file) - const fileSrc = join(config.repo, folder, file) + const fileSrc = join(folder, file) - await copyFiles(config, fileSrc, fileDst) + await copyFiles(config, fileSrc) } } else if (data.startsWith(FATAL)) { throw new Error(data) } else { + const dst = join(config.output, treatPathSep(src)) await outputFile(dst, data) } } diff --git a/src/utils/repoGitDiff.js b/src/utils/repoGitDiff.js index 62124bde..e1bd06e2 100644 --- a/src/utils/repoGitDiff.js +++ b/src/utils/repoGitDiff.js @@ -19,7 +19,7 @@ const { spawn } = require('child_process') const { readFile } = require('./fsHelper') const micromatch = require('micromatch') const os = require('os') -const path = require('path') +const { parse, sep } = require('path') const DIFF_FILTER = '--diff-filter' @@ -135,7 +135,7 @@ class RepoGitDiff { _filterInternal(line, deletedRenamed) { return ( !deletedRenamed.includes(line) && - line.split(path.sep).some(part => this.metadata.has(part)) + line.split(sep).some(part => this.metadata.has(part)) ) } @@ -167,11 +167,11 @@ class RepoGitDiff { _extractComparisonName(line) { const type = getType(line, this.metadata) - const el = path.parse(line.replace(GIT_DIFF_TYPE_REGEX, '')) + const el = parse(line.replace(GIT_DIFF_TYPE_REGEX, '')) let comparisonName = el.base if (pathType.includes(type)) { comparisonName = line - .split(path.sep) + .split(sep) .reduce( (acc, value) => (acc || this.metadata.has(value) ? acc + value : acc), '' diff --git a/yarn.lock b/yarn.lock index 33e3665c..3c1befea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -598,109 +598,109 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583" - integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== +"@jest/console@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.0.tgz#ed2e5bc783791c4be75d0054d1bdf66a46deb163" + integrity sha512-xpXud7e/8zo4syxQlAMDz+EQiFsf8/zXDPslBYm+UaSJ5uGTKQHhbSHfECp7Fw1trQtopjYumeved0n3waijhQ== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.3.1" - jest-util "^29.3.1" + jest-message-util "^29.4.0" + jest-util "^29.4.0" slash "^3.0.0" -"@jest/core@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1" - integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/reporters" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" +"@jest/core@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.0.tgz#23cf275372c51d1191a8cd9f36f8d5a47a4e9041" + integrity sha512-E7oCMcENobBFwQXYjnN2IsuUSpRo5jSv7VYk6O9GyQ5kVAfVSS8819I4W5iCCYvqD6+1TzyzLpeEdZEik81kNw== + dependencies: + "@jest/console" "^29.4.0" + "@jest/reporters" "^29.4.0" + "@jest/test-result" "^29.4.0" + "@jest/transform" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^29.2.0" - jest-config "^29.3.1" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" + jest-changed-files "^29.4.0" + jest-config "^29.4.0" + jest-haste-map "^29.4.0" + jest-message-util "^29.4.0" jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-resolve-dependencies "^29.3.1" - jest-runner "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - jest-watcher "^29.3.1" + jest-resolve "^29.4.0" + jest-resolve-dependencies "^29.4.0" + jest-runner "^29.4.0" + jest-runtime "^29.4.0" + jest-snapshot "^29.4.0" + jest-util "^29.4.0" + jest-validate "^29.4.0" + jest-watcher "^29.4.0" micromatch "^4.0.4" - pretty-format "^29.3.1" + pretty-format "^29.4.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6" - integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== +"@jest/environment@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.0.tgz#b15d7bfc873d6348dfd7323e50083d2c1e067750" + integrity sha512-ocl1VGDcZHfHnYLTqkBY7yXme1bF4x0BevJ9wb6y0sLOSyBCpp8L5fEASChB+wU53WMrIK6kBfGt+ZYoM2kcdw== dependencies: - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/fake-timers" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" - jest-mock "^29.3.1" + jest-mock "^29.4.0" -"@jest/expect-utils@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" - integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== +"@jest/expect-utils@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.0.tgz#97819d0da7027792888d9d2f1a41443be0baef80" + integrity sha512-w/JzTYIqjmPFIM5OOQHF9CawFx2daw1256Nzj4ZqWX96qRKbCq9WYRVqdySBKHHzuvsXLyTDIF6y61FUyrhmwg== dependencies: jest-get-type "^29.2.0" -"@jest/expect@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd" - integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== +"@jest/expect@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.0.tgz#3d47dbb1c650a0833b8263ca354818ca0665adbe" + integrity sha512-IiDZYQ/Oi94aBT0nKKKRvNsB5JTyHoGb+G3SiGoDxz90JfL7SLx/z5IjB0fzBRzy7aLFQOCbVJlaC2fIgU6Y9Q== dependencies: - expect "^29.3.1" - jest-snapshot "^29.3.1" + expect "^29.4.0" + jest-snapshot "^29.4.0" -"@jest/fake-timers@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67" - integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== +"@jest/fake-timers@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.0.tgz#9a2409cae63eb1d0122edc21783ef88c67e6face" + integrity sha512-8sitzN2QrhDwEwH3kKcMMgrv/UIkmm9AUgHixmn4L++GQ0CqVTIztm3YmaIQooLmW3O4GhizNTTCyq3iLbWcMw== dependencies: - "@jest/types" "^29.3.1" - "@sinonjs/fake-timers" "^9.1.2" + "@jest/types" "^29.4.0" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-util "^29.3.1" + jest-message-util "^29.4.0" + jest-mock "^29.4.0" + jest-util "^29.4.0" -"@jest/globals@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6" - integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== +"@jest/globals@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.0.tgz#b3dd853af92bb6b6156e246475f46fb8f3831785" + integrity sha512-Q64ZRgGMVL40RcYTfD2GvyjK7vJLPSIvi8Yp3usGPNPQ3SCW+UCY9KEH6+sVtBo8LzhcjtCXuZEd7avnj/T0mQ== dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/types" "^29.3.1" - jest-mock "^29.3.1" + "@jest/environment" "^29.4.0" + "@jest/expect" "^29.4.0" + "@jest/types" "^29.4.0" + jest-mock "^29.4.0" -"@jest/reporters@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310" - integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== +"@jest/reporters@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.0.tgz#ec17751cc687fb845fa1978c03fdbc69d34ac462" + integrity sha512-FjJwrD1XOQq/AXKrvnOSf0RgAs6ziUuGKx8+/R53Jscc629JIhg7/m241gf1shUm/fKKxoHd7aCexcg7kxvkWQ== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/console" "^29.4.0" + "@jest/test-result" "^29.4.0" + "@jest/transform" "^29.4.0" + "@jest/types" "^29.4.0" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -713,20 +713,20 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - jest-worker "^29.3.1" + jest-message-util "^29.4.0" + jest-util "^29.4.0" + jest-worker "^29.4.0" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== +"@jest/schemas@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.0.tgz#0d6ad358f295cc1deca0b643e6b4c86ebd539f17" + integrity sha512-0E01f/gOZeNTG76i5eWWSupvSHaIINrTie7vCyjiYFKgzNdyEGd12BUv4oNBFHOqlHDbtoJi3HrQ38KCC90NsQ== dependencies: - "@sinclair/typebox" "^0.24.1" + "@sinclair/typebox" "^0.25.16" "@jest/source-map@^29.2.0": version "29.2.0" @@ -737,53 +737,53 @@ callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50" - integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== +"@jest/test-result@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.0.tgz#64f7bd518d6d2a6662c40569e208e030a370f351" + integrity sha512-EtRklzjpddZU/aBVxJqqejfzfOcnehmjNXufs6u6qwd05kkhXpAPhZdt8bLlQd7cA2nD+JqZQ5Dx9NX5Jh6mjA== dependencies: - "@jest/console" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/console" "^29.4.0" + "@jest/types" "^29.4.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d" - integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== +"@jest/test-sequencer@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.0.tgz#8041176fccae0f7b86055950461d158833a79b76" + integrity sha512-pEwIgdfvEgF2lBOYX3DVn3SrvsAZ9FXCHw7+C6Qz87HnoDGQwbAselhWLhpgbxDjs6RC9QUJpFnrLmM5uwZV+g== dependencies: - "@jest/test-result" "^29.3.1" + "@jest/test-result" "^29.4.0" graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" + jest-haste-map "^29.4.0" slash "^3.0.0" -"@jest/transform@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d" - integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== +"@jest/transform@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.0.tgz#73ddd9bf8599d285af09e7e3fef730c17a2fd965" + integrity sha512-hDjw3jz4GnvbyLMgcFpC9/34QcUhVIzJkBqz7o+3AhgfhGRzGuQppuLf5r/q7lDAAyJ6jzL+SFG7JGsScHOcLQ== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" + jest-haste-map "^29.4.0" jest-regex-util "^29.2.0" - jest-util "^29.3.1" + jest-util "^29.4.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - write-file-atomic "^4.0.1" + write-file-atomic "^5.0.0" -"@jest/types@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" - integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== +"@jest/types@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.0.tgz#569115f2438cacf3cff92521c7d624fbb683de3d" + integrity sha512-1S2Dt5uQp7R0bGY/L2BpuwCSji7v12kY3o8zqwlkbYBmOY956SKk+zOWqmfhHSINegiAVqOXydAYuWpzX6TYsQ== dependencies: - "@jest/schemas" "^29.0.0" + "@jest/schemas" "^29.4.0" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -953,10 +953,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^1.24.1": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.25.0.tgz#a3891f903bf211ce1f3c8a05419b686f02c5bbd6" - integrity sha512-vS8L5Uqc5Wuq3zmKVvX5LLcyxhfH2X2q+LG1P6czzkh6k09uLeDaZfwaYPXD7ItM4Vfy+KEctfKiWePeLDnOpg== +"@oclif/core@^1.25.0": + version "1.26.1" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.1.tgz#26e46c96143d3e2b1dd9bd558ae1653fe9a4f3fa" + integrity sha512-g+OWJcM7JOVI53caTEtq0BB1nPotWctRLUyFODPgvDqXhVR7QED+Qz3LwFAMD8dt7/Ar2ZNq15U3bnpnOv453A== dependencies: "@oclif/linewrap" "^1.0.0" "@oclif/screen" "^3.0.4" @@ -987,10 +987,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.0.2-beta.6": - version "2.0.2-beta.10" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.2-beta.10.tgz#5b459a91d653b8d5aa234e4324a4cc483747abd2" - integrity sha512-FgJ5XHE6MjE7DOyQAcOZPD5Xs5cNOzP91zAQBkut8xhOkZA1NRQjv+7BczJqOTerXccohhTlu09pd7OAyDuitw== +"@oclif/core@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.3.tgz#ce71efbfc6e4c2655579ce81adce6471be2bc799" + integrity sha512-Dr6tghg32KKEivcWYqrx9bgC8FDE4i47FLR1wjnLg3jNJWf+blTYorj6aHize2WF0wiwkvB28Cr5TUNBooB4AQ== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -1119,12 +1119,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.0.tgz#5f75e6977c0f6c37cb67168170f032338a19efb6" - integrity sha512-Sp6Eywj3V2Moif/CJeJsyInPJhzifs2JjsaVbsrLS77WOL2/XAmca1sE5QxfakOGYH21g8xz/Ht9ZgiNy8u1zQ== +"@oclif/plugin-help@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.1.tgz#beee5beb1accb4100f57f0354f2d261271642d51" + integrity sha512-6z/ZholfRZ/k6XonAzV6p34A7LAhr2r2JUOlaCF2ZMrF6LjMN21dWXVK0Sxra+TQqZEm0B2oeSbTmHFtDkbIlw== dependencies: - "@oclif/core" "^2.0.2-beta.6" + "@oclif/core" "^2.0.3" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1144,13 +1144,13 @@ "@oclif/core" "^1.24.0" fancy-test "^2.0.11" -"@oclif/test@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.0.tgz#c62efef4e4fa2ec3d44a3a79b58cc9e43898413b" - integrity sha512-DgoEOY/Y1FvNwA1J0Sy7u6jZSHbDutw6kNOWqVizlf1wSJiHKV6Ia9DyhHsg2Nb4EZ+1AKcetC0fI7ixLxxJHw== +"@oclif/test@^2.3.3": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.3.tgz#ac9e546c58edb8c1a0767fe9e4b556af71a0154a" + integrity sha512-7cT12WxuNTcbON3dRxu3D8GNOqv/cCKkH3d39Dsa+QQFtFPzhQysaW27QdwivTRPSauD+3jQfmScb2qd1l6Dig== dependencies: - "@oclif/core" "^2.0.2-beta.6" - fancy-test "^2.0.11" + "@oclif/core" "^2.0.3" + fancy-test "^2.0.12" "@oozcitak/dom@1.15.10": version "1.15.10" @@ -1193,12 +1193,12 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.2.41": - version "5.2.41" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.41.tgz#a56ae554ea8b75f6dbc34e1282f9d650bb42e8fa" - integrity sha512-uSsIftl7JC10keU2LQp7tDXfJUT7hLmRT2fa5Bk5Mve4SpFcP7Z4hwahoOkoeGtZdhrFJNNVFii60NQFMsSvXw== +"@salesforce/command@^5.2.42": + version "5.2.42" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.42.tgz#88c56cc3e1b6a8e7a79b244d13c0879ad4de7c22" + integrity sha512-aCTn1Ob+Esek6GaWsje4j22t9oQLOIbBKBRx135WSg5SZj8stEOXF2uJgPZCINsAhuvEY1Kq8mINql79Jg9qXQ== dependencies: - "@oclif/core" "^1.24.1" + "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" "@salesforce/core" "^3.32.12" "@salesforce/kit" "^1.8.2" @@ -1228,10 +1228,10 @@ jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" -"@salesforce/core@^3.33.0": - version "3.33.0" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.0.tgz#481cbd58955a7384a1f9200e02effc4dfe8e59da" - integrity sha512-nz7qKwm1GpNr8swksthm5jKORj4wn647iCm6Ij1X5oRts1uynLdnqyNDtWD6OJCOaMXunjRmnhRB82JXq/TnFg== +"@salesforce/core@^3.33.1": + version "3.33.1" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.1.tgz#3dd0a44ba22763e8e0c2c97df03393e5c2c845d9" + integrity sha512-jaed8rK+NhSxB6MjYUN8f/2VkvtbFN/Ce/l6JvgFE+cvOf2g+lPv1pSsnKKlaSiiYcXkOvIRDT9d9ns1RLJzUw== dependencies: "@salesforce/bunyan" "^2.0.0" "@salesforce/kit" "^1.8.0" @@ -1300,29 +1300,29 @@ dependencies: tslib "^2.4.1" -"@sinclair/typebox@^0.24.1": - version "0.24.39" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.39.tgz#21d0c56c295a00e391e20a88a48c11d4a1210ac5" - integrity sha512-GqtkxoAjhTzoMwFg/JYRl+1+miOoyvp6mkLpbMSd2fIQak2KvY00ndlXxxkDBpuCPYkorZeEZf0LEQn9V9NRVQ== +"@sinclair/typebox@^0.25.16": + version "0.25.21" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.21.tgz#763b05a4b472c93a8db29b2c3e359d55b29ce272" + integrity sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g== "@sindresorhus/is@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== +"@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@^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== +"@sinonjs/fake-timers@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" + integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^2.0.0" "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -1535,14 +1535,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3" - integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg== +"@typescript-eslint/eslint-plugin@^5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz#d0b4556f0792194bf0c2fb297897efa321492389" + integrity sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q== dependencies: - "@typescript-eslint/scope-manager" "5.48.2" - "@typescript-eslint/type-utils" "5.48.2" - "@typescript-eslint/utils" "5.48.2" + "@typescript-eslint/scope-manager" "5.49.0" + "@typescript-eslint/type-utils" "5.49.0" + "@typescript-eslint/utils" "5.49.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -1560,14 +1560,14 @@ "@typescript-eslint/typescript-estree" "5.36.2" debug "^4.3.4" -"@typescript-eslint/parser@^5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3" - integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw== +"@typescript-eslint/parser@^5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.49.0.tgz#d699734b2f20e16351e117417d34a2bc9d7c4b90" + integrity sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg== dependencies: - "@typescript-eslint/scope-manager" "5.48.2" - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/scope-manager" "5.49.0" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/typescript-estree" "5.49.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.36.2": @@ -1578,21 +1578,21 @@ "@typescript-eslint/types" "5.36.2" "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/scope-manager@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc" - integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw== +"@typescript-eslint/scope-manager@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz#81b5d899cdae446c26ddf18bd47a2f5484a8af3e" + integrity sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ== dependencies: - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/visitor-keys" "5.48.2" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/visitor-keys" "5.49.0" -"@typescript-eslint/type-utils@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7" - integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew== +"@typescript-eslint/type-utils@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz#8d5dcc8d422881e2ccf4ebdc6b1d4cc61aa64125" + integrity sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA== dependencies: - "@typescript-eslint/typescript-estree" "5.48.2" - "@typescript-eslint/utils" "5.48.2" + "@typescript-eslint/typescript-estree" "5.49.0" + "@typescript-eslint/utils" "5.49.0" debug "^4.3.4" tsutils "^3.21.0" @@ -1601,10 +1601,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== -"@typescript-eslint/types@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e" - integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA== +"@typescript-eslint/types@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3" + integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg== "@typescript-eslint/typescript-estree@5.36.2": version "5.36.2" @@ -1619,29 +1619,29 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0" - integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg== +"@typescript-eslint/typescript-estree@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz#ebd6294c0ea97891fce6af536048181e23d729c8" + integrity sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA== dependencies: - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/visitor-keys" "5.48.2" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/visitor-keys" "5.49.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3" - integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow== +"@typescript-eslint/utils@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.49.0.tgz#1c07923bc55ff7834dfcde487fff8d8624a87b32" + integrity sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.2" - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/scope-manager" "5.49.0" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/typescript-estree" "5.49.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" @@ -1654,12 +1654,12 @@ "@typescript-eslint/types" "5.36.2" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060" - integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ== +"@typescript-eslint/visitor-keys@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz#2561c4da3f235f5c852759bf6c5faec7524f90fe" + integrity sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg== dependencies: - "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/types" "5.49.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1960,15 +1960,15 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -babel-jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" - integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== +babel-jest@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.0.tgz#20b18b69a321125429ff67a383b94c6bf552d1ec" + integrity sha512-M61cGPg4JBashDvIzKoIV/y95mSF6x3ome7CMEaszUTHD4uo6dtC6Nln+fvRTspYNtwy8lDHl5lmoTBSNY/a+g== dependencies: - "@jest/transform" "^29.3.1" + "@jest/transform" "^29.4.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.2.0" + babel-preset-jest "^29.4.0" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1984,10 +1984,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" - integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== +babel-plugin-jest-hoist@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.0.tgz#3fd3dfcedf645932df6d0c9fc3d9a704dd860248" + integrity sha512-a/sZRLQJEmsmejQ2rPEUe35nO1+C9dc9O1gplH1SXmJxveQSRUYdBk8yGZG/VOUuZs1u2aHZJusEGoRMbhhwCg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -2012,12 +2012,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" - integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== +babel-preset-jest@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.0.tgz#c2b03c548b02dea0a18ae21d5759c136f9251ee4" + integrity sha512-fUB9vZflUSM3dO/6M2TCAepTzvA4VkOvl67PjErcrQMGt9Eve7uazaeyCZ2th3UtI7ljpiBJES0F7A1vBRsLZA== dependencies: - babel-plugin-jest-hoist "^29.2.0" + babel-plugin-jest-hoist "^29.4.0" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -3297,10 +3297,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^39.6.7: - version "39.6.7" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.7.tgz#f7f9abec75993b9cb3ede814c1d9d5afc3d7bf22" - integrity sha512-0mrzXrHvL2ZLe3QK9X0OEDy7Fs2cFQ/f1d1G5KHEGD+13D1qg56Iovq0uOkYf5bJlHiKPytWVgOOO9y7kLW3VA== +eslint-plugin-jsdoc@^39.6.8: + version "39.6.8" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.8.tgz#a311dbaad00e51fe835c28e14e883c19e0d528a7" + integrity sha512-8W2B2vCfqXmV6AxhEO9u25zPqk7V/LxCsZBl0xDF1CSLDqabiQQtZXpWp19K53HMfFZMLeNRJRUFFhauWgMZrA== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -3536,16 +3536,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" - integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== +expect@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.0.tgz#e2d58a73bf46399deac7db6ec16842827525ce35" + integrity sha512-pzaAwjBgLEVxBh6ZHiqb9Wv3JYuv6m8ntgtY7a48nS+2KbX0EJkPS3FQlKiTZNcqzqJHNyQsfjqN60w1hPUBfQ== dependencies: - "@jest/expect-utils" "^29.3.1" + "@jest/expect-utils" "^29.4.0" jest-get-type "^29.2.0" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" + jest-matcher-utils "^29.4.0" + jest-message-util "^29.4.0" + jest-util "^29.4.0" external-editor@^3.0.3: version "3.1.0" @@ -3561,7 +3561,7 @@ extract-stack@^2.0.0: resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== -fancy-test@^2.0.11: +fancy-test@^2.0.11, fancy-test@^2.0.12: version "2.0.12" resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" integrity sha512-S7qVQNaViLTMzn71huZvrUCV59ldq+enQ1EQOkdNbl4q4Om97gwqbYKvZoglsnzCWRRFaFP+qHynpdqaLdiZqg== @@ -3606,10 +3606,10 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@^4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.13.tgz#dab3e7ea17d39805af0a9f6d041f4c975c2b9b58" - integrity sha512-g+OboAw8ol1FgTHhKLR7ZHcItNudceiY04BBrvqa0JBWoPhi/+e5r4H5AeW+EsQCroJLJwsuOP3dD3c6cc5uOg== +fast-xml-parser@^4.0.15: + version "4.0.15" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.15.tgz#9befe85c68ee90cf3757f1ef9cf3f1497888dbea" + integrity sha512-bF4/E33/K/EZDHV23IJpSK2SU7rZTaSkDH5G85nXX8SKlQ9qBpWQhyPpm2nlTBewDJgtpd6+1x4TNpKmocmthQ== dependencies: strnum "^1.0.5" @@ -4804,94 +4804,94 @@ jake@^10.8.5: filelist "^1.0.1" minimatch "^3.0.4" -jest-changed-files@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289" - integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== +jest-changed-files@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.0.tgz#ac2498bcd394228f7eddcadcf928b3583bf2779d" + integrity sha512-rnI1oPxgFghoz32Y8eZsGJMjW54UlqT17ycQeCEktcxxwqqKdlj9afl8LNeO0Pbu+h2JQHThQP0BzS67eTRx4w== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a" - integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== +jest-circus@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.0.tgz#08fec87eb15632fba74e93cf069ef85559acd813" + integrity sha512-/pFBaCeLzCavRWyz14JwFgpZgPpEZdS6nPnREhczbHl2wy2UezvYcVp5akVFfUmBaA4ThAUp0I8cpgkbuNOm3g== dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/environment" "^29.4.0" + "@jest/expect" "^29.4.0" + "@jest/test-result" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" + jest-each "^29.4.0" + jest-matcher-utils "^29.4.0" + jest-message-util "^29.4.0" + jest-runtime "^29.4.0" + jest-snapshot "^29.4.0" + jest-util "^29.4.0" p-limit "^3.1.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d" - integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== +jest-cli@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.0.tgz#63f34fc3b6f499a69337b2e5964661d22cead9e0" + integrity sha512-YUkICcxjUd864VOzbfQEi2qd2hIIOd9bRF7LJUNyhWb3Khh3YKrbY0LWwoZZ4WkvukiNdvQu0Z4s6zLsY4hYfg== dependencies: - "@jest/core" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/core" "^29.4.0" + "@jest/test-result" "^29.4.0" + "@jest/types" "^29.4.0" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" + jest-config "^29.4.0" + jest-util "^29.4.0" + jest-validate "^29.4.0" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6" - integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== +jest-config@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.0.tgz#08065bcfc7c2ccfd3ca9f8bb412eb366d73fd5a2" + integrity sha512-jtgd72nN4Mob4Oego3N/pLRVfR2ui1hv+yO6xR/SUi5G7NtZ/grr95BJ1qRSDYZshuA0Jw57fnttZHZKb04+CA== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.3.1" - "@jest/types" "^29.3.1" - babel-jest "^29.3.1" + "@jest/test-sequencer" "^29.4.0" + "@jest/types" "^29.4.0" + babel-jest "^29.4.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.3.1" - jest-environment-node "^29.3.1" + jest-circus "^29.4.0" + jest-environment-node "^29.4.0" jest-get-type "^29.2.0" jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-runner "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" + jest-resolve "^29.4.0" + jest-runner "^29.4.0" + jest-util "^29.4.0" + jest-validate "^29.4.0" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" - integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== +jest-diff@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.0.tgz#9c75dcef5872c8889bfcb78bc9571a0e4e9bd8f6" + integrity sha512-s8KNvFx8YgdQ4fn2YLDQ7N6kmVOP68dUDVJrCHNsTc3UM5jcmyyFeYKL8EPWBQbJ0o0VvDGbWp8oYQ1nsnqnWw== dependencies: chalk "^4.0.0" diff-sequences "^29.3.1" jest-get-type "^29.2.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" jest-docblock@^29.2.0: version "29.2.0" @@ -4900,94 +4900,94 @@ jest-docblock@^29.2.0: dependencies: detect-newline "^3.0.0" -jest-each@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132" - integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== +jest-each@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.0.tgz#1b6f018529b26f52851123075df4fa297b5b859b" + integrity sha512-LTOvB8JDVFjrwXItyQiyLuDYy5PMApGLLzbfIYR79QLpeohS0bcS6j2HjlWuRGSM8QQQyp+ico59Blv+Jx3fMw== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" chalk "^4.0.0" jest-get-type "^29.2.0" - jest-util "^29.3.1" - pretty-format "^29.3.1" + jest-util "^29.4.0" + pretty-format "^29.4.0" -jest-environment-node@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74" - integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== +jest-environment-node@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.0.tgz#b19ae4cbf71199ed077a399de1e2cb0e52dbd936" + integrity sha512-WVveE3fYSH6FhDtZdvXhFKeLsDRItlQgnij+HQv6ZKxTdT1DB5O0sHXKCEC3K5mHraMs1Kzn4ch9jXC7H4L4wA== dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/environment" "^29.4.0" + "@jest/fake-timers" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" - jest-mock "^29.3.1" - jest-util "^29.3.1" + jest-mock "^29.4.0" + jest-util "^29.4.0" jest-get-type@^29.2.0: version "29.2.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== -jest-haste-map@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843" - integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== +jest-haste-map@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.0.tgz#139d6bd262f3f74894f23933ee4046af7e770ab0" + integrity sha512-m/pIEfoK0HoJz4c9bkgS5F9CXN2AM22eaSmUcmqTpadRlNVBOJE2CwkgaUzbrNn5MuAqTV1IPVYwWwjHNnk8eA== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" jest-regex-util "^29.2.0" - jest-util "^29.3.1" - jest-worker "^29.3.1" + jest-util "^29.4.0" + jest-worker "^29.4.0" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518" - integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== +jest-leak-detector@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.0.tgz#5f1079556c244cf6f5f281f5c5134ea2a07ad28e" + integrity sha512-fEGHS6ijzgSv5exABkCecMHNmyHcV52+l39ZsxuwfxmQMp43KBWJn2/Fwg8/l4jTI9uOY9jv8z1dXGgL0PHFjA== dependencies: jest-get-type "^29.2.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" -jest-matcher-utils@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" - integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== +jest-matcher-utils@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.0.tgz#c2f804f95152216c8b80afbe73d82ae0ba89f652" + integrity sha512-pU4OjBn96rDdRIaPUImbPiO2ETyRVzkA1EZVu9AxBDv/XPDJ7JWfkb6IiDT5jwgicaPHMrB/fhVa6qjG6potfA== dependencies: chalk "^4.0.0" - jest-diff "^29.3.1" + jest-diff "^29.4.0" jest-get-type "^29.2.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" -jest-message-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" - integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== +jest-message-util@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.0.tgz#60d3f3dd6b5ef08ec9b698f434fbbafdb0af761d" + integrity sha512-0FvobqymmhE9pDEifvIcni9GeoKLol8eZspzH5u41g1wxYtLS60a9joT95dzzoCgrKRidNz64eaAXyzaULV8og== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.3.1" + pretty-format "^29.4.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e" - integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== +jest-mock@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.0.tgz#efb5d99da5e4548ea02d505c89aafdd06d899cb8" + integrity sha512-+ShT5i+hcu/OFQRV0f/V/YtwpdFcHg64JZ9A8b40JueP+X9HNrZAYGdkupGIzsUK8AucecxCt4wKauMchxubLQ== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" "@types/node" "*" - jest-util "^29.3.1" + jest-util "^29.4.0" jest-pnp-resolver@^1.2.2: version "1.2.2" @@ -4999,88 +4999,89 @@ jest-regex-util@^29.2.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== -jest-resolve-dependencies@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" - integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== +jest-resolve-dependencies@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.0.tgz#d8c9dce9ad8b193375b4993c4a659adf2d379b84" + integrity sha512-hxfC84trREyULSj1Cm+fMjnudrrI2dVQ04COjZRcjCZ97boJlPtfJ+qrl/pN7YXS2fnu3wTHEc3LO094pngL6A== dependencies: jest-regex-util "^29.2.0" - jest-snapshot "^29.3.1" + jest-snapshot "^29.4.0" -jest-resolve@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7" - integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== +jest-resolve@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.0.tgz#dbf00b2fb992d37e4954feb7ee6b5391ca8fc6a9" + integrity sha512-g7k7l53T+uC9Dp1mbHyDNkcCt0PMku6Wcfpr1kcMLwOHmM3vucKjSM5+DSa1r4vlDZojh8XH039J3z4FKmtTSw== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" + jest-haste-map "^29.4.0" jest-pnp-resolver "^1.2.2" - jest-util "^29.3.1" - jest-validate "^29.3.1" + jest-util "^29.4.0" + jest-validate "^29.4.0" resolve "^1.20.0" - resolve.exports "^1.1.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d" - integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== - dependencies: - "@jest/console" "^29.3.1" - "@jest/environment" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" +jest-runner@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.0.tgz#9f83f20e9e88d2c5e9b7db1526cef901c1c0fe98" + integrity sha512-4zpcv0NOiJleqT0NAs8YcVbK8MhVRc58CBBn9b0Exc8VPU9GKI+DbzDUZqJYdkJhJSZFy2862l/F6hAqIow1hg== + dependencies: + "@jest/console" "^29.4.0" + "@jest/environment" "^29.4.0" + "@jest/test-result" "^29.4.0" + "@jest/transform" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" jest-docblock "^29.2.0" - jest-environment-node "^29.3.1" - jest-haste-map "^29.3.1" - jest-leak-detector "^29.3.1" - jest-message-util "^29.3.1" - jest-resolve "^29.3.1" - jest-runtime "^29.3.1" - jest-util "^29.3.1" - jest-watcher "^29.3.1" - jest-worker "^29.3.1" + jest-environment-node "^29.4.0" + jest-haste-map "^29.4.0" + jest-leak-detector "^29.4.0" + jest-message-util "^29.4.0" + jest-resolve "^29.4.0" + jest-runtime "^29.4.0" + jest-util "^29.4.0" + jest-watcher "^29.4.0" + jest-worker "^29.4.0" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a" - integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== +jest-runtime@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.0.tgz#d4f3300e65888ea8e045bc13c5a96edd01cf9f49" + integrity sha512-2zumwaGXsIuSF92Ui5Pn5hZV9r7AHMclfBLikrXSq87/lHea9anQ+mC+Cjz/DYTbf/JMjlK1sjZRh8K3yYNvWg== dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/globals" "^29.3.1" + "@jest/environment" "^29.4.0" + "@jest/fake-timers" "^29.4.0" + "@jest/globals" "^29.4.0" "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/test-result" "^29.4.0" + "@jest/transform" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" + jest-haste-map "^29.4.0" + jest-message-util "^29.4.0" + jest-mock "^29.4.0" jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" + jest-resolve "^29.4.0" + jest-snapshot "^29.4.0" + jest-util "^29.4.0" + semver "^7.3.5" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e" - integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== +jest-snapshot@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.0.tgz#c839f6b84d50b917691ddf6a3cef9f0852b3d0e7" + integrity sha512-UnK3MhdEWrQ2J6MnlKe51tvN5FjRUBQnO4m1LPlDx61or3w9+cP/U0x9eicutgunu/QzE4WC82jj6CiGIAFYzw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -5088,82 +5089,82 @@ jest-snapshot@^29.3.1: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/expect-utils" "^29.4.0" + "@jest/transform" "^29.4.0" + "@jest/types" "^29.4.0" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.3.1" + expect "^29.4.0" graceful-fs "^4.2.9" - jest-diff "^29.3.1" + jest-diff "^29.4.0" jest-get-type "^29.2.0" - jest-haste-map "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" + jest-haste-map "^29.4.0" + jest-matcher-utils "^29.4.0" + jest-message-util "^29.4.0" + jest-util "^29.4.0" natural-compare "^1.4.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" semver "^7.3.5" -jest-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" - integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== +jest-util@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.0.tgz#1f3743c3dda843049623501c7e6f8fa5efdc2c2f" + integrity sha512-lCCwlze7UEV8TpR9ArS8w0cTbcMry5tlBkg7QSc5og5kNyV59dnY2aKHu5fY2k5aDJMQpCUGpvL2w6ZU44lveA== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" - integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== +jest-validate@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.0.tgz#5090be16531051edc21bc0892553f7f7fab99bf0" + integrity sha512-EXS7u594nX3aAPBnARxBdJ1eZ1cByV6MWrK0Qpt9lt/BcY0p0yYGp/EGJ8GhdLDQh+RFf8qMt2wzbbVzpj5+Vg== dependencies: - "@jest/types" "^29.3.1" + "@jest/types" "^29.4.0" camelcase "^6.2.0" chalk "^4.0.0" jest-get-type "^29.2.0" leven "^3.1.0" - pretty-format "^29.3.1" + pretty-format "^29.4.0" -jest-watcher@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a" - integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== +jest-watcher@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.0.tgz#4f51e6fba4341d965279a5a646adde5104d414f0" + integrity sha512-PnnfLygNKelWOJwpAYlcsQjB+OxRRdckD0qiGmYng4Hkz1ZwK3jvCaJJYiywz2msQn4rBNLdriasJtv7YpWHpA== dependencies: - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/test-result" "^29.4.0" + "@jest/types" "^29.4.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.3.1" + jest-util "^29.4.0" string-length "^4.0.1" -jest-worker@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b" - integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== +jest-worker@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.0.tgz#fbf6d700c3366c555765938da75990c1e7fdcdcd" + integrity sha512-dICMQ+Q4W0QVMsaQzWlA1FVQhKNz7QcDCOGtbk1GCAd0Lai+wdkQvfmQwL4MjGumineh1xz+6M5oMj3rfWS02A== dependencies: "@types/node" "*" - jest-util "^29.3.1" + jest-util "^29.4.0" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" - integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== +jest@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.0.tgz#c476b3d0c58af77f276f53f81d4d97e16105ae37" + integrity sha512-Zfd4UzNxPkSoHRBkg225rBjQNa6pVqbh20MGniAzwaOzYLd+pQUcAwH+WPxSXxKFs+QWYfPYIq9hIVSmdVQmPA== dependencies: - "@jest/core" "^29.3.1" - "@jest/types" "^29.3.1" + "@jest/core" "^29.4.0" + "@jest/types" "^29.4.0" import-local "^3.0.2" - jest-cli "^29.3.1" + jest-cli "^29.4.0" js-sdsl@^4.1.4: version "4.1.5" @@ -6489,12 +6490,12 @@ pretty-format@^23.0.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" - integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== +pretty-format@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.0.tgz#766f071bb1c53f1ef8000c105bbeb649e86eb993" + integrity sha512-J+EVUPXIBHCdWAbvGBwXs0mk3ljGppoh/076g1S8qYS8nVG4u/yrhMvyTFHYYYKWnDdgRLExx0vA7pzxVGdlNw== dependencies: - "@jest/schemas" "^29.0.0" + "@jest/schemas" "^29.4.0" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -6801,10 +6802,10 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== +resolve.exports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" + integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.1: version "1.22.1" @@ -7956,10 +7957,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== +write-file-atomic@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0" + integrity sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" From 037c39402893ca3d984a96a3d126bbb7843cd8bb Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 26 Jan 2023 19:08:02 +0000 Subject: [PATCH 11/63] chore(release): 5.11.2 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b889a034..3c28be00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### 5.11.2 (2023-01-26) + + +### Bug Fixes + +* relative `repo` and `source` parameters ([#433](https://github.com/scolladon/sfdx-git-delta/issues/433)) ([7e5409d](https://github.com/scolladon/sfdx-git-delta/commit/7e5409d94598b68a743dddd0a86d759ac31f0bde)) + ### 5.11.1 (2023-01-24) diff --git a/README.md b/README.md index 84a1d37f..b4cd280f 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.1/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.2/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index 96024949..65be5657 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.11.1", + "version": "5.11.2", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From b760a7ee0381777bdd7d422d1df7f3b291cab9d2 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Mon, 30 Jan 2023 15:28:07 +0100 Subject: [PATCH 12/63] fix: windows path separator with git (#436) --- __tests__/unit/lib/utils/fileGitDiff.test.js | 8 + __tests__/unit/lib/utils/fsHelper.test.js | 67 +- __tests__/unit/lib/utils/repoGitDiff.test.js | 48 +- package.json | 18 +- src/utils/fileGitDiff.js | 3 +- src/utils/fsHelper.js | 5 +- src/utils/repoGitDiff.js | 4 +- yarn.lock | 709 +++++++++---------- 8 files changed, 462 insertions(+), 400 deletions(-) diff --git a/__tests__/unit/lib/utils/fileGitDiff.test.js b/__tests__/unit/lib/utils/fileGitDiff.test.js index 5d91984e..777eac8b 100644 --- a/__tests__/unit/lib/utils/fileGitDiff.test.js +++ b/__tests__/unit/lib/utils/fileGitDiff.test.js @@ -1,6 +1,8 @@ 'use strict' const fileGitDiff = require('../../../../src/utils/fileGitDiff') +const { gitPathSeparatorNormalizer } = require('../../../../src/utils/fsHelper') jest.mock('child_process') +jest.mock('../../../../src/utils/fsHelper') const child_process = require('child_process') const TEST_PATH = 'path/to/file' @@ -17,6 +19,7 @@ describe(`test if fileGitDiff`, () => { for await (const line of result) { expect(line).toStrictEqual(output.shift()) } + expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) test('can parse git diff addition', async () => { @@ -27,6 +30,7 @@ describe(`test if fileGitDiff`, () => { for await (const line of result) { expect(line).toStrictEqual(output.shift()) } + expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) test('can parse git diff deletion', async () => { @@ -37,6 +41,7 @@ describe(`test if fileGitDiff`, () => { for await (const line of result) { expect(line).toStrictEqual(output.shift()) } + expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) test('can apply permissive git diff', async () => { @@ -51,6 +56,7 @@ describe(`test if fileGitDiff`, () => { for await (const line of result) { expect(line).toStrictEqual(output.shift()) } + expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) test('can parse git diff context line', async () => { @@ -61,6 +67,7 @@ describe(`test if fileGitDiff`, () => { for await (const line of result) { expect(line).toStrictEqual(output.shift()) } + expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) test('can reject in case of error', () => { @@ -71,5 +78,6 @@ describe(`test if fileGitDiff`, () => { } catch (e) { expect(e).toBeDefined() } + expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) }) diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index 25c42fa1..296036a3 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -1,19 +1,23 @@ 'use strict' const { copyFiles, + gitPathSeparatorNormalizer, readDir, isSubDir, readFile, + readPathFromGit, scan, scanExtension, } = require('../../../../src/utils/fsHelper') -const { getStreamContent } = require('../../../../src/utils/childProcessUtils') +const { + getStreamContent, + treatPathSep, +} = require('../../../../src/utils/childProcessUtils') const { spawn } = require('child_process') const fs = require('fs') const { outputFile } = require('fs-extra') const { EOL } = require('os') -jest.mock('../../../../src/utils/childProcessUtils') jest.mock('fs') jest.mock('fs-extra') jest.mock('child_process') @@ -23,10 +27,10 @@ jest.mock('../../../../src/utils/childProcessUtils', () => { '../../../../src/utils/childProcessUtils' ) - //Mock the default export and named export 'foo' return { ...originalModule, getStreamContent: jest.fn(), + treatPathSep: jest.fn(), } }) @@ -34,11 +38,62 @@ let work beforeEach(() => { //jest.clearAllMocks() work = { - config: { output: '', source: '', repo: '', generateDelta: false }, + config: { + output: '', + source: '', + repo: '', + generateDelta: false, + from: 'pastsha', + to: 'recentsha', + }, warnings: [], } }) +describe('gitPathSeparatorNormalizer', () => { + it('replaces every instance of \\', async () => { + // Arrange + const windowsPath = 'path\\to\\a\\\\file' + + // Act + const result = gitPathSeparatorNormalizer(windowsPath) + + // Assert + expect(result).toEqual('path/to/a/file') + }) + + describe.each([undefined, null])('when called with %s', falsy => { + it('return null', () => { + // Act + const result = gitPathSeparatorNormalizer(falsy) + + // Assert + expect(result).toBeUndefined() + }) + }) +}) + +describe('readPathFromGit', () => { + describe.each([ + ['windows', 'force-app\\main\\default\\classes\\myClass.cls'], + ['unix', 'force-app/main/default/classes/myClass.cls'], + ])('when path is %s format', (_, path) => { + it('should use "config.to" and "normalized path" to get git history', async () => { + // Act + await readPathFromGit(path, work.config) + + // Assert + const normalizedPath = path.replace(/\\+/g, '/') + expect(spawn).toHaveBeenCalledWith( + 'git', + expect.arrayContaining([`${work.config.to}:${normalizedPath}`]), + expect.anything() + ) + expect(getStreamContent).toBeCalled() + }) + }) +}) + describe('copyFile', () => { describe('when file is already copied', () => { it('should not copy file', async () => { @@ -75,6 +130,7 @@ describe('copyFile', () => { describe('when content is a folder', () => { it('should copy the folder', async () => { // Arrange + treatPathSep.mockImplementationOnce(() => 'output/copyDir/copyFile') getStreamContent.mockImplementationOnce( () => 'tree HEAD:folder\n\ncopyFile' ) @@ -87,6 +143,7 @@ describe('copyFile', () => { expect(spawn).toBeCalledTimes(2) expect(getStreamContent).toBeCalledTimes(2) expect(outputFile).toBeCalledTimes(1) + expect(treatPathSep).toBeCalledTimes(1) }) }) describe('when content is not a git location', () => { @@ -113,6 +170,7 @@ describe('copyFile', () => { beforeEach(async () => { // Arrange getStreamContent.mockImplementation(() => 'content') + treatPathSep.mockImplementationOnce(() => 'output/copyFile') }) it('should copy the file', async () => { // Act @@ -122,6 +180,7 @@ describe('copyFile', () => { expect(spawn).toBeCalled() expect(getStreamContent).toBeCalled() expect(outputFile).toBeCalledTimes(1) + expect(treatPathSep).toBeCalledTimes(1) }) }) }) diff --git a/__tests__/unit/lib/utils/repoGitDiff.test.js b/__tests__/unit/lib/utils/repoGitDiff.test.js index 94626e60..d8f6fb97 100644 --- a/__tests__/unit/lib/utils/repoGitDiff.test.js +++ b/__tests__/unit/lib/utils/repoGitDiff.test.js @@ -28,7 +28,7 @@ describe(`test if repoGitDiff`, () => { const output = [] child_process.__setOutput([output]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignore: FORCEIGNORE_MOCK_PATH }, + { output: '', repo: '', source: '', ignore: FORCEIGNORE_MOCK_PATH }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -42,6 +42,7 @@ describe(`test if repoGitDiff`, () => { { output: '', repo: '', + source: '', ignore: FORCEIGNORE_MOCK_PATH, ignoreWhitespace: true, }, @@ -57,7 +58,7 @@ describe(`test if repoGitDiff`, () => { ] child_process.__setOutput([[], output.map(x => `1${TAB}1${TAB}${x}`), []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignore: FORCEIGNORE_MOCK_PATH }, + { output: '', repo: '', source: '', ignore: FORCEIGNORE_MOCK_PATH }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -70,7 +71,7 @@ describe(`test if repoGitDiff`, () => { ] child_process.__setOutput([[], output.map(x => `1${TAB}1${TAB}${x}`), []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -83,7 +84,7 @@ describe(`test if repoGitDiff`, () => { ] child_process.__setOutput([[], [], output.map(x => `1${TAB}1${TAB}${x}`)]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -96,7 +97,7 @@ describe(`test if repoGitDiff`, () => { ] child_process.__setOutput([[], [], output.map(x => `-${TAB}-${TAB}${x}`)]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -109,7 +110,7 @@ describe(`test if repoGitDiff`, () => { ] child_process.__setOutput([output.map(x => `-${TAB}-${TAB}${x}`), [], []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -122,7 +123,7 @@ describe(`test if repoGitDiff`, () => { ] child_process.__setOutput([output.map(x => `-${TAB}-${TAB}${x}`), [], []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -133,7 +134,7 @@ describe(`test if repoGitDiff`, () => { const output = 'force-app/main/default/pages/test.page-meta.xml' child_process.__setOutput([[`1${TAB}1${TAB}${output}`], [], []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignore: FORCEIGNORE_MOCK_PATH }, + { output: '', repo: '', source: '', ignore: FORCEIGNORE_MOCK_PATH }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -146,7 +147,12 @@ describe(`test if repoGitDiff`, () => { const output = 'force-app/main/default/pages/test.page-meta.xml' child_process.__setOutput([[], [`1${TAB}1${TAB}${output}`], []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignoreDestructive: FORCEIGNORE_MOCK_PATH }, + { + output: '', + repo: '', + source: '', + ignoreDestructive: FORCEIGNORE_MOCK_PATH, + }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -166,6 +172,7 @@ describe(`test if repoGitDiff`, () => { { output: '', repo: '', + source: '', ignore: FORCEIGNORE_MOCK_PATH, ignoreDestructive: FORCEIGNORE_MOCK_PATH, }, @@ -181,7 +188,7 @@ describe(`test if repoGitDiff`, () => { const output = 'force-app/main/default/pages/test.page-meta.xml' child_process.__setOutput([[], [`1${TAB}1${TAB}${output}`], []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignore: FORCEIGNORE_MOCK_PATH }, + { output: '', repo: '', source: '', ignore: FORCEIGNORE_MOCK_PATH }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -194,7 +201,12 @@ describe(`test if repoGitDiff`, () => { const output = 'force-app/main/default/pages/test.page-meta.xml' child_process.__setOutput([[], [], [`1${TAB}1${TAB}${output}`]]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignoreDestructive: FORCEIGNORE_MOCK_PATH }, + { + output: '', + repo: '', + source: '', + ignoreDestructive: FORCEIGNORE_MOCK_PATH, + }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -206,7 +218,7 @@ describe(`test if repoGitDiff`, () => { const output = 'force-app/main/default/pages/test.page-meta.xml' child_process.__setOutput([[`1${TAB}1${TAB}${output}`], [], []]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '', ignore: FORCEIGNORE_MOCK_PATH }, + { output: '', repo: '', source: '', ignore: FORCEIGNORE_MOCK_PATH }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -226,7 +238,7 @@ describe(`test if repoGitDiff`, () => { [`1${TAB}1${TAB}${output[1]}`], ]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -245,7 +257,7 @@ describe(`test if repoGitDiff`, () => { [`1${TAB}1${TAB}${output[1]}`], ]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -264,7 +276,7 @@ describe(`test if repoGitDiff`, () => { [`1${TAB}1${TAB}${output[1]}`], ]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -286,7 +298,7 @@ describe(`test if repoGitDiff`, () => { [`1${TAB}1${TAB}${output[1]}`], ]) const repoGitDiff = new RepoGitDiff( - { output: '', repo: '' }, + { output: '', repo: '', source: '' }, globalMetadata ) const work = await repoGitDiff.getLines() @@ -304,6 +316,7 @@ describe(`test if repoGitDiff`, () => { { output: '', repo: '', + source: '', include: FORCEINCLUDE_MOCK_PATH, }, globalMetadata @@ -320,6 +333,7 @@ describe(`test if repoGitDiff`, () => { { output: '', repo: '', + source: '', includeDestructive: FORCEINCLUDE_MOCK_PATH, }, globalMetadata @@ -339,6 +353,7 @@ describe(`test if repoGitDiff`, () => { { output: '', repo: '', + source: '', include: FORCEINCLUDE_MOCK_PATH, }, globalMetadata @@ -362,6 +377,7 @@ describe(`test if repoGitDiff`, () => { { output: '', repo: '', + source: '', includeDestructive: FORCEINCLUDE_MOCK_PATH, }, globalMetadata diff --git a/package.json b/package.json index 65be5657..e8fdfca6 100644 --- a/package.json +++ b/package.json @@ -26,16 +26,16 @@ }, "author": "Sebastien Colladon ", "dependencies": { - "@oclif/command": "^1.8.21", - "@oclif/config": "^1.18.6", + "@oclif/command": "^1.8.22", + "@oclif/config": "^1.18.8", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.2.42", + "@salesforce/command": "^5.2.43", "@salesforce/core": "^3.33.1", "fast-xml-parser": "^4.0.15", "fs-extra": "^11.1.0", "ignore": "^5.2.4", "micromatch": "^4.0.5", - "tslib": "^2.4.1", + "tslib": "^2.5.0", "xmlbuilder2": "^3.0.2" }, "license": "MIT", @@ -71,8 +71,8 @@ "@commitlint/config-angular": "^17.4.2", "@commitlint/prompt-cli": "^17.4.2", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.2.1", - "@oclif/test": "^2.3.3", + "@oclif/plugin-help": "^5.2.2", + "@oclif/test": "^2.3.4", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", @@ -80,14 +80,14 @@ "@typescript-eslint/eslint-plugin": "^5.49.0", "@typescript-eslint/parser": "^5.49.0", "conventional-github-releaser": "^3.1.5", - "eslint": "^8.32.0", + "eslint": "^8.33.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^39.6.8", + "eslint-plugin-jsdoc": "^39.7.4", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", - "jest": "^29.4.0", + "jest": "^29.4.1", "lint-staged": "^13.1.0", "nyc": "^15.1.0", "prettier": "^2.8.3", diff --git a/src/utils/fileGitDiff.js b/src/utils/fileGitDiff.js index 4328059a..b6de6222 100644 --- a/src/utils/fileGitDiff.js +++ b/src/utils/fileGitDiff.js @@ -1,6 +1,7 @@ 'use strict' const { spawn } = require('child_process') const { linify } = require('./childProcessUtils') +const { gitPathSeparatorNormalizer } = require('./fsHelper') const { IGNORE_WHITESPACE_PARAMS, UTF8_ENCODING } = require('./gitConstants') const unitDiffParams = ['--no-pager', 'diff', '--no-prefix', '-U200'] @@ -17,7 +18,7 @@ module.exports = (filePath, config) => { config.from, config.to, '--', - filePath, + gitPathSeparatorNormalizer(filePath), ], { cwd: config.repo, encoding: UTF8_ENCODING } ) diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 0c650e35..4cdf8139 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -14,6 +14,7 @@ const FOLDER = 'tree' const FATAL = 'fatal' const showCmd = ['--no-pager', 'show'] +const gitPathSeparatorNormalizer = path => path?.replace(/\\+/g, '/') const copiedFiles = new Set() const copyFiles = async (config, src) => { @@ -41,8 +42,9 @@ const copyFiles = async (config, src) => { } const readPathFromGit = async (path, config) => { + const normalizedPath = gitPathSeparatorNormalizer(path) const data = await getStreamContent( - spawn('git', [...showCmd, `${config.to}:${path}`], { + spawn('git', [...showCmd, `${config.to}:${normalizedPath}`], { cwd: config.repo, }) ) @@ -98,6 +100,7 @@ const isSubDir = (parent, dir) => { } module.exports.copyFiles = copyFiles +module.exports.gitPathSeparatorNormalizer = gitPathSeparatorNormalizer module.exports.isSubDir = isSubDir module.exports.pathExists = pathExists module.exports.readDir = readDir diff --git a/src/utils/repoGitDiff.js b/src/utils/repoGitDiff.js index e1bd06e2..9ed63b74 100644 --- a/src/utils/repoGitDiff.js +++ b/src/utils/repoGitDiff.js @@ -16,7 +16,7 @@ const { OBJECT_TRANSLATION_TYPE, } = require('./metadataConstants') const { spawn } = require('child_process') -const { readFile } = require('./fsHelper') +const { gitPathSeparatorNormalizer, readFile } = require('./fsHelper') const micromatch = require('micromatch') const os = require('os') const { parse, sep } = require('path') @@ -95,7 +95,7 @@ class RepoGitDiff { ...this.ignoreWhitespaceParams, this.config.from, this.config.to, - this.config.source, + gitPathSeparatorNormalizer(this.config.source), ], this.spawnConfig ) diff --git a/yarn.lock b/yarn.lock index 3c1befea..16ae7180 100644 --- a/yarn.lock +++ b/yarn.lock @@ -598,28 +598,28 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.0.tgz#ed2e5bc783791c4be75d0054d1bdf66a46deb163" - integrity sha512-xpXud7e/8zo4syxQlAMDz+EQiFsf8/zXDPslBYm+UaSJ5uGTKQHhbSHfECp7Fw1trQtopjYumeved0n3waijhQ== +"@jest/console@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.1.tgz#cbc31d73f6329f693b3d34b365124de797704fff" + integrity sha512-m+XpwKSi3PPM9znm5NGS8bBReeAJJpSkL1OuFCqaMaJL2YX9YXLkkI+MBchMPwu+ZuM2rynL51sgfkQteQ1CKQ== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.4.0" - jest-util "^29.4.0" + jest-message-util "^29.4.1" + jest-util "^29.4.1" slash "^3.0.0" -"@jest/core@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.0.tgz#23cf275372c51d1191a8cd9f36f8d5a47a4e9041" - integrity sha512-E7oCMcENobBFwQXYjnN2IsuUSpRo5jSv7VYk6O9GyQ5kVAfVSS8819I4W5iCCYvqD6+1TzyzLpeEdZEik81kNw== - dependencies: - "@jest/console" "^29.4.0" - "@jest/reporters" "^29.4.0" - "@jest/test-result" "^29.4.0" - "@jest/transform" "^29.4.0" - "@jest/types" "^29.4.0" +"@jest/core@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.1.tgz#91371179b5959951e211dfaeea4277a01dcca14f" + integrity sha512-RXFTohpBqpaTebNdg5l3I5yadnKo9zLBajMT0I38D0tDhreVBYv3fA8kywthI00sWxPztWLD3yjiUkewwu/wKA== + dependencies: + "@jest/console" "^29.4.1" + "@jest/reporters" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" @@ -627,80 +627,80 @@ exit "^0.1.2" graceful-fs "^4.2.9" jest-changed-files "^29.4.0" - jest-config "^29.4.0" - jest-haste-map "^29.4.0" - jest-message-util "^29.4.0" + jest-config "^29.4.1" + jest-haste-map "^29.4.1" + jest-message-util "^29.4.1" jest-regex-util "^29.2.0" - jest-resolve "^29.4.0" - jest-resolve-dependencies "^29.4.0" - jest-runner "^29.4.0" - jest-runtime "^29.4.0" - jest-snapshot "^29.4.0" - jest-util "^29.4.0" - jest-validate "^29.4.0" - jest-watcher "^29.4.0" + jest-resolve "^29.4.1" + jest-resolve-dependencies "^29.4.1" + jest-runner "^29.4.1" + jest-runtime "^29.4.1" + jest-snapshot "^29.4.1" + jest-util "^29.4.1" + jest-validate "^29.4.1" + jest-watcher "^29.4.1" micromatch "^4.0.4" - pretty-format "^29.4.0" + pretty-format "^29.4.1" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.0.tgz#b15d7bfc873d6348dfd7323e50083d2c1e067750" - integrity sha512-ocl1VGDcZHfHnYLTqkBY7yXme1bF4x0BevJ9wb6y0sLOSyBCpp8L5fEASChB+wU53WMrIK6kBfGt+ZYoM2kcdw== +"@jest/environment@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.1.tgz#52d232a85cdc995b407a940c89c86568f5a88ffe" + integrity sha512-pJ14dHGSQke7Q3mkL/UZR9ZtTOxqskZaC91NzamEH4dlKRt42W+maRBXiw/LWkdJe+P0f/zDR37+SPMplMRlPg== dependencies: - "@jest/fake-timers" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/fake-timers" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" - jest-mock "^29.4.0" + jest-mock "^29.4.1" -"@jest/expect-utils@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.0.tgz#97819d0da7027792888d9d2f1a41443be0baef80" - integrity sha512-w/JzTYIqjmPFIM5OOQHF9CawFx2daw1256Nzj4ZqWX96qRKbCq9WYRVqdySBKHHzuvsXLyTDIF6y61FUyrhmwg== +"@jest/expect-utils@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.1.tgz#105b9f3e2c48101f09cae2f0a4d79a1b3a419cbb" + integrity sha512-w6YJMn5DlzmxjO00i9wu2YSozUYRBhIoJ6nQwpMYcBMtiqMGJm1QBzOf6DDgRao8dbtpDoaqLg6iiQTvv0UHhQ== dependencies: jest-get-type "^29.2.0" -"@jest/expect@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.0.tgz#3d47dbb1c650a0833b8263ca354818ca0665adbe" - integrity sha512-IiDZYQ/Oi94aBT0nKKKRvNsB5JTyHoGb+G3SiGoDxz90JfL7SLx/z5IjB0fzBRzy7aLFQOCbVJlaC2fIgU6Y9Q== +"@jest/expect@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.1.tgz#3338fa20f547bb6e550c4be37d6f82711cc13c38" + integrity sha512-ZxKJP5DTUNF2XkpJeZIzvnzF1KkfrhEF6Rz0HGG69fHl6Bgx5/GoU3XyaeFYEjuuKSOOsbqD/k72wFvFxc3iTw== dependencies: - expect "^29.4.0" - jest-snapshot "^29.4.0" + expect "^29.4.1" + jest-snapshot "^29.4.1" -"@jest/fake-timers@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.0.tgz#9a2409cae63eb1d0122edc21783ef88c67e6face" - integrity sha512-8sitzN2QrhDwEwH3kKcMMgrv/UIkmm9AUgHixmn4L++GQ0CqVTIztm3YmaIQooLmW3O4GhizNTTCyq3iLbWcMw== +"@jest/fake-timers@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.1.tgz#7b673131e8ea2a2045858f08241cace5d518b42b" + integrity sha512-/1joI6rfHFmmm39JxNfmNAO3Nwm6Y0VoL5fJDy7H1AtWrD1CgRtqJbN9Ld6rhAkGO76qqp4cwhhxJ9o9kYjQMw== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.4.0" - jest-mock "^29.4.0" - jest-util "^29.4.0" + jest-message-util "^29.4.1" + jest-mock "^29.4.1" + jest-util "^29.4.1" -"@jest/globals@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.0.tgz#b3dd853af92bb6b6156e246475f46fb8f3831785" - integrity sha512-Q64ZRgGMVL40RcYTfD2GvyjK7vJLPSIvi8Yp3usGPNPQ3SCW+UCY9KEH6+sVtBo8LzhcjtCXuZEd7avnj/T0mQ== +"@jest/globals@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.1.tgz#3cd78c5567ab0249f09fbd81bf9f37a7328f4713" + integrity sha512-znoK2EuFytbHH0ZSf2mQK2K1xtIgmaw4Da21R2C/NE/+NnItm5mPEFQmn8gmF3f0rfOlmZ3Y3bIf7bFj7DHxAA== dependencies: - "@jest/environment" "^29.4.0" - "@jest/expect" "^29.4.0" - "@jest/types" "^29.4.0" - jest-mock "^29.4.0" + "@jest/environment" "^29.4.1" + "@jest/expect" "^29.4.1" + "@jest/types" "^29.4.1" + jest-mock "^29.4.1" -"@jest/reporters@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.0.tgz#ec17751cc687fb845fa1978c03fdbc69d34ac462" - integrity sha512-FjJwrD1XOQq/AXKrvnOSf0RgAs6ziUuGKx8+/R53Jscc629JIhg7/m241gf1shUm/fKKxoHd7aCexcg7kxvkWQ== +"@jest/reporters@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.1.tgz#50d509c08575c75e3cd2176d72ec3786419d5e04" + integrity sha512-AISY5xpt2Xpxj9R6y0RF1+O6GRy9JsGa8+vK23Lmzdy1AYcpQn5ItX79wJSsTmfzPKSAcsY1LNt/8Y5Xe5LOSg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.4.0" - "@jest/test-result" "^29.4.0" - "@jest/transform" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/console" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -713,9 +713,9 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.4.0" - jest-util "^29.4.0" - jest-worker "^29.4.0" + jest-message-util "^29.4.1" + jest-util "^29.4.1" + jest-worker "^29.4.1" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" @@ -737,51 +737,51 @@ callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.0.tgz#64f7bd518d6d2a6662c40569e208e030a370f351" - integrity sha512-EtRklzjpddZU/aBVxJqqejfzfOcnehmjNXufs6u6qwd05kkhXpAPhZdt8bLlQd7cA2nD+JqZQ5Dx9NX5Jh6mjA== +"@jest/test-result@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.1.tgz#997f19695e13b34779ceb3c288a416bd26c3238d" + integrity sha512-WRt29Lwt+hEgfN8QDrXqXGgCTidq1rLyFqmZ4lmJOpVArC8daXrZWkWjiaijQvgd3aOUj2fM8INclKHsQW9YyQ== dependencies: - "@jest/console" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/console" "^29.4.1" + "@jest/types" "^29.4.1" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.0.tgz#8041176fccae0f7b86055950461d158833a79b76" - integrity sha512-pEwIgdfvEgF2lBOYX3DVn3SrvsAZ9FXCHw7+C6Qz87HnoDGQwbAselhWLhpgbxDjs6RC9QUJpFnrLmM5uwZV+g== +"@jest/test-sequencer@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.1.tgz#f7a006ec7058b194a10cf833c88282ef86d578fd" + integrity sha512-v5qLBNSsM0eHzWLXsQ5fiB65xi49A3ILPSFQKPXzGL4Vyux0DPZAIN7NAFJa9b4BiTDP9MBF/Zqc/QA1vuiJ0w== dependencies: - "@jest/test-result" "^29.4.0" + "@jest/test-result" "^29.4.1" graceful-fs "^4.2.9" - jest-haste-map "^29.4.0" + jest-haste-map "^29.4.1" slash "^3.0.0" -"@jest/transform@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.0.tgz#73ddd9bf8599d285af09e7e3fef730c17a2fd965" - integrity sha512-hDjw3jz4GnvbyLMgcFpC9/34QcUhVIzJkBqz7o+3AhgfhGRzGuQppuLf5r/q7lDAAyJ6jzL+SFG7JGsScHOcLQ== +"@jest/transform@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.1.tgz#e4f517841bb795c7dcdee1ba896275e2c2d26d4a" + integrity sha512-5w6YJrVAtiAgr0phzKjYd83UPbCXsBRTeYI4BXokv9Er9CcrH9hfXL/crCvP2d2nGOcovPUnlYiLPFLZrkG5Hg== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.0" + jest-haste-map "^29.4.1" jest-regex-util "^29.2.0" - jest-util "^29.4.0" + jest-util "^29.4.1" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" write-file-atomic "^5.0.0" -"@jest/types@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.0.tgz#569115f2438cacf3cff92521c7d624fbb683de3d" - integrity sha512-1S2Dt5uQp7R0bGY/L2BpuwCSji7v12kY3o8zqwlkbYBmOY956SKk+zOWqmfhHSINegiAVqOXydAYuWpzX6TYsQ== +"@jest/types@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.1.tgz#f9f83d0916f50696661da72766132729dcb82ecb" + integrity sha512-zbrAXDUOnpJ+FMST2rV7QZOgec8rskg2zv8g2ajeqitp4tvZiyqTCYXANrKsM+ryj5o+LI+ZN2EgU9drrkiwSA== dependencies: "@jest/schemas" "^29.4.0" "@types/istanbul-lib-coverage" "^2.0.0" @@ -871,15 +871,15 @@ debug "^4.1.1" semver "^7.3.2" -"@oclif/command@^1.8.21": - version "1.8.21" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.21.tgz#32f876f8c02d61094b9693e34167e08fe67b6411" - integrity sha512-kIDrRIbAcicVl+CWMzXeZkg5dRNuF1VI7koyFTAQMNYwRNZpeya5x7XDPr+fh7rDiBL7psnxc3B1+zoOWj96lQ== +"@oclif/command@^1.8.22": + version "1.8.22" + resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.22.tgz#b7ea268393277606bb5e0e557c39536ff4e883f2" + integrity sha512-lystv7IKsWRmCv6K68jSvHrO/DILUPBDb5GZ3absTA5XTnNXTaMrcwVzTcMPfTf+gCrgIaPPD1bmbRStwfQxFw== dependencies: "@oclif/config" "^1.18.2" "@oclif/errors" "^1.3.6" "@oclif/help" "^1.0.1" - "@oclif/parser" "^3.8.9" + "@oclif/parser" "^3.8.10" debug "^4.1.1" semver "^7.3.8" @@ -907,17 +907,17 @@ is-wsl "^2.1.1" tslib "^2.3.1" -"@oclif/config@^1.18.6": - version "1.18.6" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.6.tgz#37367026b3110a2f04875509b1920a8ee4489f21" - integrity sha512-OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA== +"@oclif/config@^1.18.8": + version "1.18.8" + resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.8.tgz#efaccbd0381f90a98fa69c9131e14c5a91fc0659" + integrity sha512-FetS52+emaZQui0roFSdbBP8ddBkIezEoH2NcjLJRjqkMGdE9Z1V+jsISVqTYXk2KJ1gAI0CHDXFjJlNBYbJBg== dependencies: "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.9" + "@oclif/parser" "^3.8.10" debug "^4.3.4" globby "^11.1.0" is-wsl "^2.1.1" - tslib "^2.3.1" + tslib "^2.5.0" "@oclif/core@^1.24.0": version "1.24.0" @@ -987,10 +987,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.3.tgz#ce71efbfc6e4c2655579ce81adce6471be2bc799" - integrity sha512-Dr6tghg32KKEivcWYqrx9bgC8FDE4i47FLR1wjnLg3jNJWf+blTYorj6aHize2WF0wiwkvB28Cr5TUNBooB4AQ== +"@oclif/core@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.7.tgz#a17a85dfa105dda120fbc5647432010feaa97a9e" + integrity sha512-pj7hIH8SBeH3qha47fmyqdaBdNVEqesRgnKFh8Ytdb4S41/4BYOiQuyQGuvnKgvicH6DMxp4FbM9EQEW46V9xw== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -1092,15 +1092,15 @@ chalk "^4.1.0" tslib "^2.3.1" -"@oclif/parser@^3.8.9": - version "3.8.9" - resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.9.tgz#9399041ada7e465043f34b24f4d82a8beb68a023" - integrity sha512-1j/kThdse7yHQz6+c3v8RA1I3gD6+SGt2O7IAb/MAMoxqyBrFQDabQHH2UU4eVFGMLN7U91AiYJp11zJ9LcQAg== +"@oclif/parser@^3.8.10": + version "3.8.10" + resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.10.tgz#7b1048566e1d3f45ed09ca92b2e30f09bd9647e1" + integrity sha512-J4l/NcnfbIU84+NNdy6bxq9yJt4joFWNvpk59hq+uaQPUNtjmNJDVGuRvf6GUOxHNgRsVK1JRmd/Ez+v7Z9GqQ== dependencies: "@oclif/errors" "^1.3.6" "@oclif/linewrap" "^1.0.0" chalk "^4.1.0" - tslib "^2.4.1" + tslib "^2.5.0" "@oclif/plugin-help@3.2.18": version "3.2.18" @@ -1119,12 +1119,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.1.tgz#beee5beb1accb4100f57f0354f2d261271642d51" - integrity sha512-6z/ZholfRZ/k6XonAzV6p34A7LAhr2r2JUOlaCF2ZMrF6LjMN21dWXVK0Sxra+TQqZEm0B2oeSbTmHFtDkbIlw== +"@oclif/plugin-help@^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.2.tgz#f00e60b1349c4ec62c1d6a98d3a424899373c5ad" + integrity sha512-ok8gS2phqA4MiGkjCrZPFvhNIHIp35WsvNNVUn4GL8WZYQ5mk1cZuu+IIqTZxBFZ4QDUZLVkumrhsqx3oNId9A== dependencies: - "@oclif/core" "^2.0.3" + "@oclif/core" "^2.0.7" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1144,12 +1144,12 @@ "@oclif/core" "^1.24.0" fancy-test "^2.0.11" -"@oclif/test@^2.3.3": - version "2.3.3" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.3.tgz#ac9e546c58edb8c1a0767fe9e4b556af71a0154a" - integrity sha512-7cT12WxuNTcbON3dRxu3D8GNOqv/cCKkH3d39Dsa+QQFtFPzhQysaW27QdwivTRPSauD+3jQfmScb2qd1l6Dig== +"@oclif/test@^2.3.4": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.4.tgz#eddeda4e13a5665c9fd65e06f34cd2faca14caee" + integrity sha512-sIuDKKw108NQxPbo+j/TY6HBe1j2tbtjEOJ9aHpU7U+hwsTL3/zyU1YZgiGekdQ/OA0PULz3VLafSs+IioWHmw== dependencies: - "@oclif/core" "^2.0.3" + "@oclif/core" "^2.0.7" fancy-test "^2.0.12" "@oozcitak/dom@1.15.10": @@ -1193,41 +1193,18 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.2.42": - version "5.2.42" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.42.tgz#88c56cc3e1b6a8e7a79b244d13c0879ad4de7c22" - integrity sha512-aCTn1Ob+Esek6GaWsje4j22t9oQLOIbBKBRx135WSg5SZj8stEOXF2uJgPZCINsAhuvEY1Kq8mINql79Jg9qXQ== +"@salesforce/command@^5.2.43": + version "5.2.43" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.43.tgz#32934cea940ade9246d9019a08275d509737e07d" + integrity sha512-FIG5VjY5WSyB8oVUxS7/ow69EwD8fweHCU7oO9SJf6zlM2D+Vd/zJf8hw3aX+j/whb28runX5rDAtI6oelQ8rg== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.32.12" + "@salesforce/core" "^3.33.1" "@salesforce/kit" "^1.8.2" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.32.12": - version "3.32.12" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.32.12.tgz#853cc5b6a5f95d4896b2d34a40a6042ef9aa6d2c" - integrity sha512-27rqSiQWul7b/OkJs19FYDv2M/S4oI4efiGv+6sR7UWv7D7CG1P+0XpgLS3d9xRYF30h98n6VQr4W2a+BWFRvA== - dependencies: - "@salesforce/bunyan" "^2.0.0" - "@salesforce/kit" "^1.8.0" - "@salesforce/schemas" "^1.4.0" - "@salesforce/ts-types" "^1.5.21" - "@types/graceful-fs" "^4.1.5" - "@types/semver" "^7.3.13" - ajv "^8.11.2" - archiver "^5.3.0" - change-case "^4.1.2" - debug "^3.2.7" - faye "^1.4.0" - form-data "^4.0.0" - graceful-fs "^4.2.9" - js2xmlparser "^4.0.1" - jsforce "^2.0.0-beta.19" - jsonwebtoken "9.0.0" - ts-retry-promise "^0.7.0" - "@salesforce/core@^3.33.1": version "3.33.1" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.1.tgz#3dd0a44ba22763e8e0c2c97df03393e5c2c845d9" @@ -1279,13 +1256,6 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.4.0.tgz#7dff427c8059895d8108176047aee600703c82d6" integrity sha512-BJ25uphssN42Zy6kksheFHMTLiR98AAHe/Wxnv0T4dYxtrEbUjSXVAGKZqfewJPFXA4xB5gxC+rQZtfz6xKCFg== -"@salesforce/ts-types@^1.5.21": - version "1.5.21" - resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.5.21.tgz#e62784872f0e74bf4ae13381dc58aa4644ee2df3" - integrity sha512-qG8r8WOzqpFOHaH3EGU3IwGrY/pSv9NQp4B0wGxOuPDBbraXVvd3KhWVStxaLGKBkJClJ7/+t+iCSP82sEiGcg== - dependencies: - tslib "^2.2.0" - "@salesforce/ts-types@^1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.1.tgz#86b0d0c3bfd5c9b1752662a019a3d2f3bc8ff118" @@ -1960,12 +1930,12 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -babel-jest@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.0.tgz#20b18b69a321125429ff67a383b94c6bf552d1ec" - integrity sha512-M61cGPg4JBashDvIzKoIV/y95mSF6x3ome7CMEaszUTHD4uo6dtC6Nln+fvRTspYNtwy8lDHl5lmoTBSNY/a+g== +babel-jest@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.1.tgz#01fa167e27470b35c2d4a1b841d9586b1764da19" + integrity sha512-xBZa/pLSsF/1sNpkgsiT3CmY7zV1kAsZ9OxxtrFqYucnOuRftXAfcJqcDVyOPeN4lttWTwhLdu0T9f8uvoPEUg== dependencies: - "@jest/transform" "^29.4.0" + "@jest/transform" "^29.4.1" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" babel-preset-jest "^29.4.0" @@ -3297,10 +3267,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^39.6.8: - version "39.6.8" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.8.tgz#a311dbaad00e51fe835c28e14e883c19e0d528a7" - integrity sha512-8W2B2vCfqXmV6AxhEO9u25zPqk7V/LxCsZBl0xDF1CSLDqabiQQtZXpWp19K53HMfFZMLeNRJRUFFhauWgMZrA== +eslint-plugin-jsdoc@^39.7.4: + version "39.7.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.4.tgz#fec1b5a3cfcbb706980e98e0dbb60ae1f31777d7" + integrity sha512-2eJcWGKRyNQFa37UIpGcAdOp3wtES8vV3mlnFmEmJCuBNyFhK6cMhbZgMkLoLjKnipoxsN9GbfZZ+8nPY8ETZQ== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -3350,10 +3320,10 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.32.0: - version "8.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.32.0.tgz#d9690056bb6f1a302bd991e7090f5b68fbaea861" - integrity sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ== +eslint@^8.33.0: + version "8.33.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" + integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -3536,16 +3506,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.0.tgz#e2d58a73bf46399deac7db6ec16842827525ce35" - integrity sha512-pzaAwjBgLEVxBh6ZHiqb9Wv3JYuv6m8ntgtY7a48nS+2KbX0EJkPS3FQlKiTZNcqzqJHNyQsfjqN60w1hPUBfQ== +expect@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.1.tgz#58cfeea9cbf479b64ed081fd1e074ac8beb5a1fe" + integrity sha512-OKrGESHOaMxK3b6zxIq9SOW8kEXztKff/Dvg88j4xIJxur1hspEbedVkR3GpHe5LO+WB2Qw7OWN0RMTdp6as5A== dependencies: - "@jest/expect-utils" "^29.4.0" + "@jest/expect-utils" "^29.4.1" jest-get-type "^29.2.0" - jest-matcher-utils "^29.4.0" - jest-message-util "^29.4.0" - jest-util "^29.4.0" + jest-matcher-utils "^29.4.1" + jest-message-util "^29.4.1" + jest-util "^29.4.1" external-editor@^3.0.3: version "3.1.0" @@ -4812,86 +4782,86 @@ jest-changed-files@^29.4.0: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.0.tgz#08fec87eb15632fba74e93cf069ef85559acd813" - integrity sha512-/pFBaCeLzCavRWyz14JwFgpZgPpEZdS6nPnREhczbHl2wy2UezvYcVp5akVFfUmBaA4ThAUp0I8cpgkbuNOm3g== +jest-circus@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.1.tgz#ff1b63eb04c3b111cefea9489e8dbadd23ce49bd" + integrity sha512-v02NuL5crMNY4CGPHBEflLzl4v91NFb85a+dH9a1pUNx6Xjggrd8l9pPy4LZ1VYNRXlb+f65+7O/MSIbLir6pA== dependencies: - "@jest/environment" "^29.4.0" - "@jest/expect" "^29.4.0" - "@jest/test-result" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/environment" "^29.4.1" + "@jest/expect" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.4.0" - jest-matcher-utils "^29.4.0" - jest-message-util "^29.4.0" - jest-runtime "^29.4.0" - jest-snapshot "^29.4.0" - jest-util "^29.4.0" + jest-each "^29.4.1" + jest-matcher-utils "^29.4.1" + jest-message-util "^29.4.1" + jest-runtime "^29.4.1" + jest-snapshot "^29.4.1" + jest-util "^29.4.1" p-limit "^3.1.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.0.tgz#63f34fc3b6f499a69337b2e5964661d22cead9e0" - integrity sha512-YUkICcxjUd864VOzbfQEi2qd2hIIOd9bRF7LJUNyhWb3Khh3YKrbY0LWwoZZ4WkvukiNdvQu0Z4s6zLsY4hYfg== +jest-cli@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.1.tgz#7abef96944f300feb9b76f68b1eb2d68774fe553" + integrity sha512-jz7GDIhtxQ37M+9dlbv5K+/FVcIo1O/b1sX3cJgzlQUf/3VG25nvuWzlDC4F1FLLzUThJeWLu8I7JF9eWpuURQ== dependencies: - "@jest/core" "^29.4.0" - "@jest/test-result" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/core" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/types" "^29.4.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.4.0" - jest-util "^29.4.0" - jest-validate "^29.4.0" + jest-config "^29.4.1" + jest-util "^29.4.1" + jest-validate "^29.4.1" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.0.tgz#08065bcfc7c2ccfd3ca9f8bb412eb366d73fd5a2" - integrity sha512-jtgd72nN4Mob4Oego3N/pLRVfR2ui1hv+yO6xR/SUi5G7NtZ/grr95BJ1qRSDYZshuA0Jw57fnttZHZKb04+CA== +jest-config@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.1.tgz#e62670c6c980ec21d75941806ec4d0c0c6402728" + integrity sha512-g7p3q4NuXiM4hrS4XFATTkd+2z0Ml2RhFmFPM8c3WyKwVDNszbl4E7cV7WIx1YZeqqCtqbtTtZhGZWJlJqngzg== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.4.0" - "@jest/types" "^29.4.0" - babel-jest "^29.4.0" + "@jest/test-sequencer" "^29.4.1" + "@jest/types" "^29.4.1" + babel-jest "^29.4.1" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.4.0" - jest-environment-node "^29.4.0" + jest-circus "^29.4.1" + jest-environment-node "^29.4.1" jest-get-type "^29.2.0" jest-regex-util "^29.2.0" - jest-resolve "^29.4.0" - jest-runner "^29.4.0" - jest-util "^29.4.0" - jest-validate "^29.4.0" + jest-resolve "^29.4.1" + jest-runner "^29.4.1" + jest-util "^29.4.1" + jest-validate "^29.4.1" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.0.tgz#9c75dcef5872c8889bfcb78bc9571a0e4e9bd8f6" - integrity sha512-s8KNvFx8YgdQ4fn2YLDQ7N6kmVOP68dUDVJrCHNsTc3UM5jcmyyFeYKL8EPWBQbJ0o0VvDGbWp8oYQ1nsnqnWw== +jest-diff@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.1.tgz#9a6dc715037e1fa7a8a44554e7d272088c4029bd" + integrity sha512-uazdl2g331iY56CEyfbNA0Ut7Mn2ulAG5vUaEHXycf1L6IPyuImIxSz4F0VYBKi7LYIuxOwTZzK3wh5jHzASMw== dependencies: chalk "^4.0.0" diff-sequences "^29.3.1" jest-get-type "^29.2.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" jest-docblock@^29.2.0: version "29.2.0" @@ -4900,94 +4870,94 @@ jest-docblock@^29.2.0: dependencies: detect-newline "^3.0.0" -jest-each@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.0.tgz#1b6f018529b26f52851123075df4fa297b5b859b" - integrity sha512-LTOvB8JDVFjrwXItyQiyLuDYy5PMApGLLzbfIYR79QLpeohS0bcS6j2HjlWuRGSM8QQQyp+ico59Blv+Jx3fMw== +jest-each@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.1.tgz#05ce9979e7486dbd0f5d41895f49ccfdd0afce01" + integrity sha512-QlYFiX3llJMWUV0BtWht/esGEz9w+0i7BHwODKCze7YzZzizgExB9MOfiivF/vVT0GSQ8wXLhvHXh3x2fVD4QQ== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" chalk "^4.0.0" jest-get-type "^29.2.0" - jest-util "^29.4.0" - pretty-format "^29.4.0" + jest-util "^29.4.1" + pretty-format "^29.4.1" -jest-environment-node@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.0.tgz#b19ae4cbf71199ed077a399de1e2cb0e52dbd936" - integrity sha512-WVveE3fYSH6FhDtZdvXhFKeLsDRItlQgnij+HQv6ZKxTdT1DB5O0sHXKCEC3K5mHraMs1Kzn4ch9jXC7H4L4wA== +jest-environment-node@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.1.tgz#22550b7d0f8f0b16228639c9f88ca04bbf3c1974" + integrity sha512-x/H2kdVgxSkxWAIlIh9MfMuBa0hZySmfsC5lCsWmWr6tZySP44ediRKDUiNggX/eHLH7Cd5ZN10Rw+XF5tXsqg== dependencies: - "@jest/environment" "^29.4.0" - "@jest/fake-timers" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/environment" "^29.4.1" + "@jest/fake-timers" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" - jest-mock "^29.4.0" - jest-util "^29.4.0" + jest-mock "^29.4.1" + jest-util "^29.4.1" jest-get-type@^29.2.0: version "29.2.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== -jest-haste-map@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.0.tgz#139d6bd262f3f74894f23933ee4046af7e770ab0" - integrity sha512-m/pIEfoK0HoJz4c9bkgS5F9CXN2AM22eaSmUcmqTpadRlNVBOJE2CwkgaUzbrNn5MuAqTV1IPVYwWwjHNnk8eA== +jest-haste-map@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.1.tgz#b0579dc82d94b40ed9041af56ad25c2f80bedaeb" + integrity sha512-imTjcgfVVTvg02khXL11NNLTx9ZaofbAWhilrMg/G8dIkp+HYCswhxf0xxJwBkfhWb3e8dwbjuWburvxmcr58w== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" jest-regex-util "^29.2.0" - jest-util "^29.4.0" - jest-worker "^29.4.0" + jest-util "^29.4.1" + jest-worker "^29.4.1" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.0.tgz#5f1079556c244cf6f5f281f5c5134ea2a07ad28e" - integrity sha512-fEGHS6ijzgSv5exABkCecMHNmyHcV52+l39ZsxuwfxmQMp43KBWJn2/Fwg8/l4jTI9uOY9jv8z1dXGgL0PHFjA== +jest-leak-detector@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.1.tgz#632186c546e084da2b490b7496fee1a1c9929637" + integrity sha512-akpZv7TPyGMnH2RimOCgy+hPmWZf55EyFUvymQ4LMsQP8xSPlZumCPtXGoDhFNhUE2039RApZkTQDKU79p/FiQ== dependencies: jest-get-type "^29.2.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" -jest-matcher-utils@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.0.tgz#c2f804f95152216c8b80afbe73d82ae0ba89f652" - integrity sha512-pU4OjBn96rDdRIaPUImbPiO2ETyRVzkA1EZVu9AxBDv/XPDJ7JWfkb6IiDT5jwgicaPHMrB/fhVa6qjG6potfA== +jest-matcher-utils@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.1.tgz#73d834e305909c3b43285fbc76f78bf0ad7e1954" + integrity sha512-k5h0u8V4nAEy6lSACepxL/rw78FLDkBnXhZVgFneVpnJONhb2DhZj/Gv4eNe+1XqQ5IhgUcqj745UwH0HJmMnA== dependencies: chalk "^4.0.0" - jest-diff "^29.4.0" + jest-diff "^29.4.1" jest-get-type "^29.2.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" -jest-message-util@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.0.tgz#60d3f3dd6b5ef08ec9b698f434fbbafdb0af761d" - integrity sha512-0FvobqymmhE9pDEifvIcni9GeoKLol8eZspzH5u41g1wxYtLS60a9joT95dzzoCgrKRidNz64eaAXyzaULV8og== +jest-message-util@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.1.tgz#522623aa1df9a36ebfdffb06495c7d9d19e8a845" + integrity sha512-H4/I0cXUaLeCw6FM+i4AwCnOwHRgitdaUFOdm49022YD5nfyr8C/DrbXOBEyJaj+w/y0gGJ57klssOaUiLLQGQ== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.4.0" + pretty-format "^29.4.1" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.0.tgz#efb5d99da5e4548ea02d505c89aafdd06d899cb8" - integrity sha512-+ShT5i+hcu/OFQRV0f/V/YtwpdFcHg64JZ9A8b40JueP+X9HNrZAYGdkupGIzsUK8AucecxCt4wKauMchxubLQ== +jest-mock@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.1.tgz#a218a2abf45c99c501d4665207748a6b9e29afbd" + integrity sha512-MwA4hQ7zBOcgVCVnsM8TzaFLVUD/pFWTfbkY953Y81L5ret3GFRZtmPmRFAjKQSdCKoJvvqOu6Bvfpqlwwb0dQ== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@types/node" "*" - jest-util "^29.4.0" + jest-util "^29.4.1" jest-pnp-resolver@^1.2.2: version "1.2.2" @@ -4999,89 +4969,89 @@ jest-regex-util@^29.2.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== -jest-resolve-dependencies@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.0.tgz#d8c9dce9ad8b193375b4993c4a659adf2d379b84" - integrity sha512-hxfC84trREyULSj1Cm+fMjnudrrI2dVQ04COjZRcjCZ97boJlPtfJ+qrl/pN7YXS2fnu3wTHEc3LO094pngL6A== +jest-resolve-dependencies@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.1.tgz#02420a2e055da105e5fca8218c471d8b9553c904" + integrity sha512-Y3QG3M1ncAMxfjbYgtqNXC5B595zmB6e//p/qpA/58JkQXu/IpLDoLeOa8YoYfsSglBKQQzNUqtfGJJT/qLmJg== dependencies: jest-regex-util "^29.2.0" - jest-snapshot "^29.4.0" + jest-snapshot "^29.4.1" -jest-resolve@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.0.tgz#dbf00b2fb992d37e4954feb7ee6b5391ca8fc6a9" - integrity sha512-g7k7l53T+uC9Dp1mbHyDNkcCt0PMku6Wcfpr1kcMLwOHmM3vucKjSM5+DSa1r4vlDZojh8XH039J3z4FKmtTSw== +jest-resolve@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.1.tgz#4c6bf71a07b8f0b79c5fdf4f2a2cf47317694c5e" + integrity sha512-j/ZFNV2lm9IJ2wmlq1uYK0Y/1PiyDq9g4HEGsNTNr3viRbJdV+8Lf1SXIiLZXFvyiisu0qUyIXGBnw+OKWkJwQ== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.0" + jest-haste-map "^29.4.1" jest-pnp-resolver "^1.2.2" - jest-util "^29.4.0" - jest-validate "^29.4.0" + jest-util "^29.4.1" + jest-validate "^29.4.1" resolve "^1.20.0" resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.0.tgz#9f83f20e9e88d2c5e9b7db1526cef901c1c0fe98" - integrity sha512-4zpcv0NOiJleqT0NAs8YcVbK8MhVRc58CBBn9b0Exc8VPU9GKI+DbzDUZqJYdkJhJSZFy2862l/F6hAqIow1hg== - dependencies: - "@jest/console" "^29.4.0" - "@jest/environment" "^29.4.0" - "@jest/test-result" "^29.4.0" - "@jest/transform" "^29.4.0" - "@jest/types" "^29.4.0" +jest-runner@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.1.tgz#57460d9ebb0eea2e27eeddca1816cf8537469661" + integrity sha512-8d6XXXi7GtHmsHrnaqBKWxjKb166Eyj/ksSaUYdcBK09VbjPwIgWov1VwSmtupCIz8q1Xv4Qkzt/BTo3ZqiCeg== + dependencies: + "@jest/console" "^29.4.1" + "@jest/environment" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" jest-docblock "^29.2.0" - jest-environment-node "^29.4.0" - jest-haste-map "^29.4.0" - jest-leak-detector "^29.4.0" - jest-message-util "^29.4.0" - jest-resolve "^29.4.0" - jest-runtime "^29.4.0" - jest-util "^29.4.0" - jest-watcher "^29.4.0" - jest-worker "^29.4.0" + jest-environment-node "^29.4.1" + jest-haste-map "^29.4.1" + jest-leak-detector "^29.4.1" + jest-message-util "^29.4.1" + jest-resolve "^29.4.1" + jest-runtime "^29.4.1" + jest-util "^29.4.1" + jest-watcher "^29.4.1" + jest-worker "^29.4.1" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.0.tgz#d4f3300e65888ea8e045bc13c5a96edd01cf9f49" - integrity sha512-2zumwaGXsIuSF92Ui5Pn5hZV9r7AHMclfBLikrXSq87/lHea9anQ+mC+Cjz/DYTbf/JMjlK1sjZRh8K3yYNvWg== +jest-runtime@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.1.tgz#9a50f9c69d3a391690897c01b0bfa8dc5dd45808" + integrity sha512-UXTMU9uKu2GjYwTtoAw5rn4STxWw/nadOfW7v1sx6LaJYa3V/iymdCLQM6xy3+7C6mY8GfX22vKpgxY171UIoA== dependencies: - "@jest/environment" "^29.4.0" - "@jest/fake-timers" "^29.4.0" - "@jest/globals" "^29.4.0" + "@jest/environment" "^29.4.1" + "@jest/fake-timers" "^29.4.1" + "@jest/globals" "^29.4.1" "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.4.0" - "@jest/transform" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.0" - jest-message-util "^29.4.0" - jest-mock "^29.4.0" + jest-haste-map "^29.4.1" + jest-message-util "^29.4.1" + jest-mock "^29.4.1" jest-regex-util "^29.2.0" - jest-resolve "^29.4.0" - jest-snapshot "^29.4.0" - jest-util "^29.4.0" + jest-resolve "^29.4.1" + jest-snapshot "^29.4.1" + jest-util "^29.4.1" semver "^7.3.5" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.0.tgz#c839f6b84d50b917691ddf6a3cef9f0852b3d0e7" - integrity sha512-UnK3MhdEWrQ2J6MnlKe51tvN5FjRUBQnO4m1LPlDx61or3w9+cP/U0x9eicutgunu/QzE4WC82jj6CiGIAFYzw== +jest-snapshot@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.1.tgz#5692210b3690c94f19317913d4082b123bd83dd9" + integrity sha512-l4iV8EjGgQWVz3ee/LR9sULDk2pCkqb71bjvlqn+qp90lFwpnulHj4ZBT8nm1hA1C5wowXLc7MGnw321u0tsYA== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -5089,82 +5059,82 @@ jest-snapshot@^29.4.0: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.4.0" - "@jest/transform" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/expect-utils" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.4.0" + expect "^29.4.1" graceful-fs "^4.2.9" - jest-diff "^29.4.0" + jest-diff "^29.4.1" jest-get-type "^29.2.0" - jest-haste-map "^29.4.0" - jest-matcher-utils "^29.4.0" - jest-message-util "^29.4.0" - jest-util "^29.4.0" + jest-haste-map "^29.4.1" + jest-matcher-utils "^29.4.1" + jest-message-util "^29.4.1" + jest-util "^29.4.1" natural-compare "^1.4.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" semver "^7.3.5" -jest-util@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.0.tgz#1f3743c3dda843049623501c7e6f8fa5efdc2c2f" - integrity sha512-lCCwlze7UEV8TpR9ArS8w0cTbcMry5tlBkg7QSc5og5kNyV59dnY2aKHu5fY2k5aDJMQpCUGpvL2w6ZU44lveA== +jest-util@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.1.tgz#2eeed98ff4563b441b5a656ed1a786e3abc3e4c4" + integrity sha512-bQy9FPGxVutgpN4VRc0hk6w7Hx/m6L53QxpDreTZgJd9gfx/AV2MjyPde9tGyZRINAUrSv57p2inGBu2dRLmkQ== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.0.tgz#5090be16531051edc21bc0892553f7f7fab99bf0" - integrity sha512-EXS7u594nX3aAPBnARxBdJ1eZ1cByV6MWrK0Qpt9lt/BcY0p0yYGp/EGJ8GhdLDQh+RFf8qMt2wzbbVzpj5+Vg== +jest-validate@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.1.tgz#0d5174510415083ec329d4f981bf6779211f17e9" + integrity sha512-qNZXcZQdIQx4SfUB/atWnI4/I2HUvhz8ajOSYUu40CSmf9U5emil8EDHgE7M+3j9/pavtk3knlZBDsgFvv/SWw== dependencies: - "@jest/types" "^29.4.0" + "@jest/types" "^29.4.1" camelcase "^6.2.0" chalk "^4.0.0" jest-get-type "^29.2.0" leven "^3.1.0" - pretty-format "^29.4.0" + pretty-format "^29.4.1" -jest-watcher@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.0.tgz#4f51e6fba4341d965279a5a646adde5104d414f0" - integrity sha512-PnnfLygNKelWOJwpAYlcsQjB+OxRRdckD0qiGmYng4Hkz1ZwK3jvCaJJYiywz2msQn4rBNLdriasJtv7YpWHpA== +jest-watcher@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.1.tgz#6e3e2486918bd778849d4d6e67fd77b814f3e6ed" + integrity sha512-vFOzflGFs27nU6h8dpnVRER3O2rFtL+VMEwnG0H3KLHcllLsU8y9DchSh0AL/Rg5nN1/wSiQ+P4ByMGpuybaVw== dependencies: - "@jest/test-result" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/test-result" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.4.0" + jest-util "^29.4.1" string-length "^4.0.1" -jest-worker@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.0.tgz#fbf6d700c3366c555765938da75990c1e7fdcdcd" - integrity sha512-dICMQ+Q4W0QVMsaQzWlA1FVQhKNz7QcDCOGtbk1GCAd0Lai+wdkQvfmQwL4MjGumineh1xz+6M5oMj3rfWS02A== +jest-worker@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.1.tgz#7cb4a99a38975679600305650f86f4807460aab1" + integrity sha512-O9doU/S1EBe+yp/mstQ0VpPwpv0Clgn68TkNwGxL6/usX/KUW9Arnn4ag8C3jc6qHcXznhsT5Na1liYzAsuAbQ== dependencies: "@types/node" "*" - jest-util "^29.4.0" + jest-util "^29.4.1" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.0.tgz#c476b3d0c58af77f276f53f81d4d97e16105ae37" - integrity sha512-Zfd4UzNxPkSoHRBkg225rBjQNa6pVqbh20MGniAzwaOzYLd+pQUcAwH+WPxSXxKFs+QWYfPYIq9hIVSmdVQmPA== +jest@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.1.tgz#bb34baca8e05901b49c02c62f1183a6182ea1785" + integrity sha512-cknimw7gAXPDOmj0QqztlxVtBVCw2lYY9CeIE5N6kD+kET1H4H79HSNISJmijb1HF+qk+G+ploJgiDi5k/fRlg== dependencies: - "@jest/core" "^29.4.0" - "@jest/types" "^29.4.0" + "@jest/core" "^29.4.1" + "@jest/types" "^29.4.1" import-local "^3.0.2" - jest-cli "^29.4.0" + jest-cli "^29.4.1" js-sdsl@^4.1.4: version "4.1.5" @@ -6490,10 +6460,10 @@ pretty-format@^23.0.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.0.tgz#766f071bb1c53f1ef8000c105bbeb649e86eb993" - integrity sha512-J+EVUPXIBHCdWAbvGBwXs0mk3ljGppoh/076g1S8qYS8nVG4u/yrhMvyTFHYYYKWnDdgRLExx0vA7pzxVGdlNw== +pretty-format@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.1.tgz#0da99b532559097b8254298da7c75a0785b1751c" + integrity sha512-dt/Z761JUVsrIKaY215o1xQJBGlSmTx/h4cSqXqjHLnU1+Kt+mavVE7UgqJJO5ukx5HjSswHfmXz4LjS2oIJfg== dependencies: "@jest/schemas" "^29.4.0" ansi-styles "^5.0.0" @@ -7620,6 +7590,11 @@ tslib@^2.4.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" From 3b2a36c20826a774b52da73bbae66163b144c6b0 Mon Sep 17 00:00:00 2001 From: github-actions Date: Mon, 30 Jan 2023 14:34:28 +0000 Subject: [PATCH 13/63] chore(release): 5.11.3 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c28be00..5868ce87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### 5.11.3 (2023-01-30) + + +### Bug Fixes + +* windows path separator with git ([#436](https://github.com/scolladon/sfdx-git-delta/issues/436)) ([b760a7e](https://github.com/scolladon/sfdx-git-delta/commit/b760a7ee0381777bdd7d422d1df7f3b291cab9d2)) + ### 5.11.2 (2023-01-26) diff --git a/README.md b/README.md index b4cd280f..30dd6569 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.2/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.3/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index e8fdfca6..b00bae96 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.11.2", + "version": "5.11.3", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From b0e363a2bdcdb438ea651def621bd4cf03ac1782 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 1 Feb 2023 14:52:16 +0100 Subject: [PATCH 14/63] fix: binary file copy (#440) --- .../unit/lib/utils/childProcessUtils.test.js | 199 ++++++++++++++++++ __tests__/unit/lib/utils/fileGitDiff.test.js | 2 +- __tests__/unit/lib/utils/fsHelper.test.js | 68 +++--- package.json | 8 +- src/utils/childProcessUtils.js | 12 +- src/utils/fsHelper.js | 29 ++- src/utils/repoGitDiff.js | 12 +- src/utils/repoSetup.js | 5 +- yarn.lock | 115 +++++----- 9 files changed, 342 insertions(+), 108 deletions(-) create mode 100644 __tests__/unit/lib/utils/childProcessUtils.test.js diff --git a/__tests__/unit/lib/utils/childProcessUtils.test.js b/__tests__/unit/lib/utils/childProcessUtils.test.js new file mode 100644 index 00000000..fc0f92d1 --- /dev/null +++ b/__tests__/unit/lib/utils/childProcessUtils.test.js @@ -0,0 +1,199 @@ +'use strict' +const { + EOLRegex, + getStreamContent, + linify, + treatPathSep, + sanitizePath, +} = require('../../../../src/utils/childProcessUtils') +const { EventEmitter, Readable } = require('stream') +const { sep } = require('path') + +describe('childProcessUtils', () => { + describe('getStreamContent', () => { + describe.each([Buffer.from('text'), 'text'])( + 'when called with stream of %o', + content => { + it('returns Buffer', async () => { + // Arrange + const stream = new EventEmitter() + stream.stdout = new Readable({ + read() { + this.push(content) + this.push(null) + stream.emit('close') + }, + }) + + // Act + const result = await getStreamContent(stream) + + // Assert + expect(result).toEqual(Buffer.from('text')) + }) + } + ) + + describe('when stream emit error', () => { + it('throws the error', async () => { + // Arrange + expect.assertions(1) + const stream = new EventEmitter() + stream.stdout = new Readable({ + read() { + this.push(null) + stream.emit('error') + }, + }) + + // Act + try { + await getStreamContent(stream) + + // Assert + } catch (error) { + expect(error).toBeDefined() + } + }) + }) + }) + describe('linify', () => { + describe('when called with lines', () => { + it('yield content line by line', async () => { + // Arrange + const input = 'multiline\ntext' + const stream = new Readable.from(input) + + // Act + const lines = [] + for await (const line of linify(stream)) { + lines.push(line) + } + + // Assert + expect(lines).toEqual(expect.arrayContaining(input.split('\n'))) + }) + }) + + describe('when stream has no content in stdout', () => { + it('returns no lines', async () => { + // Arrange + const stream = new Readable({ + read() { + this.push(null) + }, + }) + + // Act + const lines = [] + for await (const line of linify(stream)) { + lines.push(line) + } + + // Assert + expect(lines).toEqual([]) + }) + }) + }) + describe('treatPathSep', () => { + it(`replace / by ${sep}`, () => { + // Arrange + const input = 'test///test//test/test' + + // Act + const result = treatPathSep(input) + + // Assert + expect(result).toBe(`test${sep}test${sep}test${sep}test`) + }) + + it(`replace \\ by ${sep}`, () => { + // Arrange + const input = 'test\\\\\\test\\\\test\\test' + + // Act + const result = treatPathSep(input) + + // Assert + expect(result).toBe(`test${sep}test${sep}test${sep}test`) + }) + }) + describe('sanitizePath', () => { + describe.each([undefined, null])('when called with %s', val => { + it(`returns ${val}`, () => { + // Act + const result = sanitizePath(val) + + // Assert + expect(result).toEqual(val) + }) + }) + + it(`returns path with '${sep}' separator`, () => { + // Arrange + const input = 'test\\test/test' + + // Act + const result = sanitizePath(input) + + // Assert + expect(result).toBe(`test${sep}test${sep}test`) + }) + + it(`normalize path`, () => { + // Arrange + const input = 'test/test\\../test' + + // Act + const result = sanitizePath(input) + + // Assert + expect(result).toBe(`test${sep}test`) + }) + }) + describe('EOLRegex', () => { + it('matches CR LF', () => { + // Arrange + const input = 'test\r\ntest' + + // Act + const matches = EOLRegex.test(input) + + // Assert + expect(matches).toBe(true) + }) + + it('matches LF', () => { + // Arrange + const input = 'testtest\n' + + // Act + const matches = EOLRegex.test(input) + + // Assert + expect(matches).toBe(true) + }) + + it('does not matches CR only', () => { + // Arrange + const input = 'test\rtest' + + // Act + const matches = EOLRegex.test(input) + + // Assert + expect(matches).toBe(false) + }) + + it('does not matches any string ', () => { + // Arrange + const input = 'test,test' + + // Act + const matches = EOLRegex.test(input) + + // Assert + expect(matches).toBe(false) + }) + }) +}) diff --git a/__tests__/unit/lib/utils/fileGitDiff.test.js b/__tests__/unit/lib/utils/fileGitDiff.test.js index 777eac8b..93f65949 100644 --- a/__tests__/unit/lib/utils/fileGitDiff.test.js +++ b/__tests__/unit/lib/utils/fileGitDiff.test.js @@ -7,7 +7,7 @@ const child_process = require('child_process') const TEST_PATH = 'path/to/file' -describe(`test if fileGitDiff`, () => { +describe(`fileGitDiff`, () => { beforeEach(() => { child_process.__setOutput([]) child_process.__setError(false) diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index 296036a3..e579c0d6 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -29,14 +29,13 @@ jest.mock('../../../../src/utils/childProcessUtils', () => { return { ...originalModule, - getStreamContent: jest.fn(), - treatPathSep: jest.fn(), + getStreamContent: jest.fn(() => Promise.resolve(Buffer.from(''))), + treatPathSep: jest.fn(() => ''), } }) let work beforeEach(() => { - //jest.clearAllMocks() work = { config: { output: '', @@ -78,6 +77,13 @@ describe('readPathFromGit', () => { ['windows', 'force-app\\main\\default\\classes\\myClass.cls'], ['unix', 'force-app/main/default/classes/myClass.cls'], ])('when path is %s format', (_, path) => { + beforeEach(() => { + // Arrange + getStreamContent.mockImplementation(() => + Promise.resolve(Buffer.from('')) + ) + }) + it('should use "config.to" and "normalized path" to get git history', async () => { // Act await readPathFromGit(path, work.config) @@ -97,7 +103,6 @@ describe('readPathFromGit', () => { describe('copyFile', () => { describe('when file is already copied', () => { it('should not copy file', async () => { - // Arrange await copyFiles(work.config, 'source/file', 'output/file') jest.resetAllMocks() @@ -113,9 +118,6 @@ describe('copyFile', () => { describe('when source location is empty', () => { it('should not copy file', async () => { - // Arrange - getStreamContent.mockImplementation(() => '') - // Act await copyFiles(work.config, 'source/doNotCopy', 'output/doNotCopy') @@ -131,10 +133,12 @@ describe('copyFile', () => { it('should copy the folder', async () => { // Arrange treatPathSep.mockImplementationOnce(() => 'output/copyDir/copyFile') - getStreamContent.mockImplementationOnce( - () => 'tree HEAD:folder\n\ncopyFile' + getStreamContent.mockImplementationOnce(() => + Promise.resolve(Buffer.from('tree HEAD:folder\n\ncopyFile')) + ) + getStreamContent.mockImplementation(() => + Promise.resolve(Buffer.from('content')) ) - getStreamContent.mockImplementation(() => 'content') // Act await copyFiles(work.config, 'source/copyDir', 'output/copyDir') @@ -143,6 +147,10 @@ describe('copyFile', () => { expect(spawn).toBeCalledTimes(2) expect(getStreamContent).toBeCalledTimes(2) expect(outputFile).toBeCalledTimes(1) + expect(outputFile).toHaveBeenCalledWith( + 'output/copyDir/copyFile', + Buffer.from('content') + ) expect(treatPathSep).toBeCalledTimes(1) }) }) @@ -151,7 +159,9 @@ describe('copyFile', () => { expect.assertions(4) // Arrange const fatalError = 'fatal: not a git repository' - getStreamContent.mockImplementation(() => 'fatal: not a git repository') + getStreamContent.mockImplementation(() => + Promise.resolve(Buffer.from('fatal: not a git repository')) + ) // Act try { @@ -169,7 +179,9 @@ describe('copyFile', () => { describe('when content is a file', () => { beforeEach(async () => { // Arrange - getStreamContent.mockImplementation(() => 'content') + getStreamContent.mockImplementation(() => + Promise.resolve(Buffer.from('content')) + ) treatPathSep.mockImplementationOnce(() => 'output/copyFile') }) it('should copy the file', async () => { @@ -180,6 +192,10 @@ describe('copyFile', () => { expect(spawn).toBeCalled() expect(getStreamContent).toBeCalled() expect(outputFile).toBeCalledTimes(1) + expect(outputFile).toHaveBeenCalledWith( + 'output/copyFile', + Buffer.from('content') + ) expect(treatPathSep).toBeCalledTimes(1) }) }) @@ -193,7 +209,7 @@ describe('readDir', () => { beforeEach(() => { // Arrange getStreamContent.mockImplementation(() => - Promise.resolve([`tree HEAD:${dir}`, '', file].join(EOL)) + Promise.resolve(Buffer.from([`tree HEAD:${dir}`, '', file].join(EOL))) ) }) it('should return the file', async () => { @@ -279,7 +295,9 @@ describe('scan', () => { describe('when getStreamContent returns nothing', () => { beforeEach(() => { // Arrange - getStreamContent.mockImplementation(() => Promise.resolve('')) + getStreamContent.mockImplementation(() => + Promise.resolve(Buffer.from('')) + ) }) it('should return nothing', async () => { // Arrange @@ -297,7 +315,7 @@ describe('scan', () => { beforeEach(() => { // Arrange getStreamContent.mockImplementation(() => - Promise.resolve([`tree HEAD:${dir}`, '', file].join(EOL)) + Promise.resolve(Buffer.from([`tree HEAD:${dir}`, '', file].join(EOL))) ) }) it('should return a file', async () => { @@ -315,13 +333,11 @@ describe('scan', () => { const subDir = 'subDir/' it('should return nothing', async () => { // Arrange - getStreamContent.mockImplementation(() => - Promise.resolve( - Promise.resolve([`tree HEAD:${dir}`, '', subDir].join(EOL)) - ) + getStreamContent.mockImplementationOnce(() => + Promise.resolve(Buffer.from([`tree HEAD:${dir}`, '', subDir].join(EOL))) ) getStreamContent.mockImplementation(() => - Promise.resolve([`tree HEAD:${dir}${subDir}`].join(EOL)) + Promise.resolve(Buffer.from([`tree HEAD:${dir}${subDir}`].join(EOL))) ) const g = scan('dir', work) @@ -339,12 +355,12 @@ describe('scan', () => { beforeEach(() => { // Arrange getStreamContent.mockImplementationOnce(() => - Promise.resolve( - Promise.resolve([`tree HEAD:${dir}`, '', subDir].join(EOL)) - ) + Promise.resolve(Buffer.from([`tree HEAD:${dir}`, '', subDir].join(EOL))) ) getStreamContent.mockImplementation(() => - Promise.resolve([`tree HEAD:${dir}${subDir}`, '', subFile].join(EOL)) + Promise.resolve( + Buffer.from([`tree HEAD:${dir}${subDir}`, '', subFile].join(EOL)) + ) ) }) it('should return a file', async () => { @@ -365,7 +381,7 @@ describe('scanExtension', () => { beforeEach(() => { // Arrange getStreamContent.mockImplementation(() => - Promise.resolve([`tree HEAD:${dir}`, '', file].join(EOL)) + Promise.resolve(Buffer.from([`tree HEAD:${dir}`, '', file].join(EOL))) ) }) it('should return', async () => { @@ -385,7 +401,7 @@ describe('scanExtension', () => { beforeEach(() => { // Arrange getStreamContent.mockImplementation(() => - Promise.resolve([`tree HEAD:${dir}`, '', file].join(EOL)) + Promise.resolve(Buffer.from([`tree HEAD:${dir}`, '', file].join(EOL))) ) }) it('should return a file', async () => { diff --git a/package.json b/package.json index b00bae96..5906659d 100644 --- a/package.json +++ b/package.json @@ -77,14 +77,14 @@ "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "conventional-github-releaser": "^3.1.5", "eslint": "^8.33.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^39.7.4", + "eslint-plugin-jsdoc": "^39.7.5", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.4.1", @@ -94,7 +94,7 @@ "prettier-eslint": "^15.0.1", "standard-version": "^9.5.0", "ts-node": "^10.9.1", - "typescript": "^4.9.4", + "typescript": "^4.9.5", "yarn-upgrade-all": "^0.7.2" }, "oclif": { diff --git a/src/utils/childProcessUtils.js b/src/utils/childProcessUtils.js index aa87ed8f..7707ad1d 100644 --- a/src/utils/childProcessUtils.js +++ b/src/utils/childProcessUtils.js @@ -8,6 +8,15 @@ const treatPathSep = data => data.replace(/[/\\]+/g, sep) const sanitizePath = data => data !== null && data !== undefined ? normalize(treatPathSep(data)) : data +// REFACTOR using native readLine https://nodejs.org/api/readline.html when using node 19.5 +/* +const linify = stream => { + return createInterface({ + input: stream, + crlfDelay: Infinity, + historySize: 0, +}) +*/ async function* linify(stream) { let previous = '' for await (const chunk of stream) { @@ -29,8 +38,7 @@ const getStreamContent = async stream => { for await (const chunk of stream.stdout) { content.push(chunk) } - - return content.join('') + return Buffer.concat(content) } module.exports.EOLRegex = EOLRegex diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 4cdf8139..a215a32b 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -21,35 +21,44 @@ const copyFiles = async (config, src) => { if (copiedFiles.has(src)) return copiedFiles.add(src) - const data = await readPathFromGit(src, config) - if (!data) { + const bufferData = await readPathFromGitAsBuffer(src, config) + const utf8Data = bufferData?.toString(UTF8_ENCODING) + if (!utf8Data) { return } - if (data.startsWith(FOLDER)) { - const [header, , ...files] = data.split(EOLRegex) + if (utf8Data.startsWith(FOLDER)) { + const [header, , ...files] = utf8Data.split(EOLRegex) const folder = header.split(':')[1] for (const file of files) { const fileSrc = join(folder, file) await copyFiles(config, fileSrc) } - } else if (data.startsWith(FATAL)) { - throw new Error(data) + } else if (utf8Data.startsWith(FATAL)) { + throw new Error(utf8Data) } else { const dst = join(config.output, treatPathSep(src)) - await outputFile(dst, data) + // Use Buffer to output the file content + // Let fs implementation detect the encoding ("utf8" or "binary") + await outputFile(dst, bufferData) } } -const readPathFromGit = async (path, config) => { +const readPathFromGitAsBuffer = async (path, config) => { const normalizedPath = gitPathSeparatorNormalizer(path) - const data = await getStreamContent( + const bufferData = await getStreamContent( spawn('git', [...showCmd, `${config.to}:${normalizedPath}`], { cwd: config.repo, }) ) - return data + return bufferData +} + +const readPathFromGit = async (path, config) => { + const bufferData = await readPathFromGitAsBuffer(path, config) + const utf8Data = bufferData.toString(UTF8_ENCODING) + return utf8Data } const pathExists = async (path, config) => { diff --git a/src/utils/repoGitDiff.js b/src/utils/repoGitDiff.js index 9ed63b74..1cf59f06 100644 --- a/src/utils/repoGitDiff.js +++ b/src/utils/repoGitDiff.js @@ -1,5 +1,5 @@ 'use strict' -const cpUtils = require('./childProcessUtils') +const { linify, treatPathSep } = require('./childProcessUtils') const { getType } = require('./typeUtils') const { buildIgnoreHelper } = require('./ignoreHelper') const { @@ -69,8 +69,8 @@ class RepoGitDiff { this.spawnConfig ) const lines = [] - for await (const line of cpUtils.linify(gitLs.stdout)) { - lines.push(cpUtils.treatPathSep(line)) + for await (const line of linify(gitLs.stdout)) { + lines.push(treatPathSep(line)) } return RepoGitDiff._addIncludes(lines, includeSetup) } @@ -99,11 +99,9 @@ class RepoGitDiff { ], this.spawnConfig ) - for await (const line of cpUtils.linify(gitDiff.stdout)) { + for await (const line of linify(gitDiff.stdout)) { lines.push( - cpUtils - .treatPathSep(line) - .replace(NUM_STAT_REGEX, `${changeType}${TAB}`) + treatPathSep(line).replace(NUM_STAT_REGEX, `${changeType}${TAB}`) ) } return lines diff --git a/src/utils/repoSetup.js b/src/utils/repoSetup.js index ee535845..5a74101a 100644 --- a/src/utils/repoSetup.js +++ b/src/utils/repoSetup.js @@ -1,5 +1,6 @@ 'use strict' const { getStreamContent } = require('./childProcessUtils') +const { UTF8_ENCODING } = require('./gitConstants') const { spawn } = require('child_process') const commitCheckParams = ['cat-file', '-t'] const gitConfig = ['config', 'core.quotepath', 'off'] @@ -17,11 +18,13 @@ class RepoSetup { } async getCommitRefType(commitRef) { - return await getStreamContent( + const data = await getStreamContent( spawn('git', [...commitCheckParams, commitRef], { cwd: this.config.repo, }) ) + + return data?.toString(UTF8_ENCODING) } } diff --git a/yarn.lock b/yarn.lock index 16ae7180..48e557da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1505,15 +1505,16 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz#d0b4556f0792194bf0c2fb297897efa321492389" - integrity sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q== - dependencies: - "@typescript-eslint/scope-manager" "5.49.0" - "@typescript-eslint/type-utils" "5.49.0" - "@typescript-eslint/utils" "5.49.0" +"@typescript-eslint/eslint-plugin@^5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz#fb48c31cadc853ffc1dc35373f56b5e2a8908fe9" + integrity sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ== + dependencies: + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/type-utils" "5.50.0" + "@typescript-eslint/utils" "5.50.0" debug "^4.3.4" + grapheme-splitter "^1.0.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" regexpp "^3.2.0" @@ -1530,14 +1531,14 @@ "@typescript-eslint/typescript-estree" "5.36.2" debug "^4.3.4" -"@typescript-eslint/parser@^5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.49.0.tgz#d699734b2f20e16351e117417d34a2bc9d7c4b90" - integrity sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg== +"@typescript-eslint/parser@^5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.50.0.tgz#a33f44b2cc83d1b7176ec854fbecd55605b0b032" + integrity sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ== dependencies: - "@typescript-eslint/scope-manager" "5.49.0" - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/typescript-estree" "5.49.0" + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/typescript-estree" "5.50.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.36.2": @@ -1548,21 +1549,21 @@ "@typescript-eslint/types" "5.36.2" "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/scope-manager@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz#81b5d899cdae446c26ddf18bd47a2f5484a8af3e" - integrity sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ== +"@typescript-eslint/scope-manager@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz#90b8a3b337ad2c52bbfe4eac38f9164614e40584" + integrity sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg== dependencies: - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/visitor-keys" "5.49.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/visitor-keys" "5.50.0" -"@typescript-eslint/type-utils@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz#8d5dcc8d422881e2ccf4ebdc6b1d4cc61aa64125" - integrity sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA== +"@typescript-eslint/type-utils@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz#509d5cc9728d520008f7157b116a42c5460e7341" + integrity sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ== dependencies: - "@typescript-eslint/typescript-estree" "5.49.0" - "@typescript-eslint/utils" "5.49.0" + "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/utils" "5.50.0" debug "^4.3.4" tsutils "^3.21.0" @@ -1571,10 +1572,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== -"@typescript-eslint/types@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3" - integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg== +"@typescript-eslint/types@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.50.0.tgz#c461d3671a6bec6c2f41f38ed60bd87aa8a30093" + integrity sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w== "@typescript-eslint/typescript-estree@5.36.2": version "5.36.2" @@ -1589,29 +1590,29 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz#ebd6294c0ea97891fce6af536048181e23d729c8" - integrity sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA== +"@typescript-eslint/typescript-estree@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz#0b9b82975bdfa40db9a81fdabc7f93396867ea97" + integrity sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow== dependencies: - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/visitor-keys" "5.49.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/visitor-keys" "5.50.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.49.0.tgz#1c07923bc55ff7834dfcde487fff8d8624a87b32" - integrity sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ== +"@typescript-eslint/utils@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.50.0.tgz#807105f5ffb860644d30d201eefad7017b020816" + integrity sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.49.0" - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/typescript-estree" "5.49.0" + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/typescript-estree" "5.50.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" @@ -1624,12 +1625,12 @@ "@typescript-eslint/types" "5.36.2" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz#2561c4da3f235f5c852759bf6c5faec7524f90fe" - integrity sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg== +"@typescript-eslint/visitor-keys@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz#b752ffc143841f3d7bc57d6dd01ac5c40f8c4903" + integrity sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg== dependencies: - "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/types" "5.50.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -3267,10 +3268,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^39.7.4: - version "39.7.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.4.tgz#fec1b5a3cfcbb706980e98e0dbb60ae1f31777d7" - integrity sha512-2eJcWGKRyNQFa37UIpGcAdOp3wtES8vV3mlnFmEmJCuBNyFhK6cMhbZgMkLoLjKnipoxsN9GbfZZ+8nPY8ETZQ== +eslint-plugin-jsdoc@^39.7.5: + version "39.7.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.5.tgz#473f9fd372a231a1dae5d55df70b1d0fb64f95da" + integrity sha512-6L90P0AnZcE4ra7nocolp9vTjgVr2wEZ7jPnEA/X30XAoQPk+wvnaq61n164Tf7Fg4QPpJtRSCPpApOsfWDdNA== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -7677,10 +7678,10 @@ typescript@^4.5.4, typescript@^4.6.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== -typescript@^4.9.4: - version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== uglify-js@^3.1.4: version "3.17.0" From 36565ad673f57bf4de64e85aa00c0bdffb75a5a3 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 1 Feb 2023 13:58:28 +0000 Subject: [PATCH 15/63] chore(release): 5.11.4 --- CHANGELOG.md | 7 +++++++ README.md | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5868ce87..765c481a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### 5.11.4 (2023-02-01) + + +### Bug Fixes + +* binary file copy ([#440](https://github.com/scolladon/sfdx-git-delta/issues/440)) ([b0e363a](https://github.com/scolladon/sfdx-git-delta/commit/b0e363a2bdcdb438ea651def621bd4cf03ac1782)) + ### 5.11.3 (2023-01-30) diff --git a/README.md b/README.md index 30dd6569..efe66437 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.3/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.4/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index 5906659d..ca74713d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.11.3", + "version": "5.11.4", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From fcf9e02f9f9733703f59cd3ec57c9ec69508f34f Mon Sep 17 00:00:00 2001 From: Sebastien Date: Fri, 10 Feb 2023 19:02:16 +0100 Subject: [PATCH 16/63] feat: add FSC metadata (#444) * feat: add `RecordActionDeployment` and `RecommendationStrategy` metadata * feat: add `ActionPlanTemplate` metadata * build: upgrade dependencies --- package.json | 22 +- src/metadata/a48.json | 21 + src/metadata/v46.json | 14 + src/metadata/v47.json | 21 + src/metadata/v49.json | 21 + src/metadata/v50.json | 21 + src/metadata/v51.json | 21 + src/metadata/v52.json | 21 + src/metadata/v53.json | 21 + src/metadata/v54.json | 21 + src/metadata/v55.json | 21 + src/metadata/v56.json | 21 + yarn.lock | 892 +++++++++++++++++++++--------------------- 13 files changed, 681 insertions(+), 457 deletions(-) diff --git a/package.json b/package.json index ca74713d..0efafdeb 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,9 @@ "@oclif/command": "^1.8.22", "@oclif/config": "^1.18.8", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.2.43", + "@salesforce/command": "^5.3.0", "@salesforce/core": "^3.33.1", - "fast-xml-parser": "^4.0.15", + "fast-xml-parser": "^4.1.1", "fs-extra": "^11.1.0", "ignore": "^5.2.4", "micromatch": "^4.0.5", @@ -71,26 +71,26 @@ "@commitlint/config-angular": "^17.4.2", "@commitlint/prompt-cli": "^17.4.2", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.2.2", - "@oclif/test": "^2.3.4", + "@oclif/plugin-help": "^5.2.4", + "@oclif/test": "^2.3.5", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.50.0", - "@typescript-eslint/parser": "^5.50.0", + "@types/node": "^18.13.0", + "@typescript-eslint/eslint-plugin": "^5.51.0", + "@typescript-eslint/parser": "^5.51.0", "conventional-github-releaser": "^3.1.5", "eslint": "^8.33.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^39.7.5", + "eslint-plugin-jsdoc": "^39.8.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", - "jest": "^29.4.1", - "lint-staged": "^13.1.0", + "jest": "^29.4.2", + "lint-staged": "^13.1.1", "nyc": "^15.1.0", - "prettier": "^2.8.3", + "prettier": "^2.8.4", "prettier-eslint": "^15.0.1", "standard-version": "^9.5.0", "ts-node": "^10.9.1", diff --git a/src/metadata/a48.json b/src/metadata/a48.json index bd17566e..d8ba5696 100644 --- a/src/metadata/a48.json +++ b/src/metadata/a48.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "installedPackages", "inFolder": false, diff --git a/src/metadata/v46.json b/src/metadata/v46.json index 6fe95829..7685bf87 100644 --- a/src/metadata/v46.json +++ b/src/metadata/v46.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "installedPackages", "inFolder": false, diff --git a/src/metadata/v47.json b/src/metadata/v47.json index abb604a4..5ed52130 100644 --- a/src/metadata/v47.json +++ b/src/metadata/v47.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "installedPackages", "inFolder": false, diff --git a/src/metadata/v49.json b/src/metadata/v49.json index 0d91c9b9..cedde42a 100644 --- a/src/metadata/v49.json +++ b/src/metadata/v49.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "installedPackages", "inFolder": false, diff --git a/src/metadata/v50.json b/src/metadata/v50.json index 0d91c9b9..cedde42a 100644 --- a/src/metadata/v50.json +++ b/src/metadata/v50.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "installedPackages", "inFolder": false, diff --git a/src/metadata/v51.json b/src/metadata/v51.json index 0bedc87a..9e2832ff 100644 --- a/src/metadata/v51.json +++ b/src/metadata/v51.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "OmniInteractionConfig", "inFolder": false, diff --git a/src/metadata/v52.json b/src/metadata/v52.json index c79d4d5c..493a34e3 100644 --- a/src/metadata/v52.json +++ b/src/metadata/v52.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "OmniInteractionConfig", "inFolder": false, diff --git a/src/metadata/v53.json b/src/metadata/v53.json index c79d4d5c..493a34e3 100644 --- a/src/metadata/v53.json +++ b/src/metadata/v53.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "OmniInteractionConfig", "inFolder": false, diff --git a/src/metadata/v54.json b/src/metadata/v54.json index c79d4d5c..493a34e3 100644 --- a/src/metadata/v54.json +++ b/src/metadata/v54.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "OmniInteractionConfig", "inFolder": false, diff --git a/src/metadata/v55.json b/src/metadata/v55.json index bbdec43f..9032a927 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "relationshipGraphDefinitions", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 4616e90c..3b4006ba 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,25 @@ [ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, { "directoryName": "relationshipGraphDefinitions", "inFolder": false, diff --git a/yarn.lock b/yarn.lock index 48e557da..2206dc52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -598,109 +598,109 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.1.tgz#cbc31d73f6329f693b3d34b365124de797704fff" - integrity sha512-m+XpwKSi3PPM9znm5NGS8bBReeAJJpSkL1OuFCqaMaJL2YX9YXLkkI+MBchMPwu+ZuM2rynL51sgfkQteQ1CKQ== +"@jest/console@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.2.tgz#f78374905c2454764152904a344a2d5226b0ef09" + integrity sha512-0I/rEJwMpV9iwi9cDEnT71a5nNGK9lj8Z4+1pRAU2x/thVXCDnaTGrvxyK+cAqZTFVFCiR+hfVrP4l2m+dCmQg== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.4.1" - jest-util "^29.4.1" + jest-message-util "^29.4.2" + jest-util "^29.4.2" slash "^3.0.0" -"@jest/core@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.1.tgz#91371179b5959951e211dfaeea4277a01dcca14f" - integrity sha512-RXFTohpBqpaTebNdg5l3I5yadnKo9zLBajMT0I38D0tDhreVBYv3fA8kywthI00sWxPztWLD3yjiUkewwu/wKA== +"@jest/core@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.2.tgz#6e999b67bdc2df9d96ba9b142465bda71ee472c2" + integrity sha512-KGuoQah0P3vGNlaS/l9/wQENZGNKGoWb+OPxh3gz+YzG7/XExvYu34MzikRndQCdM2S0tzExN4+FL37i6gZmCQ== dependencies: - "@jest/console" "^29.4.1" - "@jest/reporters" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@jest/transform" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/console" "^29.4.2" + "@jest/reporters" "^29.4.2" + "@jest/test-result" "^29.4.2" + "@jest/transform" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^29.4.0" - jest-config "^29.4.1" - jest-haste-map "^29.4.1" - jest-message-util "^29.4.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.4.1" - jest-resolve-dependencies "^29.4.1" - jest-runner "^29.4.1" - jest-runtime "^29.4.1" - jest-snapshot "^29.4.1" - jest-util "^29.4.1" - jest-validate "^29.4.1" - jest-watcher "^29.4.1" + jest-changed-files "^29.4.2" + jest-config "^29.4.2" + jest-haste-map "^29.4.2" + jest-message-util "^29.4.2" + jest-regex-util "^29.4.2" + jest-resolve "^29.4.2" + jest-resolve-dependencies "^29.4.2" + jest-runner "^29.4.2" + jest-runtime "^29.4.2" + jest-snapshot "^29.4.2" + jest-util "^29.4.2" + jest-validate "^29.4.2" + jest-watcher "^29.4.2" micromatch "^4.0.4" - pretty-format "^29.4.1" + pretty-format "^29.4.2" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.1.tgz#52d232a85cdc995b407a940c89c86568f5a88ffe" - integrity sha512-pJ14dHGSQke7Q3mkL/UZR9ZtTOxqskZaC91NzamEH4dlKRt42W+maRBXiw/LWkdJe+P0f/zDR37+SPMplMRlPg== +"@jest/environment@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.2.tgz#ee92c316ee2fbdf0bcd9d2db0ef42d64fea26b56" + integrity sha512-JKs3VUtse0vQfCaFGJRX1bir9yBdtasxziSyu+pIiEllAQOe4oQhdCYIf3+Lx+nGglFktSKToBnRJfD5QKp+NQ== dependencies: - "@jest/fake-timers" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/fake-timers" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" - jest-mock "^29.4.1" + jest-mock "^29.4.2" -"@jest/expect-utils@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.1.tgz#105b9f3e2c48101f09cae2f0a4d79a1b3a419cbb" - integrity sha512-w6YJMn5DlzmxjO00i9wu2YSozUYRBhIoJ6nQwpMYcBMtiqMGJm1QBzOf6DDgRao8dbtpDoaqLg6iiQTvv0UHhQ== +"@jest/expect-utils@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.2.tgz#cd0065dfdd8e8a182aa350cc121db97b5eed7b3f" + integrity sha512-Dd3ilDJpBnqa0GiPN7QrudVs0cczMMHtehSo2CSTjm3zdHx0RcpmhFNVEltuEFeqfLIyWKFI224FsMSQ/nsJQA== dependencies: - jest-get-type "^29.2.0" + jest-get-type "^29.4.2" -"@jest/expect@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.1.tgz#3338fa20f547bb6e550c4be37d6f82711cc13c38" - integrity sha512-ZxKJP5DTUNF2XkpJeZIzvnzF1KkfrhEF6Rz0HGG69fHl6Bgx5/GoU3XyaeFYEjuuKSOOsbqD/k72wFvFxc3iTw== +"@jest/expect@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.2.tgz#2d4a6a41b29380957c5094de19259f87f194578b" + integrity sha512-NUAeZVApzyaeLjfWIV/64zXjA2SS+NuUPHpAlO7IwVMGd5Vf9szTl9KEDlxY3B4liwLO31os88tYNHl6cpjtKQ== dependencies: - expect "^29.4.1" - jest-snapshot "^29.4.1" + expect "^29.4.2" + jest-snapshot "^29.4.2" -"@jest/fake-timers@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.1.tgz#7b673131e8ea2a2045858f08241cace5d518b42b" - integrity sha512-/1joI6rfHFmmm39JxNfmNAO3Nwm6Y0VoL5fJDy7H1AtWrD1CgRtqJbN9Ld6rhAkGO76qqp4cwhhxJ9o9kYjQMw== +"@jest/fake-timers@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.2.tgz#af43ee1a5720b987d0348f80df98f2cb17d45cd0" + integrity sha512-Ny1u0Wg6kCsHFWq7A/rW/tMhIedq2siiyHyLpHCmIhP7WmcAmd2cx95P+0xtTZlj5ZbJxIRQi4OPydZZUoiSQQ== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.4.1" - jest-mock "^29.4.1" - jest-util "^29.4.1" + jest-message-util "^29.4.2" + jest-mock "^29.4.2" + jest-util "^29.4.2" -"@jest/globals@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.1.tgz#3cd78c5567ab0249f09fbd81bf9f37a7328f4713" - integrity sha512-znoK2EuFytbHH0ZSf2mQK2K1xtIgmaw4Da21R2C/NE/+NnItm5mPEFQmn8gmF3f0rfOlmZ3Y3bIf7bFj7DHxAA== +"@jest/globals@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.2.tgz#73f85f5db0e17642258b25fd0b9fc89ddedb50eb" + integrity sha512-zCk70YGPzKnz/I9BNFDPlK+EuJLk21ur/NozVh6JVM86/YYZtZHqxFFQ62O9MWq7uf3vIZnvNA0BzzrtxD9iyg== dependencies: - "@jest/environment" "^29.4.1" - "@jest/expect" "^29.4.1" - "@jest/types" "^29.4.1" - jest-mock "^29.4.1" + "@jest/environment" "^29.4.2" + "@jest/expect" "^29.4.2" + "@jest/types" "^29.4.2" + jest-mock "^29.4.2" -"@jest/reporters@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.1.tgz#50d509c08575c75e3cd2176d72ec3786419d5e04" - integrity sha512-AISY5xpt2Xpxj9R6y0RF1+O6GRy9JsGa8+vK23Lmzdy1AYcpQn5ItX79wJSsTmfzPKSAcsY1LNt/8Y5Xe5LOSg== +"@jest/reporters@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.2.tgz#6abfa923941daae0acc76a18830ee9e79a22042d" + integrity sha512-10yw6YQe75zCgYcXgEND9kw3UZZH5tJeLzWv4vTk/2mrS1aY50A37F+XT2hPO5OqQFFnUWizXD8k1BMiATNfUw== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@jest/transform" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/console" "^29.4.2" + "@jest/test-result" "^29.4.2" + "@jest/transform" "^29.4.2" + "@jest/types" "^29.4.2" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -713,77 +713,77 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.4.1" - jest-util "^29.4.1" - jest-worker "^29.4.1" + jest-message-util "^29.4.2" + jest-util "^29.4.2" + jest-worker "^29.4.2" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^29.4.0": - version "29.4.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.0.tgz#0d6ad358f295cc1deca0b643e6b4c86ebd539f17" - integrity sha512-0E01f/gOZeNTG76i5eWWSupvSHaIINrTie7vCyjiYFKgzNdyEGd12BUv4oNBFHOqlHDbtoJi3HrQ38KCC90NsQ== +"@jest/schemas@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.2.tgz#cf7cfe97c5649f518452b176c47ed07486270fc1" + integrity sha512-ZrGzGfh31NtdVH8tn0mgJw4khQuNHiKqdzJAFbCaERbyCP9tHlxWuL/mnMu8P7e/+k4puWjI1NOzi/sFsjce/g== dependencies: "@sinclair/typebox" "^0.25.16" -"@jest/source-map@^29.2.0": - version "29.2.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" - integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== +"@jest/source-map@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.2.tgz#f9815d59e25cd3d6828e41489cd239271018d153" + integrity sha512-tIoqV5ZNgYI9XCKXMqbYe5JbumcvyTgNN+V5QW4My033lanijvCD0D4PI9tBw4pRTqWOc00/7X3KVvUh+qnF4Q== dependencies: "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.1.tgz#997f19695e13b34779ceb3c288a416bd26c3238d" - integrity sha512-WRt29Lwt+hEgfN8QDrXqXGgCTidq1rLyFqmZ4lmJOpVArC8daXrZWkWjiaijQvgd3aOUj2fM8INclKHsQW9YyQ== +"@jest/test-result@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.2.tgz#34b0ba069f2e3072261e4884c8fb6bd15ed6fb8d" + integrity sha512-HZsC3shhiHVvMtP+i55MGR5bPcc3obCFbA5bzIOb8pCjwBZf11cZliJncCgaVUbC5yoQNuGqCkC0Q3t6EItxZA== dependencies: - "@jest/console" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/console" "^29.4.2" + "@jest/types" "^29.4.2" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.1.tgz#f7a006ec7058b194a10cf833c88282ef86d578fd" - integrity sha512-v5qLBNSsM0eHzWLXsQ5fiB65xi49A3ILPSFQKPXzGL4Vyux0DPZAIN7NAFJa9b4BiTDP9MBF/Zqc/QA1vuiJ0w== +"@jest/test-sequencer@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.2.tgz#8b48e5bc4af80b42edacaf2a733d4f295edf28fb" + integrity sha512-9Z2cVsD6CcObIVrWigHp2McRJhvCxL27xHtrZFgNC1RwnoSpDx6fZo8QYjJmziFlW9/hr78/3sxF54S8B6v8rg== dependencies: - "@jest/test-result" "^29.4.1" + "@jest/test-result" "^29.4.2" graceful-fs "^4.2.9" - jest-haste-map "^29.4.1" + jest-haste-map "^29.4.2" slash "^3.0.0" -"@jest/transform@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.1.tgz#e4f517841bb795c7dcdee1ba896275e2c2d26d4a" - integrity sha512-5w6YJrVAtiAgr0phzKjYd83UPbCXsBRTeYI4BXokv9Er9CcrH9hfXL/crCvP2d2nGOcovPUnlYiLPFLZrkG5Hg== +"@jest/transform@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.2.tgz#b24b72dbab4c8675433a80e222d6a8ef4656fb81" + integrity sha512-kf1v5iTJHn7p9RbOsBuc/lcwyPtJaZJt5885C98omWz79NIeD3PfoiiaPSu7JyCyFzNOIzKhmMhQLUhlTL9BvQ== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.1" - jest-regex-util "^29.2.0" - jest-util "^29.4.1" + jest-haste-map "^29.4.2" + jest-regex-util "^29.4.2" + jest-util "^29.4.2" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - write-file-atomic "^5.0.0" + write-file-atomic "^4.0.2" -"@jest/types@^29.4.1": - version "29.4.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.1.tgz#f9f83d0916f50696661da72766132729dcb82ecb" - integrity sha512-zbrAXDUOnpJ+FMST2rV7QZOgec8rskg2zv8g2ajeqitp4tvZiyqTCYXANrKsM+ryj5o+LI+ZN2EgU9drrkiwSA== +"@jest/types@^29.4.2": + version "29.4.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.2.tgz#8f724a414b1246b2bfd56ca5225d9e1f39540d82" + integrity sha512-CKlngyGP0fwlgC1BRUtPZSiWLBhyS9dKwKmyGxk8Z6M82LBEGB2aLQSg+U1MyLsU+M7UjnlLllBM2BLWKVm/Uw== dependencies: - "@jest/schemas" "^29.4.0" + "@jest/schemas" "^29.4.2" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -987,10 +987,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.7.tgz#a17a85dfa105dda120fbc5647432010feaa97a9e" - integrity sha512-pj7hIH8SBeH3qha47fmyqdaBdNVEqesRgnKFh8Ytdb4S41/4BYOiQuyQGuvnKgvicH6DMxp4FbM9EQEW46V9xw== +"@oclif/core@^2.0.8": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.11.tgz#3d5385196b9a6bfff8df26caf6baa58e53b15d33" + integrity sha512-BMKkcgKhrn0RfZVaXObpadO80C3hCM9jHaRHwQEb0G/ASo34YAjKXt8hX027Mc4XBmsYeIutJrEMx9GZr0v1Hw== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -1016,7 +1016,7 @@ strip-ansi "^6.0.1" supports-color "^8.1.1" supports-hyperlinks "^2.2.0" - tslib "^2.4.1" + tslib "^2.5.0" widest-line "^3.1.0" wordwrap "^1.0.0" wrap-ansi "^7.0.0" @@ -1119,12 +1119,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.2.tgz#f00e60b1349c4ec62c1d6a98d3a424899373c5ad" - integrity sha512-ok8gS2phqA4MiGkjCrZPFvhNIHIp35WsvNNVUn4GL8WZYQ5mk1cZuu+IIqTZxBFZ4QDUZLVkumrhsqx3oNId9A== +"@oclif/plugin-help@^5.2.4": + version "5.2.4" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.4.tgz#57b87b05b1cddc10c4958f93f6320424bb9e3ec6" + integrity sha512-7fVB/M1cslwHJTmyNGGDYBizi54NHcKCxHAbDSD16EbjosKxFwncRylVC/nsMgKZEufMDKZaVYI2lYRY3GHlSQ== dependencies: - "@oclif/core" "^2.0.7" + "@oclif/core" "^2.0.8" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1144,12 +1144,12 @@ "@oclif/core" "^1.24.0" fancy-test "^2.0.11" -"@oclif/test@^2.3.4": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.4.tgz#eddeda4e13a5665c9fd65e06f34cd2faca14caee" - integrity sha512-sIuDKKw108NQxPbo+j/TY6HBe1j2tbtjEOJ9aHpU7U+hwsTL3/zyU1YZgiGekdQ/OA0PULz3VLafSs+IioWHmw== +"@oclif/test@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.5.tgz#270ef891c3491dff4cc29df756deb776291602e5" + integrity sha512-LxmiatZV7Ph9K2F0Rs0u2d7BODxbfL7qfHE94HwqzaW8uRe20JbGMxH4iGBHFE5Gdod6XIV3o3jHyPXVlz7YZA== dependencies: - "@oclif/core" "^2.0.7" + "@oclif/core" "^2.0.8" fancy-test "^2.0.12" "@oozcitak/dom@1.15.10": @@ -1193,10 +1193,10 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.2.43": - version "5.2.43" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.2.43.tgz#32934cea940ade9246d9019a08275d509737e07d" - integrity sha512-FIG5VjY5WSyB8oVUxS7/ow69EwD8fweHCU7oO9SJf6zlM2D+Vd/zJf8hw3aX+j/whb28runX5rDAtI6oelQ8rg== +"@salesforce/command@^5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.0.tgz#17c9a25161c093a434fe82a5a90ad1e8615b709e" + integrity sha512-mMqqjsvcNhEosiN7I+8GEiz73ohq8WfnJSaaGvCQKr4geWP+GY9WAWXiSro8kE0r0qz3j3nAFNoXGWCUhGVZPA== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" @@ -1451,10 +1451,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^18.11.18": - version "18.11.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== +"@types/node@^18.13.0": + version "18.13.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" + integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1505,14 +1505,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz#fb48c31cadc853ffc1dc35373f56b5e2a8908fe9" - integrity sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ== +"@typescript-eslint/eslint-plugin@^5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a" + integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ== dependencies: - "@typescript-eslint/scope-manager" "5.50.0" - "@typescript-eslint/type-utils" "5.50.0" - "@typescript-eslint/utils" "5.50.0" + "@typescript-eslint/scope-manager" "5.51.0" + "@typescript-eslint/type-utils" "5.51.0" + "@typescript-eslint/utils" "5.51.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1531,14 +1531,14 @@ "@typescript-eslint/typescript-estree" "5.36.2" debug "^4.3.4" -"@typescript-eslint/parser@^5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.50.0.tgz#a33f44b2cc83d1b7176ec854fbecd55605b0b032" - integrity sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ== +"@typescript-eslint/parser@^5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" + integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== dependencies: - "@typescript-eslint/scope-manager" "5.50.0" - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/scope-manager" "5.51.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/typescript-estree" "5.51.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.36.2": @@ -1549,21 +1549,21 @@ "@typescript-eslint/types" "5.36.2" "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/scope-manager@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz#90b8a3b337ad2c52bbfe4eac38f9164614e40584" - integrity sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg== +"@typescript-eslint/scope-manager@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" + integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ== dependencies: - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/visitor-keys" "5.50.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/visitor-keys" "5.51.0" -"@typescript-eslint/type-utils@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz#509d5cc9728d520008f7157b116a42c5460e7341" - integrity sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ== +"@typescript-eslint/type-utils@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988" + integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ== dependencies: - "@typescript-eslint/typescript-estree" "5.50.0" - "@typescript-eslint/utils" "5.50.0" + "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/utils" "5.51.0" debug "^4.3.4" tsutils "^3.21.0" @@ -1572,10 +1572,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== -"@typescript-eslint/types@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.50.0.tgz#c461d3671a6bec6c2f41f38ed60bd87aa8a30093" - integrity sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w== +"@typescript-eslint/types@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" + integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== "@typescript-eslint/typescript-estree@5.36.2": version "5.36.2" @@ -1590,29 +1590,29 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz#0b9b82975bdfa40db9a81fdabc7f93396867ea97" - integrity sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow== +"@typescript-eslint/typescript-estree@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" + integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA== dependencies: - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/visitor-keys" "5.50.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/visitor-keys" "5.51.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.50.0.tgz#807105f5ffb860644d30d201eefad7017b020816" - integrity sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw== +"@typescript-eslint/utils@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47" + integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.50.0" - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/scope-manager" "5.51.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/typescript-estree" "5.51.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" @@ -1625,12 +1625,12 @@ "@typescript-eslint/types" "5.36.2" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz#b752ffc143841f3d7bc57d6dd01ac5c40f8c4903" - integrity sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg== +"@typescript-eslint/visitor-keys@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" + integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ== dependencies: - "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/types" "5.51.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1931,15 +1931,15 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -babel-jest@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.1.tgz#01fa167e27470b35c2d4a1b841d9586b1764da19" - integrity sha512-xBZa/pLSsF/1sNpkgsiT3CmY7zV1kAsZ9OxxtrFqYucnOuRftXAfcJqcDVyOPeN4lttWTwhLdu0T9f8uvoPEUg== +babel-jest@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.2.tgz#b17b9f64be288040877cbe2649f91ac3b63b2ba6" + integrity sha512-vcghSqhtowXPG84posYkkkzcZsdayFkubUgbE3/1tuGbX7AQtwCkkNA/wIbB0BMjuCPoqTkiDyKN7Ty7d3uwNQ== dependencies: - "@jest/transform" "^29.4.1" + "@jest/transform" "^29.4.2" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.4.0" + babel-preset-jest "^29.4.2" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1955,10 +1955,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.0.tgz#3fd3dfcedf645932df6d0c9fc3d9a704dd860248" - integrity sha512-a/sZRLQJEmsmejQ2rPEUe35nO1+C9dc9O1gplH1SXmJxveQSRUYdBk8yGZG/VOUuZs1u2aHZJusEGoRMbhhwCg== +babel-plugin-jest-hoist@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.2.tgz#22aa43e255230f02371ffef1cac7eedef58f60bc" + integrity sha512-5HZRCfMeWypFEonRbEkwWXtNS1sQK159LhRVyRuLzyfVBxDy/34Tr/rg4YVi0SScSJ4fqeaR/OIeceJ/LaQ0pQ== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -1983,12 +1983,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.0.tgz#c2b03c548b02dea0a18ae21d5759c136f9251ee4" - integrity sha512-fUB9vZflUSM3dO/6M2TCAepTzvA4VkOvl67PjErcrQMGt9Eve7uazaeyCZ2th3UtI7ljpiBJES0F7A1vBRsLZA== +babel-preset-jest@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.2.tgz#f0b20c6a79a9f155515e72a2d4f537fe002a4e38" + integrity sha512-ecWdaLY/8JyfUDr0oELBMpj3R5I1L6ZqG+kRJmwqfHtLWuPrJStR0LUkvUhfykJWTsXXMnohsayN/twltBbDrQ== dependencies: - babel-plugin-jest-hoist "^29.4.0" + babel-plugin-jest-hoist "^29.4.2" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -2972,10 +2972,10 @@ detect-newline@^3.0.0, detect-newline@^3.1.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" - integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== +diff-sequences@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.2.tgz#711fe6bd8a5869fe2539cee4a5152425ff671fda" + integrity sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw== diff@^4.0.1: version "4.0.2" @@ -3268,10 +3268,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^39.7.5: - version "39.7.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.5.tgz#473f9fd372a231a1dae5d55df70b1d0fb64f95da" - integrity sha512-6L90P0AnZcE4ra7nocolp9vTjgVr2wEZ7jPnEA/X30XAoQPk+wvnaq61n164Tf7Fg4QPpJtRSCPpApOsfWDdNA== +eslint-plugin-jsdoc@^39.8.0: + version "39.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.8.0.tgz#9ca38ae31fb6e6de6268c5c041fa175fe1190469" + integrity sha512-ZwGmk0jJoJD/NILeDRBKrpq/PCgddUdATjeU5JGTqTzKsOWfeaHOnaAwZjuOh7T8EB4hSoZ/9pR4+Qns2ldQVg== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -3507,16 +3507,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.1.tgz#58cfeea9cbf479b64ed081fd1e074ac8beb5a1fe" - integrity sha512-OKrGESHOaMxK3b6zxIq9SOW8kEXztKff/Dvg88j4xIJxur1hspEbedVkR3GpHe5LO+WB2Qw7OWN0RMTdp6as5A== +expect@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.2.tgz#2ae34eb88de797c64a1541ad0f1e2ea8a7a7b492" + integrity sha512-+JHYg9O3hd3RlICG90OPVjRkPBoiUH7PxvDVMnRiaq1g6JUgZStX514erMl0v2Dc5SkfVbm7ztqbd6qHHPn+mQ== dependencies: - "@jest/expect-utils" "^29.4.1" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.4.1" - jest-message-util "^29.4.1" - jest-util "^29.4.1" + "@jest/expect-utils" "^29.4.2" + jest-get-type "^29.4.2" + jest-matcher-utils "^29.4.2" + jest-message-util "^29.4.2" + jest-util "^29.4.2" external-editor@^3.0.3: version "3.1.0" @@ -3577,10 +3577,10 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@^4.0.15: - version "4.0.15" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.15.tgz#9befe85c68ee90cf3757f1ef9cf3f1497888dbea" - integrity sha512-bF4/E33/K/EZDHV23IJpSK2SU7rZTaSkDH5G85nXX8SKlQ9qBpWQhyPpm2nlTBewDJgtpd6+1x4TNpKmocmthQ== +fast-xml-parser@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.1.tgz#28c878b7f1eb4555fa898f1c715adf9d4007306e" + integrity sha512-4gAP5PvNyrqePBOIIcpaEeE+nKBry1n6qTQiJsE59sLP0OC+YwhU7/XVmLLEMexbiluFQX1yEYm82Pk9B7xEiw== dependencies: strnum "^1.0.5" @@ -4775,284 +4775,284 @@ jake@^10.8.5: filelist "^1.0.1" minimatch "^3.0.4" -jest-changed-files@^29.4.0: - version "29.4.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.0.tgz#ac2498bcd394228f7eddcadcf928b3583bf2779d" - integrity sha512-rnI1oPxgFghoz32Y8eZsGJMjW54UlqT17ycQeCEktcxxwqqKdlj9afl8LNeO0Pbu+h2JQHThQP0BzS67eTRx4w== +jest-changed-files@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.2.tgz#bee1fafc8b620d6251423d1978a0080546bc4376" + integrity sha512-Qdd+AXdqD16PQa+VsWJpxR3kN0JyOCX1iugQfx5nUgAsI4gwsKviXkpclxOK9ZnwaY2IQVHz+771eAvqeOlfuw== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.1.tgz#ff1b63eb04c3b111cefea9489e8dbadd23ce49bd" - integrity sha512-v02NuL5crMNY4CGPHBEflLzl4v91NFb85a+dH9a1pUNx6Xjggrd8l9pPy4LZ1VYNRXlb+f65+7O/MSIbLir6pA== +jest-circus@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.2.tgz#2d00c04baefd0ee2a277014cd494d4b5970663ed" + integrity sha512-wW3ztp6a2P5c1yOc1Cfrt5ozJ7neWmqeXm/4SYiqcSriyisgq63bwFj1NuRdSR5iqS0CMEYwSZd89ZA47W9zUg== dependencies: - "@jest/environment" "^29.4.1" - "@jest/expect" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/environment" "^29.4.2" + "@jest/expect" "^29.4.2" + "@jest/test-result" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.4.1" - jest-matcher-utils "^29.4.1" - jest-message-util "^29.4.1" - jest-runtime "^29.4.1" - jest-snapshot "^29.4.1" - jest-util "^29.4.1" + jest-each "^29.4.2" + jest-matcher-utils "^29.4.2" + jest-message-util "^29.4.2" + jest-runtime "^29.4.2" + jest-snapshot "^29.4.2" + jest-util "^29.4.2" p-limit "^3.1.0" - pretty-format "^29.4.1" + pretty-format "^29.4.2" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.1.tgz#7abef96944f300feb9b76f68b1eb2d68774fe553" - integrity sha512-jz7GDIhtxQ37M+9dlbv5K+/FVcIo1O/b1sX3cJgzlQUf/3VG25nvuWzlDC4F1FLLzUThJeWLu8I7JF9eWpuURQ== +jest-cli@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.2.tgz#94a2f913a0a7a49d11bee98ad88bf48baae941f4" + integrity sha512-b+eGUtXq/K2v7SH3QcJvFvaUaCDS1/YAZBYz0m28Q/Ppyr+1qNaHmVYikOrbHVbZqYQs2IeI3p76uy6BWbXq8Q== dependencies: - "@jest/core" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/core" "^29.4.2" + "@jest/test-result" "^29.4.2" + "@jest/types" "^29.4.2" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.4.1" - jest-util "^29.4.1" - jest-validate "^29.4.1" + jest-config "^29.4.2" + jest-util "^29.4.2" + jest-validate "^29.4.2" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.1.tgz#e62670c6c980ec21d75941806ec4d0c0c6402728" - integrity sha512-g7p3q4NuXiM4hrS4XFATTkd+2z0Ml2RhFmFPM8c3WyKwVDNszbl4E7cV7WIx1YZeqqCtqbtTtZhGZWJlJqngzg== +jest-config@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.2.tgz#15386dd9ed2f7059516915515f786b8836a98f07" + integrity sha512-919CtnXic52YM0zW4C1QxjG6aNueX1kBGthuMtvFtRTAxhKfJmiXC9qwHmi6o2josjbDz8QlWyY55F1SIVmCWA== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.4.1" - "@jest/types" "^29.4.1" - babel-jest "^29.4.1" + "@jest/test-sequencer" "^29.4.2" + "@jest/types" "^29.4.2" + babel-jest "^29.4.2" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.4.1" - jest-environment-node "^29.4.1" - jest-get-type "^29.2.0" - jest-regex-util "^29.2.0" - jest-resolve "^29.4.1" - jest-runner "^29.4.1" - jest-util "^29.4.1" - jest-validate "^29.4.1" + jest-circus "^29.4.2" + jest-environment-node "^29.4.2" + jest-get-type "^29.4.2" + jest-regex-util "^29.4.2" + jest-resolve "^29.4.2" + jest-runner "^29.4.2" + jest-util "^29.4.2" + jest-validate "^29.4.2" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.4.1" + pretty-format "^29.4.2" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.1.tgz#9a6dc715037e1fa7a8a44554e7d272088c4029bd" - integrity sha512-uazdl2g331iY56CEyfbNA0Ut7Mn2ulAG5vUaEHXycf1L6IPyuImIxSz4F0VYBKi7LYIuxOwTZzK3wh5jHzASMw== +jest-diff@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.2.tgz#b88502d5dc02d97f6512d73c37da8b36f49b4871" + integrity sha512-EK8DSajVtnjx9sa1BkjZq3mqChm2Cd8rIzdXkQMA8e0wuXq53ypz6s5o5V8HRZkoEt2ywJ3eeNWFKWeYr8HK4g== dependencies: chalk "^4.0.0" - diff-sequences "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.4.1" + diff-sequences "^29.4.2" + jest-get-type "^29.4.2" + pretty-format "^29.4.2" -jest-docblock@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" - integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== +jest-docblock@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.2.tgz#c78a95eedf9a24c0a6cc16cf2abdc4b8b0f2531b" + integrity sha512-dV2JdahgClL34Y5vLrAHde3nF3yo2jKRH+GIYJuCpfqwEJZcikzeafVTGAjbOfKPG17ez9iWXwUYp7yefeCRag== dependencies: detect-newline "^3.0.0" -jest-each@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.1.tgz#05ce9979e7486dbd0f5d41895f49ccfdd0afce01" - integrity sha512-QlYFiX3llJMWUV0BtWht/esGEz9w+0i7BHwODKCze7YzZzizgExB9MOfiivF/vVT0GSQ8wXLhvHXh3x2fVD4QQ== +jest-each@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.2.tgz#e1347aff1303f4c35470827a62c029d389c5d44a" + integrity sha512-trvKZb0JYiCndc55V1Yh0Luqi7AsAdDWpV+mKT/5vkpnnFQfuQACV72IoRV161aAr6kAVIBpmYzwhBzm34vQkA== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" chalk "^4.0.0" - jest-get-type "^29.2.0" - jest-util "^29.4.1" - pretty-format "^29.4.1" - -jest-environment-node@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.1.tgz#22550b7d0f8f0b16228639c9f88ca04bbf3c1974" - integrity sha512-x/H2kdVgxSkxWAIlIh9MfMuBa0hZySmfsC5lCsWmWr6tZySP44ediRKDUiNggX/eHLH7Cd5ZN10Rw+XF5tXsqg== - dependencies: - "@jest/environment" "^29.4.1" - "@jest/fake-timers" "^29.4.1" - "@jest/types" "^29.4.1" + jest-get-type "^29.4.2" + jest-util "^29.4.2" + pretty-format "^29.4.2" + +jest-environment-node@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.2.tgz#0eab835b41e25fd0c1a72f62665fc8db08762ad2" + integrity sha512-MLPrqUcOnNBc8zTOfqBbxtoa8/Ee8tZ7UFW7hRDQSUT+NGsvS96wlbHGTf+EFAT9KC3VNb7fWEM6oyvmxtE/9w== + dependencies: + "@jest/environment" "^29.4.2" + "@jest/fake-timers" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" - jest-mock "^29.4.1" - jest-util "^29.4.1" + jest-mock "^29.4.2" + jest-util "^29.4.2" -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== +jest-get-type@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.2.tgz#7cb63f154bca8d8f57364d01614477d466fa43fe" + integrity sha512-vERN30V5i2N6lqlFu4ljdTqQAgrkTFMC9xaIIfOPYBw04pufjXRty5RuXBiB1d72tGbURa/UgoiHB90ruOSivg== -jest-haste-map@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.1.tgz#b0579dc82d94b40ed9041af56ad25c2f80bedaeb" - integrity sha512-imTjcgfVVTvg02khXL11NNLTx9ZaofbAWhilrMg/G8dIkp+HYCswhxf0xxJwBkfhWb3e8dwbjuWburvxmcr58w== +jest-haste-map@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.2.tgz#9112df3f5121e643f1b2dcbaa86ab11b0b90b49a" + integrity sha512-WkUgo26LN5UHPknkezrBzr7lUtV1OpGsp+NfXbBwHztsFruS3gz+AMTTBcEklvi8uPzpISzYjdKXYZQJXBnfvw== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^29.2.0" - jest-util "^29.4.1" - jest-worker "^29.4.1" + jest-regex-util "^29.4.2" + jest-util "^29.4.2" + jest-worker "^29.4.2" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.1.tgz#632186c546e084da2b490b7496fee1a1c9929637" - integrity sha512-akpZv7TPyGMnH2RimOCgy+hPmWZf55EyFUvymQ4LMsQP8xSPlZumCPtXGoDhFNhUE2039RApZkTQDKU79p/FiQ== +jest-leak-detector@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.2.tgz#8f05c6680e0cb46a1d577c0d3da9793bed3ea97b" + integrity sha512-Wa62HuRJmWXtX9F00nUpWlrbaH5axeYCdyRsOs/+Rb1Vb6+qWTlB5rKwCCRKtorM7owNwKsyJ8NRDUcZ8ghYUA== dependencies: - jest-get-type "^29.2.0" - pretty-format "^29.4.1" + jest-get-type "^29.4.2" + pretty-format "^29.4.2" -jest-matcher-utils@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.1.tgz#73d834e305909c3b43285fbc76f78bf0ad7e1954" - integrity sha512-k5h0u8V4nAEy6lSACepxL/rw78FLDkBnXhZVgFneVpnJONhb2DhZj/Gv4eNe+1XqQ5IhgUcqj745UwH0HJmMnA== +jest-matcher-utils@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.2.tgz#08d0bf5abf242e3834bec92c7ef5071732839e85" + integrity sha512-EZaAQy2je6Uqkrm6frnxBIdaWtSYFoR8SVb2sNLAtldswlR/29JAgx+hy67llT3+hXBaLB0zAm5UfeqerioZyg== dependencies: chalk "^4.0.0" - jest-diff "^29.4.1" - jest-get-type "^29.2.0" - pretty-format "^29.4.1" + jest-diff "^29.4.2" + jest-get-type "^29.4.2" + pretty-format "^29.4.2" -jest-message-util@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.1.tgz#522623aa1df9a36ebfdffb06495c7d9d19e8a845" - integrity sha512-H4/I0cXUaLeCw6FM+i4AwCnOwHRgitdaUFOdm49022YD5nfyr8C/DrbXOBEyJaj+w/y0gGJ57klssOaUiLLQGQ== +jest-message-util@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.2.tgz#309a2924eae6ca67cf7f25781a2af1902deee717" + integrity sha512-SElcuN4s6PNKpOEtTInjOAA8QvItu0iugkXqhYyguRvQoXapg5gN+9RQxLAkakChZA7Y26j6yUCsFWN+hlKD6g== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.4.1" + pretty-format "^29.4.2" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.1.tgz#a218a2abf45c99c501d4665207748a6b9e29afbd" - integrity sha512-MwA4hQ7zBOcgVCVnsM8TzaFLVUD/pFWTfbkY953Y81L5ret3GFRZtmPmRFAjKQSdCKoJvvqOu6Bvfpqlwwb0dQ== +jest-mock@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.2.tgz#e1054be66fb3e975d26d4528fcde6979e4759de8" + integrity sha512-x1FSd4Gvx2yIahdaIKoBjwji6XpboDunSJ95RpntGrYulI1ByuYQCKN/P7hvk09JB74IonU3IPLdkutEWYt++g== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@types/node" "*" - jest-util "^29.4.1" + jest-util "^29.4.2" jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" - integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== +jest-regex-util@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.2.tgz#19187cca35d301f8126cf7a021dd4dcb7b58a1ca" + integrity sha512-XYZXOqUl1y31H6VLMrrUL1ZhXuiymLKPz0BO1kEeR5xER9Tv86RZrjTm74g5l9bPJQXA/hyLdaVPN/sdqfteig== -jest-resolve-dependencies@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.1.tgz#02420a2e055da105e5fca8218c471d8b9553c904" - integrity sha512-Y3QG3M1ncAMxfjbYgtqNXC5B595zmB6e//p/qpA/58JkQXu/IpLDoLeOa8YoYfsSglBKQQzNUqtfGJJT/qLmJg== +jest-resolve-dependencies@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.2.tgz#6359db606f5967b68ca8bbe9dbc07a4306c12bf7" + integrity sha512-6pL4ptFw62rjdrPk7rRpzJYgcRqRZNsZTF1VxVTZMishbO6ObyWvX57yHOaNGgKoADtAHRFYdHQUEvYMJATbDg== dependencies: - jest-regex-util "^29.2.0" - jest-snapshot "^29.4.1" + jest-regex-util "^29.4.2" + jest-snapshot "^29.4.2" -jest-resolve@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.1.tgz#4c6bf71a07b8f0b79c5fdf4f2a2cf47317694c5e" - integrity sha512-j/ZFNV2lm9IJ2wmlq1uYK0Y/1PiyDq9g4HEGsNTNr3viRbJdV+8Lf1SXIiLZXFvyiisu0qUyIXGBnw+OKWkJwQ== +jest-resolve@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.2.tgz#8831f449671d08d161fe493003f61dc9b55b808e" + integrity sha512-RtKWW0mbR3I4UdkOrW7552IFGLYQ5AF9YrzD0FnIOkDu0rAMlA5/Y1+r7lhCAP4nXSBTaE7ueeqj6IOwZpgoqw== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.1" + jest-haste-map "^29.4.2" jest-pnp-resolver "^1.2.2" - jest-util "^29.4.1" - jest-validate "^29.4.1" + jest-util "^29.4.2" + jest-validate "^29.4.2" resolve "^1.20.0" resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.1.tgz#57460d9ebb0eea2e27eeddca1816cf8537469661" - integrity sha512-8d6XXXi7GtHmsHrnaqBKWxjKb166Eyj/ksSaUYdcBK09VbjPwIgWov1VwSmtupCIz8q1Xv4Qkzt/BTo3ZqiCeg== +jest-runner@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.2.tgz#2bcecf72303369df4ef1e6e983c22a89870d5125" + integrity sha512-wqwt0drm7JGjwdH+x1XgAl+TFPH7poowMguPQINYxaukCqlczAcNLJiK+OLxUxQAEWMdy+e6nHZlFHO5s7EuRg== dependencies: - "@jest/console" "^29.4.1" - "@jest/environment" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@jest/transform" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/console" "^29.4.2" + "@jest/environment" "^29.4.2" + "@jest/test-result" "^29.4.2" + "@jest/transform" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^29.2.0" - jest-environment-node "^29.4.1" - jest-haste-map "^29.4.1" - jest-leak-detector "^29.4.1" - jest-message-util "^29.4.1" - jest-resolve "^29.4.1" - jest-runtime "^29.4.1" - jest-util "^29.4.1" - jest-watcher "^29.4.1" - jest-worker "^29.4.1" + jest-docblock "^29.4.2" + jest-environment-node "^29.4.2" + jest-haste-map "^29.4.2" + jest-leak-detector "^29.4.2" + jest-message-util "^29.4.2" + jest-resolve "^29.4.2" + jest-runtime "^29.4.2" + jest-util "^29.4.2" + jest-watcher "^29.4.2" + jest-worker "^29.4.2" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.1.tgz#9a50f9c69d3a391690897c01b0bfa8dc5dd45808" - integrity sha512-UXTMU9uKu2GjYwTtoAw5rn4STxWw/nadOfW7v1sx6LaJYa3V/iymdCLQM6xy3+7C6mY8GfX22vKpgxY171UIoA== - dependencies: - "@jest/environment" "^29.4.1" - "@jest/fake-timers" "^29.4.1" - "@jest/globals" "^29.4.1" - "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.4.1" - "@jest/transform" "^29.4.1" - "@jest/types" "^29.4.1" +jest-runtime@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.2.tgz#d86b764c5b95d76cb26ed1f32644e99de5d5c134" + integrity sha512-3fque9vtpLzGuxT9eZqhxi+9EylKK/ESfhClv4P7Y9sqJPs58LjVhTt8jaMp/pRO38agll1CkSu9z9ieTQeRrw== + dependencies: + "@jest/environment" "^29.4.2" + "@jest/fake-timers" "^29.4.2" + "@jest/globals" "^29.4.2" + "@jest/source-map" "^29.4.2" + "@jest/test-result" "^29.4.2" + "@jest/transform" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.1" - jest-message-util "^29.4.1" - jest-mock "^29.4.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.4.1" - jest-snapshot "^29.4.1" - jest-util "^29.4.1" + jest-haste-map "^29.4.2" + jest-message-util "^29.4.2" + jest-mock "^29.4.2" + jest-regex-util "^29.4.2" + jest-resolve "^29.4.2" + jest-snapshot "^29.4.2" + jest-util "^29.4.2" semver "^7.3.5" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.1.tgz#5692210b3690c94f19317913d4082b123bd83dd9" - integrity sha512-l4iV8EjGgQWVz3ee/LR9sULDk2pCkqb71bjvlqn+qp90lFwpnulHj4ZBT8nm1hA1C5wowXLc7MGnw321u0tsYA== +jest-snapshot@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.2.tgz#ba1fb9abb279fd2c85109ff1757bc56b503bbb3a" + integrity sha512-PdfubrSNN5KwroyMH158R23tWcAXJyx4pvSvWls1dHoLCaUhGul9rsL3uVjtqzRpkxlkMavQjGuWG1newPgmkw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -5060,82 +5060,82 @@ jest-snapshot@^29.4.1: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.4.1" - "@jest/transform" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/expect-utils" "^29.4.2" + "@jest/transform" "^29.4.2" + "@jest/types" "^29.4.2" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.4.1" + expect "^29.4.2" graceful-fs "^4.2.9" - jest-diff "^29.4.1" - jest-get-type "^29.2.0" - jest-haste-map "^29.4.1" - jest-matcher-utils "^29.4.1" - jest-message-util "^29.4.1" - jest-util "^29.4.1" + jest-diff "^29.4.2" + jest-get-type "^29.4.2" + jest-haste-map "^29.4.2" + jest-matcher-utils "^29.4.2" + jest-message-util "^29.4.2" + jest-util "^29.4.2" natural-compare "^1.4.0" - pretty-format "^29.4.1" + pretty-format "^29.4.2" semver "^7.3.5" -jest-util@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.1.tgz#2eeed98ff4563b441b5a656ed1a786e3abc3e4c4" - integrity sha512-bQy9FPGxVutgpN4VRc0hk6w7Hx/m6L53QxpDreTZgJd9gfx/AV2MjyPde9tGyZRINAUrSv57p2inGBu2dRLmkQ== +jest-util@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.2.tgz#3db8580b295df453a97de4a1b42dd2578dabd2c2" + integrity sha512-wKnm6XpJgzMUSRFB7YF48CuwdzuDIHenVuoIb1PLuJ6F+uErZsuDkU+EiExkChf6473XcawBrSfDSnXl+/YG4g== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.1.tgz#0d5174510415083ec329d4f981bf6779211f17e9" - integrity sha512-qNZXcZQdIQx4SfUB/atWnI4/I2HUvhz8ajOSYUu40CSmf9U5emil8EDHgE7M+3j9/pavtk3knlZBDsgFvv/SWw== +jest-validate@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.2.tgz#3b3f8c4910ab9a3442d2512e2175df6b3f77b915" + integrity sha512-tto7YKGPJyFbhcKhIDFq8B5od+eVWD/ySZ9Tvcp/NGCvYA4RQbuzhbwYWtIjMT5W5zA2W0eBJwu4HVw34d5G6Q== dependencies: - "@jest/types" "^29.4.1" + "@jest/types" "^29.4.2" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^29.2.0" + jest-get-type "^29.4.2" leven "^3.1.0" - pretty-format "^29.4.1" + pretty-format "^29.4.2" -jest-watcher@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.1.tgz#6e3e2486918bd778849d4d6e67fd77b814f3e6ed" - integrity sha512-vFOzflGFs27nU6h8dpnVRER3O2rFtL+VMEwnG0H3KLHcllLsU8y9DchSh0AL/Rg5nN1/wSiQ+P4ByMGpuybaVw== +jest-watcher@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.2.tgz#09c0f4c9a9c7c0807fcefb1445b821c6f7953b7c" + integrity sha512-onddLujSoGiMJt+tKutehIidABa175i/Ays+QvKxCqBwp7fvxP3ZhKsrIdOodt71dKxqk4sc0LN41mWLGIK44w== dependencies: - "@jest/test-result" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/test-result" "^29.4.2" + "@jest/types" "^29.4.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.4.1" + jest-util "^29.4.2" string-length "^4.0.1" -jest-worker@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.1.tgz#7cb4a99a38975679600305650f86f4807460aab1" - integrity sha512-O9doU/S1EBe+yp/mstQ0VpPwpv0Clgn68TkNwGxL6/usX/KUW9Arnn4ag8C3jc6qHcXznhsT5Na1liYzAsuAbQ== +jest-worker@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.2.tgz#d9b2c3bafc69311d84d94e7fb45677fc8976296f" + integrity sha512-VIuZA2hZmFyRbchsUCHEehoSf2HEl0YVF8SDJqtPnKorAaBuh42V8QsLnde0XP5F6TyCynGPEGgBOn3Fc+wZGw== dependencies: "@types/node" "*" - jest-util "^29.4.1" + jest-util "^29.4.2" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.1.tgz#bb34baca8e05901b49c02c62f1183a6182ea1785" - integrity sha512-cknimw7gAXPDOmj0QqztlxVtBVCw2lYY9CeIE5N6kD+kET1H4H79HSNISJmijb1HF+qk+G+ploJgiDi5k/fRlg== +jest@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.2.tgz#4c2127d03a71dc187f386156ef155dbf323fb7be" + integrity sha512-+5hLd260vNIHu+7ZgMIooSpKl7Jp5pHKb51e73AJU3owd5dEo/RfVwHbA/na3C/eozrt3hJOLGf96c7EWwIAzg== dependencies: - "@jest/core" "^29.4.1" - "@jest/types" "^29.4.1" + "@jest/core" "^29.4.2" + "@jest/types" "^29.4.2" import-local "^3.0.2" - jest-cli "^29.4.1" + jest-cli "^29.4.2" js-sdsl@^4.1.4: version "4.1.5" @@ -5355,10 +5355,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.0.tgz#d4c61aec939e789e489fa51987ec5207b50fd37e" - integrity sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ== +lint-staged@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.1.tgz#db61636850660e291a6885da65d8e79850bd8307" + integrity sha512-LLJLO0Kdbcv2a+CvSF4p1M7jBZOajKSMpBUvyR8+bXccsqPER0/NxTFQSpNHjqwV9kM3tkHczYerTB5wI+bksQ== dependencies: cli-truncate "^3.1.0" colorette "^2.0.19" @@ -6448,10 +6448,10 @@ prettier@^2.5.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -prettier@^2.8.3: - version "2.8.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" - integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== +prettier@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== pretty-format@^23.0.1: version "23.6.0" @@ -6461,12 +6461,12 @@ pretty-format@^23.0.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^29.4.1: - version "29.4.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.1.tgz#0da99b532559097b8254298da7c75a0785b1751c" - integrity sha512-dt/Z761JUVsrIKaY215o1xQJBGlSmTx/h4cSqXqjHLnU1+Kt+mavVE7UgqJJO5ukx5HjSswHfmXz4LjS2oIJfg== +pretty-format@^29.4.2: + version "29.4.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.2.tgz#64bf5ccc0d718c03027d94ac957bdd32b3fb2401" + integrity sha512-qKlHR8yFVCbcEWba0H0TOC8dnLlO4vPlyEjRPw31FZ2Rupy9nLa8ZLbYny8gWEl8CkEhJqAE6IzdNELTBVcBEg== dependencies: - "@jest/schemas" "^29.4.0" + "@jest/schemas" "^29.4.2" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -7933,10 +7933,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write-file-atomic@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0" - integrity sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" From d79891b5f01ad3a1b30a9e68846087b310bb0c83 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 14 Feb 2023 14:28:01 +0100 Subject: [PATCH 17/63] feat: implement `release-please` release workflow (#442) --- .github/actions/install/action.yml | 32 + .github/dependabot.yml | 9 +- .github/workflows/main.yml | 45 - .../workflows/manual-deprecate-versions.yml | 31 + ...ersions.yml => manual-manage-versions.yml} | 8 +- .github/workflows/on-main-push.yml | 61 + .github/workflows/on-published-release.yml | 15 + .../{pull-request.yml => on-pull-request.yml} | 119 +- .github/workflows/release.yml | 60 - .github/workflows/reusable-build.yml | 30 + .gitignore | 11 +- .npmignore | 2 - .versionrc | 5 - PUBLISHING.md | 59 +- README.md | 2 +- package.json | 9 +- yarn.lock | 2175 +++-------------- 17 files changed, 669 insertions(+), 2004 deletions(-) create mode 100644 .github/actions/install/action.yml delete mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/manual-deprecate-versions.yml rename .github/workflows/{manage-versions.yml => manual-manage-versions.yml} (79%) create mode 100644 .github/workflows/on-main-push.yml create mode 100644 .github/workflows/on-published-release.yml rename .github/workflows/{pull-request.yml => on-pull-request.yml} (60%) delete mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/reusable-build.yml delete mode 100644 .npmignore delete mode 100644 .versionrc diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml new file mode 100644 index 00000000..5f52a35d --- /dev/null +++ b/.github/actions/install/action.yml @@ -0,0 +1,32 @@ +name: Install +description: Install dependencies + +inputs: + prod-context: + required: false + description: drive installation mode + default: false + +runs: + using: composite + steps: + - name: Cache prep + id: yarn-cache-dir-path + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + shell: bash + + - name: Cache yarn + uses: actions/cache@v3 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: cache-${{ inputs.node-version }}-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} + + - name: Install dependencies in production mode + if: ${{ inputs.prod-context == 'true' }} + run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod + shell: bash + + - name: Install dependencies in integration mode + if: ${{ inputs.prod-context == 'false' }} + run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile + shell: bash \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 845680f0..e39451ac 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,10 +1,15 @@ version: 2 updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + versioning-strategy: increase + - package-ecosystem: "npm" directory: "/" schedule: - interval: "weekly" - day: "monday" + interval: "daily" versioning-strategy: increase commit-message: prefix: "build" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 282002c7..00000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Main - -on: - push: - branches: [main] - -jobs: - build-test: - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v3 - - - name: Setup node - uses: actions/setup-node@v3 - with: - node-version: '14.x' - - - name: Cache prep - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Cache yarn - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile - - - name: Build plugin - run: yarn pack - - - name: Unit test - run: yarn test:coverage --runInBand - - - name: Upload coverage - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - continue-on-error: true diff --git a/.github/workflows/manual-deprecate-versions.yml b/.github/workflows/manual-deprecate-versions.yml new file mode 100644 index 00000000..2e5b249c --- /dev/null +++ b/.github/workflows/manual-deprecate-versions.yml @@ -0,0 +1,31 @@ +name: Deprecate versions + +on: + workflow_dispatch: + inputs: + version-expression: + description: version number (semver format) or range to deprecate + required: true + type: string + rationale: + description: explain why this version is deprecated. No message content will un-deprecate the version + type: string + + +jobs: + deprecate: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + registry-url: https://registry.npmjs.org/ + + - name: Change version + run: npm deprecate sfdx-git-delta@$"${{ github.event.inputs.version-expression }}" "${{ github.event.inputs.rationale }}" + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} \ No newline at end of file diff --git a/.github/workflows/manage-versions.yml b/.github/workflows/manual-manage-versions.yml similarity index 79% rename from .github/workflows/manage-versions.yml rename to .github/workflows/manual-manage-versions.yml index bc4b3812..a2573e68 100644 --- a/.github/workflows/manage-versions.yml +++ b/.github/workflows/manual-manage-versions.yml @@ -1,4 +1,4 @@ -name: Manage Versions +name: Manage versions on: workflow_dispatch: @@ -23,14 +23,14 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - + - name: Setup node uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16 registry-url: https://registry.npmjs.org/ - name: Change version - run: npm dist-tag add "sfdx-git-delta@${{ github.event.inputs.version-number }}" "${{ github.event.inputs.version-alias }}" + run: npm dist-tag add sfdx-git-delta@${{ github.event.inputs.version-number }} ${{ github.event.inputs.version-alias }} env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} \ No newline at end of file diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml new file mode 100644 index 00000000..cfafb446 --- /dev/null +++ b/.github/workflows/on-main-push.yml @@ -0,0 +1,61 @@ +name: Main + +on: + push: + branches: + - main + paths-ignore: + - "**.md" + - "img/**" + +jobs: + build: + uses: ./.github/workflows/reusable-build.yml + secrets: inherit + + prepare-release: + needs: build + runs-on: ubuntu-latest + outputs: + release_created: ${{ steps.release.outputs.release_created }} + steps: + - uses: google-github-actions/release-please-action@v3 + id: release + with: + release-type: node + package-name: sfdx-git-delta + token: ${{ secrets.RELEASE_PAT }} + + release: + needs: prepare-release + runs-on: ubuntu-latest + if: ${{ needs.prepare-release.outputs.release_created == 'true' }} + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + registry-url: https://registry.npmjs.org/ + + - name: Publish to npm + run: yarn publish --access public --tag "latest-rc" + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + + test-release: + needs: release + runs-on: ubuntu-latest + steps: + - name: Install sfdx-cli + run: npm install -g sfdx-cli + + - name: Install new plugin version + run: echo y | sfdx plugins:install "sfdx-git-delta@latest-rc" + + - name: Test new plugin version + run: sfdx sgd:source:delta --help + + diff --git a/.github/workflows/on-published-release.yml b/.github/workflows/on-published-release.yml new file mode 100644 index 00000000..c417ae4f --- /dev/null +++ b/.github/workflows/on-published-release.yml @@ -0,0 +1,15 @@ +name: Published release communication + +on: + release: + types: + - published + +jobs: + release: + steps: + - uses: apexskier/github-release-commenter@v1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + comment-template: | + Shipped in [release \`{release_tag}\`]({release_link}). \ No newline at end of file diff --git a/.github/workflows/pull-request.yml b/.github/workflows/on-pull-request.yml similarity index 60% rename from .github/workflows/pull-request.yml rename to .github/workflows/on-pull-request.yml index d8578bf0..8f24c8cc 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -4,60 +4,78 @@ on: pull_request: branches: - main + paths-ignore: + - "**.md" + - "img/**" jobs: - build-check: + commit-lint: runs-on: ubuntu-latest + if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} steps: - name: Checkout sources uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Lint commits + uses: wagoid/commitlint-github-action@v5 + continue-on-error: true + + pull-request-lint: + runs-on: ubuntu-latest + steps: + - name: Lint PR + uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + npm-lint: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Setup node uses: actions/setup-node@v3 with: - node-version: '14.x' + node-version: 16 + registry-url: https://registry.npmjs.org/ - - name: Cache prep - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" + - name: Check outdated dependencies + run: yarn outdated + continue-on-error: true - - name: Cache yarn - uses: actions/cache@v3 - id: yarn-cache + - name: Audit dependencies + run: yarn audit + continue-on-error: true + + source-lint: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- + node-version: 16 + registry-url: https://registry.npmjs.org/ - - name: Install dependencies - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile + - name: Setup node + uses: ./.github/actions/install - name: Lint sources uses: wearerequired/lint-action@v2 with: eslint: true - continue-on-error: true - - - name: Build plugin - run: yarn pack - - name: Unit test - run: yarn test:coverage --runInBand - - - name: Check dependencies - run: yarn outdated - continue-on-error: true - - - name: Upload coverage - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - continue-on-error: true - - + build: + uses: ./.github/workflows/reusable-build.yml + secrets: inherit installation-check: + needs: [build, source-lint] strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] @@ -71,12 +89,11 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} - - - name: Install sfdx-cli - run: npm install -g sfdx-cli # yarn installation is not working on Windows - - - name: Install dependencies - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod + + - name: Setup dependencies, cache and install in prod context + uses: ./.github/actions/install + with: + prod-context: true - name: Install build dependencies run: yarn add @salesforce/dev-config typescript @@ -84,29 +101,11 @@ jobs: - name: Build plugin run: yarn pack + - name: Install sfdx-cli + run: npm install -g sfdx-cli + - name: Install plugin run: sfdx plugins:link . - - name: Installation test + - name: Test installation run: sfdx sgd:source:delta --help - - commit-lint: - runs-on: ubuntu-latest - if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} - steps: - - name: Checkout sources - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Lint commits - uses: wagoid/commitlint-github-action@v5 - continue-on-error: true - - pull-request-lint: - runs-on: ubuntu-latest - steps: - - name: Lint PR - uses: amannn/action-semantic-pull-request@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 019241e0..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Release latest-rc - -on: - workflow_dispatch: - -jobs: - Release: - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v3 - with: - token: ${{ secrets.RELEASE_PAT }} - - - name: Setup node - uses: actions/setup-node@v3 - with: - node-version: 14.x - registry-url: https://registry.npmjs.org/ - - - name: Cache prep - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Cache yarn - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile - - - name: Publish to npm - run: | - git config user.name github-actions - git config user.email github-actions@github.com - yarn release - yarn publish --access public --tag "latest-rc" - env: - CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{ secrets.RELEASE_PAT }} - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - - - name: Install sfdx-cli - run: npm install -g sfdx-cli - - - name: Sleep for 30 seconds - run: sleep 30s - shell: bash - - - name: Install new plugin version - run: | - echo y | sfdx plugins:install "sfdx-git-delta@latest-rc" - sfdx plugins - - - name: Test new plugin version - run: sfdx sgd:source:delta --help \ No newline at end of file diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml new file mode 100644 index 00000000..43e8d21d --- /dev/null +++ b/.github/workflows/reusable-build.yml @@ -0,0 +1,30 @@ +name: Build Checks +on: + workflow_call: + +jobs: + source: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Setup dependencies, cache and install + uses: ./.github/actions/install + + - name: Build plugin + run: yarn pack + + - name: Unit test + run: yarn test:coverage --runInBand + + - name: Upload coverage + uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + continue-on-error: true diff --git a/.gitignore b/.gitignore index 24e7c736..1ea91cb0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,6 @@ -.envrc -*-debug.log -*-error.log -/.nyc_output -/dist -/lib -/tmp node_modules coverage -output +lib +*-debug.log +*-error.log sfdx-git-delta-*.tgz \ No newline at end of file diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 6a5794e0..00000000 --- a/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -output -coverage \ No newline at end of file diff --git a/.versionrc b/.versionrc deleted file mode 100644 index 682f283c..00000000 --- a/.versionrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "scripts": { - "postbump": "yarn pack && git add README.md" - } -} diff --git a/PUBLISHING.md b/PUBLISHING.md index bca28969..7184c81b 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -2,53 +2,60 @@ Here are the steps to publish a version -## Prerequisites +## Release -1. Create a [github personal token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) -2. Use the GitHub personal token generated to set the CONVENTIONAL_GITHUB_RELEASER_TOKEN environment variable. You can use [direnv](https://direnv.net/) +This repository uses [release-please](https://github.com/google-github-actions/release-please-action) workflow. -## Create a new Release - -```sh -$ yarn release -$ yarn publish --access public --tag "latest-rc" -``` - -This will: - -- Create a new version based on the commit types from head and package.json version -- Create a changelog with all the commit from head and the last tag version following [keepachangelog](https://keepachangelog.com/en/1.0.0/) -- Create a new commit with the generated changelog, update package.json -- Create a new tag following the semver -- Push this tag to the remote -- Trigger the new version publish - -You can use the "Release latest-rc" manual github action to publish the last commit on main as the `latest-rc` version +Merge the release pull request to create a new version, it will take care of: +- defining next version number +- updating `package.json` version attribut +- create the changelog +- create a tag version +- create a github release +- publish to npm the new version +- set `latest-rc` npm channel to point the new version ## Update tag version ```sh -$ yarn npm tag add sfdx-git-delta@ +$ npm dist-tag add sfdx-git-delta@ ``` -It will set the version-source release channel to the version-target. +It will set the `version-source` release channel to the `version-target` specific release (`vX.Y.Z`). **Update `v5.6.0` to be `latest`:** To be performed once the current `latest-rc` version (`v5.6.0` at taht time) is considered stable enough. The `latest` version is the one installed by default with the `sfdx plugins:install sfdx-git-delta` command. ```sh -$ yarn npm tag add sfdx-git-delta@v5.6.0 latest +$ npm dist-tag add sfdx-git-delta@v5.6.0 latest ``` **Update `v5.5.0` to be `stable`:** To be performed once the current `latest` version (`v.5.5.0` at that time) is considered stable enough. ```sh -$ yarn npm tag add sfdx-git-delta@v5.5.0 stable +$ npm dist-tag add sfdx-git-delta@v5.5.0 stable ``` **Rollback**: Use this command only if something is wrong with the current `latest` version, and you need to roll it back to a previous version (to `v5.0.0` in this example). ```sh -$ yarn npm tag add sfdx-git-delta@v5.0.0 latest +$ npm dist-tag add sfdx-git-delta@v5.0.0 latest +``` + +Use the **"Manage Versions"** manual github action to do the same thing with point & click + +## Deprecate version expression + +```sh +$ npm deprecate sfdx-git-delta@ "" +``` + +It will deprecate the `version-expression` with the `message`. +The `version-expression` can either be a specific version (`vX.Y.Z`) +Or a [version range](https://semver.npmjs.com/) + +Do not specify a `message` ("") to un-deprecate a version expression +```sh +$ npm deprecate sfdx-git-delta@ "" ``` -You can use the "Manage Versions" manual github action to do the same thing. \ No newline at end of file +Use the **"Deprecate Versions"** manual github action to do the same thing with point & click diff --git a/README.md b/README.md index efe66437..a00170ba 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.11.4/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/main/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/package.json b/package.json index 0efafdeb..70b9b4e8 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "/bin", "/lib", "/messages", - "/npm-shrinkwrap.json", "/oclif.manifest.json" ], "main": "lib/main.js", @@ -57,12 +56,8 @@ "test:debug:break": "node --inspect-brk node_modules/.bin/jest", "test:watch": "jest --watch", "postpack": "rm -f oclif.manifest.json && prettier --write README.md", - "postrelease": "yarn release:tags && yarn release:github", "prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme", "prepare": "husky install", - "release": "standard-version --no-verify --commit-all", - "release:github": "conventional-github-releaser -p angular", - "release:tags": "git push --follow-tags origin main -f --no-verify", "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname && yarn pack", "upgrade:dependencies": "yarn yarn-upgrade-all" }, @@ -79,8 +74,7 @@ "@types/node": "^18.13.0", "@typescript-eslint/eslint-plugin": "^5.51.0", "@typescript-eslint/parser": "^5.51.0", - "conventional-github-releaser": "^3.1.5", - "eslint": "^8.33.0", + "eslint": "^8.34.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", @@ -92,7 +86,6 @@ "nyc": "^15.1.0", "prettier": "^2.8.4", "prettier-eslint": "^15.0.1", - "standard-version": "^9.5.0", "ts-node": "^10.9.1", "typescript": "^4.9.5", "yarn-upgrade-all": "^0.7.2" diff --git a/yarn.lock b/yarn.lock index 2206dc52..15580df8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,49 +17,50 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" - integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== +"@babel/compat-data@^7.20.5": + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" + integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" - integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" + json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.19.0", "@babel/generator@^7.7.2": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" - integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== +"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" + integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== dependencies: - "@babel/types" "^7.19.0" + "@babel/types" "^7.20.7" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" - integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== +"@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: - "@babel/compat-data" "^7.19.0" + "@babel/compat-data" "^7.20.5" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" + browserslist "^4.21.3" + lru-cache "^5.1.1" semver "^6.3.0" "@babel/helper-environment-visitor@^7.18.9": @@ -89,31 +90,31 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== +"@babel/helper-module-transforms@^7.20.11": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.20.2" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" @@ -122,29 +123,29 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== -"@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.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== -"@babel/helpers@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" - integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== +"@babel/helpers@^7.20.7": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" + integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.13" + "@babel/types" "^7.20.7" "@babel/highlight@^7.18.6": version "7.18.6" @@ -155,10 +156,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" - integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": + version "7.20.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" + integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -252,59 +253,59 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/runtime-corejs3@^7.12.5": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.19.0.tgz#0df75cb8e5ecba3ca9e658898694e5326d52397f" - integrity sha512-JyXXoCu1N8GLuKc2ii8y5RGma5FMpFeO2nAQIe0Yzrbq+rQnN+sFj47auLblR5ka6aHNGPDgv8G/iI2Grb0ldQ== + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.13.tgz#ad012857db412ab0b5ccf184b67be2cfcc2a1dcf" + integrity sha512-p39/6rmY9uvlzRiLZBIB3G9/EBr66LBMcYm7fIDeSBNdRjF2AGD3rFZucUyAgGHC2N+7DdLvVi33uTjSE44FIw== dependencies: - core-js-pure "^3.20.2" - regenerator-runtime "^0.13.4" + core-js-pure "^3.25.1" + regenerator-runtime "^0.13.11" "@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.20.13" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" + integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.13.11" -"@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/traverse@^7.19.0", "@babel/traverse@^7.7.2": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" - integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13", "@babel/traverse@^7.7.2": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" + integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" + "@babel/generator" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/parser" "^7.20.13" + "@babel/types" "^7.20.7" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -514,21 +515,6 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "~3.1.0" -"@eslint/eslintrc@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" - integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - "@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -544,15 +530,6 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" - "@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" @@ -562,11 +539,6 @@ debug "^4.1.1" minimatch "^3.0.5" -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" @@ -577,11 +549,6 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -807,7 +774,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== @@ -817,7 +784,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -831,12 +798,12 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -859,19 +826,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/command@^1.8.14", "@oclif/command@^1.8.15": - version "1.8.16" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.16.tgz#bea46f81b2061b47e1cda318a0b923e62ca4cc0c" - integrity sha512-rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w== - dependencies: - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.5" - "@oclif/help" "^1.0.1" - "@oclif/parser" "^3.8.6" - debug "^4.1.1" - semver "^7.3.2" - -"@oclif/command@^1.8.22": +"@oclif/command@^1.8.14", "@oclif/command@^1.8.15", "@oclif/command@^1.8.22": version "1.8.22" resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.22.tgz#b7ea268393277606bb5e0e557c39536ff4e883f2" integrity sha512-lystv7IKsWRmCv6K68jSvHrO/DILUPBDb5GZ3absTA5XTnNXTaMrcwVzTcMPfTf+gCrgIaPPD1bmbRStwfQxFw== @@ -895,19 +850,19 @@ is-wsl "^2.1.1" tslib "^2.0.0" -"@oclif/config@^1.18.2": - version "1.18.3" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.3.tgz#ddfc144fdab66b1658c2f1b3478fa7fbfd317e79" - integrity sha512-sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA== +"@oclif/config@1.18.6": + version "1.18.6" + resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.6.tgz#37367026b3110a2f04875509b1920a8ee4489f21" + integrity sha512-OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA== dependencies: - "@oclif/errors" "^1.3.5" - "@oclif/parser" "^3.8.0" - debug "^4.1.1" - globby "^11.0.1" + "@oclif/errors" "^1.3.6" + "@oclif/parser" "^3.8.9" + debug "^4.3.4" + globby "^11.1.0" is-wsl "^2.1.1" tslib "^2.3.1" -"@oclif/config@^1.18.8": +"@oclif/config@^1.18.2", "@oclif/config@^1.18.8": version "1.18.8" resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.8.tgz#efaccbd0381f90a98fa69c9131e14c5a91fc0659" integrity sha512-FetS52+emaZQui0roFSdbBP8ddBkIezEoH2NcjLJRjqkMGdE9Z1V+jsISVqTYXk2KJ1gAI0CHDXFjJlNBYbJBg== @@ -919,40 +874,6 @@ is-wsl "^2.1.1" tslib "^2.5.0" -"@oclif/core@^1.24.0": - version "1.24.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.24.0.tgz#e94e2f3a1259ebb3cc867d04b12c5bfc31c21f50" - integrity sha512-J41suyV4fLfLcRRySZdtgFYSjIlpYqD90SY01Fm4+ZJUMcfDh/eQAD4sogyYOsIT0bfEzYOyYCjmfHmgcoX5aA== - dependencies: - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.4" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.10.0" - debug "^4.3.4" - ejs "^3.1.6" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - tslib "^2.4.1" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - "@oclif/core@^1.25.0": version "1.26.1" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.1.tgz#26e46c96143d3e2b1dd9bd558ae1653fe9a4f3fa" @@ -1040,7 +961,7 @@ qqjs "^0.3.10" tslib "^2.0.3" -"@oclif/errors@1.3.5", "@oclif/errors@^1.3.3", "@oclif/errors@^1.3.5": +"@oclif/errors@1.3.5": version "1.3.5" resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.5.tgz#a1e9694dbeccab10fe2fe15acb7113991bed636c" integrity sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ== @@ -1051,7 +972,7 @@ strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -"@oclif/errors@^1.3.6": +"@oclif/errors@1.3.6", "@oclif/errors@^1.3.3", "@oclif/errors@^1.3.5", "@oclif/errors@^1.3.6": version "1.3.6" resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.6.tgz#e8fe1fc12346cb77c4f274e26891964f5175f75d" integrity sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ== @@ -1063,12 +984,12 @@ wrap-ansi "^7.0.0" "@oclif/help@^1.0.0", "@oclif/help@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@oclif/help/-/help-1.0.1.tgz#fd96a3dd9fb2314479e6c8584c91b63754a7dff5" - integrity sha512-8rsl4RHL5+vBUAKBL6PFI3mj58hjPCp2VYyXD4TAa7IMStikFfOH2gtWmqLzIlxAED2EpD0dfYwo9JJxYsH7Aw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@oclif/help/-/help-1.0.5.tgz#0a370d0340fcf167ec3cb7a4f3074ebb3db8a94a" + integrity sha512-77ZXqVXcd+bQ6EafN56KbL4PbNtZM/Lq4GQElekNav+CPIgPNKT3AtMTQrc0fWke6bb/BTLB+1Fu1gWgx643jQ== dependencies: - "@oclif/config" "1.18.2" - "@oclif/errors" "1.3.5" + "@oclif/config" "1.18.6" + "@oclif/errors" "1.3.6" chalk "^4.1.2" indent-string "^4.0.0" lodash "^4.17.21" @@ -1082,17 +1003,7 @@ resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== -"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.6": - version "3.8.7" - resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.7.tgz#236d48db05d0b00157d3b42d31f9dac7550d2a7c" - integrity sha512-b11xBmIUK+LuuwVGJpFs4LwQN2xj2cBWj2c4z1FtiXGrJ85h9xV6q+k136Hw0tGg1jQoRXuvuBnqQ7es7vO9/Q== - dependencies: - "@oclif/errors" "^1.3.5" - "@oclif/linewrap" "^1.0.0" - chalk "^4.1.0" - tslib "^2.3.1" - -"@oclif/parser@^3.8.10": +"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.10", "@oclif/parser@^3.8.9": version "3.8.10" resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.10.tgz#7b1048566e1d3f45ed09ca92b2e30f09bd9647e1" integrity sha512-J4l/NcnfbIU84+NNdy6bxq9yJt4joFWNvpk59hq+uaQPUNtjmNJDVGuRvf6GUOxHNgRsVK1JRmd/Ez+v7Z9GqQ== @@ -1136,15 +1047,7 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21": - version "2.2.21" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.2.21.tgz#f0a64773100b12191b9f9ea5efb9a632ec2c922a" - integrity sha512-uIjn0PM6R9qlpYzoB9eYBwh3uMd5EdTux2dhBnYMA3DWcLOV4/+2TxKeVurfHFHfQfRp7imYSab7vEwTfiSo7g== - dependencies: - "@oclif/core" "^1.24.0" - fancy-test "^2.0.11" - -"@oclif/test@^2.3.5": +"@oclif/test@^2.2.21", "@oclif/test@^2.3.5": version "2.3.5" resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.5.tgz#270ef891c3491dff4cc29df756deb776291602e5" integrity sha512-LxmiatZV7Ph9K2F0Rs0u2d7BODxbfL7qfHE94HwqzaW8uRe20JbGMxH4iGBHFE5Gdod6XIV3o3jHyPXVlz7YZA== @@ -1233,53 +1136,32 @@ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== -"@salesforce/kit@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.8.0.tgz#d5b8d83d5b0b866cb76840dc7a18e115589d86a0" - integrity sha512-Pr9CWAIzVYKZRWvM76lyhEtF3CPmVdIfgbqRD7KT/YZdbLstX3KHYBxCyx3TyWZr5qROv96n+jRIBiIFI9LGGw== - dependencies: - "@salesforce/ts-types" "^1.7.1" - shx "^0.3.3" - tslib "^2.2.0" - -"@salesforce/kit@^1.8.2": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.8.3.tgz#b590b78a8618494c51534598a7eb0683ba0da3f2" - integrity sha512-p+0tWR2pyCAIjZwDXGhrYFPuLckX9fP3Xa6Jync9POeQBfDGyK9CRd1eaiWj+6BeDS9kwvgm5M6o+OptIEhEjw== +"@salesforce/kit@^1.8.0", "@salesforce/kit@^1.8.2": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.8.5.tgz#3dcda46e7216363f8703c1c1d3b4dc5d80c1b4d3" + integrity sha512-py5M1PI5tWy/au/1tJ6qQBv7pHX3B4APqsNxg7yx/s2jbERUD6QNwcmWAayuRpZVVnFXBShBYROFZCojuNJwMA== dependencies: - "@salesforce/ts-types" "^1.7.2" + "@salesforce/ts-types" "^1.7.3" shx "^0.3.3" - tslib "^2.2.0" + tslib "^2.5.0" "@salesforce/schemas@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.4.0.tgz#7dff427c8059895d8108176047aee600703c82d6" - integrity sha512-BJ25uphssN42Zy6kksheFHMTLiR98AAHe/Wxnv0T4dYxtrEbUjSXVAGKZqfewJPFXA4xB5gxC+rQZtfz6xKCFg== - -"@salesforce/ts-types@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.1.tgz#86b0d0c3bfd5c9b1752662a019a3d2f3bc8ff118" - integrity sha512-jwZb8fYxbOmEckoJTxG2+5ZEJNJOFxmRJ/FioPnSu4IMFzpK3QbyujfqpHwLfPKHq0xlKRMx+F8QAVVKI/PA4w== - dependencies: - tslib "^2.4.1" + version "1.5.0" + resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.0.tgz#8bfe2cb5d7cb29d3394b3b9cfb71bb527009c82c" + integrity sha512-EKFBURBuON7cj8XZCW+ybeSRRw7wUP1XUXZVHzFgx8KiYmSeGiRHBYbDjQOsQMho2uOLsTozMPEt2ehYnji0YA== -"@salesforce/ts-types@^1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.2.tgz#ab40399d291c7eca57efc9890daf2fa2632197ec" - integrity sha512-eCpWKEb03UCKBJ6Svp0Vwcwt+fG6BQbopO4x5wt6CYeT8Rjt0dbDQicZPmVL59j2qyt3Q4Y4EYsxXUGZmdfvDw== +"@salesforce/ts-types@^1.7.1", "@salesforce/ts-types@^1.7.2", "@salesforce/ts-types@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.3.tgz#89b79ff0aaa55fea9f2de0afa8e515be3e17d0d8" + integrity sha512-jpmekGqZ7tpHRJwf1rF0yBJ/IMC5mOrryNi4HZkKuNQn8RF97WpynmL8Om04mLTCESvCiif3y7NWfIcxtID2Gw== dependencies: - tslib "^2.4.1" + tslib "^2.5.0" "@sinclair/typebox@^0.25.16": version "0.25.21" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.21.tgz#763b05a4b472c93a8db29b2c3e359d55b29ce272" integrity sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g== -"@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" - integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== - "@sinonjs/commons@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" @@ -1315,12 +1197,12 @@ integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== "@types/babel__core@^7.1.14": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + version "7.20.0" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" + integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" @@ -1341,18 +1223,13 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.1.tgz#ce5e2c8c272b99b7a9fd69fa39f0b4cd85028bd9" - integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== + version "7.18.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== dependencies: "@babel/types" "^7.3.0" -"@types/chai@*": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07" - integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g== - -"@types/chai@^4.3.4": +"@types/chai@*", "@types/chai@^4.3.4": version "4.3.4" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== @@ -1365,9 +1242,9 @@ "@types/node" "*" "@types/eslint@^8.4.2": - version "8.4.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== + version "8.21.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.0.tgz#21724cfe12b96696feafab05829695d4d7bd7c48" + integrity sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -1386,9 +1263,9 @@ "@types/node" "*" "@types/graceful-fs@^4.1.3", "@types/graceful-fs@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + version "4.1.6" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" + integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== dependencies: "@types/node" "*" @@ -1422,9 +1299,9 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@*": - version "4.14.184" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" - integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== + version "4.14.191" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== "@types/minimatch@*": version "5.1.2" @@ -1441,37 +1318,27 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*": - version "18.7.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601" - integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== +"@types/node@*", "@types/node@^18.13.0": + version "18.13.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" + integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== "@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@^18.13.0": - version "18.13.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" - integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== - "@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" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/prettier@^2.1.5", "@types/prettier@^2.6.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc" - integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== - -"@types/semver@^7.3.12": - version "7.3.12" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" - integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== + version "2.7.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== -"@types/semver@^7.3.13": +"@types/semver@^7.3.12", "@types/semver@^7.3.13": version "7.3.13" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== @@ -1499,9 +1366,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.8": - version "17.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526" - integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== + version "17.0.22" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" + integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== dependencies: "@types/yargs-parser" "*" @@ -1521,17 +1388,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" - integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== - dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" - debug "^4.3.4" - -"@typescript-eslint/parser@^5.51.0": +"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.51.0": version "5.51.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== @@ -1541,14 +1398,6 @@ "@typescript-eslint/typescript-estree" "5.51.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" - integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== - dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" - "@typescript-eslint/scope-manager@5.51.0": version "5.51.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" @@ -1567,29 +1416,11 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" - integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== - "@typescript-eslint/types@5.51.0": version "5.51.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== -"@typescript-eslint/typescript-estree@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" - integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== - dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.51.0": version "5.51.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" @@ -1617,14 +1448,6 @@ eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" - integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== - dependencies: - "@typescript-eslint/types" "5.36.2" - eslint-visitor-keys "^3.3.0" - "@typescript-eslint/visitor-keys@5.51.0": version "5.51.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" @@ -1659,14 +1482,9 @@ acorn-walk@^8.1.1: integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^8.4.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== agent-base@6: version "6.0.2" @@ -1693,20 +1511,10 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.11.2: - version "8.11.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" - integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== +ajv@^8.11.0, ajv@^8.11.2: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -1775,9 +1583,9 @@ ansi-styles@^5.0.0: integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== ansicolors@~0.3.2: version "0.3.2" @@ -1785,9 +1593,9 @@ ansicolors@~0.3.2: integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -1850,11 +1658,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== - array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" @@ -2037,15 +1840,15 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.20.2: - version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== +browserslist@^4.21.3: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== dependencies: - caniuse-lite "^1.0.30001370" - electron-to-chromium "^1.4.202" - node-releases "^2.0.6" - update-browserslist-db "^1.0.5" + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" bser@2.1.1: version "2.1.1" @@ -2077,19 +1880,6 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" - integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ== - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - caching-transform@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" @@ -2121,23 +1911,6 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ== - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q== - dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" - camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" @@ -2147,16 +1920,6 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2167,10 +1930,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001370: - version "1.0.30001393" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz#1aa161e24fe6af2e2ccda000fc2b94be0b0db356" - integrity sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA== +caniuse-lite@^1.0.30001449: + version "1.0.30001451" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz#2e197c698fc1373d63e1406d6607ea4617c613f1" + integrity sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w== capital-case@^1.0.4: version "1.0.4" @@ -2251,9 +2014,9 @@ chownr@^1.1.1: integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== ci-info@^3.2.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" - integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== + version "3.7.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" + integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== cjs-module-lexer@^1.0.0: version "1.2.2" @@ -2360,22 +2123,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -clone-response@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== - dependencies: - mimic-response "^1.0.0" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2428,9 +2184,9 @@ commander@^4.0.1: integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^9.4.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" - integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== comment-parser@1.3.1: version "1.3.1" @@ -2447,14 +2203,6 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== -compare-func@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" - integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" - compare-func@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" @@ -2478,16 +2226,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - constant-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" @@ -2498,19 +2236,11 @@ constant-case@^3.0.4: upper-case "^2.0.2" content-type@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -conventional-changelog-angular@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" - integrity sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg== - dependencies: - compare-func "^1.3.1" - q "^1.5.1" + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: +conventional-changelog-angular@^5.0.11: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== @@ -2518,202 +2248,7 @@ conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-atom@^2.0.0, conventional-changelog-atom@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" - integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== - dependencies: - q "^1.5.1" - -conventional-changelog-codemirror@^2.0.0, conventional-changelog-codemirror@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" - integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== - dependencies: - q "^1.5.1" - -conventional-changelog-config-spec@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" - integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== - -conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-conventionalcommits@^4.5.0: - version "4.6.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" - integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-core@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" - integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ== - dependencies: - conventional-changelog-writer "^4.0.6" - conventional-commits-parser "^3.0.3" - dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "2.0.0" - git-remote-origin-url "^2.0.0" - git-semver-tags "^2.0.3" - lodash "^4.2.1" - normalize-package-data "^2.3.5" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^3.0.0" - -conventional-changelog-core@^4.2.1: - version "4.2.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-ember@^2.0.1, conventional-changelog-ember@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" - integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.0, conventional-changelog-eslint@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" - integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.0, conventional-changelog-express@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" - integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" - integrity sha512-wbz5vVcvu/SPZTDFB21fF/xo5zFq6NQR42jhtUfOrrP1N/ZjNshhGb3expCGqHYdnUHzPevHeUafsVrdxVD5Og== - dependencies: - q "^1.4.1" - -conventional-changelog-jquery@^3.0.11: - version "3.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" - integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== - dependencies: - q "^1.5.1" - -conventional-changelog-jscs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" - integrity sha512-V8sey4tE0nJUlWGi2PZKDMfawYLf/+F165xhhDjcIoTEJDxssVV5PMVzTQzjS6U/dEX85fWkur+bs6imOqkIng== - dependencies: - q "^1.4.1" - -conventional-changelog-jshint@^2.0.0, conventional-changelog-jshint@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" - integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.0.1, conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== - -conventional-changelog-writer@^4.0.6: - version "4.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f" - integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw== - dependencies: - compare-func "^2.0.0" - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.6" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog-writer@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" - integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== - dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.7" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog@3.1.25: - version "3.1.25" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff" - integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== - dependencies: - conventional-changelog-angular "^5.0.12" - conventional-changelog-atom "^2.0.8" - conventional-changelog-codemirror "^2.0.8" - conventional-changelog-conventionalcommits "^4.5.0" - conventional-changelog-core "^4.2.1" - conventional-changelog-ember "^2.0.9" - conventional-changelog-eslint "^3.0.9" - conventional-changelog-express "^2.0.6" - conventional-changelog-jquery "^3.0.11" - conventional-changelog-jshint "^2.0.9" - conventional-changelog-preset-loader "^2.3.4" - -conventional-changelog@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-2.0.3.tgz#779cff582c0091d2b24574003eaa82ef5ddf653d" - integrity sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA== - dependencies: - conventional-changelog-angular "^1.6.6" - conventional-changelog-atom "^2.0.0" - conventional-changelog-codemirror "^2.0.0" - conventional-changelog-core "^3.1.0" - conventional-changelog-ember "^2.0.1" - conventional-changelog-eslint "^3.0.0" - conventional-changelog-express "^2.0.0" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^2.0.0" - conventional-changelog-preset-loader "^2.0.1" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.0.3, conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: +conventional-commits-parser@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== @@ -2725,59 +2260,25 @@ conventional-commits-parser@^3.0.3, conventional-commits-parser@^3.2.0, conventi split2 "^3.0.0" through2 "^4.0.0" -conventional-github-releaser@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/conventional-github-releaser/-/conventional-github-releaser-3.1.5.tgz#d3dfe8b03c6dbfc5e84adce2c98cb87a78720ad3" - integrity sha512-VhPKbdN92b2ygnQLkuwHIfUaPAVrVfJVuQdxbmmVPkN927LDP98HthLWFVShh4pxqLK0nE66v78RERGJVeCzbg== - dependencies: - conventional-changelog "^2.0.0" - dateformat "^3.0.0" - debug "^3.1.0" - gh-got "^7.0.0" - git-semver-tags "^2.0.0" - lodash.merge "^4.0.2" - meow "^7.0.0" - object-assign "^4.0.1" - q "^1.4.1" - semver "^5.0.1" - semver-regex "^2.0.0" - through2 "^2.0.0" - -conventional-recommended-bump@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" - integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" - convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-pure@^3.20.2: - version "3.25.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.1.tgz#79546518ae87cc362c991d9c2d211f45107991ee" - integrity sha512-7Fr74bliUDdeJCBMxkkIuQ4xfxn/SwrVg+HkJUAoNEXVqYLv55l6Af0dJ5Lq2YBUW9yKqSkLXaS5SYPK6MGa/A== +core-js-pure@^3.25.1: + version "3.27.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.2.tgz#47e9cc96c639eefc910da03c3ece26c5067c7553" + integrity sha512-Cf2jqAbXgWH3VVzjyaaFkY1EBazxugUepGymDoeteyYr9ByX51kD2jdHZlsEF/xnJMyN3Prua7mQuzwMg6Zc9A== core-js@^3.6.4: - version "3.25.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.1.tgz#5818e09de0db8956e16bf10e2a7141e931b7c69c" - integrity sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ== + version "3.27.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.2.tgz#85b35453a424abdcacb97474797815f4d62ebbf7" + integrity sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w== core-util-is@~1.0.0: version "1.0.3" @@ -2785,9 +2286,9 @@ core-util-is@~1.0.0: integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig-typescript-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.0.0.tgz#4a6d856c1281135197346a6f64dfa73a9cd9fefa" - integrity sha512-cVpucSc2Tf+VPwCCR7SZzmQTQkPbkk4O01yXsYqXBIbjE1bhwqSyAgYQkRK1un4i0OPziTleqFhdkmOc4RQ/9g== + version "4.3.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== cosmiconfig@^8.0.0: version "8.0.0" @@ -2854,39 +2355,20 @@ csv-stringify@^5.3.4: resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== - dependencies: - array-find-index "^1.0.1" - -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw== - dependencies: - number-is-nan "^1.0.0" - dargs@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - dayjs-plugin-utc@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/dayjs-plugin-utc/-/dayjs-plugin-utc-0.1.2.tgz#48e552407024143922d6499a40f6c765f8c93d03" integrity sha512-ExERH5o3oo6jFOdkvMP3gytTCQ9Ksi5PtylclJWghr7k7m3o2U5QrwtdiJkOxLOH4ghr0EKhpqGefzGz1VvVJg== dayjs@^1.8.16: - version "1.11.5" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" - integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== + version "1.11.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" @@ -2895,38 +2377,26 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.2.7: +debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -2938,21 +2408,21 @@ deep-is@^0.1.3: integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + version "4.3.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== default-require-extensions@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" - integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" + integrity sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw== dependencies: strip-bom "^4.0.0" define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== dependencies: has-property-descriptors "^1.0.0" object-keys "^1.1.1" @@ -2967,7 +2437,7 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== -detect-newline@^3.0.0, detect-newline@^3.1.0: +detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== @@ -3016,13 +2486,6 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw== - dependencies: - is-obj "^1.0.0" - dot-prop@^5.1.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -3030,14 +2493,6 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" -dotgitignore@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" - integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== - dependencies: - find-up "^3.0.0" - minimatch "^3.0.4" - dtrace-provider@~0.6: version "0.6.0" resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.6.0.tgz#0b078d5517937d873101452d9146737557b75e51" @@ -3045,11 +2500,6 @@ dtrace-provider@~0.6: dependencies: nan "^2.0.8" -duplexer3@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" - integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== - eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -3069,10 +2519,10 @@ ejs@^3.1.6: dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.202: - version "1.4.246" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.246.tgz#802132d1bbd3ff32ce82fcd6a6ed6ab59b4366dc" - integrity sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA== +electron-to-chromium@^1.4.284: + version "1.4.294" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.294.tgz#ad80317b85f0859a9454680fbc1c726fefa7e6fd" + integrity sha512-PuHZB3jEN7D8WPPjLmBQAsqQz8tWHlkkB4n0E2OYw8RwVdmBYV0Wn+rUFH8JqYyIRb4HQhhedgxlZL163wqLrQ== emittery@^0.13.1: version "0.13.1" @@ -3096,43 +2546,14 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.5: - version "1.20.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" - integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.2" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-abstract@^1.20.4: +es-abstract@^1.19.0, es-abstract@^1.20.4: version "1.21.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== @@ -3321,10 +2742,10 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.33.0: - version "8.33.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" - integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== +eslint@^8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -3367,14 +2788,14 @@ eslint@^8.33.0: text-table "^0.2.0" eslint@^8.7.0: - version "8.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" - integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== + version "8.33.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" + integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== dependencies: - "@eslint/eslintrc" "^1.3.1" - "@humanwhocodes/config-array" "^0.10.4" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -3390,15 +2811,15 @@ eslint@^8.7.0: fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" + glob-parent "^6.0.2" + globals "^13.19.0" grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -3412,9 +2833,9 @@ eslint@^8.7.0: text-table "^0.2.0" espree@^9.0.0, espree@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" @@ -3532,7 +2953,7 @@ extract-stack@^2.0.0: resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== -fancy-test@^2.0.11, fancy-test@^2.0.12: +fancy-test@^2.0.12: version "2.0.12" resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" integrity sha512-S7qVQNaViLTMzn71huZvrUCV59ldq+enQ1EQOkdNbl4q4Om97gwqbYKvZoglsnzCWRRFaFP+qHynpdqaLdiZqg== @@ -3585,9 +3006,9 @@ fast-xml-parser@^4.1.1: strnum "^1.0.5" fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -3611,9 +3032,9 @@ faye@^1.4.0: tunnel-agent "*" fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" @@ -3624,7 +3045,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0, figures@^3.1.0: +figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -3661,28 +3082,6 @@ find-cache-dir@^3.2.0: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -3743,14 +3142,6 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -from2@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - fromentries@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" @@ -3823,11 +3214,6 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -3843,19 +3229,10 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -3866,33 +3243,7 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - integrity sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg== - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== - -get-stream@3.0.0, get-stream@^3.0.0: +get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== @@ -3917,26 +3268,7 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -gh-got@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-7.1.0.tgz#f2b14eef375ce49b66d5f034a1c124f56dc5bcf0" - integrity sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ== - dependencies: - got "^8.0.0" - is-plain-obj "^1.1.0" - -git-raw-commits@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" - integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg== - dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" - -git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: +git-raw-commits@^2.0.0: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== @@ -3947,41 +3279,10 @@ git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: split2 "^3.0.0" through2 "^4.0.0" -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^2.0.0, git-semver-tags@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" - integrity sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA== - dependencies: - meow "^4.0.0" - semver "^6.0.0" - -git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== - dependencies: - ini "^1.3.2" - github-slugger@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" - integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== + version "1.5.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== glob-parent@^5.1.2: version "5.1.2" @@ -3990,7 +3291,7 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1, glob-parent@^6.0.2: +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -4032,17 +3333,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== - dependencies: - type-fest "^0.20.2" - globals@^13.19.0: - version "13.19.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" - integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" @@ -4086,29 +3380,6 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -got@^8.0.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" - integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== - dependencies: - "@sindresorhus/is" "^0.7.0" - cacheable-request "^2.1.1" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - into-stream "^3.1.0" - is-retry-allowed "^1.1.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - mimic-response "^1.0.0" - p-cancelable "^0.4.0" - p-timeout "^2.0.1" - pify "^3.0.0" - safe-buffer "^5.1.1" - timed-out "^4.0.1" - url-parse-lax "^3.0.0" - url-to-options "^1.0.1" - graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" @@ -4119,18 +3390,6 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -handlebars@^4.7.6, handlebars@^4.7.7: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -4170,23 +3429,11 @@ has-proto@^1.0.1: resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - has-tostringtag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" @@ -4222,7 +3469,7 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: +hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== @@ -4234,11 +3481,6 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-cache-semantics@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - http-call@^5.1.2: version "5.3.0" resolved "https://registry.yarnpkg.com/http-call/-/http-call-5.3.0.tgz#4ded815b13f423de176eb0942d69c43b25b148db" @@ -4296,12 +3538,7 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.1, 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.2.4: +ignore@^5.1.1, 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== @@ -4327,18 +3564,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg== - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== - indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -4357,7 +3582,7 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, 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.2, ini@^1.3.4: +ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -4400,21 +3625,12 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - internal-slot@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" - integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: - get-intrinsic "^1.1.3" + get-intrinsic "^1.2.0" has "^1.0.3" side-channel "^1.0.4" @@ -4423,14 +3639,6 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -into-stream@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" - integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ== - dependencies: - from2 "^2.1.1" - p-is-promise "^1.1.0" - is-array-buffer@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" @@ -4460,30 +3668,18 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-callable@^1.1.3, is-callable@^1.2.7: +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-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-core-module@^2.11.0: +is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" -is-core-module@^2.5.0, is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -4501,11 +3697,6 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -4550,27 +3741,17 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: +is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== @@ -4652,11 +3833,6 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== - is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -4709,9 +3885,9 @@ istanbul-lib-instrument@^4.0.0: semver "^6.3.0" istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -4757,14 +3933,6 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - jake@^10.8.5: version "10.8.5" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" @@ -4961,9 +4129,9 @@ jest-mock@^29.4.2: jest-util "^29.4.2" jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== jest-regex-util@^29.4.2: version "29.4.2" @@ -5138,9 +4306,9 @@ jest@^29.4.2: jest-cli "^29.4.2" js-sdsl@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" - integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== js-tokens@^4.0.0: version "4.0.0" @@ -5213,11 +4381,6 @@ jsforce@^2.0.0-beta.19: strip-ansi "^6.0.0" xml2js "^0.4.22" -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== - json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -5249,16 +4412,16 @@ json-stringify-safe@^5.0.1: integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^4.0.0: version "4.0.0" @@ -5308,13 +4471,6 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" -keyv@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" - integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== - dependencies: - json-buffer "3.0.0" - kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -5375,40 +4531,19 @@ lint-staged@^13.1.1: yaml "^2.1.3" listr2@^5.0.5: - version "5.0.6" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.6.tgz#3c61153383869ffaad08a8908d63edfde481dff8" - integrity sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag== + version "5.0.7" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.7.tgz#de69ccc4caf6bea7da03c74f7a2ffecf3904bd53" + integrity sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw== dependencies: cli-truncate "^2.1.0" colorette "^2.0.19" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.5.7" + rxjs "^7.8.0" through "^2.3.8" wrap-ansi "^7.0.0" -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - load-json-file@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" @@ -5419,22 +4554,6 @@ load-json-file@^6.2.0: strip-bom "^4.0.0" type-fest "^0.6.0" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -5449,11 +4568,6 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== - lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -5484,11 +4598,6 @@ lodash.isfunction@^3.0.9: resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== - lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -5499,7 +4608,7 @@ lodash.kebabcase@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== -lodash.merge@^4.0.2, lodash.merge@^4.6.0, lodash.merge@^4.6.2: +lodash.merge@^4.6.0, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -5519,21 +4628,6 @@ lodash.startcase@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== -lodash.template@^4.0.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.union@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -5549,7 +4643,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.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.2.1: +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5573,17 +4667,9 @@ loglevel-colored-level-prefix@^1.0.0: loglevel "^1.4.1" loglevel@^1.4.1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" - integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + version "1.8.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" + integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== lower-case@^2.0.2: version "2.0.2" @@ -5592,15 +4678,12 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lowercase-keys@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" @@ -5628,69 +4711,16 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ== - map-obj@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA== - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -5753,11 +4783,6 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -5771,9 +4796,9 @@ min-indent@^1.0.0: brace-expansion "^1.1.7" minimatch@^5.0.1, minimatch@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" @@ -5786,18 +4811,10 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mkdirp-classic@^0.5.2: version "0.5.3" @@ -5816,11 +4833,6 @@ mock-stdin@^1.0.0: resolved "https://registry.yarnpkg.com/mock-stdin/-/mock-stdin-1.0.0.tgz#efcfaf4b18077e14541742fd758b9cae4e5365ea" integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -5859,9 +4871,9 @@ mv@~2: rimraf "~2.4.0" nan@^2.0.8: - version "2.16.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" - integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== natural-compare-lite@^1.4.0: version "1.4.0" @@ -5883,11 +4895,6 @@ ncp@~2.0.0: resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== -neo-async@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -5912,9 +4919,9 @@ nock@^13.3.0: propagate "^2.0.0" node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== dependencies: whatwg-url "^5.0.0" @@ -5930,12 +4937,12 @@ node-preload@^0.2.1: dependencies: process-on-spawn "^1.0.0" -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.5.0: +normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -5960,15 +4967,6 @@ normalize-path@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -5990,11 +4988,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - nyc@^15.1.0: version "15.1.0" resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" @@ -6028,15 +5021,10 @@ nyc@^15.1.0: test-exclude "^6.0.0" yargs "^15.0.2" -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + 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-keys@^1.1.1: version "1.1.1" @@ -6120,29 +5108,12 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== -p-cancelable@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" - integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -6156,20 +5127,6 @@ p-limit@^3.0.2, p-limit@^3.1.0: dependencies: yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -6198,18 +5155,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-timeout@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" - integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -6240,18 +5185,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - integrity sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg== - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -6294,18 +5227,6 @@ path-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -6336,22 +5257,6 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -6372,28 +5277,6 @@ pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - pirates@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" @@ -6411,11 +5294,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== - prettier-eslint@^15.0.1: version "15.0.1" resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-15.0.1.tgz#2543a43e9acec2a9767ad6458165ce81f353db9c" @@ -6443,12 +5321,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -prettier@^2.8.4: +prettier@^2.5.1, prettier@^2.8.4: version "2.8.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== @@ -6509,11 +5382,11 @@ pump@^3.0.0: once "^1.3.1" punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -q@^1.4.1, q@^1.5.1: +q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== @@ -6537,15 +5410,6 @@ qqjs@^0.3.10: tmp "^0.1.0" write-json-file "^4.1.1" -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -6556,11 +5420,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA== - quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -6571,22 +5430,6 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -6596,24 +5439,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -6624,7 +5449,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -6633,7 +5458,7 @@ read-pkg@^5.2.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.5: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -6660,22 +5485,6 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g== - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw== - dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -6691,10 +5500,10 @@ redeyed@~2.1.0: dependencies: esprima "~4.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.11, 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.4.3: version "1.4.3" @@ -6717,13 +5526,6 @@ release-zalgo@^1.0.0: dependencies: es6-error "^4.0.1" -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== - dependencies: - is-finite "^1.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -6787,13 +5589,6 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -responselike@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== - dependencies: - lowercase-keys "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -6860,14 +5655,14 @@ rxjs@^6.4.0, rxjs@^6.6.0: dependencies: tslib "^1.9.0" -rxjs@^7.5.7: - version "7.6.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.6.0.tgz#361da5362b6ddaa691a2de0b4f2d32028f1eb5a2" - integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ== +rxjs@^7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== dependencies: tslib "^2.1.0" -safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.2.0: +safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -6901,17 +5696,12 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -semver-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== - -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.8, semver@^7.3.8: +semver@7.3.8, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== @@ -6923,13 +5713,6 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - sentence-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" @@ -7048,13 +5831,6 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== - dependencies: - is-plain-obj "^1.0.0" - sort-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" @@ -7113,13 +5889,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== - dependencies: - through2 "^2.0.2" - split2@^3.0.0: version "3.2.2" resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" @@ -7127,45 +5896,18 @@ split2@^3.0.0: dependencies: readable-stream "^3.0.0" -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" -standard-version@^9.5.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.5.0.tgz#851d6dcddf5320d5079601832aeb185dbf497949" - integrity sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q== - dependencies: - chalk "^2.4.2" - conventional-changelog "3.1.25" - conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "4.6.3" - conventional-recommended-bump "6.1.0" - detect-indent "^6.0.0" - detect-newline "^3.1.0" - dotgitignore "^2.1.0" - figures "^3.1.0" - find-up "^5.0.0" - git-semver-tags "^4.0.0" - semver "^7.1.1" - stringify-package "^1.0.1" - yargs "^16.0.0" - stdout-stderr@^0.1.9: version "0.1.13" resolved "https://registry.yarnpkg.com/stdout-stderr/-/stdout-stderr-0.1.13.tgz#54e3450f3d4c54086a49c0c7f8786a44d1844b6f" @@ -7174,11 +5916,6 @@ stdout-stderr@^0.1.9: debug "^4.1.1" strip-ansi "^6.0.0" -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== - string-argv@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -7218,15 +5955,6 @@ string-width@^5.0.0: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - 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" @@ -7236,15 +5964,6 @@ string.prototype.trimend@^1.0.6: define-properties "^1.1.4" es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - 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" @@ -7268,11 +5987,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-package@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" - integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== - strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -7308,13 +6022,6 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== - dependencies: - is-utf8 "^0.2.0" - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -7340,18 +6047,6 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA== - dependencies: - get-stdin "^4.0.1" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== - strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -7448,22 +6143,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -through2@^2.0.0, through2@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - through2@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -7471,16 +6150,11 @@ through2@^4.0.0: dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7527,16 +6201,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw== - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA== - trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -7581,17 +6245,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tslib@^2.5.0: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== @@ -7622,11 +6276,6 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -7668,26 +6317,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^4.5.4, typescript@^4.6.4: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== - -typescript@^4.9.5: +typescript@^4.5.4, typescript@^4.6.4, typescript@^4.9.5: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -uglify-js@^3.1.4: - version "3.17.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85" - integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg== - unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -7713,10 +6347,10 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -update-browserslist-db@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" - integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -7742,13 +6376,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== - dependencies: - prepend-http "^2.0.0" - url-parse@^1.5.3: version "1.5.10" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" @@ -7757,11 +6384,6 @@ url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== - util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -7982,11 +6604,6 @@ xmlcreate@^2.0.4: resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.4.tgz#0c5ab0f99cdd02a81065fa9cd8f8ae87624889be" integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" @@ -7997,17 +6614,22 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207" - integrity sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== -yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -8015,12 +6637,12 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.0: +yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -8042,31 +6664,18 @@ yargs@^15.0.2: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.0.0, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^17.0.0, yargs@^17.3.1: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^21.0.0" + yargs-parser "^21.1.1" yarn-upgrade-all@^0.7.2: version "0.7.2" From d49f16199b454d2ca4dd7f20fc718ef18e0616f2 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 14 Feb 2023 14:40:05 +0100 Subject: [PATCH 18/63] fix: windows path separator with micromatch (#448) * fix: windows path separator with micromatch * test: cleanup tab delimiter * build: upgrade dependencies * docs: explain path separator for includes file * fix: remove versioning strategy for github action --- .github/dependabot.yml | 1 - README.md | 2 + __tests__/unit/lib/utils/repoGitDiff.test.js | 12 +- package.json | 18 +- src/utils/repoGitDiff.js | 2 +- yarn.lock | 279 ++++++++----------- 6 files changed, 135 insertions(+), 179 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e39451ac..9b14d14a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,7 +4,6 @@ updates: directory: "/" schedule: interval: "daily" - versioning-strategy: increase - package-ecosystem: "npm" directory: "/" diff --git a/README.md b/README.md index a00170ba..4b316a9b 100644 --- a/README.md +++ b/README.md @@ -425,6 +425,8 @@ Consider the following: $ sfdx sgd:source:delta --from commit --include-destructive .destructiveinclude ``` +The path matchers in includes file must follow [`gitignore`](https://git-scm.com/docs/gitignore#:~:text=The%20slash%20/%20is%20used%20as%20the%20directory%20separator.) spec and accept only unix path separator `/` (even for windows system). + ### Scoping delta generation to a specific folder The `--source [-s]`parameter allows you to specify a folder to focus on, making any other folder ignored. diff --git a/__tests__/unit/lib/utils/repoGitDiff.test.js b/__tests__/unit/lib/utils/repoGitDiff.test.js index d8f6fb97..f6846b13 100644 --- a/__tests__/unit/lib/utils/repoGitDiff.test.js +++ b/__tests__/unit/lib/utils/repoGitDiff.test.js @@ -322,7 +322,7 @@ describe(`test if repoGitDiff`, () => { globalMetadata ) const work = await repoGitDiff.getLines() - const expected = ['A force-app/main/default/lwc/jsconfig.json'] + const expected = [`A${TAB}force-app/main/default/lwc/jsconfig.json`] expect(work).toStrictEqual(expected) }) @@ -339,7 +339,7 @@ describe(`test if repoGitDiff`, () => { globalMetadata ) const work = await repoGitDiff.getLines() - const expected = ['D force-app/main/default/lwc/jsconfig.json'] + const expected = [`D${TAB}force-app/main/default/lwc/jsconfig.json`] expect(work).toStrictEqual(expected) }) @@ -361,8 +361,8 @@ describe(`test if repoGitDiff`, () => { const work = await repoGitDiff.getLines() //should be empty const expected = [ - 'A force-app/main/default/lwc/jsconfig.json', - 'A force-app/main/default/staticresources/jsconfig.json', + `A${TAB}force-app/main/default/lwc/jsconfig.json`, + `A${TAB}force-app/main/default/staticresources/jsconfig.json`, ] expect(work).toStrictEqual(expected) }) @@ -384,8 +384,8 @@ describe(`test if repoGitDiff`, () => { ) const work = await repoGitDiff.getLines() const expected = [ - `D force-app/main/default/lwc/jsconfig.json`, - 'D force-app/main/default/staticresources/jsconfig.json', + `D${TAB}force-app/main/default/lwc/jsconfig.json`, + `D${TAB}force-app/main/default/staticresources/jsconfig.json`, ] expect(work).toStrictEqual(expected) }) diff --git a/package.json b/package.json index 70b9b4e8..bd055e76 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@oclif/errors": "^1.3.6", "@salesforce/command": "^5.3.0", "@salesforce/core": "^3.33.1", - "fast-xml-parser": "^4.1.1", + "fast-xml-parser": "^4.1.2", "fs-extra": "^11.1.0", "ignore": "^5.2.4", "micromatch": "^4.0.5", @@ -62,27 +62,27 @@ "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { - "@commitlint/cli": "^17.4.2", - "@commitlint/config-angular": "^17.4.2", - "@commitlint/prompt-cli": "^17.4.2", + "@commitlint/cli": "^17.4.3", + "@commitlint/config-angular": "^17.4.3", + "@commitlint/prompt-cli": "^17.4.3", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.4", - "@oclif/test": "^2.3.5", + "@oclif/test": "^2.3.6", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.13.0", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", + "@typescript-eslint/eslint-plugin": "^5.52.0", + "@typescript-eslint/parser": "^5.52.0", "eslint": "^8.34.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^39.8.0", + "eslint-plugin-jsdoc": "^40.0.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.4.2", - "lint-staged": "^13.1.1", + "lint-staged": "^13.1.2", "nyc": "^15.1.0", "prettier": "^2.8.4", "prettier-eslint": "^15.0.1", diff --git a/src/utils/repoGitDiff.js b/src/utils/repoGitDiff.js index 1cf59f06..f0e01fa9 100644 --- a/src/utils/repoGitDiff.js +++ b/src/utils/repoGitDiff.js @@ -140,7 +140,7 @@ class RepoGitDiff { static _addIncludes(lines, setup) { return setup.flatMap(obj => micromatch(lines, obj.content).map( - include => `${obj.prefix} ${include}` + includedLine => `${obj.prefix}${TAB}${treatPathSep(includedLine)}` ) ) } diff --git a/yarn.lock b/yarn.lock index 15580df8..12be3dca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -313,13 +313,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.2.tgz#8600c83abb7e84191fd59528fc14f436496fb00b" - integrity sha512-0rPGJ2O1owhpxMIXL9YJ2CgPkdrFLKZElIZHXDN8L8+qWK1DGH7Q7IelBT1pchXTYTuDlqkOTdh//aTvT3bSUA== +"@commitlint/cli@^17.4.3": + version "17.4.3" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.3.tgz#49583a7946b4030e7e6d9caafac44307835fb05e" + integrity sha512-IPTS7AZuBHgD0gl24El8HwuDM9zJN9JLa5KmZUQoFD1BQeGGdzAYJOnAr85CeJWpTDok0BGHDL0+4odnH0iTyA== dependencies: "@commitlint/format" "^17.4.0" - "@commitlint/lint" "^17.4.2" + "@commitlint/lint" "^17.4.3" "@commitlint/load" "^17.4.2" "@commitlint/read" "^17.4.2" "@commitlint/types" "^17.4.0" @@ -334,10 +334,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/config-angular-type-enum/-/config-angular-type-enum-17.4.0.tgz#5b6c882f192d1c7f4b0f42526637295434179d7f" integrity sha512-qbmfOfVqQHMKfc6CxS0A9b7+EFsOyEBoh4+i8Qa05uk8YhT/zY1CeIXK5V3wwemMDcHUegyL/ZnwCvWD7g8GxA== -"@commitlint/config-angular@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/config-angular/-/config-angular-17.4.2.tgz#26265570fb9324eeceb642e4e803a922a77e0336" - integrity sha512-14gEwTZ6wcpbdE0lNkJVeeafZd72occHwG9Fi6JEVQQ/nOi9XBiJRFWPRQObXlb8UZCh0q9xgIqeJTue6toypQ== +"@commitlint/config-angular@^17.4.3": + version "17.4.3" + resolved "https://registry.yarnpkg.com/@commitlint/config-angular/-/config-angular-17.4.3.tgz#0b27607eba541ce51d6277ed06efcb56ec1666bb" + integrity sha512-3EdQsY5nX88zxYShtVw3SjsKp6ktnGW5kCzX/xRz3jD1f4s0xpqRtcLhPQM3L14pgVrbe7V1JlDTDX2PIe7Xeg== dependencies: "@commitlint/config-angular-type-enum" "^17.4.0" @@ -382,14 +382,14 @@ "@commitlint/types" "^17.4.0" semver "7.3.8" -"@commitlint/lint@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.2.tgz#1277cb4d5395e9d6c39cbc351984bac9dcc6b7cd" - integrity sha512-HcymabrdBhsDMNzIv146+ZPNBPBK5gMNsVH+el2lCagnYgCi/4ixrHooeVyS64Fgce2K26+MC7OQ4vVH8wQWVw== +"@commitlint/lint@^17.4.3": + version "17.4.3" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.3.tgz#20be03992b33edd26ba8d07e210c08173069371e" + integrity sha512-GnPsqEYmXIB/MaBhRMzkiDJWyjuLrKad4xoxKO4N6Kc19iqjR4DPc/bl2dxeW9kUmtrAtefOzIEzJAevpA5y2w== dependencies: "@commitlint/is-ignored" "^17.4.2" "@commitlint/parse" "^17.4.2" - "@commitlint/rules" "^17.4.2" + "@commitlint/rules" "^17.4.3" "@commitlint/types" "^17.4.0" "@commitlint/load@^17.4.2": @@ -426,19 +426,19 @@ conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/prompt-cli@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.2.tgz#9430e96db65189f03a894c4c31d0307e46697e5c" - integrity sha512-z9fq366RIdPrcv9UJtZN8E6z4gCDSKm8lQByUGnbHyfKsU85ilhhlVfrCiiHvT6leBmWBdFlOvpuKIGtYno2mw== +"@commitlint/prompt-cli@^17.4.3": + version "17.4.3" + resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.3.tgz#46468d1df0a380c4278db25420b9175624b4d811" + integrity sha512-f7JzBorHReLQX3DVlEcsSR9oJSUqHcNanAA7MJISA7NiSxJx2GuhXP1kkld7HqHPx4H/w272piyGMXx2jaHnmQ== dependencies: - "@commitlint/prompt" "^17.4.2" + "@commitlint/prompt" "^17.4.3" execa "^5.0.0" inquirer "^6.5.2" -"@commitlint/prompt@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.2.tgz#a2aad805ba5b0062b9f911c9c82367159a0a1853" - integrity sha512-I+Sjzep5sSFDz23ocsIj2cD8SwuRQhCgbzSARl+thAqCK1P/+S9A6UceuTmqLzkVYFHP61bz2BaRPd+e/dfpRQ== +"@commitlint/prompt@^17.4.3": + version "17.4.3" + resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.3.tgz#4e4c2b65aba77a8a748dd8f6424bada19e6b72ff" + integrity sha512-l/h/THEIo4AzcTUU9pL+98QRVOmUx0VKr/Nl1J0IZe/RnJ5+NCPlwQWxpyaN7YPUhwHWAyDriuxuATu1u8XRsw== dependencies: "@commitlint/ensure" "^17.4.0" "@commitlint/load" "^17.4.2" @@ -469,10 +469,10 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.2.tgz#cdf203bc82af979cb319210ef9215cb1de216a9b" - integrity sha512-OGrPsMb9Fx3/bZ64/EzJehY9YDSGWzp81Pj+zJiY+r/NSgJI3nUYdlS37jykNIugzazdEXfMtQ10kmA+Kx2pZQ== +"@commitlint/rules@^17.4.3": + version "17.4.3" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.3.tgz#e5e7bf472102447a283b7643ca7240d757a72bb7" + integrity sha512-xHReDfE3Z+O9p1sXeEhPRSk4FifBsC4EbXzvQ4aa0ykQe+n/iZDd4CrFC/Oiv2K9BU4ZnFHak30IbMLa4ks1Rw== dependencies: "@commitlint/ensure" "^17.4.0" "@commitlint/message" "^17.4.2" @@ -908,10 +908,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.0.8": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.0.11.tgz#3d5385196b9a6bfff8df26caf6baa58e53b15d33" - integrity sha512-BMKkcgKhrn0RfZVaXObpadO80C3hCM9jHaRHwQEb0G/ASo34YAjKXt8hX027Mc4XBmsYeIutJrEMx9GZr0v1Hw== +"@oclif/core@^2.0.8", "@oclif/core@^2.1.2": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.1.4.tgz#536cf9d2367ba96c625076588b0cbccf3341829c" + integrity sha512-8rPS/gsjLgWp//nraRs5/yf7EkueFHBLRTMUli3yTu88XrQ2czbXIP2HsF2rxmtCqUUfXUTllHfr8OzqBs0Dcw== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -919,7 +919,7 @@ cardinal "^2.1.1" chalk "^4.1.2" clean-stack "^3.0.1" - cli-progress "^3.10.0" + cli-progress "^3.11.2" debug "^4.3.4" ejs "^3.1.6" fs-extra "^9.1.0" @@ -1047,12 +1047,12 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21", "@oclif/test@^2.3.5": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.5.tgz#270ef891c3491dff4cc29df756deb776291602e5" - integrity sha512-LxmiatZV7Ph9K2F0Rs0u2d7BODxbfL7qfHE94HwqzaW8uRe20JbGMxH4iGBHFE5Gdod6XIV3o3jHyPXVlz7YZA== +"@oclif/test@^2.2.21", "@oclif/test@^2.3.6": + version "2.3.6" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.6.tgz#b3c7594f04c2eb55fc6b6f8e61d825500debb85a" + integrity sha512-n1DGbLzGrrfn/Nm2f8829RcQ2iOd9EXDZxx0U9WswpJS75P4N9Py4tYBhfX+wGU7CaJDfYxnqQHB0YuRYDBwrw== dependencies: - "@oclif/core" "^2.0.8" + "@oclif/core" "^2.1.2" fancy-test "^2.0.12" "@oozcitak/dom@1.15.10": @@ -1242,9 +1242,9 @@ "@types/node" "*" "@types/eslint@^8.4.2": - version "8.21.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.0.tgz#21724cfe12b96696feafab05829695d4d7bd7c48" - integrity sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA== + version "8.21.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.1.tgz#110b441a210d53ab47795124dbc3e9bb993d1e7c" + integrity sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -1372,14 +1372,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a" - integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ== +"@typescript-eslint/eslint-plugin@^5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" + integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/type-utils" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/type-utils" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1388,72 +1388,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" - integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== +"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" + integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" - integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ== +"@typescript-eslint/scope-manager@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" + integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988" - integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ== +"@typescript-eslint/type-utils@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" + integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== dependencies: - "@typescript-eslint/typescript-estree" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" - integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== +"@typescript-eslint/types@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" + integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== -"@typescript-eslint/typescript-estree@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" - integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA== +"@typescript-eslint/typescript-estree@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" + integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47" - integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw== +"@typescript-eslint/utils@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" + integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" - integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ== +"@typescript-eslint/visitor-keys@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" + integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== dependencies: - "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1931,9 +1931,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001451" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz#2e197c698fc1373d63e1406d6607ea4617c613f1" - integrity sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w== + version "1.0.30001452" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001452.tgz#dff7b8bb834b3a91808f0a9ff0453abb1fbba02a" + integrity sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w== capital-case@^1.0.4: version "1.0.4" @@ -2014,9 +2014,9 @@ chownr@^1.1.1: integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== ci-info@^3.2.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" - integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== cjs-module-lexer@^1.0.0: version "1.2.2" @@ -2049,7 +2049,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-progress@^3.10.0, cli-progress@^3.4.0: +cli-progress@^3.10.0, cli-progress@^3.11.2, cli-progress@^3.4.0: version "3.11.2" resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.11.2.tgz#f8c89bd157e74f3f2c43bcfb3505670b4d48fc77" integrity sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA== @@ -2271,14 +2271,14 @@ convert-source-map@^2.0.0: integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== core-js-pure@^3.25.1: - version "3.27.2" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.2.tgz#47e9cc96c639eefc910da03c3ece26c5067c7553" - integrity sha512-Cf2jqAbXgWH3VVzjyaaFkY1EBazxugUepGymDoeteyYr9ByX51kD2jdHZlsEF/xnJMyN3Prua7mQuzwMg6Zc9A== + version "3.28.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.28.0.tgz#4ef2888475b6c856ef6f5aeef8b4f618b76ad048" + integrity sha512-DSOVleA9/v3LNj/vFxAPfUHttKTzrB2RXhAPvR5TPXn4vrra3Z2ssytvRyt8eruJwAfwAiFADEbrjcRdcvPLQQ== core-js@^3.6.4: - version "3.27.2" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.2.tgz#85b35453a424abdcacb97474797815f4d62ebbf7" - integrity sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w== + version "3.28.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" + integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== core-util-is@~1.0.0: version "1.0.3" @@ -2520,9 +2520,9 @@ ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.4.284: - version "1.4.294" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.294.tgz#ad80317b85f0859a9454680fbc1c726fefa7e6fd" - integrity sha512-PuHZB3jEN7D8WPPjLmBQAsqQz8tWHlkkB4n0E2OYw8RwVdmBYV0Wn+rUFH8JqYyIRb4HQhhedgxlZL163wqLrQ== + version "1.4.295" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz#911d5df67542bf7554336142eb302c5ec90bba66" + integrity sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw== emittery@^0.13.1: version "0.13.1" @@ -2689,10 +2689,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^39.8.0: - version "39.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.8.0.tgz#9ca38ae31fb6e6de6268c5c041fa175fe1190469" - integrity sha512-ZwGmk0jJoJD/NILeDRBKrpq/PCgddUdATjeU5JGTqTzKsOWfeaHOnaAwZjuOh7T8EB4hSoZ/9pR4+Qns2ldQVg== +eslint-plugin-jsdoc@^40.0.0: + version "40.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.0.tgz#7f433757aa91721e4b88a527dc17ac0437c3c075" + integrity sha512-LOPyIu1vAVvGPkye3ci0moj0iNf3f8bmin6do2DYDj+77NRXWnkmhKRy8swWsatUs3mB5jYPWPUsFg9pyfEiyA== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -2742,7 +2742,7 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.34.0: +eslint@^8.34.0, eslint@^8.7.0: version "8.34.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== @@ -2787,51 +2787,6 @@ eslint@^8.34.0: strip-json-comments "^3.1.0" text-table "^0.2.0" -eslint@^8.7.0: - version "8.33.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" - integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - espree@^9.0.0, espree@^9.4.0: version "9.4.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" @@ -2998,10 +2953,10 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.1.tgz#28c878b7f1eb4555fa898f1c715adf9d4007306e" - integrity sha512-4gAP5PvNyrqePBOIIcpaEeE+nKBry1n6qTQiJsE59sLP0OC+YwhU7/XVmLLEMexbiluFQX1yEYm82Pk9B7xEiw== +fast-xml-parser@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz#5a98c18238d28a57bbdfa9fe4cda01211fff8f4a" + integrity sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg== dependencies: strnum "^1.0.5" @@ -4511,10 +4466,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.1.tgz#db61636850660e291a6885da65d8e79850bd8307" - integrity sha512-LLJLO0Kdbcv2a+CvSF4p1M7jBZOajKSMpBUvyR8+bXccsqPER0/NxTFQSpNHjqwV9kM3tkHczYerTB5wI+bksQ== +lint-staged@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.2.tgz#443636a0cfd834d5518d57d228130dc04c83d6fb" + integrity sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w== dependencies: cli-truncate "^3.1.0" colorette "^2.0.19" From 2bf07376af15cca6595a8cf9d1a5ce0eeb32301c Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 14 Feb 2023 16:31:29 +0100 Subject: [PATCH 19/63] feat: bump Salesforce api version 57 (#451) --- package.json | 2 +- src/metadata/v57.json | 1468 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1469 insertions(+), 1 deletion(-) create mode 100644 src/metadata/v57.json diff --git a/package.json b/package.json index bd055e76..e004e19f 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "postpack": "rm -f oclif.manifest.json && prettier --write README.md", "prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme", "prepare": "husky install", - "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname && yarn pack", + "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname", "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { diff --git a/src/metadata/v57.json b/src/metadata/v57.json new file mode 100644 index 00000000..3b4006ba --- /dev/null +++ b/src/metadata/v57.json @@ -0,0 +1,1468 @@ +[ + { + "directoryName": "actionPlanTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "apt", + "xmlName": "ActionPlanTemplate" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, + { + "directoryName": "relationshipGraphDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "relationshipGraphDefinition", + "xmlName": "RelationshipGraphDefinition" + }, + { + "directoryName": "omniDataTransforms", + "inFolder": false, + "metaFile": false, + "suffix": "rpt", + "xmlName": "OmniDataTransform" + }, + { + "directoryName": "OmniInteractionConfig", + "inFolder": false, + "metaFile": false, + "suffix": "omniInteractionConfig", + "xmlName": "OmniInteractionConfig" + }, + { + "directoryName": "omniIntegrationProcedures", + "inFolder": false, + "metaFile": false, + "suffix": "oip", + "xmlName": "OmniIntegrationProcedure" + }, + { + "directoryName": "omniScripts", + "inFolder": false, + "metaFile": false, + "suffix": "os", + "xmlName": "OmniScript" + }, + { + "directoryName": "omniUiCard", + "inFolder": false, + "metaFile": false, + "suffix": "ouc", + "xmlName": "OmniUiCard" + }, + { + "directoryName": "customindex", + "inFolder": false, + "metaFile": false, + "suffix": "indx", + "xmlName": "CustomIndex " + }, + { + "directoryName": "batchCalcJobDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "batchCalcJobDefinition", + "xmlName": "BatchCalcJobDefinition" + }, + { + "directoryName": "batchProcessJobDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "batchProcessJobDefinition", + "xmlName": "BatchProcessJobDefinition" + }, + { + "directoryName": "installedPackages", + "inFolder": false, + "metaFile": false, + "suffix": "installedPackage", + "xmlName": "InstalledPackage" + }, + { + "childXmlNames": "CustomLabel", + "directoryName": "labels", + "inFolder": false, + "metaFile": false, + "suffix": "labels", + "xmlName": "CustomLabels" + }, + { + "directoryName": "staticresources", + "inFolder": false, + "metaFile": true, + "suffix": "resource", + "xmlName": "StaticResource" + }, + { + "directoryName": "scontrols", + "inFolder": false, + "metaFile": true, + "suffix": "scf", + "xmlName": "Scontrol" + }, + { + "directoryName": "certs", + "inFolder": false, + "metaFile": true, + "suffix": "crt", + "xmlName": "Certificate" + }, + { + "directoryName": "messageChannels", + "inFolder": false, + "metaFile": false, + "suffix": "messageChannel", + "xmlName": "LightningMessageChannel" + }, + { + "directoryName": "aura", + "inFolder": false, + "metaFile": false, + "xmlName": "AuraDefinitionBundle" + }, + { + "directoryName": "lwc", + "inFolder": false, + "metaFile": false, + "xmlName": "LightningComponentBundle" + }, + { + "directoryName": "components", + "inFolder": false, + "metaFile": true, + "suffix": "component", + "xmlName": "ApexComponent" + }, + { + "directoryName": "pages", + "inFolder": false, + "metaFile": true, + "suffix": "page", + "xmlName": "ApexPage" + }, + { + "directoryName": "queues", + "inFolder": false, + "metaFile": false, + "suffix": "queue", + "xmlName": "Queue" + }, + { + "directoryName": "CaseSubjectParticles", + "inFolder": false, + "metaFile": false, + "suffix": "CaseSubjectParticle", + "xmlName": "CaseSubjectParticle" + }, + { + "directoryName": "dataSources", + "inFolder": false, + "metaFile": false, + "suffix": "dataSource", + "xmlName": "ExternalDataSource" + }, + { + "directoryName": "namedCredentials", + "inFolder": false, + "metaFile": false, + "suffix": "namedCredential", + "xmlName": "NamedCredential" + }, + { + "directoryName": "externalCredentials", + "inFolder": false, + "metaFile": false, + "suffix": "externalCredential", + "xmlName": "ExternalCredential" + }, + { + "directoryName": "externalServiceRegistrations", + "inFolder": false, + "metaFile": false, + "suffix": "externalServiceRegistration", + "xmlName": "ExternalServiceRegistration" + }, + { + "directoryName": "roles", + "inFolder": false, + "metaFile": false, + "suffix": "role", + "xmlName": "Role" + }, + { + "directoryName": "groups", + "inFolder": false, + "metaFile": false, + "suffix": "group", + "xmlName": "Group" + }, + { + "directoryName": "globalValueSets", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSet", + "xmlName": "GlobalValueSet" + }, + { + "directoryName": "standardValueSets", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSet", + "xmlName": "StandardValueSet" + }, + { + "directoryName": "customPermissions", + "inFolder": false, + "metaFile": false, + "suffix": "customPermission", + "xmlName": "CustomPermission" + }, + { + "childXmlNames": [ + "CustomField", + "Index", + "BusinessProcess", + "RecordType", + "CompactLayout", + "WebLink", + "ValidationRule", + "SharingReason", + "ListView", + "FieldSet" + ], + "directoryName": "objects", + "inFolder": false, + "metaFile": false, + "suffix": "object", + "xmlName": "CustomObject" + }, + { + "directoryName": "businessProcesses", + "inFolder": false, + "metaFile": false, + "suffix": "businessProcess", + "xmlName": "BusinessProcess" + }, + { + "directoryName": "compactLayouts", + "inFolder": false, + "metaFile": false, + "suffix": "compactLayout", + "xmlName": "CompactLayout" + }, + { + "directoryName": "fields", + "inFolder": false, + "metaFile": false, + "suffix": "field", + "xmlName": "CustomField" + }, + { + "directoryName": "fieldSets", + "inFolder": false, + "metaFile": false, + "suffix": "fieldSet", + "xmlName": "FieldSet" + }, + { + "directoryName": "indexes", + "inFolder": false, + "metaFile": false, + "suffix": "index", + "xmlName": "Index" + }, + { + "directoryName": "listViews", + "inFolder": false, + "metaFile": false, + "suffix": "listView", + "xmlName": "ListView" + }, + { + "directoryName": "recordTypes", + "inFolder": false, + "metaFile": false, + "suffix": "recordType", + "xmlName": "RecordType" + }, + { + "directoryName": "sharingReasons", + "inFolder": false, + "metaFile": false, + "suffix": "sharingReason", + "xmlName": "SharingReason" + }, + { + "directoryName": "validationRules", + "inFolder": false, + "metaFile": false, + "suffix": "validationRule", + "xmlName": "ValidationRule" + }, + { + "directoryName": "webLinks", + "inFolder": false, + "metaFile": false, + "suffix": "webLink", + "xmlName": "WebLink" + }, + { + "directoryName": "reportTypes", + "inFolder": false, + "metaFile": false, + "suffix": "reportType", + "xmlName": "ReportType" + }, + { + "directoryName": "reports", + "inFolder": true, + "metaFile": false, + "suffix": "report", + "xmlName": "Report" + }, + { + "directoryName": "dashboards", + "inFolder": true, + "metaFile": false, + "suffix": "dashboard", + "xmlName": "Dashboard" + }, + { + "directoryName": "analyticSnapshots", + "inFolder": false, + "metaFile": false, + "suffix": "snapshot", + "xmlName": "AnalyticSnapshot" + }, + { + "directoryName": "feedFilters", + "inFolder": false, + "metaFile": false, + "suffix": "feedFilter", + "xmlName": "CustomFeedFilter" + }, + { + "directoryName": "layouts", + "inFolder": false, + "metaFile": false, + "suffix": "layout", + "xmlName": "Layout" + }, + { + "directoryName": "documents", + "inFolder": true, + "metaFile": true, + "suffix": "document", + "xmlName": "Document" + }, + { + "directoryName": "weblinks", + "inFolder": false, + "metaFile": false, + "suffix": "weblink", + "xmlName": "CustomPageWebLink" + }, + { + "directoryName": "letterhead", + "inFolder": false, + "metaFile": false, + "suffix": "letter", + "xmlName": "Letterhead" + }, + { + "directoryName": "email", + "inFolder": true, + "metaFile": true, + "suffix": "email", + "xmlName": "EmailTemplate" + }, + { + "directoryName": "quickActions", + "inFolder": false, + "metaFile": false, + "suffix": "quickAction", + "xmlName": "QuickAction" + }, + { + "directoryName": "flexipages", + "inFolder": false, + "metaFile": false, + "suffix": "flexipage", + "xmlName": "FlexiPage" + }, + { + "directoryName": "tabs", + "inFolder": false, + "metaFile": false, + "suffix": "tab", + "xmlName": "CustomTab" + }, + { + "directoryName": "customApplicationComponents", + "inFolder": false, + "metaFile": false, + "suffix": "customApplicationComponent", + "xmlName": "CustomApplicationComponent" + }, + { + "directoryName": "applications", + "inFolder": false, + "metaFile": false, + "suffix": "app", + "xmlName": "CustomApplication" + }, + { + "directoryName": "portals", + "inFolder": false, + "metaFile": false, + "suffix": "portal", + "xmlName": "Portal" + }, + { + "directoryName": "customMetadata", + "inFolder": false, + "metaFile": false, + "suffix": "md", + "xmlName": "CustomMetadata" + }, + { + "directoryName": "flows", + "inFolder": false, + "metaFile": false, + "suffix": "flow", + "xmlName": "Flow" + }, + { + "directoryName": "flowtests", + "inFolder": false, + "metaFile": false, + "suffix": "flowtest", + "xmlName": "FlowTest" + }, + { + "directoryName": "flowDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "flowDefinition", + "xmlName": "FlowDefinition" + }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowFlowAction", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, + { + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", + "inFolder": false, + "metaFile": false, + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "postTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "postTemplate", + "xmlName": "PostTemplate" + }, + { + "directoryName": "approvalProcesses", + "inFolder": false, + "metaFile": false, + "suffix": "approvalProcess", + "xmlName": "ApprovalProcess" + }, + { + "directoryName": "homePageComponents", + "inFolder": false, + "metaFile": false, + "suffix": "homePageComponent", + "xmlName": "HomePageComponent" + }, + { + "directoryName": "homePageLayouts", + "inFolder": false, + "metaFile": false, + "suffix": "homePageLayout", + "xmlName": "HomePageLayout" + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation" + }, + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation" + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation" + }, + { + "directoryName": "classes", + "inFolder": false, + "metaFile": true, + "suffix": "cls", + "xmlName": "ApexClass" + }, + { + "directoryName": "triggers", + "inFolder": false, + "metaFile": true, + "suffix": "trigger", + "xmlName": "ApexTrigger" + }, + { + "directoryName": "testSuites", + "inFolder": false, + "metaFile": false, + "suffix": "testSuite", + "xmlName": "ApexTestSuite" + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile" + }, + { + "directoryName": "permissionsets", + "inFolder": false, + "metaFile": false, + "suffix": "permissionset", + "xmlName": "PermissionSet" + }, + { + "directoryName": "mutingpermissionsets", + "inFolder": false, + "metaFile": false, + "suffix": "mutingpermissionset", + "xmlName": "MutingPermissionSet" + }, + { + "directoryName": "permissionsetgroups", + "inFolder": false, + "metaFile": false, + "suffix": "permissionsetgroup", + "xmlName": "PermissionSetGroup" + }, + { + "directoryName": "profilePasswordPolicies", + "inFolder": false, + "metaFile": false, + "suffix": "profilePasswordPolicy", + "xmlName": "ProfilePasswordPolicy" + }, + { + "directoryName": "profileSessionSettings", + "inFolder": false, + "metaFile": false, + "suffix": "profileSessionSetting", + "xmlName": "ProfileSessionSetting" + }, + { + "directoryName": "myDomainDiscoverableLogins", + "inFolder": false, + "metaFile": false, + "suffix": "myDomainDiscoverableLogin", + "xmlName": "MyDomainDiscoverableLogin" + }, + { + "directoryName": "oauthcustomscopes", + "inFolder": false, + "metaFile": false, + "suffix": "oauthcustomscope", + "xmlName": "OauthCustomScope" + }, + { + "directoryName": "datacategorygroups", + "inFolder": false, + "metaFile": false, + "suffix": "datacategorygroup", + "xmlName": "DataCategoryGroup" + }, + { + "directoryName": "remoteSiteSettings", + "inFolder": false, + "metaFile": false, + "suffix": "remoteSite", + "xmlName": "RemoteSiteSetting" + }, + { + "directoryName": "cspTrustedSites", + "inFolder": false, + "metaFile": false, + "suffix": "cspTrustedSite", + "xmlName": "CspTrustedSite" + }, + { + "directoryName": "redirectWhitelistUrls", + "inFolder": false, + "metaFile": false, + "suffix": "redirectWhitelistUrl", + "xmlName": "RedirectWhitelistUrl" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "duplicateRules", + "inFolder": false, + "metaFile": false, + "suffix": "duplicateRule", + "xmlName": "DuplicateRule" + }, + { + "directoryName": "cleanDataServices", + "inFolder": false, + "metaFile": false, + "suffix": "cleanDataService", + "xmlName": "CleanDataService" + }, + { + "directoryName": "skills", + "inFolder": false, + "metaFile": false, + "suffix": "skill", + "xmlName": "Skill" + }, + { + "directoryName": "serviceChannels", + "inFolder": false, + "metaFile": false, + "suffix": "serviceChannel", + "xmlName": "ServiceChannel" + }, + { + "directoryName": "queueRoutingConfigs", + "inFolder": false, + "metaFile": false, + "suffix": "queueRoutingConfig", + "xmlName": "QueueRoutingConfig" + }, + { + "directoryName": "servicePresenceStatuses", + "inFolder": false, + "metaFile": false, + "suffix": "servicePresenceStatus", + "xmlName": "ServicePresenceStatus" + }, + { + "directoryName": "presenceDeclineReasons", + "inFolder": false, + "metaFile": false, + "suffix": "presenceDeclineReason", + "xmlName": "PresenceDeclineReason" + }, + { + "directoryName": "presenceUserConfigs", + "inFolder": false, + "metaFile": false, + "suffix": "presenceUserConfig", + "xmlName": "PresenceUserConfig" + }, + { + "directoryName": "workSkillRoutings", + "inFolder": false, + "metaFile": false, + "suffix": "workSkillRouting", + "xmlName": "WorkSkillRouting" + }, + { + "directoryName": "authproviders", + "inFolder": false, + "metaFile": false, + "suffix": "authprovider", + "xmlName": "AuthProvider" + }, + { + "directoryName": "eclair", + "inFolder": false, + "metaFile": true, + "suffix": "geodata", + "xmlName": "EclairGeoData" + }, + { + "directoryName": "channelLayouts", + "inFolder": false, + "metaFile": false, + "suffix": "channelLayout", + "xmlName": "ChannelLayout" + }, + { + "directoryName": "contentassets", + "inFolder": false, + "metaFile": true, + "suffix": "asset", + "xmlName": "ContentAsset" + }, + { + "directoryName": "sites", + "inFolder": false, + "metaFile": false, + "suffix": "site", + "xmlName": "CustomSite" + }, + { + "childXmlNames": [ + "SharingOwnerRule", + "SharingCriteriaRule", + "SharingGuestRule" + ], + "directoryName": "sharingRules", + "inFolder": false, + "metaFile": false, + "suffix": "sharingRules", + "xmlName": "SharingRules" + }, + { + "directoryName": "sharingSets", + "inFolder": false, + "metaFile": false, + "suffix": "sharingSet", + "xmlName": "SharingSet" + }, + { + "directoryName": "iframeWhiteListUrlSettings", + "inFolder": false, + "metaFile": false, + "suffix": "iframeWhiteListUrlSettings", + "xmlName": "IframeWhiteListUrlSettings" + }, + { + "directoryName": "communities", + "inFolder": false, + "metaFile": false, + "suffix": "community", + "xmlName": "Community" + }, + { + "directoryName": "ChatterExtensions", + "inFolder": false, + "metaFile": false, + "suffix": "ChatterExtension", + "xmlName": "ChatterExtension" + }, + { + "directoryName": "platformEventChannels", + "inFolder": false, + "metaFile": false, + "suffix": "platformEventChannel", + "xmlName": "PlatformEventChannel" + }, + { + "directoryName": "platformEventChannelMembers", + "inFolder": false, + "metaFile": false, + "suffix": "platformEventChannelMember", + "xmlName": "PlatformEventChannelMember" + }, + { + "directoryName": "PlatformEventSubscriberConfigs", + "inFolder": false, + "metaFile": false, + "suffix": "platformEventSubscriberConfig", + "xmlName": "PlatformEventSubscriberConfig" + }, + { + "directoryName": "callCenters", + "inFolder": false, + "metaFile": false, + "suffix": "callCenter", + "xmlName": "CallCenter" + }, + { + "directoryName": "milestoneTypes", + "inFolder": false, + "metaFile": false, + "suffix": "milestoneType", + "xmlName": "MilestoneType" + }, + { + "directoryName": "entitlementProcesses", + "inFolder": false, + "metaFile": false, + "suffix": "entitlementProcess", + "xmlName": "EntitlementProcess" + }, + { + "directoryName": "entitlementTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "entitlementTemplate", + "xmlName": "EntitlementTemplate" + }, + { + "directoryName": "timeSheetTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "timeSheetTemplate", + "xmlName": "TimeSheetTemplate" + }, + { + "directoryName": "appointmentSchedulingPolicies", + "inFolder": false, + "metaFile": false, + "suffix": "policy", + "xmlName": "AppointmentSchedulingPolicy" + }, + { + "directoryName": "Canvases", + "inFolder": false, + "metaFile": false, + "suffix": "Canvas", + "xmlName": "CanvasMetadata" + }, + { + "directoryName": "MobileApplicationDetails", + "inFolder": false, + "metaFile": false, + "suffix": "MobileApplicationDetail", + "xmlName": "MobileApplicationDetail" + }, + { + "directoryName": "notificationtypes", + "inFolder": false, + "metaFile": false, + "suffix": "notiftype", + "xmlName": "CustomNotificationType" + }, + { + "directoryName": "connectedApps", + "inFolder": false, + "metaFile": false, + "suffix": "connectedApp", + "xmlName": "ConnectedApp" + }, + { + "directoryName": "appMenus", + "inFolder": false, + "metaFile": false, + "suffix": "appMenu", + "xmlName": "AppMenu" + }, + { + "directoryName": "notificationTypeConfig", + "inFolder": false, + "metaFile": false, + "suffix": "config", + "xmlName": "NotificationTypeConfig" + }, + { + "directoryName": "delegateGroups", + "inFolder": false, + "metaFile": false, + "suffix": "delegateGroup", + "xmlName": "DelegateGroup" + }, + { + "directoryName": "siteDotComSites", + "inFolder": false, + "metaFile": true, + "suffix": "site", + "xmlName": "SiteDotCom" + }, + { + "directoryName": "experiences", + "inFolder": false, + "metaFile": true, + "suffix": "site", + "xmlName": "ExperienceBundle" + }, + { + "directoryName": "digitalExperienceConfigs", + "inFolder": false, + "metaFile": true, + "suffix": "digitalExperienceConfig", + "xmlName": "DigitalExperienceConfig" + }, + { + "directoryName": "digitalExperiences", + "inFolder": false, + "metaFile": true, + "suffix": "digitalExperience", + "xmlName": "DigitalExperienceBundle" + }, + { + "directoryName": "networks", + "inFolder": false, + "metaFile": false, + "suffix": "network", + "xmlName": "Network" + }, + { + "directoryName": "networkBranding", + "inFolder": false, + "metaFile": true, + "suffix": "networkBranding", + "xmlName": "NetworkBranding" + }, + { + "directoryName": "brandingSets", + "inFolder": false, + "metaFile": false, + "suffix": "brandingSet", + "xmlName": "BrandingSet" + }, + { + "directoryName": "communityThemeDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "communityThemeDefinition", + "xmlName": "CommunityThemeDefinition" + }, + { + "directoryName": "communityTemplateDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "communityTemplateDefinition", + "xmlName": "CommunityTemplateDefinition" + }, + { + "directoryName": "navigationMenus", + "inFolder": false, + "metaFile": false, + "suffix": "navigationMenu", + "xmlName": "NavigationMenu" + }, + { + "directoryName": "audience", + "inFolder": false, + "metaFile": false, + "suffix": "audience", + "xmlName": "Audience" + }, + { + "directoryName": "flowCategories", + "inFolder": false, + "metaFile": false, + "suffix": "flowCategory", + "xmlName": "FlowCategory" + }, + { + "directoryName": "lightningBolts", + "inFolder": false, + "metaFile": false, + "suffix": "lightningBolt", + "xmlName": "LightningBolt" + }, + { + "directoryName": "lightningExperienceThemes", + "inFolder": false, + "metaFile": false, + "suffix": "lightningExperienceTheme", + "xmlName": "LightningExperienceTheme" + }, + { + "directoryName": "lightningOnboardingConfigs", + "inFolder": false, + "metaFile": false, + "suffix": "lightningOnboardingConfig", + "xmlName": "LightningOnboardingConfig" + }, + { + "directoryName": "customHelpMenuSections", + "inFolder": false, + "metaFile": false, + "suffix": "customHelpMenuSection", + "xmlName": "CustomHelpMenuSection" + }, + { + "directoryName": "prompts", + "inFolder": false, + "metaFile": false, + "suffix": "prompt", + "xmlName": "Prompt" + }, + { + "childXmlNames": "ManagedTopic", + "directoryName": "managedTopics", + "inFolder": false, + "metaFile": false, + "suffix": "managedTopics", + "xmlName": "ManagedTopics" + }, + { + "directoryName": "moderation", + "inFolder": false, + "metaFile": false, + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "directoryName": "userCriteria", + "inFolder": false, + "metaFile": false, + "suffix": "userCriteria", + "xmlName": "UserCriteria" + }, + { + "directoryName": "moderation", + "inFolder": false, + "metaFile": false, + "suffix": "rule", + "xmlName": "ModerationRule" + }, + { + "directoryName": "cmsConnectSource", + "inFolder": false, + "metaFile": false, + "suffix": "cmsConnectSource", + "xmlName": "CMSConnectSource" + }, + { + "directoryName": "managedContentTypes", + "inFolder": false, + "metaFile": false, + "suffix": "managedContentType", + "xmlName": "ManagedContentType" + }, + { + "directoryName": "territory2Types", + "inFolder": false, + "metaFile": false, + "suffix": "territory2Type", + "xmlName": "Territory2Type" + }, + { + "childXmlNames": [ + "Territory2Rule", + "Territory2" + ], + "directoryName": "territory2Models", + "inFolder": false, + "metaFile": false, + "suffix": "territory2Model", + "xmlName": "Territory2Model" + }, + { + "directoryName": "rules", + "inFolder": false, + "metaFile": false, + "suffix": "territory2Rule", + "xmlName": "Territory2Rule" + }, + { + "directoryName": "territories", + "inFolder": false, + "metaFile": false, + "suffix": "territory2", + "xmlName": "Territory2" + }, + { + "directoryName": "campaignInfluenceModels", + "inFolder": false, + "metaFile": false, + "suffix": "campaignInfluenceModel", + "xmlName": "CampaignInfluenceModel" + }, + { + "directoryName": "samlssoconfigs", + "inFolder": false, + "metaFile": false, + "suffix": "samlssoconfig", + "xmlName": "SamlSsoConfig" + }, + { + "directoryName": "corsWhitelistOrigins", + "inFolder": false, + "metaFile": false, + "suffix": "corsWhitelistOrigin", + "xmlName": "CorsWhitelistOrigin" + }, + { + "directoryName": "actionLinkGroupTemplates", + "inFolder": false, + "metaFile": false, + "suffix": "actionLinkGroupTemplate", + "xmlName": "ActionLinkGroupTemplate" + }, + { + "directoryName": "transactionSecurityPolicies", + "inFolder": false, + "metaFile": false, + "suffix": "transactionSecurityPolicy", + "xmlName": "TransactionSecurityPolicy" + }, + { + "directoryName": "liveChatDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "liveChatDeployment", + "xmlName": "LiveChatDeployment" + }, + { + "directoryName": "liveChatButtons", + "inFolder": false, + "metaFile": false, + "suffix": "liveChatButton", + "xmlName": "LiveChatButton" + }, + { + "directoryName": "liveChatAgentConfigs", + "inFolder": false, + "metaFile": false, + "suffix": "liveChatAgentConfig", + "xmlName": "LiveChatAgentConfig" + }, + { + "directoryName": "synonymDictionaries", + "inFolder": false, + "metaFile": false, + "suffix": "synonymDictionary", + "xmlName": "SynonymDictionary" + }, + { + "directoryName": "pathAssistants", + "inFolder": false, + "metaFile": false, + "suffix": "pathAssistant", + "xmlName": "PathAssistant" + }, + { + "directoryName": "animationRules", + "inFolder": false, + "metaFile": false, + "suffix": "animationRule", + "xmlName": "AnimationRule" + }, + { + "directoryName": "LeadConvertSettings", + "inFolder": false, + "metaFile": false, + "suffix": "LeadConvertSetting", + "xmlName": "LeadConvertSettings" + }, + { + "directoryName": "liveChatSensitiveDataRule", + "inFolder": false, + "metaFile": false, + "suffix": "liveChatSensitiveDataRule", + "xmlName": "LiveChatSensitiveDataRule" + }, + { + "directoryName": "cachePartitions", + "inFolder": false, + "metaFile": false, + "suffix": "cachePartition", + "xmlName": "PlatformCachePartition" + }, + { + "directoryName": "topicsForObjects", + "inFolder": false, + "metaFile": false, + "suffix": "topicsForObjects", + "xmlName": "TopicsForObjects" + }, + { + "directoryName": "recommendationStrategies", + "inFolder": false, + "metaFile": false, + "suffix": "recommendationStrategy", + "xmlName": "RecommendationStrategy" + }, + { + "directoryName": "emailservices", + "inFolder": false, + "metaFile": false, + "suffix": "xml", + "xmlName": "EmailServicesFunction" + }, + { + "directoryName": "recordActionDeployments", + "inFolder": false, + "metaFile": false, + "suffix": "deployment", + "xmlName": "RecordActionDeployment" + }, + { + "directoryName": "restrictionRules", + "inFolder": false, + "metaFile": false, + "suffix": "rule", + "xmlName": "RestrictionRule" + }, + { + "directoryName": "EmbeddedServiceConfig", + "inFolder": false, + "metaFile": false, + "suffix": "EmbeddedServiceConfig", + "xmlName": "EmbeddedServiceConfig" + }, + { + "directoryName": "EmbeddedServiceLiveAgent", + "inFolder": false, + "metaFile": false, + "suffix": "EmbeddedServiceLiveAgent", + "xmlName": "EmbeddedServiceLiveAgent" + }, + { + "directoryName": "EmbeddedServiceBranding", + "inFolder": false, + "metaFile": false, + "suffix": "EmbeddedServiceBranding", + "xmlName": "EmbeddedServiceBranding" + }, + { + "directoryName": "EmbeddedServiceFlowConfig", + "inFolder": false, + "metaFile": false, + "suffix": "EmbeddedServiceFlowConfig", + "xmlName": "EmbeddedServiceFlowConfig" + }, + { + "directoryName": "EmbeddedServiceMenuSettings", + "inFolder": false, + "metaFile": false, + "suffix": "EmbeddedServiceMenuSettings", + "xmlName": "EmbeddedServiceMenuSettings" + }, + { + "directoryName": "settings", + "inFolder": false, + "metaFile": false, + "suffix": "settings", + "xmlName": "Settings" + }, + { + "directoryName": "mlDomains", + "inFolder": false, + "metaFile": false, + "suffix": "mlDomain", + "xmlName": "MlDomain" + }, + { + "directoryName": "discovery", + "inFolder": false, + "metaFile": true, + "content": [ + { + "suffix": "model", + "xmlName": "DiscoveryAIModel" + }, + { + "suffix": "goal", + "xmlName": "DiscoveryGoal" + } + ] + }, + { + "directoryName": "wave", + "inFolder": false, + "metaFile": true, + "content": [ + { + "suffix": "wapp", + "xmlName": "WaveApplication" + }, + { + "suffix": "wcomp", + "xmlName": "WaveComponent" + }, + { + "suffix": "wdf", + "xmlName": "WaveDataflow" + }, + { + "suffix": "wdash", + "xmlName": "WaveDashboard" + }, + { + "suffix": "wds", + "xmlName": "WaveDataset" + }, + { + "suffix": "wlens", + "xmlName": "WaveLens" + }, + { + "suffix": "wdpr", + "xmlName": "WaveRecipe" + }, + { + "suffix": "xmd", + "xmlName": "WaveXmd" + } + ] + }, + { + "directoryName": "waveTemplates", + "inFolder": true, + "metaFile": false, + "xmlName": "WaveTemplateBundle" + }, + { + "directoryName": "bots", + "inFolder": false, + "metaFile": true, + "content": [ + { + "suffix": "bot", + "xmlName": "Bot" + }, + { + "suffix": "botVersion", + "xmlName": "BotVersion" + } + ] + }, + { + "directoryName": "workflows.alerts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowAlert", + "xmlTag": "alerts" + }, + { + "directoryName": "workflows.fieldUpdates", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowFieldUpdate", + "xmlTag": "fieldUpdates" + }, + { + "directoryName": "labels.labels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomLabels", + "xmlName": "CustomLabel", + "xmlTag": "labels" + }, + { + "directoryName": "workflows.outboundMessages", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowOutboundMessage", + "xmlTag": "outboundMessages" + }, + { + "directoryName": "workflows.rules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowRule", + "xmlTag": "rules" + }, + { + "directoryName": "workflows.flowActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowFlowAction", + "xmlTag": "flowActions" + }, + { + "directoryName": "workflows.knowledgePublishes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes" + }, + { + "directoryName": "sharingRules.sharingCriteriaRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "SharingRules", + "xmlName": "SharingCriteriaRule", + "xmlTag": "sharingCriteriaRules" + }, + { + "directoryName": "sharingRules.sharingGuestRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "SharingRules", + "xmlName": "SharingGuestRule", + "xmlTag": "sharingGuestRules" + }, + { + "directoryName": "sharingRules.sharingOwnerRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "SharingRules", + "xmlName": "SharingOwnerRule", + "xmlTag": "sharingOwnerRules" + }, + { + "directoryName": "sharingRules.sharingTerritoryRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "SharingRules", + "xmlName": "SharingTerritoryRule", + "xmlTag": "sharingTerritoryRules" + }, + { + "directoryName": "workflows.tasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Workflow", + "xmlName": "WorkflowTask", + "xmlTag": "tasks" + } +] From 0877abc0eccf1df0ac5846f3c97c703cdec58e57 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 15 Feb 2023 11:08:16 +0100 Subject: [PATCH 20/63] release 5.12.0 (#450) --- CHANGELOG.md | 14 ++++++++++++++ package.json | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 765c481a..270941b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.12.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.11.4...v5.12.0) (2023-02-14) + + +### Features + +* add FSC metadata ([#444](https://github.com/scolladon/sfdx-git-delta/issues/444)) ([fcf9e02](https://github.com/scolladon/sfdx-git-delta/commit/fcf9e02f9f9733703f59cd3ec57c9ec69508f34f)) +* bump Salesforce api version 57 ([#451](https://github.com/scolladon/sfdx-git-delta/issues/451)) ([2bf0737](https://github.com/scolladon/sfdx-git-delta/commit/2bf07376af15cca6595a8cf9d1a5ce0eeb32301c)) +* implement `release-please` release workflow ([#442](https://github.com/scolladon/sfdx-git-delta/issues/442)) ([d79891b](https://github.com/scolladon/sfdx-git-delta/commit/d79891b5f01ad3a1b30a9e68846087b310bb0c83)) + + +### Bug Fixes + +* windows path separator with micromatch ([#448](https://github.com/scolladon/sfdx-git-delta/issues/448)) ([d49f161](https://github.com/scolladon/sfdx-git-delta/commit/d49f16199b454d2ca4dd7f20fc718ef18e0616f2)) + ### 5.11.4 (2023-02-01) diff --git a/package.json b/package.json index e004e19f..d428d1f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.11.4", + "version": "5.12.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From f50715f405d108c41cd7cc2fa38d17d8ac952be6 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 15 Feb 2023 14:50:48 +0100 Subject: [PATCH 21/63] fix: publish to npm automation (#454) --- .github/workflows/on-main-push.yml | 5 +- .github/workflows/on-published-release.yml | 10 +- .github/workflows/on-pull-request.yml | 2 +- package.json | 3 +- yarn.lock | 709 ++++++++++----------- 5 files changed, 369 insertions(+), 360 deletions(-) diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index cfafb446..441da10d 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -39,9 +39,12 @@ jobs: with: node-version: 16 registry-url: https://registry.npmjs.org/ + + - name: Setup dependencies, cache and install + uses: ./.github/actions/install - name: Publish to npm - run: yarn publish --access public --tag "latest-rc" + run: yarn publish --access public --tag "latest-rc" --new-version $(yarn --silent app:version) env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.github/workflows/on-published-release.yml b/.github/workflows/on-published-release.yml index c417ae4f..c351e4e2 100644 --- a/.github/workflows/on-published-release.yml +++ b/.github/workflows/on-published-release.yml @@ -7,9 +7,15 @@ on: jobs: release: + runs-on: ubuntu-latest steps: - uses: apexskier/github-release-commenter@v1 with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ github.token }} comment-template: | - Shipped in [release \`{release_tag}\`]({release_link}). \ No newline at end of file + Shipped in [release \`{release_tag}\`]({release_link}). + You can install the new version using the version number or the \`latest-rc\` channel + \`\`\`sh + $ sfdx plugins:install sfdx-git-delta@latest-rc + $ sfdx plugins:install sfdx-git-delta@{release_tag} + \`\`\` \ No newline at end of file diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 8f24c8cc..9e9e514f 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -28,7 +28,7 @@ jobs: - name: Lint PR uses: amannn/action-semantic-pull-request@v5 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ github.token }} npm-lint: runs-on: ubuntu-latest diff --git a/package.json b/package.json index d428d1f6..6f40513c 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "homepage": "https://github.com/scolladon/sfdx-git-delta#readme", "scripts": { "analysis": "codeclimate analyze", + "app:version": "echo $npm_package_version", "audit:fix": "npm i --package-lock-only && npm audit fix && rm yarn.lock && yarn import && rm package-lock.json", "commit": "commit", "lint": "eslint src/", @@ -81,7 +82,7 @@ "eslint-plugin-jsdoc": "^40.0.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", - "jest": "^29.4.2", + "jest": "^29.4.3", "lint-staged": "^13.1.2", "nyc": "^15.1.0", "prettier": "^2.8.4", diff --git a/yarn.lock b/yarn.lock index 12be3dca..5e52c690 100644 --- a/yarn.lock +++ b/yarn.lock @@ -565,109 +565,109 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.2.tgz#f78374905c2454764152904a344a2d5226b0ef09" - integrity sha512-0I/rEJwMpV9iwi9cDEnT71a5nNGK9lj8Z4+1pRAU2x/thVXCDnaTGrvxyK+cAqZTFVFCiR+hfVrP4l2m+dCmQg== +"@jest/console@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.3.tgz#1f25a99f7f860e4c46423b5b1038262466fadde1" + integrity sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.4.2" - jest-util "^29.4.2" + jest-message-util "^29.4.3" + jest-util "^29.4.3" slash "^3.0.0" -"@jest/core@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.2.tgz#6e999b67bdc2df9d96ba9b142465bda71ee472c2" - integrity sha512-KGuoQah0P3vGNlaS/l9/wQENZGNKGoWb+OPxh3gz+YzG7/XExvYu34MzikRndQCdM2S0tzExN4+FL37i6gZmCQ== +"@jest/core@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.3.tgz#829dd65bffdb490de5b0f69e97de8e3b5eadd94b" + integrity sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ== dependencies: - "@jest/console" "^29.4.2" - "@jest/reporters" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/reporters" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^29.4.2" - jest-config "^29.4.2" - jest-haste-map "^29.4.2" - jest-message-util "^29.4.2" - jest-regex-util "^29.4.2" - jest-resolve "^29.4.2" - jest-resolve-dependencies "^29.4.2" - jest-runner "^29.4.2" - jest-runtime "^29.4.2" - jest-snapshot "^29.4.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" - jest-watcher "^29.4.2" + jest-changed-files "^29.4.3" + jest-config "^29.4.3" + jest-haste-map "^29.4.3" + jest-message-util "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-resolve-dependencies "^29.4.3" + jest-runner "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" + jest-watcher "^29.4.3" micromatch "^4.0.4" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.2.tgz#ee92c316ee2fbdf0bcd9d2db0ef42d64fea26b56" - integrity sha512-JKs3VUtse0vQfCaFGJRX1bir9yBdtasxziSyu+pIiEllAQOe4oQhdCYIf3+Lx+nGglFktSKToBnRJfD5QKp+NQ== +"@jest/environment@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.3.tgz#9fe2f3169c3b33815dc4bd3960a064a83eba6548" + integrity sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA== dependencies: - "@jest/fake-timers" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-mock "^29.4.2" + jest-mock "^29.4.3" -"@jest/expect-utils@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.2.tgz#cd0065dfdd8e8a182aa350cc121db97b5eed7b3f" - integrity sha512-Dd3ilDJpBnqa0GiPN7QrudVs0cczMMHtehSo2CSTjm3zdHx0RcpmhFNVEltuEFeqfLIyWKFI224FsMSQ/nsJQA== +"@jest/expect-utils@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.3.tgz#95ce4df62952f071bcd618225ac7c47eaa81431e" + integrity sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ== dependencies: - jest-get-type "^29.4.2" + jest-get-type "^29.4.3" -"@jest/expect@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.2.tgz#2d4a6a41b29380957c5094de19259f87f194578b" - integrity sha512-NUAeZVApzyaeLjfWIV/64zXjA2SS+NuUPHpAlO7IwVMGd5Vf9szTl9KEDlxY3B4liwLO31os88tYNHl6cpjtKQ== +"@jest/expect@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.3.tgz#d31a28492e45a6bcd0f204a81f783fe717045c6e" + integrity sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ== dependencies: - expect "^29.4.2" - jest-snapshot "^29.4.2" + expect "^29.4.3" + jest-snapshot "^29.4.3" -"@jest/fake-timers@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.2.tgz#af43ee1a5720b987d0348f80df98f2cb17d45cd0" - integrity sha512-Ny1u0Wg6kCsHFWq7A/rW/tMhIedq2siiyHyLpHCmIhP7WmcAmd2cx95P+0xtTZlj5ZbJxIRQi4OPydZZUoiSQQ== +"@jest/fake-timers@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.3.tgz#31e982638c60fa657d310d4b9d24e023064027b0" + integrity sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.4.2" - jest-mock "^29.4.2" - jest-util "^29.4.2" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-util "^29.4.3" -"@jest/globals@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.2.tgz#73f85f5db0e17642258b25fd0b9fc89ddedb50eb" - integrity sha512-zCk70YGPzKnz/I9BNFDPlK+EuJLk21ur/NozVh6JVM86/YYZtZHqxFFQ62O9MWq7uf3vIZnvNA0BzzrtxD9iyg== +"@jest/globals@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.3.tgz#63a2c4200d11bc6d46f12bbe25b07f771fce9279" + integrity sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA== dependencies: - "@jest/environment" "^29.4.2" - "@jest/expect" "^29.4.2" - "@jest/types" "^29.4.2" - jest-mock "^29.4.2" + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/types" "^29.4.3" + jest-mock "^29.4.3" -"@jest/reporters@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.2.tgz#6abfa923941daae0acc76a18830ee9e79a22042d" - integrity sha512-10yw6YQe75zCgYcXgEND9kw3UZZH5tJeLzWv4vTk/2mrS1aY50A37F+XT2hPO5OqQFFnUWizXD8k1BMiATNfUw== +"@jest/reporters@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.3.tgz#0a68a0c0f20554760cc2e5443177a0018969e353" + integrity sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -680,77 +680,77 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.4.2" - jest-util "^29.4.2" - jest-worker "^29.4.2" + jest-message-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.2.tgz#cf7cfe97c5649f518452b176c47ed07486270fc1" - integrity sha512-ZrGzGfh31NtdVH8tn0mgJw4khQuNHiKqdzJAFbCaERbyCP9tHlxWuL/mnMu8P7e/+k4puWjI1NOzi/sFsjce/g== +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== dependencies: "@sinclair/typebox" "^0.25.16" -"@jest/source-map@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.2.tgz#f9815d59e25cd3d6828e41489cd239271018d153" - integrity sha512-tIoqV5ZNgYI9XCKXMqbYe5JbumcvyTgNN+V5QW4My033lanijvCD0D4PI9tBw4pRTqWOc00/7X3KVvUh+qnF4Q== +"@jest/source-map@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== dependencies: "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.2.tgz#34b0ba069f2e3072261e4884c8fb6bd15ed6fb8d" - integrity sha512-HZsC3shhiHVvMtP+i55MGR5bPcc3obCFbA5bzIOb8pCjwBZf11cZliJncCgaVUbC5yoQNuGqCkC0Q3t6EItxZA== +"@jest/test-result@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.3.tgz#e13d973d16c8c7cc0c597082d5f3b9e7f796ccb8" + integrity sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA== dependencies: - "@jest/console" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/types" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.2.tgz#8b48e5bc4af80b42edacaf2a733d4f295edf28fb" - integrity sha512-9Z2cVsD6CcObIVrWigHp2McRJhvCxL27xHtrZFgNC1RwnoSpDx6fZo8QYjJmziFlW9/hr78/3sxF54S8B6v8rg== +"@jest/test-sequencer@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.3.tgz#0862e876a22993385a0f3e7ea1cc126f208a2898" + integrity sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw== dependencies: - "@jest/test-result" "^29.4.2" + "@jest/test-result" "^29.4.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" + jest-haste-map "^29.4.3" slash "^3.0.0" -"@jest/transform@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.2.tgz#b24b72dbab4c8675433a80e222d6a8ef4656fb81" - integrity sha512-kf1v5iTJHn7p9RbOsBuc/lcwyPtJaZJt5885C98omWz79NIeD3PfoiiaPSu7JyCyFzNOIzKhmMhQLUhlTL9BvQ== +"@jest/transform@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.3.tgz#f7d17eac9cb5bb2e1222ea199c7c7e0835e0c037" + integrity sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" - jest-regex-util "^29.4.2" - jest-util "^29.4.2" + jest-haste-map "^29.4.3" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" write-file-atomic "^4.0.2" -"@jest/types@^29.4.2": - version "29.4.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.2.tgz#8f724a414b1246b2bfd56ca5225d9e1f39540d82" - integrity sha512-CKlngyGP0fwlgC1BRUtPZSiWLBhyS9dKwKmyGxk8Z6M82LBEGB2aLQSg+U1MyLsU+M7UjnlLllBM2BLWKVm/Uw== +"@jest/types@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" + integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== dependencies: - "@jest/schemas" "^29.4.2" + "@jest/schemas" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -1734,15 +1734,15 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -babel-jest@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.2.tgz#b17b9f64be288040877cbe2649f91ac3b63b2ba6" - integrity sha512-vcghSqhtowXPG84posYkkkzcZsdayFkubUgbE3/1tuGbX7AQtwCkkNA/wIbB0BMjuCPoqTkiDyKN7Ty7d3uwNQ== +babel-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.3.tgz#478b84d430972b277ad67dd631be94abea676792" + integrity sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw== dependencies: - "@jest/transform" "^29.4.2" + "@jest/transform" "^29.4.3" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.4.2" + babel-preset-jest "^29.4.3" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1758,10 +1758,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.2.tgz#22aa43e255230f02371ffef1cac7eedef58f60bc" - integrity sha512-5HZRCfMeWypFEonRbEkwWXtNS1sQK159LhRVyRuLzyfVBxDy/34Tr/rg4YVi0SScSJ4fqeaR/OIeceJ/LaQ0pQ== +babel-plugin-jest-hoist@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.3.tgz#ad1dfb5d31940957e00410ef7d9b2aa94b216101" + integrity sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -1786,12 +1786,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.2.tgz#f0b20c6a79a9f155515e72a2d4f537fe002a4e38" - integrity sha512-ecWdaLY/8JyfUDr0oELBMpj3R5I1L6ZqG+kRJmwqfHtLWuPrJStR0LUkvUhfykJWTsXXMnohsayN/twltBbDrQ== +babel-preset-jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.3.tgz#bb926b66ae253b69c6e3ef87511b8bb5c53c5b52" + integrity sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw== dependencies: - babel-plugin-jest-hoist "^29.4.2" + babel-plugin-jest-hoist "^29.4.3" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -2442,10 +2442,10 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.2.tgz#711fe6bd8a5869fe2539cee4a5152425ff671fda" - integrity sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw== +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== diff@^4.0.1: version "4.0.2" @@ -2883,16 +2883,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.2.tgz#2ae34eb88de797c64a1541ad0f1e2ea8a7a7b492" - integrity sha512-+JHYg9O3hd3RlICG90OPVjRkPBoiUH7PxvDVMnRiaq1g6JUgZStX514erMl0v2Dc5SkfVbm7ztqbd6qHHPn+mQ== +expect@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.3.tgz#5e47757316df744fe3b8926c3ae8a3ebdafff7fe" + integrity sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg== dependencies: - "@jest/expect-utils" "^29.4.2" - jest-get-type "^29.4.2" - jest-matcher-utils "^29.4.2" - jest-message-util "^29.4.2" - jest-util "^29.4.2" + "@jest/expect-utils" "^29.4.3" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" external-editor@^3.0.3: version "3.1.0" @@ -3898,284 +3898,283 @@ jake@^10.8.5: filelist "^1.0.1" minimatch "^3.0.4" -jest-changed-files@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.2.tgz#bee1fafc8b620d6251423d1978a0080546bc4376" - integrity sha512-Qdd+AXdqD16PQa+VsWJpxR3kN0JyOCX1iugQfx5nUgAsI4gwsKviXkpclxOK9ZnwaY2IQVHz+771eAvqeOlfuw== +jest-changed-files@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.3.tgz#7961fe32536b9b6d5c28dfa0abcfab31abcf50a7" + integrity sha512-Vn5cLuWuwmi2GNNbokPOEcvrXGSGrqVnPEZV7rC6P7ck07Dyw9RFnvWglnupSh+hGys0ajGtw/bc2ZgweljQoQ== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.2.tgz#2d00c04baefd0ee2a277014cd494d4b5970663ed" - integrity sha512-wW3ztp6a2P5c1yOc1Cfrt5ozJ7neWmqeXm/4SYiqcSriyisgq63bwFj1NuRdSR5iqS0CMEYwSZd89ZA47W9zUg== +jest-circus@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.3.tgz#fff7be1cf5f06224dd36a857d52a9efeb005ba04" + integrity sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw== dependencies: - "@jest/environment" "^29.4.2" - "@jest/expect" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/environment" "^29.4.3" + "@jest/expect" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.4.2" - jest-matcher-utils "^29.4.2" - jest-message-util "^29.4.2" - jest-runtime "^29.4.2" - jest-snapshot "^29.4.2" - jest-util "^29.4.2" + jest-each "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-runtime "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" p-limit "^3.1.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.2.tgz#94a2f913a0a7a49d11bee98ad88bf48baae941f4" - integrity sha512-b+eGUtXq/K2v7SH3QcJvFvaUaCDS1/YAZBYz0m28Q/Ppyr+1qNaHmVYikOrbHVbZqYQs2IeI3p76uy6BWbXq8Q== +jest-cli@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.3.tgz#fe31fdd0c90c765f392b8b7c97e4845071cd2163" + integrity sha512-PiiAPuFNfWWolCE6t3ZrDXQc6OsAuM3/tVW0u27UWc1KE+n/HSn5dSE6B2juqN7WP+PP0jAcnKtGmI4u8GMYCg== dependencies: - "@jest/core" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/core" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.4.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" + jest-config "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.2.tgz#15386dd9ed2f7059516915515f786b8836a98f07" - integrity sha512-919CtnXic52YM0zW4C1QxjG6aNueX1kBGthuMtvFtRTAxhKfJmiXC9qwHmi6o2josjbDz8QlWyY55F1SIVmCWA== +jest-config@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.3.tgz#fca9cdfe6298ae6d04beef1624064d455347c978" + integrity sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.4.2" - "@jest/types" "^29.4.2" - babel-jest "^29.4.2" + "@jest/test-sequencer" "^29.4.3" + "@jest/types" "^29.4.3" + babel-jest "^29.4.3" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.4.2" - jest-environment-node "^29.4.2" - jest-get-type "^29.4.2" - jest-regex-util "^29.4.2" - jest-resolve "^29.4.2" - jest-runner "^29.4.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" + jest-circus "^29.4.3" + jest-environment-node "^29.4.3" + jest-get-type "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runner "^29.4.3" + jest-util "^29.4.3" + jest-validate "^29.4.3" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.2.tgz#b88502d5dc02d97f6512d73c37da8b36f49b4871" - integrity sha512-EK8DSajVtnjx9sa1BkjZq3mqChm2Cd8rIzdXkQMA8e0wuXq53ypz6s5o5V8HRZkoEt2ywJ3eeNWFKWeYr8HK4g== +jest-diff@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.3.tgz#42f4eb34d0bf8c0fb08b0501069b87e8e84df347" + integrity sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA== dependencies: chalk "^4.0.0" - diff-sequences "^29.4.2" - jest-get-type "^29.4.2" - pretty-format "^29.4.2" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-docblock@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.2.tgz#c78a95eedf9a24c0a6cc16cf2abdc4b8b0f2531b" - integrity sha512-dV2JdahgClL34Y5vLrAHde3nF3yo2jKRH+GIYJuCpfqwEJZcikzeafVTGAjbOfKPG17ez9iWXwUYp7yefeCRag== +jest-docblock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== dependencies: detect-newline "^3.0.0" -jest-each@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.2.tgz#e1347aff1303f4c35470827a62c029d389c5d44a" - integrity sha512-trvKZb0JYiCndc55V1Yh0Luqi7AsAdDWpV+mKT/5vkpnnFQfuQACV72IoRV161aAr6kAVIBpmYzwhBzm34vQkA== +jest-each@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.3.tgz#a434c199a2f6151c5e3dc80b2d54586bdaa72819" + integrity sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" chalk "^4.0.0" - jest-get-type "^29.4.2" - jest-util "^29.4.2" - pretty-format "^29.4.2" - -jest-environment-node@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.2.tgz#0eab835b41e25fd0c1a72f62665fc8db08762ad2" - integrity sha512-MLPrqUcOnNBc8zTOfqBbxtoa8/Ee8tZ7UFW7hRDQSUT+NGsvS96wlbHGTf+EFAT9KC3VNb7fWEM6oyvmxtE/9w== - dependencies: - "@jest/environment" "^29.4.2" - "@jest/fake-timers" "^29.4.2" - "@jest/types" "^29.4.2" + jest-get-type "^29.4.3" + jest-util "^29.4.3" + pretty-format "^29.4.3" + +jest-environment-node@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.3.tgz#579c4132af478befc1889ddc43c2413a9cdbe014" + integrity sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-mock "^29.4.2" - jest-util "^29.4.2" + jest-mock "^29.4.3" + jest-util "^29.4.3" -jest-get-type@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.2.tgz#7cb63f154bca8d8f57364d01614477d466fa43fe" - integrity sha512-vERN30V5i2N6lqlFu4ljdTqQAgrkTFMC9xaIIfOPYBw04pufjXRty5RuXBiB1d72tGbURa/UgoiHB90ruOSivg== +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== -jest-haste-map@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.2.tgz#9112df3f5121e643f1b2dcbaa86ab11b0b90b49a" - integrity sha512-WkUgo26LN5UHPknkezrBzr7lUtV1OpGsp+NfXbBwHztsFruS3gz+AMTTBcEklvi8uPzpISzYjdKXYZQJXBnfvw== +jest-haste-map@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.3.tgz#085a44283269e7ace0645c63a57af0d2af6942e2" + integrity sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^29.4.2" - jest-util "^29.4.2" - jest-worker "^29.4.2" + jest-regex-util "^29.4.3" + jest-util "^29.4.3" + jest-worker "^29.4.3" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.2.tgz#8f05c6680e0cb46a1d577c0d3da9793bed3ea97b" - integrity sha512-Wa62HuRJmWXtX9F00nUpWlrbaH5axeYCdyRsOs/+Rb1Vb6+qWTlB5rKwCCRKtorM7owNwKsyJ8NRDUcZ8ghYUA== +jest-leak-detector@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.3.tgz#2b35191d6b35aa0256e63a9b79b0f949249cf23a" + integrity sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA== dependencies: - jest-get-type "^29.4.2" - pretty-format "^29.4.2" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-matcher-utils@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.2.tgz#08d0bf5abf242e3834bec92c7ef5071732839e85" - integrity sha512-EZaAQy2je6Uqkrm6frnxBIdaWtSYFoR8SVb2sNLAtldswlR/29JAgx+hy67llT3+hXBaLB0zAm5UfeqerioZyg== +jest-matcher-utils@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz#ea68ebc0568aebea4c4213b99f169ff786df96a0" + integrity sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg== dependencies: chalk "^4.0.0" - jest-diff "^29.4.2" - jest-get-type "^29.4.2" - pretty-format "^29.4.2" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.4.3" -jest-message-util@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.2.tgz#309a2924eae6ca67cf7f25781a2af1902deee717" - integrity sha512-SElcuN4s6PNKpOEtTInjOAA8QvItu0iugkXqhYyguRvQoXapg5gN+9RQxLAkakChZA7Y26j6yUCsFWN+hlKD6g== +jest-message-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.3.tgz#65b5280c0fdc9419503b49d4f48d4999d481cb5b" + integrity sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.4.2" + pretty-format "^29.4.3" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.2.tgz#e1054be66fb3e975d26d4528fcde6979e4759de8" - integrity sha512-x1FSd4Gvx2yIahdaIKoBjwji6XpboDunSJ95RpntGrYulI1ByuYQCKN/P7hvk09JB74IonU3IPLdkutEWYt++g== +jest-mock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.3.tgz#23d84a20a74cdfff0510fdbeefb841ed57b0fe7e" + integrity sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/node" "*" - jest-util "^29.4.2" + jest-util "^29.4.3" jest-pnp-resolver@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== -jest-regex-util@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.2.tgz#19187cca35d301f8126cf7a021dd4dcb7b58a1ca" - integrity sha512-XYZXOqUl1y31H6VLMrrUL1ZhXuiymLKPz0BO1kEeR5xER9Tv86RZrjTm74g5l9bPJQXA/hyLdaVPN/sdqfteig== +jest-regex-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== -jest-resolve-dependencies@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.2.tgz#6359db606f5967b68ca8bbe9dbc07a4306c12bf7" - integrity sha512-6pL4ptFw62rjdrPk7rRpzJYgcRqRZNsZTF1VxVTZMishbO6ObyWvX57yHOaNGgKoADtAHRFYdHQUEvYMJATbDg== +jest-resolve-dependencies@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.3.tgz#9ad7f23839a6d88cef91416bda9393a6e9fd1da5" + integrity sha512-uvKMZAQ3nmXLH7O8WAOhS5l0iWyT3WmnJBdmIHiV5tBbdaDZ1wqtNX04FONGoaFvSOSHBJxnwAVnSn1WHdGVaw== dependencies: - jest-regex-util "^29.4.2" - jest-snapshot "^29.4.2" + jest-regex-util "^29.4.3" + jest-snapshot "^29.4.3" -jest-resolve@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.2.tgz#8831f449671d08d161fe493003f61dc9b55b808e" - integrity sha512-RtKWW0mbR3I4UdkOrW7552IFGLYQ5AF9YrzD0FnIOkDu0rAMlA5/Y1+r7lhCAP4nXSBTaE7ueeqj6IOwZpgoqw== +jest-resolve@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.3.tgz#3c5b5c984fa8a763edf9b3639700e1c7900538e2" + integrity sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" + jest-haste-map "^29.4.3" jest-pnp-resolver "^1.2.2" - jest-util "^29.4.2" - jest-validate "^29.4.2" + jest-util "^29.4.3" + jest-validate "^29.4.3" resolve "^1.20.0" resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.2.tgz#2bcecf72303369df4ef1e6e983c22a89870d5125" - integrity sha512-wqwt0drm7JGjwdH+x1XgAl+TFPH7poowMguPQINYxaukCqlczAcNLJiK+OLxUxQAEWMdy+e6nHZlFHO5s7EuRg== +jest-runner@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.3.tgz#68dc82c68645eda12bea42b5beece6527d7c1e5e" + integrity sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA== dependencies: - "@jest/console" "^29.4.2" - "@jest/environment" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/console" "^29.4.3" + "@jest/environment" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^29.4.2" - jest-environment-node "^29.4.2" - jest-haste-map "^29.4.2" - jest-leak-detector "^29.4.2" - jest-message-util "^29.4.2" - jest-resolve "^29.4.2" - jest-runtime "^29.4.2" - jest-util "^29.4.2" - jest-watcher "^29.4.2" - jest-worker "^29.4.2" + jest-docblock "^29.4.3" + jest-environment-node "^29.4.3" + jest-haste-map "^29.4.3" + jest-leak-detector "^29.4.3" + jest-message-util "^29.4.3" + jest-resolve "^29.4.3" + jest-runtime "^29.4.3" + jest-util "^29.4.3" + jest-watcher "^29.4.3" + jest-worker "^29.4.3" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.2.tgz#d86b764c5b95d76cb26ed1f32644e99de5d5c134" - integrity sha512-3fque9vtpLzGuxT9eZqhxi+9EylKK/ESfhClv4P7Y9sqJPs58LjVhTt8jaMp/pRO38agll1CkSu9z9ieTQeRrw== - dependencies: - "@jest/environment" "^29.4.2" - "@jest/fake-timers" "^29.4.2" - "@jest/globals" "^29.4.2" - "@jest/source-map" "^29.4.2" - "@jest/test-result" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" +jest-runtime@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.3.tgz#f25db9874dcf35a3ab27fdaabca426666cc745bf" + integrity sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q== + dependencies: + "@jest/environment" "^29.4.3" + "@jest/fake-timers" "^29.4.3" + "@jest/globals" "^29.4.3" + "@jest/source-map" "^29.4.3" + "@jest/test-result" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.2" - jest-message-util "^29.4.2" - jest-mock "^29.4.2" - jest-regex-util "^29.4.2" - jest-resolve "^29.4.2" - jest-snapshot "^29.4.2" - jest-util "^29.4.2" - semver "^7.3.5" + jest-haste-map "^29.4.3" + jest-message-util "^29.4.3" + jest-mock "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.4.3" + jest-snapshot "^29.4.3" + jest-util "^29.4.3" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.2.tgz#ba1fb9abb279fd2c85109ff1757bc56b503bbb3a" - integrity sha512-PdfubrSNN5KwroyMH158R23tWcAXJyx4pvSvWls1dHoLCaUhGul9rsL3uVjtqzRpkxlkMavQjGuWG1newPgmkw== +jest-snapshot@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.3.tgz#183d309371450d9c4a3de7567ed2151eb0e91145" + integrity sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -4183,82 +4182,82 @@ jest-snapshot@^29.4.2: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.4.2" - "@jest/transform" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/expect-utils" "^29.4.3" + "@jest/transform" "^29.4.3" + "@jest/types" "^29.4.3" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.4.2" + expect "^29.4.3" graceful-fs "^4.2.9" - jest-diff "^29.4.2" - jest-get-type "^29.4.2" - jest-haste-map "^29.4.2" - jest-matcher-utils "^29.4.2" - jest-message-util "^29.4.2" - jest-util "^29.4.2" + jest-diff "^29.4.3" + jest-get-type "^29.4.3" + jest-haste-map "^29.4.3" + jest-matcher-utils "^29.4.3" + jest-message-util "^29.4.3" + jest-util "^29.4.3" natural-compare "^1.4.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" semver "^7.3.5" -jest-util@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.2.tgz#3db8580b295df453a97de4a1b42dd2578dabd2c2" - integrity sha512-wKnm6XpJgzMUSRFB7YF48CuwdzuDIHenVuoIb1PLuJ6F+uErZsuDkU+EiExkChf6473XcawBrSfDSnXl+/YG4g== +jest-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" + integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.2.tgz#3b3f8c4910ab9a3442d2512e2175df6b3f77b915" - integrity sha512-tto7YKGPJyFbhcKhIDFq8B5od+eVWD/ySZ9Tvcp/NGCvYA4RQbuzhbwYWtIjMT5W5zA2W0eBJwu4HVw34d5G6Q== +jest-validate@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.3.tgz#a13849dec4f9e95446a7080ad5758f58fa88642f" + integrity sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw== dependencies: - "@jest/types" "^29.4.2" + "@jest/types" "^29.4.3" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^29.4.2" + jest-get-type "^29.4.3" leven "^3.1.0" - pretty-format "^29.4.2" + pretty-format "^29.4.3" -jest-watcher@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.2.tgz#09c0f4c9a9c7c0807fcefb1445b821c6f7953b7c" - integrity sha512-onddLujSoGiMJt+tKutehIidABa175i/Ays+QvKxCqBwp7fvxP3ZhKsrIdOodt71dKxqk4sc0LN41mWLGIK44w== +jest-watcher@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.3.tgz#e503baa774f0c2f8f3c8db98a22ebf885f19c384" + integrity sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA== dependencies: - "@jest/test-result" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/test-result" "^29.4.3" + "@jest/types" "^29.4.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.4.2" + jest-util "^29.4.3" string-length "^4.0.1" -jest-worker@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.2.tgz#d9b2c3bafc69311d84d94e7fb45677fc8976296f" - integrity sha512-VIuZA2hZmFyRbchsUCHEehoSf2HEl0YVF8SDJqtPnKorAaBuh42V8QsLnde0XP5F6TyCynGPEGgBOn3Fc+wZGw== +jest-worker@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" + integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== dependencies: "@types/node" "*" - jest-util "^29.4.2" + jest-util "^29.4.3" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.2.tgz#4c2127d03a71dc187f386156ef155dbf323fb7be" - integrity sha512-+5hLd260vNIHu+7ZgMIooSpKl7Jp5pHKb51e73AJU3owd5dEo/RfVwHbA/na3C/eozrt3hJOLGf96c7EWwIAzg== +jest@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.3.tgz#1b8be541666c6feb99990fd98adac4737e6e6386" + integrity sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA== dependencies: - "@jest/core" "^29.4.2" - "@jest/types" "^29.4.2" + "@jest/core" "^29.4.3" + "@jest/types" "^29.4.3" import-local "^3.0.2" - jest-cli "^29.4.2" + jest-cli "^29.4.3" js-sdsl@^4.1.4: version "4.3.0" @@ -5289,12 +5288,12 @@ pretty-format@^23.0.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^29.4.2: - version "29.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.2.tgz#64bf5ccc0d718c03027d94ac957bdd32b3fb2401" - integrity sha512-qKlHR8yFVCbcEWba0H0TOC8dnLlO4vPlyEjRPw31FZ2Rupy9nLa8ZLbYny8gWEl8CkEhJqAE6IzdNELTBVcBEg== +pretty-format@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" + integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== dependencies: - "@jest/schemas" "^29.4.2" + "@jest/schemas" "^29.4.3" ansi-styles "^5.0.0" react-is "^18.0.0" From b5321dbd4464957d92e87014225e433719fb87db Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 12:37:54 +0100 Subject: [PATCH 22/63] feat: add Industry Cloud metadata (#461) --- src/metadata/v55.json | 14 ++++++++++++++ src/metadata/v56.json | 14 ++++++++++++++ src/metadata/v57.json | 14 ++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 9032a927..80f92868 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionMatrixDefinition", + "inFolder": false, + "metaFile": false, + "suffix": "decisionMatrixDefinition", + "xmlName": "DecisionMatrixDefinition" + }, + { + "directoryName": "expressionSetDefinition", + "inFolder": false, + "metaFile": false, + "suffix": "expressionSetDefinition", + "xmlName": "ExpressionSetDefinition" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 3b4006ba..d49f742b 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionMatrixDefinition", + "inFolder": false, + "metaFile": false, + "suffix": "decisionMatrixDefinition", + "xmlName": "DecisionMatrixDefinition" + }, + { + "directoryName": "expressionSetDefinition", + "inFolder": false, + "metaFile": false, + "suffix": "expressionSetDefinition", + "xmlName": "ExpressionSetDefinition" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, diff --git a/src/metadata/v57.json b/src/metadata/v57.json index 3b4006ba..d49f742b 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionMatrixDefinition", + "inFolder": false, + "metaFile": false, + "suffix": "decisionMatrixDefinition", + "xmlName": "DecisionMatrixDefinition" + }, + { + "directoryName": "expressionSetDefinition", + "inFolder": false, + "metaFile": false, + "suffix": "expressionSetDefinition", + "xmlName": "ExpressionSetDefinition" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, From aac9d5d69a521f6eb386b51b53b6d6d6aa99d019 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 15:14:48 +0100 Subject: [PATCH 23/63] fix: commit lint dependencies issue (#462) --- .github/workflows/on-pull-request.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 9e9e514f..3adf84bf 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -17,9 +17,15 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 + + - name: Setup node + uses: ./.github/actions/install + - name: Lint commits uses: wagoid/commitlint-github-action@v5 + env: + NODE_PATH: ${{ github.workspace }}/node_modules continue-on-error: true pull-request-lint: From 529441f875f5bf22505558e22d330e079e87f240 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 15:54:15 +0100 Subject: [PATCH 24/63] fix: introduce chore commit type (#463) fix: migrate to conventional --- commitlint.config.js | 2 +- package.json | 2 +- yarn.lock | 22 +++++++++++++--------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/commitlint.config.js b/commitlint.config.js index f78763c2..4fedde6d 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1 +1 @@ -module.exports = { extends: ['@commitlint/config-angular'] } +module.exports = { extends: ['@commitlint/config-conventional'] } diff --git a/package.json b/package.json index 6f40513c..708bc2a7 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ }, "devDependencies": { "@commitlint/cli": "^17.4.3", - "@commitlint/config-angular": "^17.4.3", + "@commitlint/config-conventional": "^17.4.3", "@commitlint/prompt-cli": "^17.4.3", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.4", diff --git a/yarn.lock b/yarn.lock index 5e52c690..3b237309 100644 --- a/yarn.lock +++ b/yarn.lock @@ -329,17 +329,12 @@ resolve-global "1.0.0" yargs "^17.0.0" -"@commitlint/config-angular-type-enum@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-angular-type-enum/-/config-angular-type-enum-17.4.0.tgz#5b6c882f192d1c7f4b0f42526637295434179d7f" - integrity sha512-qbmfOfVqQHMKfc6CxS0A9b7+EFsOyEBoh4+i8Qa05uk8YhT/zY1CeIXK5V3wwemMDcHUegyL/ZnwCvWD7g8GxA== - -"@commitlint/config-angular@^17.4.3": +"@commitlint/config-conventional@^17.4.3": version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/config-angular/-/config-angular-17.4.3.tgz#0b27607eba541ce51d6277ed06efcb56ec1666bb" - integrity sha512-3EdQsY5nX88zxYShtVw3SjsKp6ktnGW5kCzX/xRz3jD1f4s0xpqRtcLhPQM3L14pgVrbe7V1JlDTDX2PIe7Xeg== + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.3.tgz#c732d29181c3a4d5f65b01a7bb5989edd5c470cf" + integrity sha512-8EsY2iDw74hCk3hIQSg7/E0R8/KtPjnFPZVwmmHxcjhZjkSykmxysefICPDnbI3xgxfov0zwL1WKDHM8zglJdw== dependencies: - "@commitlint/config-angular-type-enum" "^17.4.0" + conventional-changelog-conventionalcommits "^5.0.0" "@commitlint/config-validator@^17.4.0": version "17.4.0" @@ -2248,6 +2243,15 @@ conventional-changelog-angular@^5.0.11: compare-func "^2.0.0" q "^1.5.1" +conventional-changelog-conventionalcommits@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz#41bdce54eb65a848a4a3ffdca93e92fa22b64a86" + integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" + conventional-commits-parser@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" From 571b5c48310470622e5d00f1120f9727bda88a44 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 16:12:22 +0100 Subject: [PATCH 25/63] chore(main): release 5.13.0 (#455) --- CHANGELOG.md | 15 +++++++++++++++ package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 270941b3..c9778bb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.13.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.12.0...v5.13.0) (2023-02-16) + + +### Features + +* add Industry Cloud metadata ([#461](https://github.com/scolladon/sfdx-git-delta/issues/461)) ([b5321db](https://github.com/scolladon/sfdx-git-delta/commit/b5321dbd4464957d92e87014225e433719fb87db)) + + +### Bug Fixes + +* commit lint dependencies issue ([#462](https://github.com/scolladon/sfdx-git-delta/issues/462)) ([aac9d5d](https://github.com/scolladon/sfdx-git-delta/commit/aac9d5d69a521f6eb386b51b53b6d6d6aa99d019)) +* introduce chore commit type ([#463](https://github.com/scolladon/sfdx-git-delta/issues/463)) ([529441f](https://github.com/scolladon/sfdx-git-delta/commit/529441f875f5bf22505558e22d330e079e87f240)) +* migrate to conventional ([529441f](https://github.com/scolladon/sfdx-git-delta/commit/529441f875f5bf22505558e22d330e079e87f240)) +* publish to npm automation ([#454](https://github.com/scolladon/sfdx-git-delta/issues/454)) ([f50715f](https://github.com/scolladon/sfdx-git-delta/commit/f50715f405d108c41cd7cc2fa38d17d8ac952be6)) + ## [5.12.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.11.4...v5.12.0) (2023-02-14) diff --git a/package.json b/package.json index 708bc2a7..f41d752e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.12.0", + "version": "5.13.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 9d80ccd2cafeb89b17a87bb77a7c2dd0994fa191 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 16:56:22 +0100 Subject: [PATCH 26/63] fix: remove escaping in the published release message (#464) * fix: remove escaping in the message * fix: test-release install version with the release number instead of the channel --- .github/workflows/on-main-push.yml | 6 +++--- .github/workflows/on-published-release.yml | 8 ++++---- package.json | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index 441da10d..774106f0 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -44,19 +44,19 @@ jobs: uses: ./.github/actions/install - name: Publish to npm - run: yarn publish --access public --tag "latest-rc" --new-version $(yarn --silent app:version) + run: yarn publish --access public --tag latest-rc --new-version ${{ needs.prepare-release.outputs.version }} env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} test-release: - needs: release + needs: [prepare-release, release] runs-on: ubuntu-latest steps: - name: Install sfdx-cli run: npm install -g sfdx-cli - name: Install new plugin version - run: echo y | sfdx plugins:install "sfdx-git-delta@latest-rc" + run: echo y | sfdx plugins:install sfdx-git-delta@${{ needs.prepare-release.outputs.version }} - name: Test new plugin version run: sfdx sgd:source:delta --help diff --git a/.github/workflows/on-published-release.yml b/.github/workflows/on-published-release.yml index c351e4e2..017880ed 100644 --- a/.github/workflows/on-published-release.yml +++ b/.github/workflows/on-published-release.yml @@ -13,9 +13,9 @@ jobs: with: GITHUB_TOKEN: ${{ github.token }} comment-template: | - Shipped in [release \`{release_tag}\`]({release_link}). - You can install the new version using the version number or the \`latest-rc\` channel - \`\`\`sh + Shipped in [release `{release_tag}`]({release_link}). + You can install the new version using the version number or the `latest-rc` channel + ```sh $ sfdx plugins:install sfdx-git-delta@latest-rc $ sfdx plugins:install sfdx-git-delta@{release_tag} - \`\`\` \ No newline at end of file + ``` \ No newline at end of file diff --git a/package.json b/package.json index f41d752e..8cb78482 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "homepage": "https://github.com/scolladon/sfdx-git-delta#readme", "scripts": { "analysis": "codeclimate analyze", - "app:version": "echo $npm_package_version", "audit:fix": "npm i --package-lock-only && npm audit fix && rm yarn.lock && yarn import && rm package-lock.json", "commit": "commit", "lint": "eslint src/", From b66b769356cfbb2a07361c5b803e522c0c94c737 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 17:28:37 +0100 Subject: [PATCH 27/63] chore(main): release 5.13.1 (#466) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9778bb6..2729e490 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.13.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.0...v5.13.1) (2023-02-16) + + +### Bug Fixes + +* remove escaping in the published release message ([#464](https://github.com/scolladon/sfdx-git-delta/issues/464)) ([9d80ccd](https://github.com/scolladon/sfdx-git-delta/commit/9d80ccd2cafeb89b17a87bb77a7c2dd0994fa191)) + ## [5.13.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.12.0...v5.13.0) (2023-02-16) diff --git a/package.json b/package.json index 8cb78482..a594a765 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.13.0", + "version": "5.13.1", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From ea23411d58ee24748f31a0309d85d2d42f4466e6 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 18:05:12 +0100 Subject: [PATCH 28/63] fix: version output usage in release automation (#467) fix: version output usage --- .github/workflows/on-main-push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index 774106f0..a014a3b5 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -18,6 +18,7 @@ jobs: runs-on: ubuntu-latest outputs: release_created: ${{ steps.release.outputs.release_created }} + version: ${{ steps.release.outputs.version }} steps: - uses: google-github-actions/release-please-action@v3 id: release From a07bbf346beac824cdd88ebfda1386a9c97d9cd4 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 16 Feb 2023 18:41:11 +0100 Subject: [PATCH 29/63] chore(main): release 5.13.2 (#468) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2729e490..dbbe1b98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.13.2](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.1...v5.13.2) (2023-02-16) + + +### Bug Fixes + +* version output usage ([ea23411](https://github.com/scolladon/sfdx-git-delta/commit/ea23411d58ee24748f31a0309d85d2d42f4466e6)) +* version output usage in release automation ([#467](https://github.com/scolladon/sfdx-git-delta/issues/467)) ([ea23411](https://github.com/scolladon/sfdx-git-delta/commit/ea23411d58ee24748f31a0309d85d2d42f4466e6)) + ## [5.13.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.0...v5.13.1) (2023-02-16) diff --git a/package.json b/package.json index a594a765..aedfbc86 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.13.1", + "version": "5.13.2", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From a3459b0e61cee0d270a0f4c4007316a6a6b496eb Mon Sep 17 00:00:00 2001 From: Marcellus Le <45802334+hidden-street@users.noreply.github.com> Date: Sun, 26 Feb 2023 01:33:34 -1000 Subject: [PATCH 30/63] docs: fix typos in readme (#483 fix: typos in readme --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4b316a9b..787878e4 100644 --- a/README.md +++ b/README.md @@ -215,7 +215,7 @@ In CI/CD pipelines, branches are not checked out locally when the repository is If you do not specify the remote in CI context, the git pointer check will raise an error (as the branch is not created locally). This applies to both `--from` and `--to` parameters as they both accept git pointers. -Exemple comparing `HEAD` with a `development` branch when the CI clone the repository with `origin` set as reference to the remote: +Example comparing `HEAD` with a `development` branch when the CI clone the repository with `origin` set as reference to the remote: ```sh sfdx sgd:source:delta --to "HEAD" --from "origin/development" --output . @@ -223,7 +223,7 @@ sfdx sgd:source:delta --to "HEAD" --from "origin/development" --output . Use global variable when you need to easily switch sgd version (`vX.X.X` format) or channel (`stable`, `latest`, `latest-rc`) in your pipeline, without having to commit a new version of your pipeline. -Exemple with [github action](https://docs.github.com/en/actions/learn-github-actions/variables#using-the-vars-context-to-access-configuration-variable-values), [create a variable](https://docs.github.com/en/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository) SGD_VERSION and use it in the plugin installation phase +Example with [github action](https://docs.github.com/en/actions/learn-github-actions/variables#using-the-vars-context-to-access-configuration-variable-values), [create a variable](https://docs.github.com/en/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository) SGD_VERSION and use it in the plugin installation phase ```yaml - name: Install SGD @@ -291,7 +291,7 @@ which means: > Analyze the difference between HEAD (latest commit) and HEAD~1 (previous commit), and output the result in the current folder. -The `sfdx sgd:source:delta` command produces 2 usefull artifacts: +The `sfdx sgd:source:delta` command produces 2 useful artifacts: **1) A `package.xml` file, inside a `package` folder.** This `package.xml` file contains just the added/changed metadata to deploy to the target org. @@ -315,7 +315,7 @@ sfdx force:source:deploy -x package/package.xml --postdestructivechanges destruc And voilà! 🥳 -However, keep in mind thate the above command will fail if the destructive change was supposed to be executed before the deployment (i.e. as `--predestructivechanges`), or if a warning occurs during deployment. Make sure to protect your CI/CD pipeline from those scenarios, so that it don't get stuck by a failed destructive change. +However, keep in mind that the above command will fail if the destructive change was supposed to be executed before the deployment (i.e. as `--predestructivechanges`), or if a warning occurs during deployment. Make sure to protect your CI/CD pipeline from those scenarios, so that it doesn't get stuck by a failed destructive change. If needed, you can also split the added/modified metadata deployment from the deleted/renamed metadata deployment, as in the below examples: @@ -363,7 +363,7 @@ _Content of the output folder when using the --generate-delta option, with the s ![delta-source](/img/example_generateDelta.png) > ⚠️ Use `--generate-delta (-d)` when `--to (-t)` value is set to "HEAD" or to the "HEAD commit SHA". -> If you need to use it with `--to (-t)` pointing to another commit than "HEAD", checkout that commit first. Exemple: +> If you need to use it with `--to (-t)` pointing to another commit than "HEAD", checkout that commit first. Example: > > ```sh > # move HEAD to the wanted past commit From fef6734c947c7811d5d6995320f996fdfd329d2a Mon Sep 17 00:00:00 2001 From: Nikita Karpenkov Date: Sun, 26 Feb 2023 16:50:59 +0000 Subject: [PATCH 31/63] fix: `fsHelper.pathExist` when path does not exist (#482) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: correct check for path existence (#481) * refactor: remove null check * test: implement `pathExists` spec * test: fix domain tests * refactor: simplify implementation a bit * build: upgrade dependencies --------- Co-authored-by: Sébastien Colladon --- __tests__/unit/lib/utils/fsHelper.test.js | 79 +++- package.json | 24 +- src/service/inFileHandler.js | 2 +- src/utils/fsHelper.js | 6 +- yarn.lock | 453 +++++++++++++++------- 5 files changed, 391 insertions(+), 173 deletions(-) diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index e579c0d6..874c8e20 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -2,8 +2,9 @@ const { copyFiles, gitPathSeparatorNormalizer, - readDir, isSubDir, + pathExists, + readDir, readFile, readPathFromGit, scan, @@ -155,25 +156,19 @@ describe('copyFile', () => { }) }) describe('when content is not a git location', () => { - it('should throw an error', async () => { - expect.assertions(4) + it('should ignore the path', async () => { // Arrange - const fatalError = 'fatal: not a git repository' getStreamContent.mockImplementation(() => - Promise.resolve(Buffer.from('fatal: not a git repository')) + Promise.resolve(Buffer.from('')) ) // Act - try { - await copyFiles(work.config, 'source/warning', 'output/warning') - - // Assert - } catch (error) { - expect(spawn).toBeCalled() - expect(getStreamContent).toBeCalled() - expect(outputFile).not.toBeCalled() - expect(error.message).toEqual(fatalError) - } + await copyFiles(work.config, 'source/warning', 'output/warning') + + // Assert + expect(spawn).toBeCalled() + expect(getStreamContent).toBeCalled() + expect(outputFile).not.toBeCalled() }) }) describe('when content is a file', () => { @@ -464,4 +459,58 @@ describe('isSubDir', () => { expect(actual).toBe(expected) } ) + + describe('pathExists', () => { + it('returns true when path is folder', async () => { + // Arrange + getStreamContent.mockImplementationOnce(() => + Promise.resolve(Buffer.from('tree path\n\nfolder')) + ) + + // Act + const result = await pathExists('path', work.config) + + // Assert + expect(result).toBe(true) + }) + it('returns true when path is file', async () => { + // Arrange + getStreamContent.mockImplementationOnce(() => + Promise.resolve(Buffer.from('{"attribut":"content"}')) + ) + + // Act + const result = await pathExists('path', work.config) + + // Assert + expect(result).toBe(true) + }) + it('returns false when path does not exist', async () => { + // Arrange + getStreamContent.mockImplementationOnce(() => + Promise.resolve(Buffer.from('')) + ) + + // Act + const result = await pathExists('path', work.config) + + // Assert + expect(result).toBe(false) + }) + it('throws when spawn throws', async () => { + expect.assertions(1) + // Arrange + getStreamContent.mockImplementationOnce(() => + Promise.reject(new Error('spawn issue')) + ) + + // Act + try { + await pathExists('path', work.config) + // Assert + } catch (error) { + expect(error.message).toBe('spawn issue') + } + }) + }) }) diff --git a/package.json b/package.json index aedfbc86..b9dae4ac 100644 --- a/package.json +++ b/package.json @@ -28,9 +28,9 @@ "@oclif/command": "^1.8.22", "@oclif/config": "^1.18.8", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.3.0", - "@salesforce/core": "^3.33.1", - "fast-xml-parser": "^4.1.2", + "@salesforce/command": "^5.3.2", + "@salesforce/core": "^3.33.5", + "fast-xml-parser": "^4.1.3", "fs-extra": "^11.1.0", "ignore": "^5.2.4", "micromatch": "^4.0.5", @@ -62,19 +62,19 @@ "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { - "@commitlint/cli": "^17.4.3", - "@commitlint/config-conventional": "^17.4.3", - "@commitlint/prompt-cli": "^17.4.3", + "@commitlint/cli": "^17.4.4", + "@commitlint/config-conventional": "^17.4.4", + "@commitlint/prompt-cli": "^17.4.4", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.2.4", - "@oclif/test": "^2.3.6", + "@oclif/plugin-help": "^5.2.6", + "@oclif/test": "^2.3.8", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.13.0", - "@typescript-eslint/eslint-plugin": "^5.52.0", - "@typescript-eslint/parser": "^5.52.0", - "eslint": "^8.34.0", + "@types/node": "^18.14.1", + "@typescript-eslint/eslint-plugin": "^5.53.0", + "@typescript-eslint/parser": "^5.53.0", + "eslint": "^8.35.0", "eslint-config-prettier": "^8.6.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", diff --git a/src/service/inFileHandler.js b/src/service/inFileHandler.js index 7f06d048..b401b7ea 100644 --- a/src/service/inFileHandler.js +++ b/src/service/inFileHandler.js @@ -125,7 +125,7 @@ class InFileHandler extends StandardHandler { _treatInFileResult(toRemove, toAdd) { for (const [type, members] of toRemove) { ;[...members] - .filter(elem => !toAdd.has(type) || !toAdd.get(type).has(elem)) + .filter(elem => !toAdd.get(type)?.has(elem)) .forEach(fullName => this._fillPackageFromDiff( this.diffs.destructiveChanges, diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index a215a32b..75d9da5d 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -11,7 +11,6 @@ const { } = require('./childProcessUtils') const FOLDER = 'tree' -const FATAL = 'fatal' const showCmd = ['--no-pager', 'show'] const gitPathSeparatorNormalizer = path => path?.replace(/\\+/g, '/') @@ -26,6 +25,7 @@ const copyFiles = async (config, src) => { if (!utf8Data) { return } + if (utf8Data.startsWith(FOLDER)) { const [header, , ...files] = utf8Data.split(EOLRegex) const folder = header.split(':')[1] @@ -34,8 +34,6 @@ const copyFiles = async (config, src) => { await copyFiles(config, fileSrc) } - } else if (utf8Data.startsWith(FATAL)) { - throw new Error(utf8Data) } else { const dst = join(config.output, treatPathSep(src)) // Use Buffer to output the file content @@ -63,7 +61,7 @@ const readPathFromGit = async (path, config) => { const pathExists = async (path, config) => { const data = await readPathFromGit(path, config) - return data.startsWith(FATAL) + return !!data } const readDir = async (dir, config) => { diff --git a/yarn.lock b/yarn.lock index 3b237309..66504db1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -313,43 +313,43 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.3.tgz#49583a7946b4030e7e6d9caafac44307835fb05e" - integrity sha512-IPTS7AZuBHgD0gl24El8HwuDM9zJN9JLa5KmZUQoFD1BQeGGdzAYJOnAr85CeJWpTDok0BGHDL0+4odnH0iTyA== - dependencies: - "@commitlint/format" "^17.4.0" - "@commitlint/lint" "^17.4.3" - "@commitlint/load" "^17.4.2" - "@commitlint/read" "^17.4.2" - "@commitlint/types" "^17.4.0" +"@commitlint/cli@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.4.tgz#36df08bfa31dbb9a2b6b1d7187a31e578f001a06" + integrity sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g== + dependencies: + "@commitlint/format" "^17.4.4" + "@commitlint/lint" "^17.4.4" + "@commitlint/load" "^17.4.4" + "@commitlint/read" "^17.4.4" + "@commitlint/types" "^17.4.4" execa "^5.0.0" lodash.isfunction "^3.0.9" resolve-from "5.0.0" resolve-global "1.0.0" yargs "^17.0.0" -"@commitlint/config-conventional@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.3.tgz#c732d29181c3a4d5f65b01a7bb5989edd5c470cf" - integrity sha512-8EsY2iDw74hCk3hIQSg7/E0R8/KtPjnFPZVwmmHxcjhZjkSykmxysefICPDnbI3xgxfov0zwL1WKDHM8zglJdw== +"@commitlint/config-conventional@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.4.tgz#f30b1e5b2e48ce5799a483c200c52f218a98efcc" + integrity sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ== dependencies: conventional-changelog-conventionalcommits "^5.0.0" -"@commitlint/config-validator@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.0.tgz#2cb229672a22476cf1f21bedbfcd788e5da5b54f" - integrity sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA== +"@commitlint/config-validator@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.4.tgz#d0742705719559a101d2ee49c0c514044af6d64d" + integrity sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" ajv "^8.11.0" -"@commitlint/ensure@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.0.tgz#3de65768bfccb9956ec3a0ecd8a415421bf315e5" - integrity sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw== +"@commitlint/ensure@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.4.tgz#a36e7719bdb9c2b86c8b8c2e852b463a7bfda5fa" + integrity sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" lodash.snakecase "^4.1.1" @@ -361,41 +361,41 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== -"@commitlint/format@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.0.tgz#1c80cf3a6274ff9b3d3c0dd150a97882d557aa0f" - integrity sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA== +"@commitlint/format@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.4.tgz#0f6e1b4d7a301c7b1dfd4b6334edd97fc050b9f5" + integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" chalk "^4.1.0" -"@commitlint/is-ignored@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.2.tgz#2d40a34e071c3e595e485fafe8460457a7b7af9d" - integrity sha512-1b2Y2qJ6n7bHG9K6h8S4lBGUl6kc7mMhJN9gy1SQfUZqe92ToDjUTtgNWb6LbzR1X8Cq4SEus4VU8Z/riEa94Q== +"@commitlint/is-ignored@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.4.tgz#82e03f1abe2de2c0c8c162a250b8d466225e922b" + integrity sha512-Y3eo1SFJ2JQDik4rWkBC4tlRIxlXEFrRWxcyrzb1PUT2k3kZ/XGNuCDfk/u0bU2/yS0tOA/mTjFsV+C4qyACHw== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" semver "7.3.8" -"@commitlint/lint@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.3.tgz#20be03992b33edd26ba8d07e210c08173069371e" - integrity sha512-GnPsqEYmXIB/MaBhRMzkiDJWyjuLrKad4xoxKO4N6Kc19iqjR4DPc/bl2dxeW9kUmtrAtefOzIEzJAevpA5y2w== +"@commitlint/lint@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.4.tgz#0ecd70b44ec5f4823c2e00e0c4b04ebd41d42856" + integrity sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw== dependencies: - "@commitlint/is-ignored" "^17.4.2" - "@commitlint/parse" "^17.4.2" - "@commitlint/rules" "^17.4.3" - "@commitlint/types" "^17.4.0" + "@commitlint/is-ignored" "^17.4.4" + "@commitlint/parse" "^17.4.4" + "@commitlint/rules" "^17.4.4" + "@commitlint/types" "^17.4.4" -"@commitlint/load@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.2.tgz#551875c3e1dce6dc0375dc9c8ad551de8ba35de4" - integrity sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw== +"@commitlint/load@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.4.tgz#13fcb553572f265339801cde6dd10ee5eea07f5e" + integrity sha512-z6uFIQ7wfKX5FGBe1AkOF4l/ShOQsaa1ml/nLMkbW7R/xF8galGS7Zh0yHvzVp/srtfS0brC+0bUfQfmpMPFVQ== dependencies: - "@commitlint/config-validator" "^17.4.0" + "@commitlint/config-validator" "^17.4.4" "@commitlint/execute-rule" "^17.4.0" - "@commitlint/resolve-extends" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/resolve-extends" "^17.4.4" + "@commitlint/types" "^17.4.4" "@types/node" "*" chalk "^4.1.0" cosmiconfig "^8.0.0" @@ -412,67 +412,67 @@ resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== -"@commitlint/parse@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.2.tgz#b0f8a257a1f93387a497408b0b4cadba60ee3359" - integrity sha512-DK4EwqhxfXpyCA+UH8TBRIAXAfmmX4q9QRBz/2h9F9sI91yt6mltTrL6TKURMcjUVmgaB80wgS9QybNIyVBIJA== +"@commitlint/parse@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.4.tgz#8311b12f2b730de6ea0679ae2a37b386bcc5b04b" + integrity sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg== dependencies: - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/prompt-cli@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.3.tgz#46468d1df0a380c4278db25420b9175624b4d811" - integrity sha512-f7JzBorHReLQX3DVlEcsSR9oJSUqHcNanAA7MJISA7NiSxJx2GuhXP1kkld7HqHPx4H/w272piyGMXx2jaHnmQ== +"@commitlint/prompt-cli@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.4.tgz#fabeffa7cfeae1d8b2ccd6fde1fba43a9e4d2d0f" + integrity sha512-/tH9KPD9wo/prlDv4SvIGY/3bRE4Be7G3FGyo5nJTIIAQ9XXU1f6xkOEP6q78NnwfLDt3cuuIewWWmzRNzOujg== dependencies: - "@commitlint/prompt" "^17.4.3" + "@commitlint/prompt" "^17.4.4" execa "^5.0.0" inquirer "^6.5.2" -"@commitlint/prompt@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.3.tgz#4e4c2b65aba77a8a748dd8f6424bada19e6b72ff" - integrity sha512-l/h/THEIo4AzcTUU9pL+98QRVOmUx0VKr/Nl1J0IZe/RnJ5+NCPlwQWxpyaN7YPUhwHWAyDriuxuATu1u8XRsw== +"@commitlint/prompt@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.4.tgz#22eb84bb1d51e6580259e63edbc433cdf8ae0090" + integrity sha512-qWC2fydBnAQp+jJqoPYLzzQ6NFMBNm/GlP+oeYOHhMwCXl9nptDGXUJnW3cdL6G4QMYKqJv1czRfATzMXHDHcg== dependencies: - "@commitlint/ensure" "^17.4.0" - "@commitlint/load" "^17.4.2" - "@commitlint/types" "^17.4.0" + "@commitlint/ensure" "^17.4.4" + "@commitlint/load" "^17.4.4" + "@commitlint/types" "^17.4.4" chalk "^4.1.0" inquirer "^6.5.2" -"@commitlint/read@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.2.tgz#4880a05271fb44cefa54d365a17d5753496a6de0" - integrity sha512-hasYOdbhEg+W4hi0InmXHxtD/1favB4WdwyFxs1eOy/DvMw6+2IZBmATgGOlqhahsypk4kChhxjAFJAZ2F+JBg== +"@commitlint/read@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.4.tgz#de6ec00aad827764153009aa54517e3df2154555" + integrity sha512-B2TvUMJKK+Svzs6eji23WXsRJ8PAD+orI44lVuVNsm5zmI7O8RSGJMvdEZEikiA4Vohfb+HevaPoWZ7PiFZ3zA== dependencies: "@commitlint/top-level" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" fs-extra "^11.0.0" git-raw-commits "^2.0.0" minimist "^1.2.6" -"@commitlint/resolve-extends@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.0.tgz#9023da6c70c4ebd173b4b0995fe29f27051da2d3" - integrity sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ== +"@commitlint/resolve-extends@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz#8f931467dea8c43b9fe38373e303f7c220de6fdc" + integrity sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A== dependencies: - "@commitlint/config-validator" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/config-validator" "^17.4.4" + "@commitlint/types" "^17.4.4" import-fresh "^3.0.0" lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.4.3": - version "17.4.3" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.3.tgz#e5e7bf472102447a283b7643ca7240d757a72bb7" - integrity sha512-xHReDfE3Z+O9p1sXeEhPRSk4FifBsC4EbXzvQ4aa0ykQe+n/iZDd4CrFC/Oiv2K9BU4ZnFHak30IbMLa4ks1Rw== +"@commitlint/rules@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.4.tgz#9b33f41e5eb529f916396bac7c62e61f0edd6791" + integrity sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ== dependencies: - "@commitlint/ensure" "^17.4.0" + "@commitlint/ensure" "^17.4.4" "@commitlint/message" "^17.4.2" "@commitlint/to-lines" "^17.4.0" - "@commitlint/types" "^17.4.0" + "@commitlint/types" "^17.4.4" execa "^5.0.0" "@commitlint/to-lines@^17.4.0": @@ -487,10 +487,10 @@ dependencies: find-up "^5.0.0" -"@commitlint/types@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.0.tgz#c7c2b97b959f6175c164632bf26208ce417b3f31" - integrity sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA== +"@commitlint/types@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" + integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== dependencies: chalk "^4.1.0" @@ -525,6 +525,26 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" + integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.35.0": + version "8.35.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" + integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== + "@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" @@ -903,7 +923,7 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.0.8", "@oclif/core@^2.1.2": +"@oclif/core@^2.1.2": version "2.1.4" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.1.4.tgz#536cf9d2367ba96c625076588b0cbccf3341829c" integrity sha512-8rPS/gsjLgWp//nraRs5/yf7EkueFHBLRTMUli3yTu88XrQ2czbXIP2HsF2rxmtCqUUfXUTllHfr8OzqBs0Dcw== @@ -937,6 +957,40 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" +"@oclif/core@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.3.1.tgz#82d977338c68b3faeda84f780c2f97a3dd322cb2" + integrity sha512-18CkjjF16hwhBd/42z+0CHAwvZlBfpyCmdZxpasN/od8c/hdm0oDEJvVB33/xD0LDYg8glKoQ5zVNVvPM/uJ/Q== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + fs-extra "^9.1.0" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + semver "^7.3.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + "@oclif/dev-cli@^1.26.10": version "1.26.10" resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.26.10.tgz#d8df3a79009b68552f5e7f249d1d19ca52278382" @@ -1025,12 +1079,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.2.4": - version "5.2.4" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.4.tgz#57b87b05b1cddc10c4958f93f6320424bb9e3ec6" - integrity sha512-7fVB/M1cslwHJTmyNGGDYBizi54NHcKCxHAbDSD16EbjosKxFwncRylVC/nsMgKZEufMDKZaVYI2lYRY3GHlSQ== +"@oclif/plugin-help@^5.2.6": + version "5.2.6" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.6.tgz#c3b8f8f7608d1969fa2730c4de5166ea9a4fc952" + integrity sha512-nvpSbIOGtPIct3+OqXca3OIu5liyIynascncAXZy4JDD7z8rIGZ3NYJH2M4JhMVyGxCDZxQuLVsdALyIt67G5g== dependencies: - "@oclif/core" "^2.0.8" + "@oclif/core" "^2.3.1" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1042,7 +1096,7 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21", "@oclif/test@^2.3.6": +"@oclif/test@^2.2.21": version "2.3.6" resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.6.tgz#b3c7594f04c2eb55fc6b6f8e61d825500debb85a" integrity sha512-n1DGbLzGrrfn/Nm2f8829RcQ2iOd9EXDZxx0U9WswpJS75P4N9Py4tYBhfX+wGU7CaJDfYxnqQHB0YuRYDBwrw== @@ -1050,6 +1104,14 @@ "@oclif/core" "^2.1.2" fancy-test "^2.0.12" +"@oclif/test@^2.3.8": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.8.tgz#ad2fb6375cb9891ebc002258d090075b8621ed0e" + integrity sha512-usE2GeE2S+feOgf8uFLUUVDKt0N3orH+pc1bKkKQtCNAFDvdyAdAMcBS+1PnmCn+cSxaez0bCQ6xOpxA9s7x3A== + dependencies: + "@oclif/core" "^2.3.1" + fancy-test "^2.0.12" + "@oozcitak/dom@1.15.10": version "1.15.10" resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" @@ -1091,28 +1153,28 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.0.tgz#17c9a25161c093a434fe82a5a90ad1e8615b709e" - integrity sha512-mMqqjsvcNhEosiN7I+8GEiz73ohq8WfnJSaaGvCQKr4geWP+GY9WAWXiSro8kE0r0qz3j3nAFNoXGWCUhGVZPA== +"@salesforce/command@^5.3.2": + version "5.3.2" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.2.tgz#b91c3e81effe5720a7aa80fa62c01ebcc68ff12f" + integrity sha512-avg3al0avAMZr9EJCP/MVZjPEViXn72pVJCFPPuxlfUaYBBpk52vXlxO7HSNErQK+moCKyEPCPMxbs6vJK2UbQ== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.33.1" - "@salesforce/kit" "^1.8.2" + "@salesforce/core" "^3.33.4" + "@salesforce/kit" "^1.8.5" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.33.1": - version "3.33.1" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.1.tgz#3dd0a44ba22763e8e0c2c97df03393e5c2c845d9" - integrity sha512-jaed8rK+NhSxB6MjYUN8f/2VkvtbFN/Ce/l6JvgFE+cvOf2g+lPv1pSsnKKlaSiiYcXkOvIRDT9d9ns1RLJzUw== +"@salesforce/core@^3.33.4", "@salesforce/core@^3.33.5": + version "3.33.5" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.5.tgz#7b3ee60860abc5cb7098b9388d01f7ed47d58c0a" + integrity sha512-4Gb6LzjbhyvdykdclSUTxIlAVqIQZ5dsRhR7XifndvbviAX4s11f3TweOVZl1WEthTBKPF3i34K3QP/MPwbxrQ== dependencies: "@salesforce/bunyan" "^2.0.0" - "@salesforce/kit" "^1.8.0" - "@salesforce/schemas" "^1.4.0" + "@salesforce/kit" "^1.9.0" + "@salesforce/schemas" "^1.5.0" "@salesforce/ts-types" "^1.7.2" - "@types/graceful-fs" "^4.1.5" + "@types/graceful-fs" "^4.1.6" "@types/semver" "^7.3.13" ajv "^8.11.2" archiver "^5.3.0" @@ -1131,16 +1193,16 @@ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== -"@salesforce/kit@^1.8.0", "@salesforce/kit@^1.8.2": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.8.5.tgz#3dcda46e7216363f8703c1c1d3b4dc5d80c1b4d3" - integrity sha512-py5M1PI5tWy/au/1tJ6qQBv7pHX3B4APqsNxg7yx/s2jbERUD6QNwcmWAayuRpZVVnFXBShBYROFZCojuNJwMA== +"@salesforce/kit@^1.8.5", "@salesforce/kit@^1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.0.tgz#ddc179ff588b68f3e8f5c237ab74ed4b9c8d5274" + integrity sha512-a1DnVf2ZN/fZ4Zq0T6pxrDpwOyWSKt6Es1erpUJLvM13H+Y3C4uxSUy4aS4WSHIJA8zvWvvEiWYOV17TD0Dmug== dependencies: "@salesforce/ts-types" "^1.7.3" shx "^0.3.3" tslib "^2.5.0" -"@salesforce/schemas@^1.4.0": +"@salesforce/schemas@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.0.tgz#8bfe2cb5d7cb29d3394b3b9cfb71bb527009c82c" integrity sha512-EKFBURBuON7cj8XZCW+ybeSRRw7wUP1XUXZVHzFgx8KiYmSeGiRHBYbDjQOsQMho2uOLsTozMPEt2ehYnji0YA== @@ -1257,7 +1319,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.3", "@types/graceful-fs@^4.1.5": +"@types/graceful-fs@^4.1.3", "@types/graceful-fs@^4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== @@ -1313,7 +1375,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*", "@types/node@^18.13.0": +"@types/node@*": version "18.13.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== @@ -1323,6 +1385,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^18.14.1": + version "18.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" + integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== + "@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" @@ -1367,14 +1434,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" - integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== +"@typescript-eslint/eslint-plugin@^5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz#24b8b4a952f3c615fe070e3c461dd852b5056734" + integrity sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw== dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/type-utils" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/type-utils" "5.53.0" + "@typescript-eslint/utils" "5.53.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1383,7 +1450,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.52.0": +"@typescript-eslint/parser@^5.10.0": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== @@ -1393,6 +1460,16 @@ "@typescript-eslint/typescript-estree" "5.52.0" debug "^4.3.4" +"@typescript-eslint/parser@^5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" + integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== + dependencies: + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/typescript-estree" "5.53.0" + debug "^4.3.4" + "@typescript-eslint/scope-manager@5.52.0": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" @@ -1401,13 +1478,21 @@ "@typescript-eslint/types" "5.52.0" "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" - integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== +"@typescript-eslint/scope-manager@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" + integrity sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w== dependencies: - "@typescript-eslint/typescript-estree" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/visitor-keys" "5.53.0" + +"@typescript-eslint/type-utils@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz#41665449935ba9b4e6a1ba6e2a3f4b2c31d6cf97" + integrity sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw== + dependencies: + "@typescript-eslint/typescript-estree" "5.53.0" + "@typescript-eslint/utils" "5.53.0" debug "^4.3.4" tsutils "^3.21.0" @@ -1416,6 +1501,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== +"@typescript-eslint/types@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" + integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== + "@typescript-eslint/typescript-estree@5.52.0": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" @@ -1429,16 +1519,29 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" - integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== +"@typescript-eslint/typescript-estree@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" + integrity sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w== + dependencies: + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/visitor-keys" "5.53.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.53.0.tgz#e55eaad9d6fffa120575ffaa530c7e802f13bce8" + integrity sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/typescript-estree" "5.53.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" @@ -1451,6 +1554,14 @@ "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f" + integrity sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w== + dependencies: + "@typescript-eslint/types" "5.53.0" + eslint-visitor-keys "^3.3.0" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -2051,6 +2162,13 @@ cli-progress@^3.10.0, cli-progress@^3.11.2, cli-progress@^3.4.0: dependencies: string-width "^4.2.3" +cli-progress@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" + integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== + dependencies: + string-width "^4.2.3" + cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" @@ -2516,7 +2634,7 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -ejs@^3.1.6: +ejs@^3.1.6, ejs@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== @@ -2746,7 +2864,53 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.34.0, eslint@^8.7.0: +eslint@^8.35.0: + version "8.35.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" + integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== + dependencies: + "@eslint/eslintrc" "^2.0.0" + "@eslint/js" "8.35.0" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +eslint@^8.7.0: version "8.34.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== @@ -2812,6 +2976,13 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" +esquery@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" + integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -2957,10 +3128,10 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz#5a98c18238d28a57bbdfa9fe4cda01211fff8f4a" - integrity sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg== +fast-xml-parser@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz#0254ad0d4d27f07e6b48254b068c0c137488dd97" + integrity sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q== dependencies: strnum "^1.0.5" From 0855dcc5bdae8cfe47788fd3201f9a44c9b2743c Mon Sep 17 00:00:00 2001 From: Sebastien Date: Sun, 26 Feb 2023 18:20:33 +0100 Subject: [PATCH 32/63] fix: in file comparison while ignoring whitespace (#478 * fix: remove `--word-diff-regex` for inFile git diff comparison * build: upgrade dependencies --- src/utils/fileGitDiff.js | 7 +- src/utils/gitConstants.js | 13 +- src/utils/repoGitDiff.js | 4 +- yarn.lock | 382 +++++++++++--------------------------- 4 files changed, 125 insertions(+), 281 deletions(-) diff --git a/src/utils/fileGitDiff.js b/src/utils/fileGitDiff.js index b6de6222..73189839 100644 --- a/src/utils/fileGitDiff.js +++ b/src/utils/fileGitDiff.js @@ -2,13 +2,16 @@ const { spawn } = require('child_process') const { linify } = require('./childProcessUtils') const { gitPathSeparatorNormalizer } = require('./fsHelper') -const { IGNORE_WHITESPACE_PARAMS, UTF8_ENCODING } = require('./gitConstants') +const { + IGNORE_WHITESPACE_PARAMS_FOR_FILE, + UTF8_ENCODING, +} = require('./gitConstants') const unitDiffParams = ['--no-pager', 'diff', '--no-prefix', '-U200'] module.exports = (filePath, config) => { const ignoreWhitespaceParams = config.ignoreWhitespace - ? IGNORE_WHITESPACE_PARAMS + ? IGNORE_WHITESPACE_PARAMS_FOR_FILE : [] const gitDiff = spawn( 'git', diff --git a/src/utils/gitConstants.js b/src/utils/gitConstants.js index b6ee4c0f..1678fc16 100644 --- a/src/utils/gitConstants.js +++ b/src/utils/gitConstants.js @@ -1,6 +1,11 @@ 'use strict' const COMMIT_REF_TYPE = 'commit' const TAG_REF_TYPE = 'tag' +const IGNORE_WHITESPACE_PARAMS_FOR_FILE = [ + '--ignore-all-space', + '--ignore-blank-lines', + '--ignore-cr-at-eol', +] module.exports.ADDITION = 'A' module.exports.DELETION = 'D' module.exports.MODIFICATION = 'M' @@ -10,10 +15,10 @@ module.exports.POINTER_REF_TYPES = [COMMIT_REF_TYPE, TAG_REF_TYPE] module.exports.GIT_DIFF_TYPE_REGEX = /^.\s+/u module.exports.GIT_FOLDER = '.git' module.exports.MINUS = '-' -module.exports.IGNORE_WHITESPACE_PARAMS = [ - '--ignore-all-space', - '--ignore-blank-lines', - '--ignore-cr-at-eol', +module.exports.IGNORE_WHITESPACE_PARAMS_FOR_FILE = + IGNORE_WHITESPACE_PARAMS_FOR_FILE +module.exports.IGNORE_WHITESPACE_PARAMS_FOR_REPO = [ + ...IGNORE_WHITESPACE_PARAMS_FOR_FILE, '--word-diff-regex=|[^[:space:]]', ] module.exports.PLUS = '+' diff --git a/src/utils/repoGitDiff.js b/src/utils/repoGitDiff.js index f0e01fa9..b904ab60 100644 --- a/src/utils/repoGitDiff.js +++ b/src/utils/repoGitDiff.js @@ -6,7 +6,7 @@ const { ADDITION, DELETION, GIT_DIFF_TYPE_REGEX, - IGNORE_WHITESPACE_PARAMS, + IGNORE_WHITESPACE_PARAMS_FOR_REPO, MODIFICATION, UTF8_ENCODING, } = require('./gitConstants') @@ -44,7 +44,7 @@ class RepoGitDiff { encoding: UTF8_ENCODING, } this.ignoreWhitespaceParams = this.config.ignoreWhitespace - ? IGNORE_WHITESPACE_PARAMS + ? IGNORE_WHITESPACE_PARAMS_FOR_REPO : [] } diff --git a/yarn.lock b/yarn.lock index 66504db1..7a0aa24d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": +"@ampproject/remapping@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== @@ -18,38 +18,39 @@ "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.20.5": - version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" - integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" + integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.20.12" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" - integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" + integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== dependencies: - "@ampproject/remapping" "^2.1.0" + "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" + "@babel/generator" "^7.21.0" "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" + "@babel/helper-module-transforms" "^7.21.0" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.0" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.12" - "@babel/types" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": - version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" - integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== +"@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" + integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.21.0" "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" "@babel/helper-compilation-targets@^7.20.7": @@ -68,13 +69,13 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== +"@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" @@ -90,10 +91,10 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.20.11": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" - integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== +"@babel/helper-module-transforms@^7.21.0": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -101,8 +102,8 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.19.1" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.10" - "@babel/types" "^7.20.7" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": version "7.20.2" @@ -134,18 +135,18 @@ integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== -"@babel/helpers@^7.20.7": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" - integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== +"@babel/helpers@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" + integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== dependencies: "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.13" - "@babel/types" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" "@babel/highlight@^7.18.6": version "7.18.6" @@ -156,10 +157,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": - version "7.20.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" - integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" + integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -260,21 +261,21 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/runtime-corejs3@^7.12.5": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.13.tgz#ad012857db412ab0b5ccf184b67be2cfcc2a1dcf" - integrity sha512-p39/6rmY9uvlzRiLZBIB3G9/EBr66LBMcYm7fIDeSBNdRjF2AGD3rFZucUyAgGHC2N+7DdLvVi33uTjSE44FIw== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz#6e4939d9d9789ff63e2dc58e88f13a3913a24eba" + integrity sha512-TDD4UJzos3JJtM+tHX+w2Uc+KWj7GV+VKKFdMVd2Rx8sdA19hcc3P3AHFYd5LVOw+pYuSd5lICC3gm52B6Rwxw== dependencies: core-js-pure "^3.25.1" regenerator-runtime "^0.13.11" "@babel/runtime@^7.12.5": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" - integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== dependencies: regenerator-runtime "^0.13.11" -"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": +"@babel/template@^7.20.7", "@babel/template@^7.3.3": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== @@ -283,26 +284,26 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13", "@babel/traverse@^7.7.2": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" - integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== +"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" + integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" + "@babel/generator" "^7.21.1" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" + "@babel/helper-function-name" "^7.21.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.13" - "@babel/types" "^7.20.7" + "@babel/parser" "^7.21.2" + "@babel/types" "^7.21.2" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" + integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" @@ -510,21 +511,6 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "~3.1.0" -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - "@eslint/eslintrc@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" @@ -812,7 +798,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== @@ -890,9 +876,9 @@ tslib "^2.5.0" "@oclif/core@^1.25.0": - version "1.26.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.1.tgz#26e46c96143d3e2b1dd9bd558ae1653fe9a4f3fa" - integrity sha512-g+OWJcM7JOVI53caTEtq0BB1nPotWctRLUyFODPgvDqXhVR7QED+Qz3LwFAMD8dt7/Ar2ZNq15U3bnpnOv453A== + version "1.26.2" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.2.tgz#763c68dc91388225acd6f0819c90f93e5d8cde41" + integrity sha512-6jYuZgXvHfOIc9GIaS4T3CIKGTjPmfAxuMcbCbMRKJJl4aq/4xeRlEz0E8/hz8HxvxZBGvN2GwAUHlrGWQVrVw== dependencies: "@oclif/linewrap" "^1.0.0" "@oclif/screen" "^3.0.4" @@ -923,40 +909,6 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.1.2": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.1.4.tgz#536cf9d2367ba96c625076588b0cbccf3341829c" - integrity sha512-8rPS/gsjLgWp//nraRs5/yf7EkueFHBLRTMUli3yTu88XrQ2czbXIP2HsF2rxmtCqUUfXUTllHfr8OzqBs0Dcw== - dependencies: - "@types/cli-progress" "^3.11.0" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.11.2" - debug "^4.3.4" - ejs "^3.1.6" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - tslib "^2.5.0" - widest-line "^3.1.0" - wordwrap "^1.0.0" - wrap-ansi "^7.0.0" - "@oclif/core@^2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.3.1.tgz#82d977338c68b3faeda84f780c2f97a3dd322cb2" @@ -1096,15 +1048,7 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21": - version "2.3.6" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.6.tgz#b3c7594f04c2eb55fc6b6f8e61d825500debb85a" - integrity sha512-n1DGbLzGrrfn/Nm2f8829RcQ2iOd9EXDZxx0U9WswpJS75P4N9Py4tYBhfX+wGU7CaJDfYxnqQHB0YuRYDBwrw== - dependencies: - "@oclif/core" "^2.1.2" - fancy-test "^2.0.12" - -"@oclif/test@^2.3.8": +"@oclif/test@^2.2.21", "@oclif/test@^2.3.8": version "2.3.8" resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.8.tgz#ad2fb6375cb9891ebc002258d090075b8621ed0e" integrity sha512-usE2GeE2S+feOgf8uFLUUVDKt0N3orH+pc1bKkKQtCNAFDvdyAdAMcBS+1PnmCn+cSxaez0bCQ6xOpxA9s7x3A== @@ -1215,9 +1159,9 @@ tslib "^2.5.0" "@sinclair/typebox@^0.25.16": - version "0.25.21" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.21.tgz#763b05a4b472c93a8db29b2c3e359d55b29ce272" - integrity sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g== + version "0.25.24" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== "@sinonjs/commons@^2.0.0": version "2.0.0" @@ -1375,21 +1319,16 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*": - version "18.13.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" - integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== +"@types/node@*", "@types/node@^18.14.1": + version "18.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" + integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== "@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@^18.14.1": - version "18.14.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" - integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== - "@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" @@ -1450,17 +1389,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" - integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== - dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" - debug "^4.3.4" - -"@typescript-eslint/parser@^5.53.0": +"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== @@ -1470,14 +1399,6 @@ "@typescript-eslint/typescript-estree" "5.53.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" - integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== - dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" - "@typescript-eslint/scope-manager@5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" @@ -1496,29 +1417,11 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" - integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== - "@typescript-eslint/types@5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== -"@typescript-eslint/typescript-estree@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" - integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== - dependencies: - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/visitor-keys" "5.52.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" @@ -1546,14 +1449,6 @@ eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" - integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== - dependencies: - "@typescript-eslint/types" "5.52.0" - eslint-visitor-keys "^3.3.0" - "@typescript-eslint/visitor-keys@5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f" @@ -2037,9 +1932,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001452" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001452.tgz#dff7b8bb834b3a91808f0a9ff0453abb1fbba02a" - integrity sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w== + version "1.0.30001458" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz#871e35866b4654a7d25eccca86864f411825540c" + integrity sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w== capital-case@^1.0.4: version "1.0.4" @@ -2155,14 +2050,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-progress@^3.10.0, cli-progress@^3.11.2, cli-progress@^3.4.0: - version "3.11.2" - resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.11.2.tgz#f8c89bd157e74f3f2c43bcfb3505670b4d48fc77" - integrity sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA== - dependencies: - string-width "^4.2.3" - -cli-progress@^3.12.0: +cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: version "3.12.0" resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== @@ -2413,9 +2301,9 @@ cosmiconfig-typescript-loader@^4.0.0: integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== cosmiconfig@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" - integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== + version "8.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.0.tgz#947e174c796483ccf0a48476c24e4fefb7e1aea8" + integrity sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg== dependencies: import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -2642,9 +2530,9 @@ ejs@^3.1.6, ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.4.284: - version "1.4.295" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz#911d5df67542bf7554336142eb302c5ec90bba66" - integrity sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw== + version "1.4.311" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.311.tgz#953bc9a4767f5ce8ec125f9a1ad8e00e8f67e479" + integrity sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw== emittery@^0.13.1: version "0.13.1" @@ -2864,7 +2752,7 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.35.0: +eslint@^8.35.0, eslint@^8.7.0: version "8.35.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== @@ -2910,51 +2798,6 @@ eslint@^8.35.0: strip-json-comments "^3.1.0" text-table "^0.2.0" -eslint@^8.7.0: - version "8.34.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - espree@^9.0.0, espree@^9.4.0: version "9.4.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" @@ -2969,14 +2812,7 @@ esprima@^4.0.0, esprima@~4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esquery@^1.4.2: +esquery@^1.4.0, esquery@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== @@ -4485,9 +4321,9 @@ jsesc@^2.5.1: integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsforce@^2.0.0-beta.19: - version "2.0.0-beta.19" - resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.19.tgz#4a136b88d6a9f6668714c4ccbb0acd55e46ea493" - integrity sha512-WdF6hs7kukXNGvp/VRhu2DngldgiBBorsc2WA5us08oJGbEIPwn/itqYJWKJ+rfPXepz5JbkWQd48XHGjqmPpw== + version "2.0.0-beta.20" + resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.20.tgz#907630942b2ecd653098caa3f87e7710874cb207" + integrity sha512-5TpdU0MEUN34M0mSKmBwOMKaI8dllTYF8NzpJn0/9akrwqKEERK6K2jGiMWcs85Vx1HCHEcwU2n+5ij6z6zr2g== dependencies: "@babel/runtime" "^7.12.5" "@babel/runtime-corejs3" "^7.12.5" @@ -4540,7 +4376,7 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^1.0.1: +json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== @@ -5579,18 +5415,18 @@ read-pkg@^5.2.0: type-fest "^0.6.0" readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + version "3.6.1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" + integrity sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" readable-stream@^2.0.0, readable-stream@^2.0.5: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -6360,12 +6196,12 @@ ts-retry-promise@^0.7.0: integrity sha512-x6yWZXC4BfXy4UyMweOFvbS1yJ/Y5biSz/mEPiILtJZLrqD3ZxIpzVOGGgifHHdaSe3WxzFRtsRbychI6zofOg== tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" + json5 "^1.0.2" minimist "^1.2.6" strip-bom "^3.0.0" @@ -6529,9 +6365,9 @@ v8-compile-cache-lib@^3.0.1: integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-to-istanbul@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== + version "9.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" + integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" @@ -6794,9 +6630,9 @@ yargs@^15.0.2: yargs-parser "^18.1.2" yargs@^17.0.0, yargs@^17.3.1: - version "17.6.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" - integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== + version "17.7.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" + integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== dependencies: cliui "^8.0.1" escalade "^3.1.1" From 225c4356a95fc781f4fbe938d57709a7fa795a6e Mon Sep 17 00:00:00 2001 From: Sebastien Date: Sun, 26 Feb 2023 20:21:51 +0100 Subject: [PATCH 33/63] fix: flow translation post processing (#487) * fix: use config parameter instead of work * test: add more precise assertions --- .../flowTranslationProcessor.test.js | 48 +++++++++++++++++++ .../flowTranslationProcessor.js | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js index 795c0c68..2d20caee 100644 --- a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js +++ b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js @@ -3,6 +3,8 @@ const FlowTranslationProcessor = require('../../../../src/post-processor/flowTra const { mockParse } = require('fast-xml-parser') const { FLOW_DIRECTORY_NAME, + METAFILE_SUFFIX, + TRANSLATION_EXTENSION, TRANSLATION_TYPE, } = require('../../../../src/utils/metadataConstants') const { @@ -19,6 +21,7 @@ jest.mock('../../../../src/utils/ignoreHelper') const FR = 'fr' const EN = 'en' const flowFullName = 'test-flow' +const EXTENSION = `${TRANSLATION_EXTENSION}${METAFILE_SUFFIX}` const trueAfter = (attempt = 0) => { let count = 0 @@ -62,6 +65,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) @@ -79,6 +87,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).toHaveBeenCalledTimes(1) expect(copyFiles).not.toHaveBeenCalled() }) @@ -101,6 +114,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalled() }) @@ -138,6 +156,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) @@ -174,6 +197,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).toHaveBeenCalledTimes(2) expect(copyFiles).not.toHaveBeenCalled() }) @@ -201,6 +229,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).toHaveBeenCalledTimes(2) if (generateDelta) expect(copyFiles).toHaveBeenCalledTimes(2) else expect(copyFiles).not.toHaveBeenCalled() @@ -223,6 +256,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(forPath).toHaveBeenCalledTimes(1) expect(mockParse).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() @@ -245,6 +283,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(forPath).toHaveBeenCalledTimes(1) expect(mockParse).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalledTimes(1) @@ -274,6 +317,11 @@ describe('FlowTranslationProcessor', () => { // Assert expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) expect(mockParse).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) diff --git a/src/post-processor/flowTranslationProcessor.js b/src/post-processor/flowTranslationProcessor.js index 7bdfd701..cd4cb48b 100644 --- a/src/post-processor/flowTranslationProcessor.js +++ b/src/post-processor/flowTranslationProcessor.js @@ -42,7 +42,7 @@ class FlowTranslationProcessor extends BaseProcessor { const translationsIterator = scanExtension( this.config.source, EXTENSION, - this.work + this.work.config ) const ign = await this._getIgnoreInstance() From affe73d98106735fc00d2f07ef2818a865329f6c Mon Sep 17 00:00:00 2001 From: Sebastien Date: Mon, 27 Feb 2023 09:49:19 +0100 Subject: [PATCH 34/63] chore(main): release 5.13.3 (#486) --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbbe1b98..b30dcbaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.13.3](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.2...v5.13.3) (2023-02-26) + + +### Bug Fixes + +* `fsHelper.pathExist` when path does not exist ([#482](https://github.com/scolladon/sfdx-git-delta/issues/482)) ([fef6734](https://github.com/scolladon/sfdx-git-delta/commit/fef6734c947c7811d5d6995320f996fdfd329d2a)) +* flow translation post processing ([#487](https://github.com/scolladon/sfdx-git-delta/issues/487)) ([225c435](https://github.com/scolladon/sfdx-git-delta/commit/225c4356a95fc781f4fbe938d57709a7fa795a6e)) +* in file comparison while ignoring whitespace ([#478](https://github.com/scolladon/sfdx-git-delta/issues/478) ([0855dcc](https://github.com/scolladon/sfdx-git-delta/commit/0855dcc5bdae8cfe47788fd3201f9a44c9b2743c)) +* typos in readme ([a3459b0](https://github.com/scolladon/sfdx-git-delta/commit/a3459b0e61cee0d270a0f4c4007316a6a6b496eb)) + ## [5.13.2](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.1...v5.13.2) (2023-02-16) diff --git a/package.json b/package.json index b9dae4ac..16e432df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.13.2", + "version": "5.13.3", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 449948d36bc36307acf9658b43dc223e6689029d Mon Sep 17 00:00:00 2001 From: Allan Oricil <55927613+AllanOricil@users.noreply.github.com> Date: Sat, 11 Mar 2023 19:37:21 -0300 Subject: [PATCH 35/63] build: script conveniency and improve documentation (#506) --- CONTRIBUTING.md | 2 +- package.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f2fcee99..0149423e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,7 @@ This will install all the tools needed to contribute yarn ``` -### 2) Build application +### 3) Build application ```bash yarn pack diff --git a/package.json b/package.json index 16e432df..20ad6d3a 100644 --- a/package.json +++ b/package.json @@ -55,8 +55,9 @@ "test:debug": "node --inspect node_modules/.bin/jest", "test:debug:break": "node --inspect-brk node_modules/.bin/jest", "test:watch": "jest --watch", + "build": "rm -rf lib && tsc -b", "postpack": "rm -f oclif.manifest.json && prettier --write README.md", - "prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme", + "prepack": "yarn build && oclif-dev manifest && oclif-dev readme", "prepare": "husky install", "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname", "upgrade:dependencies": "yarn yarn-upgrade-all" From 89d6aa793c5aea6650e1dbffc7da7cf982379df8 Mon Sep 17 00:00:00 2001 From: Gabriel Serrano Salas Date: Tue, 14 Mar 2023 17:43:00 +0100 Subject: [PATCH 36/63] feat: add support for forecasting metadata types (#518) --- src/metadata/v55.json | 35 +++++++++++++++++++++++++++++++++++ src/metadata/v56.json | 35 +++++++++++++++++++++++++++++++++++ src/metadata/v57.json | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 105 insertions(+) diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 80f92868..3357da6c 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,39 @@ [ + { + "directoryName": "forecastingFilters", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingFilter", + "xmlName": "ForecastingFilter" + }, + { + "directoryName": "forecastingFilterConditions", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingFilterCondition", + "xmlName": "ForecastingFilterCondition" + }, + { + "directoryName": "forecastingSourceDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingSourceDefinition", + "xmlName": "ForecastingSourceDefinition" + }, + { + "directoryName": "forecastingTypes", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingType", + "xmlName": "ForecastingType" + }, + { + "directoryName": "forecastingTypeSources", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingTypeSource", + "xmlName": "ForecastingTypeSource" + }, { "directoryName": "decisionMatrixDefinition", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index d49f742b..173c792d 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,39 @@ [ + { + "directoryName": "forecastingFilters", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingFilter", + "xmlName": "ForecastingFilter" + }, + { + "directoryName": "forecastingFilterConditions", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingFilterCondition", + "xmlName": "ForecastingFilterCondition" + }, + { + "directoryName": "forecastingSourceDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingSourceDefinition", + "xmlName": "ForecastingSourceDefinition" + }, + { + "directoryName": "forecastingTypes", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingType", + "xmlName": "ForecastingType" + }, + { + "directoryName": "forecastingTypeSources", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingTypeSource", + "xmlName": "ForecastingTypeSource" + }, { "directoryName": "decisionMatrixDefinition", "inFolder": false, diff --git a/src/metadata/v57.json b/src/metadata/v57.json index d49f742b..173c792d 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -1,4 +1,39 @@ [ + { + "directoryName": "forecastingFilters", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingFilter", + "xmlName": "ForecastingFilter" + }, + { + "directoryName": "forecastingFilterConditions", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingFilterCondition", + "xmlName": "ForecastingFilterCondition" + }, + { + "directoryName": "forecastingSourceDefinitions", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingSourceDefinition", + "xmlName": "ForecastingSourceDefinition" + }, + { + "directoryName": "forecastingTypes", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingType", + "xmlName": "ForecastingType" + }, + { + "directoryName": "forecastingTypeSources", + "inFolder": false, + "metaFile": false, + "suffix": "forecastingTypeSource", + "xmlName": "ForecastingTypeSource" + }, { "directoryName": "decisionMatrixDefinition", "inFolder": false, From 9bf60c50e30d2ba0be7f58121404c2dabd85a303 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 14 Mar 2023 18:05:02 +0100 Subject: [PATCH 37/63] feat: implement diff detection using file content comparison (#511) --- .github/workflows/on-pull-request.yml | 2 +- .gitignore | 6 +- README.md | 5 +- __mocks__/fast-xml-parser.js | 29 - __tests__/integration/domain.test.js | 38 +- .../flowTranslationProcessor.test.js | 46 +- .../unit/lib/service/inFileHandler.test.js | 407 ++----- .../unit/lib/service/standardHandler.test.js | 15 - __tests__/unit/lib/utils/fileGitDiff.test.js | 256 ++++- __tests__/unit/lib/utils/fsHelper.test.js | 22 + __tests__/unit/lib/utils/fxpHelper.test.js | 142 ++- .../unit/lib/utils/packageHelper.test.js | 34 +- package.json | 25 +- .../flowTranslationProcessor.js | 20 +- src/service/botHandler.js | 4 +- src/service/inBundleHandler.js | 9 +- src/service/inFileHandler.js | 192 +--- src/service/inFolderHandler.js | 6 +- src/service/inResourceHandler.js | 7 +- src/service/standardHandler.js | 35 +- src/service/waveHandler.js | 8 +- src/utils/fileGitDiff.js | 167 ++- src/utils/fsHelper.js | 13 +- src/utils/fxpHelper.js | 22 +- src/utils/gitConstants.js | 13 +- src/utils/packageHelper.js | 19 +- src/utils/repoGitDiff.js | 4 +- yarn.lock | 1021 ++++++++++------- 28 files changed, 1429 insertions(+), 1138 deletions(-) delete mode 100644 __mocks__/fast-xml-parser.js diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 3adf84bf..426c56e6 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -85,7 +85,7 @@ jobs: strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] - node: [14, 16] + node: [14, 16, 18] runs-on: ${{ matrix.os }} steps: - name: Checkout sources diff --git a/.gitignore b/.gitignore index 1ea91cb0..ddc7cc4d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ -node_modules -coverage -lib +/node_modules +/coverage +/lib *-debug.log *-error.log sfdx-git-delta-*.tgz \ No newline at end of file diff --git a/README.md b/README.md index 787878e4..ca8d113c 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/main/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.13.3/src/commands/sgd/source/delta.ts)_ ### Windows users @@ -518,8 +518,9 @@ console.log(JSON.stringify(work)) - [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) - Validate XML, Parse XML to JS/JSON and vise versa, or parse XML to Nimn rapidly without C/C++ based libraries and no callback - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Node.js: extra methods for the fs object like copy(), remove(), mkdirs(). - [ignore](https://github.com/kaelzhang/node-ignore#readme) - is a manager, filter and parser which implemented in pure JavaScript according to the .gitignore spec 2.22.1. -- [xmlbuilder2](https://github.com/oozcitak/xmlbuilder2) - An XML builder for node.js. +- [lodash](https://github.com/lodash/lodash) - A modern JavaScript utility library delivering modularity, performance & extras. - [micromatch](https://github.com/micromatch/micromatch) - a file glob matcher utility +- [xmlbuilder2](https://github.com/oozcitak/xmlbuilder2) - An XML builder for node.js. ## Versioning diff --git a/__mocks__/fast-xml-parser.js b/__mocks__/fast-xml-parser.js deleted file mode 100644 index bc00d2ff..00000000 --- a/__mocks__/fast-xml-parser.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict' -const fxp = jest.genMockFromModule('fast-xml-parser') - -let json2xml = new Map() -let xml2json = new Map() -fxp.__setMockContent = contents => { - json2xml = new Map() - xml2json = new Map() - for (const content in contents) { - json2xml.set(contents[content], content) - xml2json.set(content, contents[content]) - } -} - -const mockParse = jest.fn(content => JSON.parse(xml2json.get(content))) -fxp.XMLParser = function () { - return { - parse: mockParse, - } -} - -fxp.XMLBuilder = function () { - return { - build: jest.fn(content => json2xml.get(content)), - } -} - -module.exports = fxp -module.exports.mockParse = mockParse diff --git a/__tests__/integration/domain.test.js b/__tests__/integration/domain.test.js index 09ee2195..640bbdcb 100644 --- a/__tests__/integration/domain.test.js +++ b/__tests__/integration/domain.test.js @@ -9,16 +9,15 @@ const InResourceHandler = require('../../src/service/inResourceHandler') const StandardHandler = require('../../src/service/standardHandler') const SubCustomObjectHandler = require('../../src/service/subCustomObjectHandler') const WaveHandler = require('../../src/service/waveHandler') -const fileGitDiff = require('../../src/utils/fileGitDiff') const { EOL } = require('os') const { ADDITION, DELETION, MODIFICATION, - MINUS, - PLUS, } = require('../../src/utils/gitConstants') -jest.mock('../../src/utils/fileGitDiff') +const { readPathFromGit } = require('../../src/utils/fsHelper') + +jest.mock('../../src/utils/fsHelper') const testContext = [ [ @@ -67,6 +66,7 @@ const testContext = [ new Set(['Account.Test']), 'workflows.alerts', `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'workflows', @@ -74,6 +74,7 @@ const testContext = [ new Set(['Account.Test']), 'workflows.fieldUpdates', `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'workflows', @@ -81,6 +82,7 @@ const testContext = [ new Set(['Account.Test']), 'workflows.outboundMessages', `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'workflows', @@ -88,6 +90,7 @@ const testContext = [ new Set(['Account.Test']), 'workflows.rules', `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'workflows', @@ -95,6 +98,7 @@ const testContext = [ new Set(['Account.Test']), 'workflows.flowActions', `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'labels', @@ -102,6 +106,7 @@ const testContext = [ new Set(['Label']), 'labels.labels', `${EOL}${EOL}${EOL}Label${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'sharingRules', @@ -109,6 +114,7 @@ const testContext = [ new Set(['Account.Criteria']), 'sharingRules.sharingCriteriaRules', `${EOL}${EOL}${EOL}Criteria${EOL}${EOL}`, + `${EOL}${EOL}`, ], [ 'sharingRules', @@ -116,6 +122,7 @@ const testContext = [ new Set(['Account.Criteria']), 'sharingRules.sharingCriteriaRules', `${EOL}${EOL}${EOL}Criteria${EOL}${EOL}`, + `${EOL}${EOL}`, ], ], ], @@ -449,12 +456,13 @@ describe.each(testContext)('integration domain test', (handler, testData) => { describe(`${handler.name}`, () => { describe.each(testData)( '%s', - (type, changePath, expected, expectedType, xmlContent) => { + (type, changePath, expected, expectedType, xmlTo, xmlFrom) => { test('addition', async () => { // Arrange - fileGitDiff.mockImplementation(() => - xmlContent?.split(EOL).map(x => `${PLUS} ${x}`) - ) + if (xmlTo && xmlFrom) { + readPathFromGit.mockResolvedValueOnce(xmlTo) + readPathFromGit.mockResolvedValueOnce(xmlFrom) + } const sut = new handler( `${ADDITION} ${changePath}`, type, @@ -470,9 +478,10 @@ describe.each(testContext)('integration domain test', (handler, testData) => { }) test('deletion', async () => { // Arrange - fileGitDiff.mockImplementation(() => - xmlContent?.split(EOL).map(x => `${MINUS} ${x}`) - ) + if (xmlTo && xmlFrom) { + readPathFromGit.mockResolvedValueOnce(xmlFrom) + readPathFromGit.mockResolvedValueOnce(xmlTo) + } const sut = new handler( `${DELETION} ${changePath}`, @@ -491,9 +500,10 @@ describe.each(testContext)('integration domain test', (handler, testData) => { }) test('modification', async () => { // Arrange - fileGitDiff.mockImplementation(() => - xmlContent?.split(EOL).map(x => `${PLUS} ${x}`) - ) + if (xmlTo && xmlFrom) { + readPathFromGit.mockResolvedValueOnce(xmlTo) + readPathFromGit.mockResolvedValueOnce(xmlFrom) + } const sut = new handler( `${MODIFICATION} ${changePath}`, type, diff --git a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js index 2d20caee..5cf44e51 100644 --- a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js +++ b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js @@ -1,6 +1,6 @@ 'use strict' const FlowTranslationProcessor = require('../../../../src/post-processor/flowTranslationProcessor') -const { mockParse } = require('fast-xml-parser') +const { parseXmlFileToJson } = require('../../../../src/utils/fxpHelper') const { FLOW_DIRECTORY_NAME, METAFILE_SUFFIX, @@ -14,9 +14,17 @@ const { } = require('../../../../src/utils/fsHelper') const { forPath } = require('../../../../src/utils/ignoreHelper') jest.mock('fs-extra') -jest.mock('fast-xml-parser') jest.mock('../../../../src/utils/fsHelper') jest.mock('../../../../src/utils/ignoreHelper') +jest.mock('../../../../src/utils/fxpHelper', () => { + const originalModule = jest.requireActual('../../../../src/utils/fxpHelper') + + return { + ...originalModule, + parseXmlFileToJson: jest.fn(), + convertJsonToXml: jest.fn(), + } +}) const FR = 'fr' const EN = 'en' @@ -70,7 +78,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).not.toHaveBeenCalled() + expect(parseXmlFileToJson).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) }) @@ -78,7 +86,7 @@ describe('FlowTranslationProcessor', () => { describe('when there is a translation file without flow def', () => { beforeEach(() => { // Arrange - mockParse.mockImplementationOnce(() => ({})) + parseXmlFileToJson.mockResolvedValueOnce({}) }) it('should not add translation file', async () => { // Act @@ -92,7 +100,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).toHaveBeenCalledTimes(1) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) expect(copyFiles).not.toHaveBeenCalled() }) }) @@ -103,9 +111,9 @@ describe('FlowTranslationProcessor', () => { work.diffs.package = new Map([ [FLOW_DIRECTORY_NAME, new Set([flowFullName])], ]) - mockParse.mockImplementation(() => ({ + parseXmlFileToJson.mockResolvedValue({ Translations: { flowDefinitions: { fullName: flowFullName } }, - })) + }) }) it('should add translation file', async () => { // Act @@ -119,7 +127,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).toHaveBeenCalledTimes(1) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalled() }) describe('when the folder is not a git repository', () => { @@ -161,7 +169,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).not.toHaveBeenCalled() + expect(parseXmlFileToJson).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) }) @@ -184,9 +192,9 @@ describe('FlowTranslationProcessor', () => { }) describe('when there is no flow matching the translation', () => { beforeEach(() => { - mockParse.mockImplementation(() => ({ + parseXmlFileToJson.mockResolvedValue({ Translations: { flowDefinitions: [{ fullName: 'wrong' }] }, - })) + }) }) it('should not add translation', async () => { // Arrange @@ -202,7 +210,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).toHaveBeenCalledTimes(2) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) expect(copyFiles).not.toHaveBeenCalled() }) }) @@ -212,9 +220,9 @@ describe('FlowTranslationProcessor', () => { 'when config.generateDelta is %s', generateDelta => { beforeEach(() => { - mockParse.mockImplementation(() => ({ + parseXmlFileToJson.mockResolvedValue({ Translations: { flowDefinitions: [{ fullName: flowFullName }] }, - })) + }) work.diffs.package = new Map([ [FLOW_DIRECTORY_NAME, new Set([flowFullName])], ]) @@ -234,7 +242,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).toHaveBeenCalledTimes(2) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) if (generateDelta) expect(copyFiles).toHaveBeenCalledTimes(2) else expect(copyFiles).not.toHaveBeenCalled() }) @@ -262,7 +270,7 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(forPath).toHaveBeenCalledTimes(1) - expect(mockParse).not.toHaveBeenCalled() + expect(parseXmlFileToJson).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) }) @@ -289,7 +297,7 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(forPath).toHaveBeenCalledTimes(1) - expect(mockParse).toHaveBeenCalledTimes(1) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalledTimes(1) }) }) @@ -307,7 +315,7 @@ describe('FlowTranslationProcessor', () => { }), }), })) - mockParse.mockImplementationOnce(() => ({})) + parseXmlFileToJson.mockResolvedValueOnce({}) isSubDir.mockImplementation(() => true) }) it('should not add translation file', async () => { @@ -322,7 +330,7 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(mockParse).not.toHaveBeenCalled() + expect(parseXmlFileToJson).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) }) diff --git a/__tests__/unit/lib/service/inFileHandler.test.js b/__tests__/unit/lib/service/inFileHandler.test.js index 41afb675..2e3b4763 100644 --- a/__tests__/unit/lib/service/inFileHandler.test.js +++ b/__tests__/unit/lib/service/inFileHandler.test.js @@ -1,339 +1,138 @@ 'use strict' const InFile = require('../../../../src/service/inFileHandler') -const { - ADDITION, - MODIFICATION, - DELETION, - PLUS, - MINUS, -} = require('../../../../src/utils/gitConstants') -const fileGitDiff = require('../../../../src/utils/fileGitDiff') -const { readPathFromGit, copyFiles } = require('../../../../src/utils/fsHelper') -const { EOL } = require('os') -const { outputFile } = require('fs-extra') +const { writeFile } = require('../../../../src/utils/fsHelper') -jest.unmock('fast-xml-parser') -jest.mock('fs-extra') -jest.mock('../../../../src/utils/fileGitDiff') -jest.mock('../../../../src/utils/fsHelper') - -let work -beforeEach(() => { - jest.clearAllMocks() - work = { - config: { output: '', source: '', repo: '', generateDelta: true }, - diffs: { package: new Map(), destructiveChanges: new Map() }, - warnings: [], - } +const mockCompare = jest.fn() +const mockprune = jest.fn() +jest.mock('../../../../src/utils/fileGitDiff', () => { + return jest.fn().mockImplementation(() => { + return { compare: mockCompare, prune: mockprune } + }) }) +jest.mock('../../../../src/utils/fsHelper') -describe(`inFileHandler`, () => { +describe.each([true, false])(`inFileHandler`, generateDelta => { let globalMetadata beforeAll(async () => { // eslint-disable-next-line no-undef globalMetadata = await getGlobalMetadata() }) - - describe.each([ - ['added', ADDITION], - ['modified', MODIFICATION], - ])('When entity is %s', (_, changeType) => { - describe('with syntactically correct xml', () => { - it('should it populate package.xml and copy file', async () => { - // Arrange - const line = - 'force-app/main/default/workflows/Test/Account.workflow-meta.xml' - const goodXml = `${EOL}${EOL}${EOL}TestEA${EOL}${EOL}${EOL}TestFU${EOL}${EOL}${EOL}TestRule${EOL}${EOL}${EOL}` - fileGitDiff.mockImplementation(() => - goodXml.split(EOL).map(x => `${PLUS} ${x}`) - ) - readPathFromGit.mockImplementation(() => goodXml) - const sut = new InFile( - `${changeType} ${line}`, - 'workflows', - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect(work.diffs.package).toEqual( - new Map([ - ['workflows', new Set(['Account'])], - ['workflows.alerts', new Set(['Account.TestEA'])], - ['workflows.fieldUpdates', new Set(['Account.TestFU'])], - ['workflows.rules', new Set(['Account.TestRule'])], - ]) - ) - expect(work.warnings).toHaveLength(0) - expect(copyFiles).toBeCalledTimes(1) - expect(outputFile).toHaveBeenCalledWith( - line, - expect.stringContaining('TestEA') - ) - expect(outputFile).toHaveBeenCalledWith( - line, - expect.stringContaining('TestFU') - ) - expect(outputFile).toHaveBeenCalledWith( - line, - expect.stringContaining('TestRule') - ) - }) - }) - - describe('with syntactically incorrect xml', () => { - it('should parse modification properly and generate wrong xml file', async () => { - // Arrange - const line = 'force-app/main/error/labels/CustomLabels.labels-meta.xml' - const badXml = `${EOL}${EOL}${EOL}TestLabel1${EOL}${EOL}${EOL}${EOL}TestLabel2${EOL}${EOL}` - fileGitDiff.mockImplementation(() => - badXml.split(EOL).map(x => `${PLUS} ${x}`) - ) - readPathFromGit.mockImplementation(() => badXml) - const sut = new InFile( - `${changeType} ${line}`, - 'labels', - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect(work.diffs.package).toEqual( - new Map([['labels.labels', new Set(['TestLabel1', 'TestLabel2'])]]) - ) - expect(work.warnings).toHaveLength(0) - expect(copyFiles).toBeCalledTimes(1) - expect(outputFile).toHaveBeenCalledWith( - line, - expect.stringMatching(/<\/labels>\n$/) - ) - }) - }) - - describe('when not generating delta', () => { - beforeEach(() => { - work.config.generateDelta = false - }) - - it('should generate manifest without copying files', async () => { - // Arrange - const xmlContent = `${EOL}${EOL}${EOL}Label1${EOL}${EOL}${EOL}` - fileGitDiff.mockImplementation(() => - xmlContent.split(EOL).map(x => `${PLUS} ${x}`) - ) - readPathFromGit.mockImplementation(() => xmlContent) - const sut = new InFile( - `${changeType} force-app/main/error/labels/CustomLabels.labels-meta.xml`, - 'labels', - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect(work.diffs.package).toEqual( - new Map([['labels.labels', new Set(['Label1'])]]) - ) - expect(work.warnings).toHaveLength(0) - expect(copyFiles).not.toBeCalled() - expect(outputFile).not.toBeCalled() - }) - }) + let work + beforeEach(() => { + jest.clearAllMocks() + work = { + config: { + output: '', + source: '', + repo: '', + generateDelta, + }, + diffs: { package: new Map(), destructiveChanges: new Map() }, + warnings: [], + } }) - describe('when the entity is partially modified', () => { - const line = - 'force-app/main/default/sharingRules/Account.sharingRules-meta.xml' - const xmlContent = `${EOL}${EOL}${EOL}TestCBS${EOL}${EOL}${EOL}NotWrite${EOL}${EOL}` - describe('when the change occurs after fullname', () => { - it('should capture the change and relate it to the right entity', async () => { - // Arrange - fileGitDiff.mockImplementation(() => - xmlContent.split(EOL).map((x, i) => (i === 4 ? `${MINUS} ${x}` : x)) - ) - readPathFromGit.mockImplementation(() => xmlContent) - - const sut = new InFile( - `${MODIFICATION} ${line}`, - 'sharingRules', - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect( - work.diffs.package.get('sharingRules.sharingCriteriaRules') - ).toEqual(new Set(['Account.TestCBS'])) - expect(work.warnings).toHaveLength(0) - expect(outputFile).toBeCalledWith( - line, - expect.stringContaining('TestCBS') - ) - expect(outputFile).not.toBeCalledWith( - line, - expect.stringContaining('NotWrite') - ) + describe('when file is added', () => { + let sut + beforeEach(() => { + // Arrange + sut = new InFile( + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + 'workflows', + work, + globalMetadata + ) + mockCompare.mockReturnValue({ + added: new Map([['workflows.alerts', new Set(['test'])]]), + deleted: new Map(), }) }) + it('should store the added metadata in the package', async () => { + // Act + await sut.handleAddition() - describe('when a fullname is renamed', () => { - it('should add the new fullname and delete the old one', async () => { - // Arrange - const oldCBS = 'oldTestCBS' - fileGitDiff.mockImplementation(() => { - const mockValue = xmlContent - .split(EOL) - .map((x, i) => (i === 3 ? `${PLUS} ${x}` : x)) - mockValue.splice(4, 0, `${MINUS} ${oldCBS}`) - return mockValue - }) - readPathFromGit.mockImplementation(() => xmlContent) - - const sut = new InFile( - `${MODIFICATION} ${line}`, - 'sharingRules', - work, - globalMetadata - ) - - // Act - await sut.handle() + // Assert + expect(work.diffs.destructiveChanges.size).toEqual(0) + expect(work.diffs.package.get('workflows')).toEqual(new Set(['Account'])) + expect(work.diffs.package.get('workflows.alerts')).toEqual( + new Set(['Account.test']) + ) - // Assert - expect( - work.diffs.destructiveChanges.get('sharingRules.sharingCriteriaRules') - ).toEqual(new Set(['Account.oldTestCBS'])) - expect( - work.diffs.package.get('sharingRules.sharingCriteriaRules') - ).toEqual(new Set(['Account.TestCBS'])) - expect(work.warnings).toHaveLength(0) - expect(outputFile).not.toBeCalledWith( - line, - expect.stringContaining('NotWrite') - ) - expect(outputFile).toBeCalledWith( - line, - expect.stringContaining('TestCBS') - ) - }) + if (generateDelta) { + expect(mockprune).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalled() + } else { + expect(mockprune).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() + } }) + }) - describe('when a new element is inserted', () => { - it('should add the new element and copy the file', async () => { - // Arrange - fileGitDiff.mockImplementation(() => - xmlContent - .split(EOL) - .map((x, i) => ([2, 3, 4].includes(i) ? `${PLUS} ${x}` : x)) - ) - readPathFromGit.mockImplementation(() => xmlContent) - - const sut = new InFile( - `${MODIFICATION} ${line}`, - 'sharingRules', - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect( - work.diffs.destructiveChanges.get('sharingRules.sharingCriteriaRules') - ).toBeUndefined() - expect( - work.diffs.package.get('sharingRules.sharingCriteriaRules') - ).toEqual(new Set(['Account.TestCBS'])) - expect(work.warnings).toHaveLength(0) - expect(outputFile).not.toBeCalledWith( - line, - expect.stringContaining('NotWrite') - ) - expect(outputFile).toBeCalledWith( - line, - expect.stringContaining('TestCBS') - ) + describe('when file is modified', () => { + let sut + beforeEach(() => { + // Arrange + sut = new InFile( + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + 'workflows', + work, + globalMetadata + ) + mockCompare.mockReturnValue({ + added: new Map([['workflows.alerts', new Set(['test'])]]), + deleted: new Map([['workflows.alerts', new Set(['deleted'])]]), }) }) + it('should store the added metadata in the package and deleted in the destructiveChanges', async () => { + // Act + await sut.handleModification() - describe('when an element is removed', () => { - it('should add the element to the destructiveChanges and not copy the file', async () => { - // Arrange - fileGitDiff.mockImplementation(() => - xmlContent - .split(EOL) - .map((x, i) => ([2, 3, 4].includes(i) ? `${MINUS} ${x}` : x)) - ) - readPathFromGit.mockImplementation( - () => - `${EOL}${EOL}${EOL}NotWrite${EOL}${EOL}` - ) - - const sut = new InFile( - `${MODIFICATION} ${line}`, - 'sharingRules', - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect( - work.diffs.destructiveChanges.get('sharingRules.sharingCriteriaRules') - ).toEqual(new Set(['Account.TestCBS'])) - expect( - work.diffs.package.get('sharingRules.sharingCriteriaRules') - ).toBeUndefined() - expect(work.warnings).toHaveLength(0) - expect(outputFile).toBeCalledWith( - line, - expect.not.stringContaining('') - ) - }) + // Assert + expect(work.diffs.package.get('workflows')).toEqual(new Set(['Account'])) + expect(work.diffs.package.get('workflows.alerts')).toEqual( + new Set(['Account.test']) + ) + expect(work.diffs.destructiveChanges.get('workflows.alerts')).toEqual( + new Set(['Account.deleted']) + ) + expect(work.diffs.destructiveChanges.has('workflows')).toBe(false) + if (generateDelta) { + expect(mockprune).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalled() + } else { + expect(mockprune).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() + } }) }) - describe('When entity is deleted', () => { - const line = 'force-app/main/error/labels/CustomLabels.labels-meta.xml' - const xmlContent = `${EOL}${EOL}${EOL}TestLabel1${EOL}${EOL}${EOL}${EOL}TestLabel2${EOL}${EOL}` - it('should add the element to the destructiveChanges and not copy the file', async () => { + describe('when file is deleted', () => { + let sut + beforeEach(() => { // Arrange - fileGitDiff.mockImplementation(() => - xmlContent.split(EOL).map(x => `${MINUS} ${x}`) - ) - - const sut = new InFile( - `${DELETION} ${line}`, - 'labels', + sut = new InFile( + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + 'workflows', work, globalMetadata ) - + mockCompare.mockReturnValue({ + added: new Map(), + deleted: new Map([['workflows.alerts', new Set(['test'])]]), + }) + }) + it('should store the deleted metadata in the destructiveChanges', async () => { // Act - await sut.handle() + await sut.handleDeletion() // Assert - expect(work.diffs.destructiveChanges.get('labels.labels')).toEqual( - new Set(['TestLabel1', 'TestLabel2']) + expect(work.diffs.package.size).toEqual(0) + expect(work.diffs.destructiveChanges.has('workflows')).toBe(false) + expect(work.diffs.destructiveChanges.get('workflows.alerts')).toEqual( + new Set(['Account.test']) ) - expect(work.diffs.package.get('labels.labels')).toBeUndefined() - expect(work.warnings).toHaveLength(0) - expect(copyFiles).not.toBeCalled() - expect(outputFile).not.toBeCalled() + expect(mockprune).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() }) }) }) diff --git a/__tests__/unit/lib/service/standardHandler.test.js b/__tests__/unit/lib/service/standardHandler.test.js index 46c119fc..f785c8be 100644 --- a/__tests__/unit/lib/service/standardHandler.test.js +++ b/__tests__/unit/lib/service/standardHandler.test.js @@ -301,18 +301,3 @@ describe(`StandardHandler`, () => { ) }) }) - -describe('cleanUpPackageMember', () => { - it(`package member path delimiter is "${StandardHandler.PACKAGE_MEMBER_PATH_SEP}"`, () => { - // Arrange - const example = `Package\\Member` - - // Act - const result = StandardHandler.cleanUpPackageMember(example).split( - StandardHandler.PACKAGE_MEMBER_PATH_SEP - ) - - // Assert - expect(result.length).toBe(2) - }) -}) diff --git a/__tests__/unit/lib/utils/fileGitDiff.test.js b/__tests__/unit/lib/utils/fileGitDiff.test.js index 93f65949..a7e5e3ac 100644 --- a/__tests__/unit/lib/utils/fileGitDiff.test.js +++ b/__tests__/unit/lib/utils/fileGitDiff.test.js @@ -1,83 +1,215 @@ 'use strict' -const fileGitDiff = require('../../../../src/utils/fileGitDiff') -const { gitPathSeparatorNormalizer } = require('../../../../src/utils/fsHelper') -jest.mock('child_process') -jest.mock('../../../../src/utils/fsHelper') -const child_process = require('child_process') +const FileGitDiff = require('../../../../src/utils/fileGitDiff') +const { + parseXmlFileToJson, + convertJsonToXml, +} = require('../../../../src/utils/fxpHelper') -const TEST_PATH = 'path/to/file' +jest.mock('../../../../src/utils/fxpHelper', () => { + const originalModule = jest.requireActual('../../../../src/utils/fxpHelper') + + return { + ...originalModule, + parseXmlFileToJson: jest.fn(), + convertJsonToXml: jest.fn(), + } +}) + +const alert = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + alerts: [ + { + fullName: 'TestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + { + fullName: 'OtherTestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + ], + }, +} + +const alertOther = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + alerts: [ + { + fullName: 'OtherTestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + ], + }, +} + +const alertTest = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + alerts: { + fullName: 'TestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + }, +} + +const wfBase = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + }, +} describe(`fileGitDiff`, () => { - beforeEach(() => { - child_process.__setOutput([]) - child_process.__setError(false) + let fileGitDiff + let globalMetadata + let work + beforeAll(async () => { + // eslint-disable-next-line no-undef + globalMetadata = await getGlobalMetadata() }) - test('can parse git diff header', async () => { - const output = ['@git diff'] - child_process.__setOutput([output]) - const result = fileGitDiff(TEST_PATH, { output: '', repo: '' }) - for await (const line of result) { - expect(line).toStrictEqual(output.shift()) + beforeEach(() => { + jest.clearAllMocks() + work = { + config: { + repo: '', + to: 'to', + from: 'from', + }, + diffs: { package: new Map(), destructiveChanges: new Map() }, + warnings: [], } - expect(gitPathSeparatorNormalizer).toHaveBeenCalled() + fileGitDiff = new FileGitDiff('workflows', work, globalMetadata) }) - test('can parse git diff addition', async () => { - const output = ['+ line added'] + describe('compare', () => { + it('detects added elements', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alert) + parseXmlFileToJson.mockResolvedValueOnce(wfBase) - child_process.__setOutput([output]) - const result = fileGitDiff(TEST_PATH, { output: '', repo: '' }) - for await (const line of result) { - expect(line).toStrictEqual(output.shift()) - } - expect(gitPathSeparatorNormalizer).toHaveBeenCalled() - }) + // Act + const { added, deleted } = await fileGitDiff.compare('file/path') - test('can parse git diff deletion', async () => { - const output = ['- line deleted'] + // Assert + expect(deleted.size).toBe(0) + expect(added.get('workflows.alerts')).toEqual( + new Set(['OtherTestEmailAlert', 'TestEmailAlert']) + ) + }) + it('detects removed elements', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(wfBase) + parseXmlFileToJson.mockResolvedValueOnce(alert) - child_process.__setOutput([output]) - const result = fileGitDiff(TEST_PATH, { output: '', repo: '' }) - for await (const line of result) { - expect(line).toStrictEqual(output.shift()) - } - expect(gitPathSeparatorNormalizer).toHaveBeenCalled() - }) + // Act + const { added, deleted } = await fileGitDiff.compare('file/path') + + // Assert + expect(added.size).toBe(0) + expect(deleted.get('workflows.alerts')).toEqual( + new Set(['OtherTestEmailAlert', 'TestEmailAlert']) + ) + }) - test('can apply permissive git diff', async () => { - const output = ['diff'] + it('detects modified elements', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alertTest) + parseXmlFileToJson.mockResolvedValueOnce({ + ...alertTest, + Workflow: { + ...alertTest.Workflow, + alerts: { ...alertTest.Workflow.alerts, description: 'amazing' }, + }, + }) - child_process.__setOutput([output]) - const result = fileGitDiff(TEST_PATH, { - output: '', - repo: '', - ignoreWhitespace: true, + // Act + const { added, deleted } = await fileGitDiff.compare('file/path') + + // Assert + expect(deleted.size).toBe(0) + expect(added.get('workflows.alerts')).toEqual(new Set(['TestEmailAlert'])) }) - for await (const line of result) { - expect(line).toStrictEqual(output.shift()) - } - expect(gitPathSeparatorNormalizer).toHaveBeenCalled() }) + describe('prune', () => { + it('given file contains only new element, it keeps the file identical', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alert) + parseXmlFileToJson.mockResolvedValueOnce(wfBase) + await fileGitDiff.compare('file/path') - test('can parse git diff context line', async () => { - const output = ['context line'] + // Act + fileGitDiff.prune() - child_process.__setOutput([output]) - const result = fileGitDiff(TEST_PATH, { output: '', repo: '' }) - for await (const line of result) { - expect(line).toStrictEqual(output.shift()) - } - expect(gitPathSeparatorNormalizer).toHaveBeenCalled() - }) + // Assert + expect(convertJsonToXml).toHaveBeenCalledWith(alert) + }) + it('given one element added, the generated file contains only this element', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alert) + parseXmlFileToJson.mockResolvedValueOnce(alertTest) + await fileGitDiff.compare('file/path') - test('can reject in case of error', () => { - child_process.__setError(true) + // Act + fileGitDiff.prune() - try { - fileGitDiff(TEST_PATH, { output: '', repo: '' }) - } catch (e) { - expect(e).toBeDefined() - } - expect(gitPathSeparatorNormalizer).toHaveBeenCalled() + // Assert + expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) + }) + + it('given one element modified, the generated file contains only this element', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alertOther) + parseXmlFileToJson.mockResolvedValueOnce({ + ...alertOther, + Workflow: { + ...alertOther.Workflow, + alerts: { ...alertOther.Workflow.alerts, description: 'amazing' }, + }, + }) + await fileGitDiff.compare('file/path') + + // Act + fileGitDiff.prune() + + // Assert + expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) + }) + + it('given zero element added and one element delete, the generated file contains empty declaration', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alertTest) + parseXmlFileToJson.mockResolvedValueOnce(alert) + await fileGitDiff.compare('file/path') + + // Act + fileGitDiff.prune() + + // Assert + expect(convertJsonToXml).toHaveBeenCalledWith({ + ...wfBase, + Workflow: { alerts: [] }, + }) + }) }) }) diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index 874c8e20..15bd5cc8 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -9,6 +9,7 @@ const { readPathFromGit, scan, scanExtension, + writeFile, } = require('../../../../src/utils/fsHelper') const { getStreamContent, @@ -513,4 +514,25 @@ describe('isSubDir', () => { } }) }) + + describe('writeFile', () => { + beforeEach(() => { + treatPathSep.mockReturnValueOnce('folder/file') + }) + + it.each(['folder/file', 'folder\\file'])( + 'write the content to the file system', + async path => { + // Arrange + const output = 'root' + const content = 'content' + + // Act + await writeFile(path, content, { output }) + + // Assert + expect(outputFile).toHaveBeenCalledWith('root/folder/file', content) + } + ) + }) }) diff --git a/__tests__/unit/lib/utils/fxpHelper.test.js b/__tests__/unit/lib/utils/fxpHelper.test.js index 20d69940..2813ee26 100644 --- a/__tests__/unit/lib/utils/fxpHelper.test.js +++ b/__tests__/unit/lib/utils/fxpHelper.test.js @@ -1,41 +1,131 @@ 'use strict' -const { asArray } = require('../../../../src/utils/fxpHelper') +const { + asArray, + parseXmlFileToJson, + convertJsonToXml, +} = require('../../../../src/utils/fxpHelper') +const { readPathFromGit } = require('../../../../src/utils/fsHelper') -describe('asArray', () => { - describe('when called with null', () => { - // Arrange - const expected = null +jest.mock('../../../../src/utils/fsHelper') - it('returns empty array', () => { - // Act - const actual = asArray(expected) +describe('fxpHelper', () => { + describe('asArray', () => { + describe('when called with null', () => { + // Arrange + const expected = null - // Assert - expect(actual).toEqual([]) + it('returns empty array', () => { + // Act + const actual = asArray(expected) + + // Assert + expect(actual).toEqual([]) + }) + }) + describe('when called with array', () => { + // Arrange + const expected = [{ test: true }] + + it('returns the same array', () => { + // Act + const actual = asArray(expected) + + // Assert + expect(actual).toBe(expected) + }) + }) + describe('when called with object', () => { + // Arrange + const expected = { test: true } + + it('returns the array with this object', () => { + // Act + const actual = asArray(expected) + + // Assert + expect(actual).toEqual([expected]) + }) }) }) - describe('when called with array', () => { - // Arrange - const expected = [{ test: true }] + describe('parseXmlFileToJson', () => { + describe('when called with empty content', () => { + beforeEach(() => { + // Arrange + readPathFromGit.mockResolvedValueOnce('') + }) + it('returns empty object', async () => { + // Act + const jsonResult = await parseXmlFileToJson('path/to/empty/file', {}) - it('returns the same array', () => { - // Act - const actual = asArray(expected) + // Assert + expect(jsonResult).toStrictEqual({}) + }) + }) + describe('when called with xml content', () => { + beforeEach(() => { + // Arrange + readPathFromGit.mockResolvedValueOnce( + 'wow' + ) + }) + it('returns json content', async () => { + // Act + const jsonContent = await parseXmlFileToJson('path/to/empty/file', {}) + + // Assert + expect(jsonContent).toEqual({ root: { '@_a': 'nice', a: 'wow' } }) + }) + }) + describe('when called with non xml content', () => { + beforeEach(() => { + // Arrange + readPathFromGit.mockResolvedValueOnce({ attribut: 'value' }) + }) + it('returns empty object', async () => { + // Act + const jsonContent = await parseXmlFileToJson('path/to/empty/file', {}) - // Assert - expect(actual).toBe(expected) + // Assert + expect(jsonContent).toStrictEqual({}) + }) }) }) - describe('when called with object', () => { - // Arrange - const expected = { test: true } - it('returns the array with this object', () => { - // Act - const actual = asArray(expected) + describe('convertJsonToXml', () => { + describe('when called with empty object', () => { + it('returns empty object', () => { + // Act + const xmlResult = convertJsonToXml({}) + + // Assert + expect(xmlResult).toEqual('') + }) + }) + describe('when called with json content', () => { + it('returns json content', () => { + // Act + const xmlResult = convertJsonToXml({ + root: { '@_a': 'nice', a: 'wow' }, + }) + + // Assert + expect(xmlResult).toEqual( + ` + wow + +` + ) + }) + }) + describe('when called with non json content', () => { + it('returns empty object', () => { + // Act + const jsonContent = convertJsonToXml('s') - // Assert - expect(actual).toEqual([expected]) + // Assert + expect(jsonContent).toStrictEqual(`<0>s +`) + }) }) }) }) diff --git a/__tests__/unit/lib/utils/packageHelper.test.js b/__tests__/unit/lib/utils/packageHelper.test.js index 94720a95..b93f39aa 100644 --- a/__tests__/unit/lib/utils/packageHelper.test.js +++ b/__tests__/unit/lib/utils/packageHelper.test.js @@ -1,6 +1,7 @@ 'use strict' const PackageBuilder = require('../../../../src/utils/packageHelper') const { + cleanUpPackageMember, fillPackageWithParameter, } = require('../../../../src/utils/packageHelper') @@ -113,7 +114,7 @@ describe(`test if package builder`, () => { test.each(tests)( 'can build %s destructiveChanges.xml', - (type, diff, expected) => { + (_, diff, expected) => { expect(packageConstructor.buildPackage(diff)).toBe(expected) } ) @@ -125,29 +126,29 @@ describe(`test if package builder`, () => { describe('fillPackageWithParameter', () => { describe('when called with proper params', () => { const type = 'test-type' - const elementName = 'test-name' + const member = 'test-name' describe.each([ [new Map(), 'is empty'], [new Map([['other-type', new Set(['other-name'])]]), 'is not empty'], [new Map([[type, new Set()]]), 'contains the type'], [ - new Map([[type, new Set([elementName])]]), + new Map([[type, new Set([member])]]), 'contains the type and the element', ], - ])('when the package %o %s', pack => { + ])('when the package %o %s', store => { it('adds the element name under the type in the package', () => { // Arrange const params = { - package: pack, + store, type: type, - elementName: elementName, + member, } // Act fillPackageWithParameter(params) // Assert - expect(pack.get(type).has(elementName)).toBeTruthy() + expect(store.get(type).has(member)).toBeTruthy() }) }) }) @@ -156,14 +157,14 @@ describe('fillPackageWithParameter', () => { describe.each([ undefined, { - package: {}, + store: {}, type: [], - elementName: new Set(), + member: new Set(), }, { piquouze: new Map(), top: 'top', - elementary: 'elementary', + member: 'elementary', }, ])('when called with %o', params => { it('should fail', () => { @@ -177,4 +178,17 @@ describe('fillPackageWithParameter', () => { }) }) }) + + describe('cleanUpPackageMember', () => { + it(`package member path delimiter with "/"`, () => { + // Arrange + const example = `Package\\Member` + + // Act + const result = cleanUpPackageMember(example).split('/') + + // Assert + expect(result.length).toBe(2) + }) + }) }) diff --git a/package.json b/package.json index 20ad6d3a..6bac90ec 100644 --- a/package.json +++ b/package.json @@ -28,11 +28,12 @@ "@oclif/command": "^1.8.22", "@oclif/config": "^1.18.8", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.3.2", - "@salesforce/core": "^3.33.5", + "@salesforce/command": "^5.3.3", + "@salesforce/core": "^3.33.9", "fast-xml-parser": "^4.1.3", "fs-extra": "^11.1.0", "ignore": "^5.2.4", + "lodash": "^4.17.21", "micromatch": "^4.0.5", "tslib": "^2.5.0", "xmlbuilder2": "^3.0.2" @@ -67,23 +68,23 @@ "@commitlint/config-conventional": "^17.4.4", "@commitlint/prompt-cli": "^17.4.4", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.2.6", - "@oclif/test": "^2.3.8", + "@oclif/plugin-help": "^5.2.8", + "@oclif/test": "^2.3.10", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.14.1", - "@typescript-eslint/eslint-plugin": "^5.53.0", - "@typescript-eslint/parser": "^5.53.0", - "eslint": "^8.35.0", - "eslint-config-prettier": "^8.6.0", + "@types/node": "^18.15.3", + "@typescript-eslint/eslint-plugin": "^5.55.0", + "@typescript-eslint/parser": "^5.55.0", + "eslint": "^8.36.0", + "eslint-config-prettier": "^8.7.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^40.0.0", + "eslint-plugin-jsdoc": "^40.0.2", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", - "jest": "^29.4.3", - "lint-staged": "^13.1.2", + "jest": "^29.5.0", + "lint-staged": "^13.2.0", "nyc": "^15.1.0", "prettier": "^2.8.4", "prettier-eslint": "^15.0.1", diff --git a/src/post-processor/flowTranslationProcessor.js b/src/post-processor/flowTranslationProcessor.js index cd4cb48b..67c27db1 100644 --- a/src/post-processor/flowTranslationProcessor.js +++ b/src/post-processor/flowTranslationProcessor.js @@ -7,16 +7,10 @@ const { TRANSLATION_EXTENSION, TRANSLATION_TYPE, } = require('../utils/metadataConstants') -const { - copyFiles, - scanExtension, - readPathFromGit, - isSubDir, -} = require('../utils/fsHelper') +const { copyFiles, scanExtension, isSubDir } = require('../utils/fsHelper') const { parse } = require('path') const { forPath } = require('../utils/ignoreHelper') -const { XMLParser } = require('fast-xml-parser') -const { asArray, XML_PARSER_OPTION } = require('../utils/fxpHelper') +const { asArray, parseXmlFileToJson } = require('../utils/fxpHelper') const { fillPackageWithParameter } = require('../utils/packageHelper') const getTranslationName = translationPath => @@ -63,7 +57,7 @@ class FlowTranslationProcessor extends BaseProcessor { const copyTranslationsPromises = [] for (const translationPath of this.translationPaths.keys()) { fillPackageWithParameter({ - package: this.work.diffs.package, + store: this.work.diffs.package, type: TRANSLATION_TYPE, elementName: getTranslationName(translationPath), }) @@ -75,10 +69,10 @@ class FlowTranslationProcessor extends BaseProcessor { } async _parseTranslationFile(translationPath) { - const translationXML = await readPathFromGit(translationPath, this.config) - - const xmlParser = new XMLParser(XML_PARSER_OPTION) - const translationJSON = xmlParser.parse(translationXML) + const translationJSON = await parseXmlFileToJson( + translationPath, + this.config + ) const flowDefinitions = asArray( translationJSON?.Translations?.flowDefinitions ) diff --git a/src/service/botHandler.js b/src/service/botHandler.js index 3495096a..ec4544e9 100644 --- a/src/service/botHandler.js +++ b/src/service/botHandler.js @@ -23,9 +23,9 @@ class BotHandler extends WaveHandler { async _addParentBot() { const botName = this._getParsedPath().dir.split(sep).pop() fillPackageWithParameter({ - package: this.diffs.package, + store: this.diffs.package, type: BOT_TYPE, - elementName: botName, + member: botName, }) if (!this.config.generateDelta) return diff --git a/src/service/inBundleHandler.js b/src/service/inBundleHandler.js index fb5f87a1..437027e9 100644 --- a/src/service/inBundleHandler.js +++ b/src/service/inBundleHandler.js @@ -1,8 +1,8 @@ 'use strict' const InResourceHandler = require('./inResourceHandler') -const StandardHandler = require('./standardHandler') const { sep } = require('path') const { META_REGEX } = require('../utils/metadataConstants') +const { cleanUpPackageMember } = require('../utils/packageHelper') class BundleHandler extends InResourceHandler { constructor(line, type, work, metadata) { @@ -17,12 +17,9 @@ class BundleHandler extends InResourceHandler { const packageMember = bundlePath .join(sep) .replace(META_REGEX, '') - .replace( - new RegExp(`\\.${StandardHandler.metadata.get(this.type).suffix}$`), - '' - ) + .replace(new RegExp(`\\.${this.metadata.get(this.type).suffix}$`), '') - return StandardHandler.cleanUpPackageMember(packageMember) + return cleanUpPackageMember(packageMember) } } diff --git a/src/service/inFileHandler.js b/src/service/inFileHandler.js index b401b7ea..e84677fa 100644 --- a/src/service/inFileHandler.js +++ b/src/service/inFileHandler.js @@ -1,185 +1,85 @@ 'use strict' -const fileGitDiff = require('../utils/fileGitDiff') -const { MINUS, PLUS } = require('../utils/gitConstants') const { - FULLNAME, - FULLNAME_XML_TAG, - LABEL_DIRECTORY_NAME, LABEL_EXTENSION, - XML_TAG, - XML_HEADER_TAG_END, + LABEL_DIRECTORY_NAME, } = require('../utils/metadataConstants') -const { readPathFromGit } = require('../utils/fsHelper') const StandardHandler = require('./standardHandler') -const { outputFile } = require('fs-extra') -const { basename, join } = require('path') -const { XMLBuilder, XMLParser } = require('fast-xml-parser') -const { asArray } = require('../utils/fxpHelper') -const { XML_PARSER_OPTION, JSON_PARSER_OPTION } = require('../utils/fxpHelper') -const { treatPathSep } = require('../utils/childProcessUtils') +const { basename } = require('path') +const { writeFile } = require('../utils/fsHelper') +const FileGitDiff = require('../utils/fileGitDiff') +const { + cleanUpPackageMember, + fillPackageWithParameter, +} = require('../utils/packageHelper') -class InFileHandler extends StandardHandler { - static xmlObjectToPackageType +const getRootType = line => basename(line).split('.')[0] +const getNamePreffix = ({ subType, line }) => + subType !== LABEL_DIRECTORY_NAME ? `${getRootType(line)}.` : '' +class InFileHandler extends StandardHandler { constructor(line, type, work, metadata) { super(line, type, work, metadata) - this.parentMetadata = StandardHandler.metadata.get(this.type) - this.customLabelElementName = `${basename(this.line).split('.')[0]}.` - InFileHandler.xmlObjectToPackageType = - InFileHandler.xmlObjectToPackageType ?? - [...StandardHandler.metadata.keys()] - .filter(meta => StandardHandler.metadata.get(meta)?.xmlTag) - .reduce( - (acc, meta) => - acc.set( - StandardHandler.metadata.get(meta).xmlTag, - StandardHandler.metadata.get(meta) - ), - new Map() - ) + this.fileGitDiff = new FileGitDiff( + metadata.get(this.type)?.directoryName, + this.config, + metadata + ) } async handleAddition() { await super.handleAddition() - const toAdd = await this._handleInDiff() + await this._compareRevision() if (!this.config.generateDelta) return - await this._handleFileWriting(toAdd) + await this._writeScopedContent() } async handleDeletion() { - await this._handleInDiff() + await this._compareRevision() } async handleModification() { await this.handleAddition() } - async _handleFileWriting(toAdd) { - const result = await this._parseFile() - const metadataContent = Object.values(result.fileContent)[1] - - result.authorizedKeys.forEach(subType => { - const meta = asArray(metadataContent[subType]) - metadataContent[subType] = meta.filter(elem => - toAdd - .get(InFileHandler.xmlObjectToPackageType.get(subType).directoryName) - ?.has(elem.fullName) - ) - }) - const xmlBuilder = new XMLBuilder(JSON_PARSER_OPTION) - const xmlContent = xmlBuilder.build(result.fileContent) - await outputFile( - join(this.config.output, treatPathSep(this.line)), - xmlContent.replace(XML_HEADER_TAG_END, `${XML_HEADER_TAG_END}\n`) - ) - } - - async _handleInDiff() { - const data = { - toDel: new Map(), - toAdd: new Map(), - potentialType: null, - subType: null, - fullName: null, - } - - const diffContentIterator = fileGitDiff(this.line, this.config) - for await (const line of diffContentIterator) { - this._preProcessHandleInDiff(line, data) - if (!data.subType || !data.fullName) continue - this._postProcessHandleInDiff(line, data) - } - this._treatInFileResult(data.toDel, data.toAdd) - return data.toAdd + async _compareRevision() { + const { added, deleted } = await this.fileGitDiff.compare(this.line) + this._storeComparison(this.diffs.destructiveChanges, deleted) + this._storeComparison(this.diffs.package, added) } - _preProcessHandleInDiff(line, data) { - if (FULLNAME_XML_TAG.test(line)) { - data.fullName = line.match(FULLNAME_XML_TAG)[1] - data.subType = `${this.parentMetadata.directoryName}.${data.potentialType}` - } - const xmlTagMatchResult = line.match(XML_TAG) - if (InFileHandler._matchAllowedXmlTag(xmlTagMatchResult)) { - data.potentialType = xmlTagMatchResult[1] - data.fullName = null - } + async _writeScopedContent() { + const xmlContent = this.fileGitDiff.prune() + await writeFile(this.line, xmlContent, this.config) } - _postProcessHandleInDiff(line, data) { - let tempMap - if (line.startsWith(MINUS) && line.includes(FULLNAME)) { - tempMap = data.toDel - } else if (line.startsWith(PLUS) || line.startsWith(MINUS)) { - tempMap = data.toAdd - } - if (tempMap) { - if (!tempMap.has(data.subType)) { - tempMap.set(data.subType, new Set()) + _storeComparison(store, content) { + for (const [type, members] of content) { + for (const fullName of members) { + this._fillPackage(store, type, fullName) } - tempMap.get(data.subType).add(data.fullName) - data.subType = data.fullName = null } } - _treatInFileResult(toRemove, toAdd) { - for (const [type, members] of toRemove) { - ;[...members] - .filter(elem => !toAdd.get(type)?.has(elem)) - .forEach(fullName => - this._fillPackageFromDiff( - this.diffs.destructiveChanges, - type, - fullName - ) - ) - } - for (const [type, members] of toAdd) { - for (let fullName of members) { - this._fillPackageFromDiff(this.diffs.package, type, fullName) + _fillPackage(store, subType, fullName) { + // Call from super.handleAddition to add the Root Type + // InFile element are not deployable when root component is not listed in package.xml... + if (arguments.length === 1) { + if (this.type !== LABEL_EXTENSION) { + super._fillPackage(store) } + return } - } - - async _parseFile() { - const file = await readPathFromGit(this.line, this.config) - const xmlParser = new XMLParser(XML_PARSER_OPTION) - const result = xmlParser.parse(file) - - const authorizedKeys = Object.values(result) - .flatMap(tag => Object.keys(tag)) - .filter(tag => InFileHandler.xmlObjectToPackageType.has(tag)) - return { - authorizedKeys: authorizedKeys, - fileContent: result, - } - } - - _fillPackage(packageObject) { - if (this.type !== LABEL_EXTENSION) { - super._fillPackage(packageObject) - } - } - - _fillPackageFromDiff(packageObject, subType, value) { - const elementFullName = `${ - (subType !== LABEL_DIRECTORY_NAME ? this.customLabelElementName : '') + - value - }` - - if (!packageObject.has(subType)) { - packageObject.set(subType, new Set()) - } - packageObject - .get(subType) - .add(StandardHandler.cleanUpPackageMember(elementFullName)) - } - static _matchAllowedXmlTag(matchResult) { - return ( - matchResult?.[1] && - InFileHandler.xmlObjectToPackageType.has(matchResult?.[1]) + const member = cleanUpPackageMember( + `${getNamePreffix({ subType, line: this.line })}${fullName}` ) + + fillPackageWithParameter({ + store, + type: subType, + member, + }) } } diff --git a/src/service/inFolderHandler.js b/src/service/inFolderHandler.js index e9d26c49..c14de805 100644 --- a/src/service/inFolderHandler.js +++ b/src/service/inFolderHandler.js @@ -5,6 +5,7 @@ const { META_REGEX, METAFILE_SUFFIX, } = require('../utils/metadataConstants') +const { cleanUpPackageMember } = require('../utils/packageHelper') const { join, parse, sep } = require('path') const { readDir } = require('../utils/fsHelper') @@ -22,8 +23,7 @@ class InFolderHandler extends StandardHandler { const [, folderPath, folderName] = this._parseLine() const folderFileName = `${folderName}.${ - StandardHandler.metadata.get(this.type).suffix.toLowerCase() + - METAFILE_SUFFIX + this.metadata.get(this.type).suffix.toLowerCase() + METAFILE_SUFFIX }` await this._copyWithMetaFile(join(folderPath, folderFileName)) @@ -48,7 +48,7 @@ class InFolderHandler extends StandardHandler { .replace(INFOLDER_SUFFIX_REGEX, '') .replace(EXTENSION_SUFFIX_REGEX, '') - return StandardHandler.cleanUpPackageMember(packageMember) + return cleanUpPackageMember(packageMember) } } diff --git a/src/service/inResourceHandler.js b/src/service/inResourceHandler.js index 32d69845..f7a02ecb 100644 --- a/src/service/inResourceHandler.js +++ b/src/service/inResourceHandler.js @@ -3,6 +3,7 @@ const StandardHandler = require('./standardHandler') const { join, parse } = require('path') const { pathExists, readDir } = require('../utils/fsHelper') const { META_REGEX, METAFILE_SUFFIX } = require('../utils/metadataConstants') +const { cleanUpPackageMember } = require('../utils/packageHelper') const STATICRESOURCE_TYPE = 'staticresources' const elementSrc = new Map() @@ -43,7 +44,7 @@ class ResourceHandler extends StandardHandler { _getElementName() { const parsedPath = this._getParsedPath() - return StandardHandler.cleanUpPackageMember(parsedPath.name) + return cleanUpPackageMember(parsedPath.name) } _getParsedPath() { @@ -57,10 +58,10 @@ class ResourceHandler extends StandardHandler { _buildMatchingFiles(elementName) { const parsedElementName = parse(elementName).name const matchingFiles = [parsedElementName] - if (StandardHandler.metadata.get(this.type).metaFile) { + if (this.metadata.get(this.type).metaFile) { matchingFiles.push( `${parsedElementName}.${ - StandardHandler.metadata.get(this.type).suffix + this.metadata.get(this.type).suffix }${METAFILE_SUFFIX}` ) } diff --git a/src/service/standardHandler.js b/src/service/standardHandler.js index a8a18b7f..087b4c5a 100644 --- a/src/service/standardHandler.js +++ b/src/service/standardHandler.js @@ -7,18 +7,17 @@ const { MODIFICATION, } = require('../utils/gitConstants') const { META_REGEX, METAFILE_SUFFIX } = require('../utils/metadataConstants') -const { fillPackageWithParameter } = require('../utils/packageHelper') +const { + cleanUpPackageMember, + fillPackageWithParameter, +} = require('../utils/packageHelper') const { copyFiles } = require('../utils/fsHelper') -const PACKAGE_MEMBER_PATH_SEP = '/' - const RegExpEscape = s => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') class StandardHandler { - static metadata - constructor(line, type, work, metadata) { - StandardHandler.metadata = StandardHandler.metadata ?? metadata + this.metadata = metadata ;[this.changeType] = line this.line = line.replace(GIT_DIFF_TYPE_REGEX, '') this.type = type @@ -29,13 +28,11 @@ class StandardHandler { this.warnings = work.warnings this.splittedLine = this.line.split(sep) - if (StandardHandler.metadata.get(this.type).metaFile === true) { + if (this.metadata.get(this.type).metaFile === true) { this.line = this.line.replace(METAFILE_SUFFIX, '') } - this.suffixRegex = new RegExp( - `\\.${StandardHandler.metadata.get(this.type).suffix}$` - ) + this.suffixRegex = new RegExp(`\\.${this.metadata.get(this.type).suffix}$`) this.handlerMap = { [ADDITION]: this.handleAddition, @@ -87,21 +84,21 @@ class StandardHandler { _getElementName() { const parsedPath = this._getParsedPath() - return StandardHandler.cleanUpPackageMember(parsedPath.base) + return cleanUpPackageMember(parsedPath.base) } - _fillPackage(packageObject) { + _fillPackage(store) { fillPackageWithParameter({ - package: packageObject, + store, type: this.type, - elementName: this._getElementName(), + member: this._getElementName(), }) } async _copyWithMetaFile(src) { await copyFiles(this.config, src) if ( - StandardHandler.metadata.get(this.type).metaFile === true && + this.metadata.get(this.type).metaFile === true && !`${src}`.endsWith(METAFILE_SUFFIX) ) { await copyFiles(this.config, this._getMetaTypeFilePath(src)) @@ -120,18 +117,12 @@ class StandardHandler { return this.line.match( new RegExp( `(?.*[/\\\\]${RegExpEscape( - StandardHandler.metadata.get(this.type).directoryName + this.metadata.get(this.type).directoryName )})[/\\\\](?[^/\\\\]*)+`, 'u' ) ) } - - static cleanUpPackageMember(packageMember) { - return `${packageMember}`.replace(/\\+/g, PACKAGE_MEMBER_PATH_SEP) - } - - static PACKAGE_MEMBER_PATH_SEP = PACKAGE_MEMBER_PATH_SEP } module.exports = StandardHandler diff --git a/src/service/waveHandler.js b/src/service/waveHandler.js index c19177c0..c77c3cf4 100644 --- a/src/service/waveHandler.js +++ b/src/service/waveHandler.js @@ -8,7 +8,7 @@ class WaveHandler extends StandardHandler { constructor(line, type, work, metadata) { super(line, type, work, metadata) - StandardHandler.metadata + this.metadata .get(this.type) .content.reduce( (acc, val) => acc.set(val.suffix, val.xmlName), @@ -17,12 +17,12 @@ class WaveHandler extends StandardHandler { this.suffixRegex = new RegExp(`\\.${this.ext}$`) } - _fillPackage(packageObject) { + _fillPackage(store) { const type = WAVE_SUBTYPE.get(this.ext) fillPackageWithParameter({ - package: packageObject, + store, type: type, - elementName: this._getElementName(), + member: this._getElementName(), }) } } diff --git a/src/utils/fileGitDiff.js b/src/utils/fileGitDiff.js index 73189839..9115a986 100644 --- a/src/utils/fileGitDiff.js +++ b/src/utils/fileGitDiff.js @@ -1,30 +1,141 @@ 'use strict' -const { spawn } = require('child_process') -const { linify } = require('./childProcessUtils') -const { gitPathSeparatorNormalizer } = require('./fsHelper') -const { - IGNORE_WHITESPACE_PARAMS_FOR_FILE, - UTF8_ENCODING, -} = require('./gitConstants') - -const unitDiffParams = ['--no-pager', 'diff', '--no-prefix', '-U200'] - -module.exports = (filePath, config) => { - const ignoreWhitespaceParams = config.ignoreWhitespace - ? IGNORE_WHITESPACE_PARAMS_FOR_FILE - : [] - const gitDiff = spawn( - 'git', - [ - ...unitDiffParams, - ...ignoreWhitespaceParams, - config.from, - config.to, - '--', - gitPathSeparatorNormalizer(filePath), - ], - { cwd: config.repo, encoding: UTF8_ENCODING } - ) - - return linify(gitDiff.stdout) + +const { asArray, parseXmlFileToJson, convertJsonToXml } = require('./fxpHelper') +const { isEqual } = require('lodash') +const { safeAdd } = require('./packageHelper') + +let xmlObjectToPackageType + +// Store functional area +// Side effect on store +const addToStore = + store => + ({ type, member }) => { + safeAdd({ store, type, member }) + return store + } + +const hasMember = store => subType => member => + store.get(getDirectoryNameForSubType(subType))?.has(member) + +// Metadata functional area +const getMetadataByKey = metadata => meta => metadata.get(meta) + +const getXmlTagToTypeDefinitionMap = metadata => { + const extractType = getMetadataByKey(metadata) + return [...metadata.keys()] + .filter(meta => extractType(meta)?.xmlTag) + .reduce((acc, meta) => { + const typeDef = extractType(meta) + acc.set(typeDef.xmlTag, typeDef) + return acc + }, new Map()) +} + +// Metadata JSON structure functional area +const getRootMetadata = fileContent => Object.values(fileContent)?.[1] + +const clearMetadata = fileContent => ({ + ...fileContent, + [Object.keys(fileContent)[1]]: {}, +}) + +const getDirectoryNameForSubType = subType => + xmlObjectToPackageType.get(subType).directoryName + +const getSubTypeTags = fileContent => + Object.values(fileContent) + .flatMap(tag => Object.keys(tag)) + .filter(tag => xmlObjectToPackageType.has(tag)) + +const extractMetadataForSubtype = fileContent => subType => + asArray(getRootMetadata(fileContent)?.[subType]) + +// Diff processing functional area +const processMetadataForRootType = + dir => (contentAtRef, otherContent, predicat) => + getSubTypeTags(contentAtRef) + .flatMap( + processMetadataForSubType(dir, contentAtRef, otherContent, predicat) + ) + .reduce((store, nameByType) => addToStore(store)(nameByType), new Map()) + +const processMetadataForSubType = + (dir, baseContent, otherContent, predicat) => subType => { + const type = `${dir}.${subType}` + const extractBase = extractMetadataForSubtype(baseContent) + const extreactOther = extractMetadataForSubtype(otherContent) + const baseMeta = extractBase(subType) + const otherMeta = extreactOther(subType) + const processElement = getElementProcessor(type, predicat, otherMeta) + return baseMeta.map(processElement).filter(x => x !== undefined) + } + +const getElementProcessor = (type, predicat, otherMeta) => elem => { + if (predicat(otherMeta, elem)) { + return { type, member: elem.fullName } + } +} + +// Partial JSON generation functional area +const generatePartialJSON = jsonContent => store => { + const extract = extractMetadataForSubtype(jsonContent) + const storeHasMember = hasMember(store) + return getSubTypeTags(jsonContent).reduce((acc, subType) => { + const meta = extract(subType) + const storeHasMemberForType = storeHasMember(subType) + const rootMetadata = getRootMetadata(acc) + rootMetadata[subType] = meta.filter(elem => + storeHasMemberForType(elem.fullName) + ) + return acc + }, clearMetadata(jsonContent)) } + +class FileGitDiff { + constructor(parentDirectoryName, config, metadata) { + this.config = config + this.parentDirectoryName = parentDirectoryName + this.metadata = metadata + this.configTo = { + repo: this.config.repo, + to: this.config.to, + } + this.configFrom = { + repo: this.config.repo, + to: this.config.from, + } + xmlObjectToPackageType = + xmlObjectToPackageType ?? getXmlTagToTypeDefinitionMap(metadata) + } + + async compare(path) { + this.toContent = await parseXmlFileToJson(path, this.configTo) + const fromContent = await parseXmlFileToJson(path, this.configFrom) + + const diff = processMetadataForRootType(this.parentDirectoryName) + + // Added or Modified + this.added = diff(this.toContent, fromContent, (meta, elem) => { + const match = meta.find(el => el.fullName === elem.fullName) + return !match || !isEqual(match, elem) + }) + + // Deleted + const deleted = diff(fromContent, this.toContent, (meta, elem) => { + return !meta.some(el => el.fullName === elem.fullName) + }) + + return { + added: this.added, + deleted, + } + } + + prune() { + const prunedContent = generatePartialJSON(this.toContent)(this.added) + return convertJsonToXml(prunedContent) + } +} + +module.exports = FileGitDiff diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 75d9da5d..4c7e610d 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -3,7 +3,7 @@ const { readFile: fsReadFile } = require('fs').promises const { isAbsolute, join, relative } = require('path') const { outputFile } = require('fs-extra') const { spawn } = require('child_process') -const { UTF8_ENCODING } = require('../utils/gitConstants') +const { UTF8_ENCODING } = require('./gitConstants') const { EOLRegex, getStreamContent, @@ -42,11 +42,11 @@ const copyFiles = async (config, src) => { } } -const readPathFromGitAsBuffer = async (path, config) => { +const readPathFromGitAsBuffer = async (path, { repo, to }) => { const normalizedPath = gitPathSeparatorNormalizer(path) const bufferData = await getStreamContent( - spawn('git', [...showCmd, `${config.to}:${normalizedPath}`], { - cwd: config.repo, + spawn('git', [...showCmd, `${to}:${normalizedPath}`], { + cwd: repo, }) ) @@ -93,6 +93,10 @@ async function* scan(dir, config) { } } +const writeFile = async (path, content, { output }) => { + await outputFile(join(output, treatPathSep(path)), content) +} + async function* filterExt(it, ext) { for await (const file of it) { if (file.endsWith(ext)) { @@ -116,3 +120,4 @@ module.exports.readPathFromGit = readPathFromGit module.exports.scan = scan module.exports.scanExtension = (dir, ext, config) => filterExt(scan(dir, config), ext) +module.exports.writeFile = writeFile diff --git a/src/utils/fxpHelper.js b/src/utils/fxpHelper.js index 49de0cb2..43c7590d 100644 --- a/src/utils/fxpHelper.js +++ b/src/utils/fxpHelper.js @@ -1,5 +1,9 @@ 'use strict' +const { XMLBuilder, XMLParser } = require('fast-xml-parser') +const { readPathFromGit } = require('./fsHelper') +const { XML_HEADER_TAG_END } = require('./metadataConstants') + const XML_PARSER_OPTION = { ignoreAttributes: false, ignoreNameSpace: false, @@ -7,6 +11,7 @@ const XML_PARSER_OPTION = { parseNodeValue: false, parseAttributeValue: false, trimValues: true, + processEntities: false, } const JSON_PARSER_OPTION = { ...XML_PARSER_OPTION, @@ -18,6 +23,19 @@ const asArray = node => { return node != null ? (Array.isArray(node) ? node : [node]) : [] } +const parseXmlFileToJson = async (line, config) => { + const xmlContent = await readPathFromGit(line, config) + const xmlParser = new XMLParser(XML_PARSER_OPTION) + return xmlParser.parse(xmlContent) +} + +const convertJsonToXml = jsonContent => { + const xmlBuilder = new XMLBuilder(JSON_PARSER_OPTION) + return xmlBuilder + .build(jsonContent) + .replace(XML_HEADER_TAG_END, `${XML_HEADER_TAG_END}`) +} + module.exports.asArray = asArray -module.exports.XML_PARSER_OPTION = XML_PARSER_OPTION -module.exports.JSON_PARSER_OPTION = JSON_PARSER_OPTION +module.exports.convertJsonToXml = convertJsonToXml +module.exports.parseXmlFileToJson = parseXmlFileToJson diff --git a/src/utils/gitConstants.js b/src/utils/gitConstants.js index 1678fc16..b6ee4c0f 100644 --- a/src/utils/gitConstants.js +++ b/src/utils/gitConstants.js @@ -1,11 +1,6 @@ 'use strict' const COMMIT_REF_TYPE = 'commit' const TAG_REF_TYPE = 'tag' -const IGNORE_WHITESPACE_PARAMS_FOR_FILE = [ - '--ignore-all-space', - '--ignore-blank-lines', - '--ignore-cr-at-eol', -] module.exports.ADDITION = 'A' module.exports.DELETION = 'D' module.exports.MODIFICATION = 'M' @@ -15,10 +10,10 @@ module.exports.POINTER_REF_TYPES = [COMMIT_REF_TYPE, TAG_REF_TYPE] module.exports.GIT_DIFF_TYPE_REGEX = /^.\s+/u module.exports.GIT_FOLDER = '.git' module.exports.MINUS = '-' -module.exports.IGNORE_WHITESPACE_PARAMS_FOR_FILE = - IGNORE_WHITESPACE_PARAMS_FOR_FILE -module.exports.IGNORE_WHITESPACE_PARAMS_FOR_REPO = [ - ...IGNORE_WHITESPACE_PARAMS_FOR_FILE, +module.exports.IGNORE_WHITESPACE_PARAMS = [ + '--ignore-all-space', + '--ignore-blank-lines', + '--ignore-cr-at-eol', '--word-diff-regex=|[^[:space:]]', ] module.exports.PLUS = '+' diff --git a/src/utils/packageHelper.js b/src/utils/packageHelper.js index 4faab7c5..39e227d6 100644 --- a/src/utils/packageHelper.js +++ b/src/utils/packageHelper.js @@ -47,11 +47,22 @@ module.exports = class PackageBuilder { } } -const fillPackageWithParameter = params => { - if (!params.package.has(params.type)) { - params.package.set(params.type, new Set()) +const fillPackageWithParameter = ({ store, type, member }) => { + safeAdd({ store, type, member }) +} + +const safeAdd = ({ store, type, member }) => { + if (!store.has(type)) { + store.set(type, new Set()) } - params.package.get(params.type).add(params.elementName) + store.get(type).add(member) +} + +const PACKAGE_MEMBER_PATH_SEP = '/' +const cleanUpPackageMember = packageMember => { + return `${packageMember}`.replace(/\\+/g, PACKAGE_MEMBER_PATH_SEP) } +module.exports.cleanUpPackageMember = cleanUpPackageMember module.exports.fillPackageWithParameter = fillPackageWithParameter +module.exports.safeAdd = safeAdd diff --git a/src/utils/repoGitDiff.js b/src/utils/repoGitDiff.js index b904ab60..f0e01fa9 100644 --- a/src/utils/repoGitDiff.js +++ b/src/utils/repoGitDiff.js @@ -6,7 +6,7 @@ const { ADDITION, DELETION, GIT_DIFF_TYPE_REGEX, - IGNORE_WHITESPACE_PARAMS_FOR_REPO, + IGNORE_WHITESPACE_PARAMS, MODIFICATION, UTF8_ENCODING, } = require('./gitConstants') @@ -44,7 +44,7 @@ class RepoGitDiff { encoding: UTF8_ENCODING, } this.ignoreWhitespaceParams = this.config.ignoreWhitespace - ? IGNORE_WHITESPACE_PARAMS_FOR_REPO + ? IGNORE_WHITESPACE_PARAMS : [] } diff --git a/yarn.lock b/yarn.lock index 7a0aa24d..51046de9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -511,6 +511,18 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "~3.1.0" +"@eslint-community/eslint-utils@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz#a831e6e468b4b2b5ae42bf658bea015bf10bc518" + integrity sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403" + integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== + "@eslint/eslintrc@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" @@ -526,11 +538,31 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d" + integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.5.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + "@eslint/js@8.35.0": version "8.35.0" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== +"@eslint/js@8.36.0": + version "8.36.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe" + integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg== + "@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" @@ -566,109 +598,109 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.3.tgz#1f25a99f7f860e4c46423b5b1038262466fadde1" - integrity sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A== +"@jest/console@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.5.0.tgz#593a6c5c0d3f75689835f1b3b4688c4f8544cb57" + integrity sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.4.3" - jest-util "^29.4.3" + jest-message-util "^29.5.0" + jest-util "^29.5.0" slash "^3.0.0" -"@jest/core@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.3.tgz#829dd65bffdb490de5b0f69e97de8e3b5eadd94b" - integrity sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ== - dependencies: - "@jest/console" "^29.4.3" - "@jest/reporters" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" +"@jest/core@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.5.0.tgz#76674b96904484e8214614d17261cc491e5f1f03" + integrity sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ== + dependencies: + "@jest/console" "^29.5.0" + "@jest/reporters" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^29.4.3" - jest-config "^29.4.3" - jest-haste-map "^29.4.3" - jest-message-util "^29.4.3" + jest-changed-files "^29.5.0" + jest-config "^29.5.0" + jest-haste-map "^29.5.0" + jest-message-util "^29.5.0" jest-regex-util "^29.4.3" - jest-resolve "^29.4.3" - jest-resolve-dependencies "^29.4.3" - jest-runner "^29.4.3" - jest-runtime "^29.4.3" - jest-snapshot "^29.4.3" - jest-util "^29.4.3" - jest-validate "^29.4.3" - jest-watcher "^29.4.3" + jest-resolve "^29.5.0" + jest-resolve-dependencies "^29.5.0" + jest-runner "^29.5.0" + jest-runtime "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" + jest-watcher "^29.5.0" micromatch "^4.0.4" - pretty-format "^29.4.3" + pretty-format "^29.5.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.3.tgz#9fe2f3169c3b33815dc4bd3960a064a83eba6548" - integrity sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA== +"@jest/environment@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.5.0.tgz#9152d56317c1fdb1af389c46640ba74ef0bb4c65" + integrity sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ== dependencies: - "@jest/fake-timers" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" - jest-mock "^29.4.3" + jest-mock "^29.5.0" -"@jest/expect-utils@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.3.tgz#95ce4df62952f071bcd618225ac7c47eaa81431e" - integrity sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ== +"@jest/expect-utils@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036" + integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg== dependencies: jest-get-type "^29.4.3" -"@jest/expect@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.3.tgz#d31a28492e45a6bcd0f204a81f783fe717045c6e" - integrity sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ== +"@jest/expect@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.5.0.tgz#80952f5316b23c483fbca4363ce822af79c38fba" + integrity sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g== dependencies: - expect "^29.4.3" - jest-snapshot "^29.4.3" + expect "^29.5.0" + jest-snapshot "^29.5.0" -"@jest/fake-timers@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.3.tgz#31e982638c60fa657d310d4b9d24e023064027b0" - integrity sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw== +"@jest/fake-timers@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.5.0.tgz#d4d09ec3286b3d90c60bdcd66ed28d35f1b4dc2c" + integrity sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.4.3" - jest-mock "^29.4.3" - jest-util "^29.4.3" + jest-message-util "^29.5.0" + jest-mock "^29.5.0" + jest-util "^29.5.0" -"@jest/globals@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.3.tgz#63a2c4200d11bc6d46f12bbe25b07f771fce9279" - integrity sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA== +"@jest/globals@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.5.0.tgz#6166c0bfc374c58268677539d0c181f9c1833298" + integrity sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ== dependencies: - "@jest/environment" "^29.4.3" - "@jest/expect" "^29.4.3" - "@jest/types" "^29.4.3" - jest-mock "^29.4.3" + "@jest/environment" "^29.5.0" + "@jest/expect" "^29.5.0" + "@jest/types" "^29.5.0" + jest-mock "^29.5.0" -"@jest/reporters@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.3.tgz#0a68a0c0f20554760cc2e5443177a0018969e353" - integrity sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg== +"@jest/reporters@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.5.0.tgz#985dfd91290cd78ddae4914ba7921bcbabe8ac9b" + integrity sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/console" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" @@ -681,9 +713,9 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.4.3" - jest-util "^29.4.3" - jest-worker "^29.4.3" + jest-message-util "^29.5.0" + jest-util "^29.5.0" + jest-worker "^29.5.0" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" @@ -705,51 +737,51 @@ callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.3.tgz#e13d973d16c8c7cc0c597082d5f3b9e7f796ccb8" - integrity sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA== +"@jest/test-result@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.5.0.tgz#7c856a6ca84f45cc36926a4e9c6b57f1973f1408" + integrity sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ== dependencies: - "@jest/console" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/console" "^29.5.0" + "@jest/types" "^29.5.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.3.tgz#0862e876a22993385a0f3e7ea1cc126f208a2898" - integrity sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw== +"@jest/test-sequencer@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz#34d7d82d3081abd523dbddc038a3ddcb9f6d3cc4" + integrity sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ== dependencies: - "@jest/test-result" "^29.4.3" + "@jest/test-result" "^29.5.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.3" + jest-haste-map "^29.5.0" slash "^3.0.0" -"@jest/transform@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.3.tgz#f7d17eac9cb5bb2e1222ea199c7c7e0835e0c037" - integrity sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg== +"@jest/transform@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9" + integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.3" + jest-haste-map "^29.5.0" jest-regex-util "^29.4.3" - jest-util "^29.4.3" + jest-util "^29.5.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" write-file-atomic "^4.0.2" -"@jest/types@^29.4.3": - version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" - integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== +"@jest/types@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593" + integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog== dependencies: "@jest/schemas" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" @@ -943,6 +975,41 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" +"@oclif/core@^2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.6.2.tgz#6ec15faf0c1e0e01e3c13c1c33827c12baaf0c88" + integrity sha512-roxcBLr4BuoOEDEkMQk4Yy0Tolr39n6i+A63qPLa19vrgxjZZJygh2HpThsn69/UPuEzMq051FnvJ9tNln3Y5g== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + fs-extra "^9.1.0" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + semver "^7.3.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + "@oclif/dev-cli@^1.26.10": version "1.26.10" resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.26.10.tgz#d8df3a79009b68552f5e7f249d1d19ca52278382" @@ -1031,12 +1098,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.2.6": - version "5.2.6" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.6.tgz#c3b8f8f7608d1969fa2730c4de5166ea9a4fc952" - integrity sha512-nvpSbIOGtPIct3+OqXca3OIu5liyIynascncAXZy4JDD7z8rIGZ3NYJH2M4JhMVyGxCDZxQuLVsdALyIt67G5g== +"@oclif/plugin-help@^5.2.8": + version "5.2.8" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.8.tgz#25821ea8588b59e5554187611ce58b8a95d4e90d" + integrity sha512-Fl1DD6Hm7USG/BYqcUmc/hMXK6Bnd3HvkZsRG+qi0dbYaNtY9zJ58C5b3lgPn69bXJlyi1eWX4S8djSUWD8VYg== dependencies: - "@oclif/core" "^2.3.1" + "@oclif/core" "^2.6.2" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1048,7 +1115,7 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21", "@oclif/test@^2.3.8": +"@oclif/test@^2.2.21": version "2.3.8" resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.8.tgz#ad2fb6375cb9891ebc002258d090075b8621ed0e" integrity sha512-usE2GeE2S+feOgf8uFLUUVDKt0N3orH+pc1bKkKQtCNAFDvdyAdAMcBS+1PnmCn+cSxaez0bCQ6xOpxA9s7x3A== @@ -1056,6 +1123,14 @@ "@oclif/core" "^2.3.1" fancy-test "^2.0.12" +"@oclif/test@^2.3.10": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.10.tgz#0bbdd0564f3cbd59a3c3b4ccfa127daae3b6b58f" + integrity sha512-4Rb4HmFBHfsOywae6lU9YYed/KZaH1hZas5W/lCsd03jumUOpmWHf5ny6B8Q56BV43IN4Q6iUAYB04xoDsSZwQ== + dependencies: + "@oclif/core" "^2.6.2" + fancy-test "^2.0.13" + "@oozcitak/dom@1.15.10": version "1.15.10" resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" @@ -1097,22 +1172,22 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.3.2": - version "5.3.2" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.2.tgz#b91c3e81effe5720a7aa80fa62c01ebcc68ff12f" - integrity sha512-avg3al0avAMZr9EJCP/MVZjPEViXn72pVJCFPPuxlfUaYBBpk52vXlxO7HSNErQK+moCKyEPCPMxbs6vJK2UbQ== +"@salesforce/command@^5.3.3": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.3.tgz#863380090d8febeb803ceb32690302c490ffe1fc" + integrity sha512-p6I5AiQG85Ptk6hxh0r9Xg34MTshnGmDkGSY+S1yqodOF8oV+frCnUenInjwibxyuSqL0hPm+scx8/jwhqLNVA== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.33.4" + "@salesforce/core" "^3.33.6" "@salesforce/kit" "^1.8.5" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.33.4", "@salesforce/core@^3.33.5": - version "3.33.5" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.5.tgz#7b3ee60860abc5cb7098b9388d01f7ed47d58c0a" - integrity sha512-4Gb6LzjbhyvdykdclSUTxIlAVqIQZ5dsRhR7XifndvbviAX4s11f3TweOVZl1WEthTBKPF3i34K3QP/MPwbxrQ== +"@salesforce/core@^3.33.6": + version "3.33.6" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.6.tgz#48a3e8c708f4a0ed153e5e2d43c343fd5bf2c923" + integrity sha512-HxA0OIt6NSMdZwu2X7wIru8OJN8x8XxNiazXpLNW5MUi9rBupBAWYNROjDMPilxBgnoiBcJ5I84xdl+jWD3vqA== dependencies: "@salesforce/bunyan" "^2.0.0" "@salesforce/kit" "^1.9.0" @@ -1132,6 +1207,29 @@ jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" +"@salesforce/core@^3.33.9": + version "3.33.9" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.9.tgz#52b668dde75f1e75bc4231104e51db56986283cb" + integrity sha512-KuzReDTyQ60JNlQIuWQ3Ud8dt4EVCtKOHT+Y7SdWx2J8/TtFsEExaUO8Ne/654i0gZlXdLFjV5p+AMbCc9JN5w== + dependencies: + "@salesforce/bunyan" "^2.0.0" + "@salesforce/kit" "^1.9.2" + "@salesforce/schemas" "^1.5.0" + "@salesforce/ts-types" "^1.7.2" + "@types/graceful-fs" "^4.1.6" + "@types/semver" "^7.3.13" + ajv "^8.12.0" + archiver "^5.3.0" + change-case "^4.1.2" + debug "^3.2.7" + faye "^1.4.0" + form-data "^4.0.0" + graceful-fs "^4.2.9" + js2xmlparser "^4.0.1" + jsforce "^2.0.0-beta.19" + jsonwebtoken "9.0.0" + ts-retry-promise "^0.7.0" + "@salesforce/dev-config@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" @@ -1146,6 +1244,15 @@ shx "^0.3.3" tslib "^2.5.0" +"@salesforce/kit@^1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.2.tgz#d232f135428363cdfe2649cb99a94bc2eb0a12fd" + integrity sha512-kjZvjFNP6njhAiEa/ErdLXSDWZKafHYJyKCKz1wnSFmDM8TOpKHCCVw5cQo87ZQr8OqxqwUDIAlSBLyMzKi4Lg== + dependencies: + "@salesforce/ts-types" "^1.7.3" + shx "^0.3.3" + tslib "^2.5.0" + "@salesforce/schemas@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.0.tgz#8bfe2cb5d7cb29d3394b3b9cfb71bb527009c82c" @@ -1319,7 +1426,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*", "@types/node@^18.14.1": +"@types/node@*": version "18.14.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== @@ -1329,6 +1436,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^18.15.3": + version "18.15.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" + integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== + "@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" @@ -1373,23 +1485,23 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz#24b8b4a952f3c615fe070e3c461dd852b5056734" - integrity sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw== +"@typescript-eslint/eslint-plugin@^5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz#bc2400c3a23305e8c9a9c04aa40933868aaaeb47" + integrity sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg== dependencies: - "@typescript-eslint/scope-manager" "5.53.0" - "@typescript-eslint/type-utils" "5.53.0" - "@typescript-eslint/utils" "5.53.0" + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.55.0" + "@typescript-eslint/type-utils" "5.55.0" + "@typescript-eslint/utils" "5.55.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" - regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.53.0": +"@typescript-eslint/parser@^5.10.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== @@ -1399,6 +1511,16 @@ "@typescript-eslint/typescript-estree" "5.53.0" debug "^4.3.4" +"@typescript-eslint/parser@^5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262" + integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw== + dependencies: + "@typescript-eslint/scope-manager" "5.55.0" + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/typescript-estree" "5.55.0" + debug "^4.3.4" + "@typescript-eslint/scope-manager@5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" @@ -1407,13 +1529,21 @@ "@typescript-eslint/types" "5.53.0" "@typescript-eslint/visitor-keys" "5.53.0" -"@typescript-eslint/type-utils@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz#41665449935ba9b4e6a1ba6e2a3f4b2c31d6cf97" - integrity sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw== +"@typescript-eslint/scope-manager@5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210" + integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== dependencies: - "@typescript-eslint/typescript-estree" "5.53.0" - "@typescript-eslint/utils" "5.53.0" + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/visitor-keys" "5.55.0" + +"@typescript-eslint/type-utils@5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz#74bf0233523f874738677bb73cb58094210e01e9" + integrity sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA== + dependencies: + "@typescript-eslint/typescript-estree" "5.55.0" + "@typescript-eslint/utils" "5.55.0" debug "^4.3.4" tsutils "^3.21.0" @@ -1422,6 +1552,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== +"@typescript-eslint/types@5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd" + integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== + "@typescript-eslint/typescript-estree@5.53.0": version "5.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" @@ -1435,18 +1570,31 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.53.0.tgz#e55eaad9d6fffa120575ffaa530c7e802f13bce8" - integrity sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g== +"@typescript-eslint/typescript-estree@5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575" + integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== dependencies: + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/visitor-keys" "5.55.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341" + integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.53.0" - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/typescript-estree" "5.53.0" + "@typescript-eslint/scope-manager" "5.55.0" + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/typescript-estree" "5.55.0" eslint-scope "^5.1.1" - eslint-utils "^3.0.0" semver "^7.3.7" "@typescript-eslint/visitor-keys@5.53.0": @@ -1457,6 +1605,14 @@ "@typescript-eslint/types" "5.53.0" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.55.0": + version "5.55.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2" + integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== + dependencies: + "@typescript-eslint/types" "5.55.0" + eslint-visitor-keys "^3.3.0" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1512,7 +1668,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.11.0, ajv@^8.11.2: +ajv@^8.11.0, ajv@^8.11.2, ajv@^8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -1735,15 +1891,15 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -babel-jest@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.3.tgz#478b84d430972b277ad67dd631be94abea676792" - integrity sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw== +babel-jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5" + integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q== dependencies: - "@jest/transform" "^29.4.3" + "@jest/transform" "^29.5.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.4.3" + babel-preset-jest "^29.5.0" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1759,10 +1915,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.3.tgz#ad1dfb5d31940957e00410ef7d9b2aa94b216101" - integrity sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q== +babel-plugin-jest-hoist@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a" + integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -1787,12 +1943,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.3.tgz#bb926b66ae253b69c6e3ef87511b8bb5c53c5b52" - integrity sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw== +babel-preset-jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2" + integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg== dependencies: - babel-plugin-jest-hoist "^29.4.3" + babel-plugin-jest-hoist "^29.5.0" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -1953,6 +2109,11 @@ cardinal@^2.1.1: ansicolors "~0.3.2" redeyed "~2.1.0" +chalk@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -2179,16 +2340,16 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1" + integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== + commander@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^9.4.1: - version "9.5.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== - comment-parser@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" @@ -2652,10 +2813,10 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -eslint-config-prettier@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" - integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== +eslint-config-prettier@^8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d" + integrity sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== eslint-config-salesforce-typescript@^1.1.1: version "1.1.1" @@ -2699,10 +2860,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^40.0.0: - version "40.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.0.tgz#7f433757aa91721e4b88a527dc17ac0437c3c075" - integrity sha512-LOPyIu1vAVvGPkye3ci0moj0iNf3f8bmin6do2DYDj+77NRXWnkmhKRy8swWsatUs3mB5jYPWPUsFg9pyfEiyA== +eslint-plugin-jsdoc@^40.0.2: + version "40.0.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.2.tgz#d0d6490fa3085b4171eb60ef552b0e40992304c1" + integrity sha512-EjcpQX64+d02kKMlBZbTc7xIkCOa0A9TF2AlB/3NlM7Xl8bywwvJ5Wo7ickEn/EzfauMbZcCCKSZItAH+6Xakg== dependencies: "@es-joy/jsdoccomment" "~0.36.1" comment-parser "1.3.1" @@ -2752,7 +2913,53 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.35.0, eslint@^8.7.0: +eslint@^8.36.0: + version "8.36.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf" + integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.1" + "@eslint/js" "8.36.0" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.5.0" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +eslint@^8.7.0: version "8.35.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== @@ -2807,6 +3014,15 @@ espree@^9.0.0, espree@^9.4.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" +espree@^9.5.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113" + integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -2874,14 +3090,14 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== +execa@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.0.0.tgz#2a44e20e73797f6c2df23889927972386157d7e4" + integrity sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.1" - human-signals "^3.0.1" + human-signals "^4.3.0" is-stream "^3.0.0" merge-stream "^2.0.0" npm-run-path "^5.1.0" @@ -2894,16 +3110,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.3.tgz#5e47757316df744fe3b8926c3ae8a3ebdafff7fe" - integrity sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg== +expect@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7" + integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg== dependencies: - "@jest/expect-utils" "^29.4.3" + "@jest/expect-utils" "^29.5.0" jest-get-type "^29.4.3" - jest-matcher-utils "^29.4.3" - jest-message-util "^29.4.3" - jest-util "^29.4.3" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" external-editor@^3.0.3: version "3.1.0" @@ -2933,6 +3149,20 @@ fancy-test@^2.0.12: nock "^13.3.0" stdout-stderr "^0.1.9" +fancy-test@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.13.tgz#861323fe91f5f4b3d6d2e53104756f64274d7dfe" + integrity sha512-n+rbO0zU861qNT4L3vIy2CEZlsmLR1sp8sy/uZDEOdmRtfnBBwN9OgT37X0zhQJZTlu2vkdKRu51BsyekgB13Q== + dependencies: + "@types/chai" "*" + "@types/lodash" "*" + "@types/node" "*" + "@types/sinon" "*" + lodash "^4.17.13" + mock-stdin "^1.0.0" + nock "^13.3.0" + stdout-stderr "^0.1.9" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3477,10 +3707,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== +human-signals@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.0.tgz#2095c3cd5afae40049403d4b811235b03879db50" + integrity sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ== husky@^8.0.3: version "8.0.3" @@ -3909,94 +4139,95 @@ jake@^10.8.5: filelist "^1.0.1" minimatch "^3.0.4" -jest-changed-files@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.3.tgz#7961fe32536b9b6d5c28dfa0abcfab31abcf50a7" - integrity sha512-Vn5cLuWuwmi2GNNbokPOEcvrXGSGrqVnPEZV7rC6P7ck07Dyw9RFnvWglnupSh+hGys0ajGtw/bc2ZgweljQoQ== +jest-changed-files@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.5.0.tgz#e88786dca8bf2aa899ec4af7644e16d9dcf9b23e" + integrity sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.3.tgz#fff7be1cf5f06224dd36a857d52a9efeb005ba04" - integrity sha512-Vw/bVvcexmdJ7MLmgdT3ZjkJ3LKu8IlpefYokxiqoZy6OCQ2VAm6Vk3t/qHiAGUXbdbJKJWnc8gH3ypTbB/OBw== +jest-circus@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.5.0.tgz#b5926989449e75bff0d59944bae083c9d7fb7317" + integrity sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA== dependencies: - "@jest/environment" "^29.4.3" - "@jest/expect" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/environment" "^29.5.0" + "@jest/expect" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^29.4.3" - jest-matcher-utils "^29.4.3" - jest-message-util "^29.4.3" - jest-runtime "^29.4.3" - jest-snapshot "^29.4.3" - jest-util "^29.4.3" + jest-each "^29.5.0" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-runtime "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" p-limit "^3.1.0" - pretty-format "^29.4.3" + pretty-format "^29.5.0" + pure-rand "^6.0.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.3.tgz#fe31fdd0c90c765f392b8b7c97e4845071cd2163" - integrity sha512-PiiAPuFNfWWolCE6t3ZrDXQc6OsAuM3/tVW0u27UWc1KE+n/HSn5dSE6B2juqN7WP+PP0jAcnKtGmI4u8GMYCg== +jest-cli@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.5.0.tgz#b34c20a6d35968f3ee47a7437ff8e53e086b4a67" + integrity sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw== dependencies: - "@jest/core" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/core" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.4.3" - jest-util "^29.4.3" - jest-validate "^29.4.3" + jest-config "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.3.tgz#fca9cdfe6298ae6d04beef1624064d455347c978" - integrity sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ== +jest-config@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.5.0.tgz#3cc972faec8c8aaea9ae158c694541b79f3748da" + integrity sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.4.3" - "@jest/types" "^29.4.3" - babel-jest "^29.4.3" + "@jest/test-sequencer" "^29.5.0" + "@jest/types" "^29.5.0" + babel-jest "^29.5.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.4.3" - jest-environment-node "^29.4.3" + jest-circus "^29.5.0" + jest-environment-node "^29.5.0" jest-get-type "^29.4.3" jest-regex-util "^29.4.3" - jest-resolve "^29.4.3" - jest-runner "^29.4.3" - jest-util "^29.4.3" - jest-validate "^29.4.3" + jest-resolve "^29.5.0" + jest-runner "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.4.3" + pretty-format "^29.5.0" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.3.tgz#42f4eb34d0bf8c0fb08b0501069b87e8e84df347" - integrity sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA== +jest-diff@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63" + integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw== dependencies: chalk "^4.0.0" diff-sequences "^29.4.3" jest-get-type "^29.4.3" - pretty-format "^29.4.3" + pretty-format "^29.5.0" jest-docblock@^29.4.3: version "29.4.3" @@ -4005,94 +4236,94 @@ jest-docblock@^29.4.3: dependencies: detect-newline "^3.0.0" -jest-each@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.3.tgz#a434c199a2f6151c5e3dc80b2d54586bdaa72819" - integrity sha512-1ElHNAnKcbJb/b+L+7j0/w7bDvljw4gTv1wL9fYOczeJrbTbkMGQ5iQPFJ3eFQH19VPTx1IyfePdqSpePKss7Q== +jest-each@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.5.0.tgz#fc6e7014f83eac68e22b7195598de8554c2e5c06" + integrity sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" chalk "^4.0.0" jest-get-type "^29.4.3" - jest-util "^29.4.3" - pretty-format "^29.4.3" + jest-util "^29.5.0" + pretty-format "^29.5.0" -jest-environment-node@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.3.tgz#579c4132af478befc1889ddc43c2413a9cdbe014" - integrity sha512-gAiEnSKF104fsGDXNkwk49jD/0N0Bqu2K9+aMQXA6avzsA9H3Fiv1PW2D+gzbOSR705bWd2wJZRFEFpV0tXISg== +jest-environment-node@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.5.0.tgz#f17219d0f0cc0e68e0727c58b792c040e332c967" + integrity sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw== dependencies: - "@jest/environment" "^29.4.3" - "@jest/fake-timers" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" - jest-mock "^29.4.3" - jest-util "^29.4.3" + jest-mock "^29.5.0" + jest-util "^29.5.0" jest-get-type@^29.4.3: version "29.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== -jest-haste-map@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.3.tgz#085a44283269e7ace0645c63a57af0d2af6942e2" - integrity sha512-eZIgAS8tvm5IZMtKlR8Y+feEOMfo2pSQkmNbufdbMzMSn9nitgGxF1waM/+LbryO3OkMcKS98SUb+j/cQxp/vQ== +jest-haste-map@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de" + integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" jest-regex-util "^29.4.3" - jest-util "^29.4.3" - jest-worker "^29.4.3" + jest-util "^29.5.0" + jest-worker "^29.5.0" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.3.tgz#2b35191d6b35aa0256e63a9b79b0f949249cf23a" - integrity sha512-9yw4VC1v2NspMMeV3daQ1yXPNxMgCzwq9BocCwYrRgXe4uaEJPAN0ZK37nFBhcy3cUwEVstFecFLaTHpF7NiGA== +jest-leak-detector@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz#cf4bdea9615c72bac4a3a7ba7e7930f9c0610c8c" + integrity sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow== dependencies: jest-get-type "^29.4.3" - pretty-format "^29.4.3" + pretty-format "^29.5.0" -jest-matcher-utils@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz#ea68ebc0568aebea4c4213b99f169ff786df96a0" - integrity sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg== +jest-matcher-utils@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5" + integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw== dependencies: chalk "^4.0.0" - jest-diff "^29.4.3" + jest-diff "^29.5.0" jest-get-type "^29.4.3" - pretty-format "^29.4.3" + pretty-format "^29.5.0" -jest-message-util@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.3.tgz#65b5280c0fdc9419503b49d4f48d4999d481cb5b" - integrity sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw== +jest-message-util@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e" + integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.4.3" + pretty-format "^29.5.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.3.tgz#23d84a20a74cdfff0510fdbeefb841ed57b0fe7e" - integrity sha512-LjFgMg+xed9BdkPMyIJh+r3KeHt1klXPJYBULXVVAkbTaaKjPX1o1uVCAZADMEp/kOxGTwy/Ot8XbvgItOrHEg== +jest-mock@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.5.0.tgz#26e2172bcc71d8b0195081ff1f146ac7e1518aed" + integrity sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@types/node" "*" - jest-util "^29.4.3" + jest-util "^29.5.0" jest-pnp-resolver@^1.2.2: version "1.2.3" @@ -4104,88 +4335,88 @@ jest-regex-util@^29.4.3: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== -jest-resolve-dependencies@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.3.tgz#9ad7f23839a6d88cef91416bda9393a6e9fd1da5" - integrity sha512-uvKMZAQ3nmXLH7O8WAOhS5l0iWyT3WmnJBdmIHiV5tBbdaDZ1wqtNX04FONGoaFvSOSHBJxnwAVnSn1WHdGVaw== +jest-resolve-dependencies@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz#f0ea29955996f49788bf70996052aa98e7befee4" + integrity sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg== dependencies: jest-regex-util "^29.4.3" - jest-snapshot "^29.4.3" + jest-snapshot "^29.5.0" -jest-resolve@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.3.tgz#3c5b5c984fa8a763edf9b3639700e1c7900538e2" - integrity sha512-GPokE1tzguRyT7dkxBim4wSx6E45S3bOQ7ZdKEG+Qj0Oac9+6AwJPCk0TZh5Vu0xzeX4afpb+eDmgbmZFFwpOw== +jest-resolve@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.5.0.tgz#b053cc95ad1d5f6327f0ac8aae9f98795475ecdc" + integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.4.3" + jest-haste-map "^29.5.0" jest-pnp-resolver "^1.2.2" - jest-util "^29.4.3" - jest-validate "^29.4.3" + jest-util "^29.5.0" + jest-validate "^29.5.0" resolve "^1.20.0" resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.3.tgz#68dc82c68645eda12bea42b5beece6527d7c1e5e" - integrity sha512-GWPTEiGmtHZv1KKeWlTX9SIFuK19uLXlRQU43ceOQ2hIfA5yPEJC7AMkvFKpdCHx6pNEdOD+2+8zbniEi3v3gA== - dependencies: - "@jest/console" "^29.4.3" - "@jest/environment" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" +jest-runner@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.5.0.tgz#6a57c282eb0ef749778d444c1d758c6a7693b6f8" + integrity sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ== + dependencies: + "@jest/console" "^29.5.0" + "@jest/environment" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" jest-docblock "^29.4.3" - jest-environment-node "^29.4.3" - jest-haste-map "^29.4.3" - jest-leak-detector "^29.4.3" - jest-message-util "^29.4.3" - jest-resolve "^29.4.3" - jest-runtime "^29.4.3" - jest-util "^29.4.3" - jest-watcher "^29.4.3" - jest-worker "^29.4.3" + jest-environment-node "^29.5.0" + jest-haste-map "^29.5.0" + jest-leak-detector "^29.5.0" + jest-message-util "^29.5.0" + jest-resolve "^29.5.0" + jest-runtime "^29.5.0" + jest-util "^29.5.0" + jest-watcher "^29.5.0" + jest-worker "^29.5.0" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.3.tgz#f25db9874dcf35a3ab27fdaabca426666cc745bf" - integrity sha512-F5bHvxSH+LvLV24vVB3L8K467dt3y3dio6V3W89dUz9nzvTpqd/HcT9zfYKL2aZPvD63vQFgLvaUX/UpUhrP6Q== +jest-runtime@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.5.0.tgz#c83f943ee0c1da7eb91fa181b0811ebd59b03420" + integrity sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw== dependencies: - "@jest/environment" "^29.4.3" - "@jest/fake-timers" "^29.4.3" - "@jest/globals" "^29.4.3" + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/globals" "^29.5.0" "@jest/source-map" "^29.4.3" - "@jest/test-result" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.4.3" - jest-message-util "^29.4.3" - jest-mock "^29.4.3" + jest-haste-map "^29.5.0" + jest-message-util "^29.5.0" + jest-mock "^29.5.0" jest-regex-util "^29.4.3" - jest-resolve "^29.4.3" - jest-snapshot "^29.4.3" - jest-util "^29.4.3" + jest-resolve "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.3.tgz#183d309371450d9c4a3de7567ed2151eb0e91145" - integrity sha512-NGlsqL0jLPDW91dz304QTM/SNO99lpcSYYAjNiX0Ou+sSGgkanKBcSjCfp/pqmiiO1nQaOyLp6XQddAzRcx3Xw== +jest-snapshot@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.5.0.tgz#c9c1ce0331e5b63cd444e2f95a55a73b84b1e8ce" + integrity sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" @@ -4193,82 +4424,81 @@ jest-snapshot@^29.4.3: "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.4.3" - "@jest/transform" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/expect-utils" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.4.3" + expect "^29.5.0" graceful-fs "^4.2.9" - jest-diff "^29.4.3" + jest-diff "^29.5.0" jest-get-type "^29.4.3" - jest-haste-map "^29.4.3" - jest-matcher-utils "^29.4.3" - jest-message-util "^29.4.3" - jest-util "^29.4.3" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" natural-compare "^1.4.0" - pretty-format "^29.4.3" + pretty-format "^29.5.0" semver "^7.3.5" -jest-util@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" - integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== +jest-util@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f" + integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.3.tgz#a13849dec4f9e95446a7080ad5758f58fa88642f" - integrity sha512-J3u5v7aPQoXPzaar6GndAVhdQcZr/3osWSgTeKg5v574I9ybX/dTyH0AJFb5XgXIB7faVhf+rS7t4p3lL9qFaw== +jest-validate@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.5.0.tgz#8e5a8f36178d40e47138dc00866a5f3bd9916ffc" + integrity sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ== dependencies: - "@jest/types" "^29.4.3" + "@jest/types" "^29.5.0" camelcase "^6.2.0" chalk "^4.0.0" jest-get-type "^29.4.3" leven "^3.1.0" - pretty-format "^29.4.3" + pretty-format "^29.5.0" -jest-watcher@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.3.tgz#e503baa774f0c2f8f3c8db98a22ebf885f19c384" - integrity sha512-zwlXH3DN3iksoIZNk73etl1HzKyi5FuQdYLnkQKm5BW4n8HpoG59xSwpVdFrnh60iRRaRBGw0gcymIxjJENPcA== +jest-watcher@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.5.0.tgz#cf7f0f949828ba65ddbbb45c743a382a4d911363" + integrity sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA== dependencies: - "@jest/test-result" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.4.3" + jest-util "^29.5.0" string-length "^4.0.1" -jest-worker@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" - integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== +jest-worker@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d" + integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA== dependencies: "@types/node" "*" - jest-util "^29.4.3" + jest-util "^29.5.0" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.3.tgz#1b8be541666c6feb99990fd98adac4737e6e6386" - integrity sha512-XvK65feuEFGZT8OO0fB/QAQS+LGHvQpaadkH5p47/j3Ocqq3xf2pK9R+G0GzgfuhXVxEv76qCOOcMb5efLk6PA== +jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.5.0.tgz#f75157622f5ce7ad53028f2f8888ab53e1f1f24e" + integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ== dependencies: - "@jest/core" "^29.4.3" - "@jest/types" "^29.4.3" + "@jest/core" "^29.5.0" + "@jest/types" "^29.5.0" import-local "^3.0.2" - jest-cli "^29.4.3" + jest-cli "^29.5.0" js-sdsl@^4.1.4: version "4.3.0" @@ -4466,39 +4696,39 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== +lilconfig@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.2.tgz#443636a0cfd834d5518d57d228130dc04c83d6fb" - integrity sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w== +lint-staged@^13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.0.tgz#b7abaf79c91cd36d824f17b23a4ce5209206126a" + integrity sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw== dependencies: + chalk "5.2.0" cli-truncate "^3.1.0" - colorette "^2.0.19" - commander "^9.4.1" + commander "^10.0.0" debug "^4.3.4" - execa "^6.1.0" - lilconfig "2.0.6" - listr2 "^5.0.5" + execa "^7.0.0" + lilconfig "2.1.0" + listr2 "^5.0.7" micromatch "^4.0.5" normalize-path "^3.0.0" - object-inspect "^1.12.2" + object-inspect "^1.12.3" pidtree "^0.6.0" string-argv "^0.3.1" - yaml "^2.1.3" + yaml "^2.2.1" -listr2@^5.0.5: - version "5.0.7" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.7.tgz#de69ccc4caf6bea7da03c74f7a2ffecf3904bd53" - integrity sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw== +listr2@^5.0.7: + version "5.0.8" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" + integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== dependencies: cli-truncate "^2.1.0" colorette "^2.0.19" @@ -4986,7 +5216,7 @@ nyc@^15.1.0: test-exclude "^6.0.0" yargs "^15.0.2" -object-inspect@^1.12.2, object-inspect@^1.9.0: +object-inspect@^1.12.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== @@ -5299,10 +5529,10 @@ pretty-format@^23.0.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^29.4.3: - version "29.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c" - integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA== +pretty-format@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a" + integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw== dependencies: "@jest/schemas" "^29.4.3" ansi-styles "^5.0.0" @@ -5351,6 +5581,11 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== +pure-rand@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.0.tgz#701996ceefa253507923a0e864c17ab421c04a7c" + integrity sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw== + q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -6589,7 +6824,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^2.1.3: +yaml@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== From f98f027761dd1f39279e257bccf27188f31c39ae Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 15 Mar 2023 09:57:03 +0100 Subject: [PATCH 38/63] chore(main): release 5.14.0 (#519) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b30dcbaa..b485bb06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.14.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.3...v5.14.0) (2023-03-14) + + +### Features + +* add support for forecasting metadata types ([#518](https://github.com/scolladon/sfdx-git-delta/issues/518)) ([89d6aa7](https://github.com/scolladon/sfdx-git-delta/commit/89d6aa793c5aea6650e1dbffc7da7cf982379df8)) +* implement diff detection using file content comparison ([#511](https://github.com/scolladon/sfdx-git-delta/issues/511)) ([9bf60c5](https://github.com/scolladon/sfdx-git-delta/commit/9bf60c50e30d2ba0be7f58121404c2dabd85a303)) + ## [5.13.3](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.2...v5.13.3) (2023-02-26) diff --git a/package.json b/package.json index 6bac90ec..ffbc71bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.13.3", + "version": "5.14.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From d91b5aedf35a007136241df69f57d7ce4d19d23f Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 29 Mar 2023 15:04:53 +0200 Subject: [PATCH 39/63] feat: add DecisionTable and DecisionTableDataSetLink metadata (#538) --- package.json | 28 +-- src/metadata/v51.json | 14 ++ src/metadata/v52.json | 14 ++ src/metadata/v53.json | 14 ++ src/metadata/v54.json | 14 ++ src/metadata/v55.json | 14 ++ src/metadata/v56.json | 14 ++ src/metadata/v57.json | 14 ++ yarn.lock | 398 +++++++++++++++++++++++------------------- 9 files changed, 335 insertions(+), 189 deletions(-) diff --git a/package.json b/package.json index ffbc71bf..7b9b201a 100644 --- a/package.json +++ b/package.json @@ -28,10 +28,10 @@ "@oclif/command": "^1.8.22", "@oclif/config": "^1.18.8", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.3.3", - "@salesforce/core": "^3.33.9", + "@salesforce/command": "^5.3.4", + "@salesforce/core": "^3.34.6", "fast-xml-parser": "^4.1.3", - "fs-extra": "^11.1.0", + "fs-extra": "^11.1.1", "ignore": "^5.2.4", "lodash": "^4.17.21", "micromatch": "^4.0.5", @@ -64,32 +64,32 @@ "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { - "@commitlint/cli": "^17.4.4", + "@commitlint/cli": "^17.5.1", "@commitlint/config-conventional": "^17.4.4", - "@commitlint/prompt-cli": "^17.4.4", + "@commitlint/prompt-cli": "^17.5.0", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.8", - "@oclif/test": "^2.3.10", + "@oclif/test": "^2.3.13", "@salesforce/dev-config": "^3.1.0", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.15.3", - "@typescript-eslint/eslint-plugin": "^5.55.0", - "@typescript-eslint/parser": "^5.55.0", - "eslint": "^8.36.0", - "eslint-config-prettier": "^8.7.0", + "@types/node": "^18.15.11", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", + "eslint": "^8.37.0", + "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^40.0.2", + "eslint-plugin-jsdoc": "^40.1.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.5.0", "lint-staged": "^13.2.0", "nyc": "^15.1.0", - "prettier": "^2.8.4", + "prettier": "^2.8.7", "prettier-eslint": "^15.0.1", "ts-node": "^10.9.1", - "typescript": "^4.9.5", + "typescript": "^5.0.2", "yarn-upgrade-all": "^0.7.2" }, "oclif": { diff --git a/src/metadata/v51.json b/src/metadata/v51.json index 9e2832ff..a610dad2 100644 --- a/src/metadata/v51.json +++ b/src/metadata/v51.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, diff --git a/src/metadata/v52.json b/src/metadata/v52.json index 493a34e3..984a95fe 100644 --- a/src/metadata/v52.json +++ b/src/metadata/v52.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, diff --git a/src/metadata/v53.json b/src/metadata/v53.json index 493a34e3..984a95fe 100644 --- a/src/metadata/v53.json +++ b/src/metadata/v53.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, diff --git a/src/metadata/v54.json b/src/metadata/v54.json index 493a34e3..984a95fe 100644 --- a/src/metadata/v54.json +++ b/src/metadata/v54.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "actionPlanTemplates", "inFolder": false, diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 3357da6c..ff7a0bd7 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "forecastingFilters", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 173c792d..70ab7049 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "forecastingFilters", "inFolder": false, diff --git a/src/metadata/v57.json b/src/metadata/v57.json index 173c792d..70ab7049 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "decisionTables", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTable", + "xmlName": "DecisionTable" + }, + { + "directoryName": "decisionTableDatasetLinks", + "inFolder": false, + "metaFile": false, + "suffix": "decisionTableDatasetLink", + "xmlName": "DecisionTableDatasetLink" + }, { "directoryName": "forecastingFilters", "inFolder": false, diff --git a/yarn.lock b/yarn.lock index 51046de9..62217136 100644 --- a/yarn.lock +++ b/yarn.lock @@ -314,15 +314,15 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.4.tgz#36df08bfa31dbb9a2b6b1d7187a31e578f001a06" - integrity sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g== +"@commitlint/cli@^17.5.1": + version "17.5.1" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.5.1.tgz#db176538db7b4140c8856c88a46bd15ec705f881" + integrity sha512-pRRgGSzdHQHehxZbGA3qF6wVPyl+EEQgTe/t321rtMLFbuJ7nRj2waS17s/v5oEbyZtiY5S8PGB6XtEIm0I+Sg== dependencies: "@commitlint/format" "^17.4.4" "@commitlint/lint" "^17.4.4" - "@commitlint/load" "^17.4.4" - "@commitlint/read" "^17.4.4" + "@commitlint/load" "^17.5.0" + "@commitlint/read" "^17.5.1" "@commitlint/types" "^17.4.4" execa "^5.0.0" lodash.isfunction "^3.0.9" @@ -388,10 +388,10 @@ "@commitlint/rules" "^17.4.4" "@commitlint/types" "^17.4.4" -"@commitlint/load@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.4.4.tgz#13fcb553572f265339801cde6dd10ee5eea07f5e" - integrity sha512-z6uFIQ7wfKX5FGBe1AkOF4l/ShOQsaa1ml/nLMkbW7R/xF8galGS7Zh0yHvzVp/srtfS0brC+0bUfQfmpMPFVQ== +"@commitlint/load@^17.5.0": + version "17.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.5.0.tgz#be45dbbb50aaf5eb7e8e940e1e0d6171d1426bab" + integrity sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q== dependencies: "@commitlint/config-validator" "^17.4.4" "@commitlint/execute-rule" "^17.4.0" @@ -406,7 +406,7 @@ lodash.uniq "^4.5.0" resolve-from "^5.0.0" ts-node "^10.8.1" - typescript "^4.6.4" + typescript "^4.6.4 || ^5.0.0" "@commitlint/message@^17.4.2": version "17.4.2" @@ -422,35 +422,35 @@ conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/prompt-cli@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.4.4.tgz#fabeffa7cfeae1d8b2ccd6fde1fba43a9e4d2d0f" - integrity sha512-/tH9KPD9wo/prlDv4SvIGY/3bRE4Be7G3FGyo5nJTIIAQ9XXU1f6xkOEP6q78NnwfLDt3cuuIewWWmzRNzOujg== +"@commitlint/prompt-cli@^17.5.0": + version "17.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.5.0.tgz#7e7d37ab99a3e40885c5fdf11ee6fea407cf0926" + integrity sha512-+pjD2TyZ+jngFP26oJsRTk1VBZrfX0fxrvoNjULoRilqD/cH96S1GC+dzLA+1M1bNwKye4Ff/SNLdwj9jaFXxA== dependencies: - "@commitlint/prompt" "^17.4.4" + "@commitlint/prompt" "^17.5.0" execa "^5.0.0" inquirer "^6.5.2" -"@commitlint/prompt@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.4.4.tgz#22eb84bb1d51e6580259e63edbc433cdf8ae0090" - integrity sha512-qWC2fydBnAQp+jJqoPYLzzQ6NFMBNm/GlP+oeYOHhMwCXl9nptDGXUJnW3cdL6G4QMYKqJv1czRfATzMXHDHcg== +"@commitlint/prompt@^17.5.0": + version "17.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.5.0.tgz#b135f47aaddbe219754433f2584bfe0e80a74f6c" + integrity sha512-UVgGj5/VYydaLaEGw3GMgBrG+vlS0OKt6hih5vkAu74KMGtUxWT7ACE/VTDuZtMv4u/bew9f6GgOr6LKIhqGng== dependencies: "@commitlint/ensure" "^17.4.4" - "@commitlint/load" "^17.4.4" + "@commitlint/load" "^17.5.0" "@commitlint/types" "^17.4.4" chalk "^4.1.0" inquirer "^6.5.2" -"@commitlint/read@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.4.tgz#de6ec00aad827764153009aa54517e3df2154555" - integrity sha512-B2TvUMJKK+Svzs6eji23WXsRJ8PAD+orI44lVuVNsm5zmI7O8RSGJMvdEZEikiA4Vohfb+HevaPoWZ7PiFZ3zA== +"@commitlint/read@^17.5.1": + version "17.5.1" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.5.1.tgz#fec903b766e2c41e3cefa80630040fcaba4f786c" + integrity sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg== dependencies: "@commitlint/top-level" "^17.4.0" "@commitlint/types" "^17.4.4" fs-extra "^11.0.0" - git-raw-commits "^2.0.0" + git-raw-commits "^2.0.11" minimist "^1.2.6" "@commitlint/resolve-extends@^17.4.4": @@ -502,14 +502,14 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@es-joy/jsdoccomment@~0.36.1": - version "0.36.1" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz#c37db40da36e4b848da5fd427a74bae3b004a30f" - integrity sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg== +"@es-joy/jsdoccomment@~0.37.0": + version "0.37.0" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.37.0.tgz#aaafb4bb6c88288aa7899aef0f3b1b851c36f908" + integrity sha512-hjK0wnsPCYLlF+HHB4R/RbUjOWeLW2SlarB67+Do5WsKILOkmIZvvPJFbtWSmbypxcjpoECLAMzoao0D4Bg5ZQ== dependencies: comment-parser "1.3.1" esquery "^1.4.0" - jsdoc-type-pratt-parser "~3.1.0" + jsdoc-type-pratt-parser "~4.0.0" "@eslint-community/eslint-utils@^4.2.0": version "4.2.0" @@ -538,14 +538,14 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d" - integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw== +"@eslint/eslintrc@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" + integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.5.0" + espree "^9.5.1" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -558,10 +558,10 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== -"@eslint/js@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe" - integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg== +"@eslint/js@8.37.0": + version "8.37.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.37.0.tgz#cf1b5fa24217fe007f6487a26d765274925efa7d" + integrity sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A== "@humanwhocodes/config-array@^0.11.8": version "0.11.8" @@ -1010,6 +1010,41 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" +"@oclif/core@^2.7.1": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" + integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + fs-extra "^9.1.0" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + semver "^7.3.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + "@oclif/dev-cli@^1.26.10": version "1.26.10" resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.26.10.tgz#d8df3a79009b68552f5e7f249d1d19ca52278382" @@ -1123,13 +1158,13 @@ "@oclif/core" "^2.3.1" fancy-test "^2.0.12" -"@oclif/test@^2.3.10": - version "2.3.10" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.10.tgz#0bbdd0564f3cbd59a3c3b4ccfa127daae3b6b58f" - integrity sha512-4Rb4HmFBHfsOywae6lU9YYed/KZaH1hZas5W/lCsd03jumUOpmWHf5ny6B8Q56BV43IN4Q6iUAYB04xoDsSZwQ== +"@oclif/test@^2.3.13": + version "2.3.13" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.13.tgz#1f12c3304fe409d6fa6a989741d0d1b89bbba934" + integrity sha512-CD3qRj4pwEiRA2GGNr9sLL9iu4ASKJFBxUEk4/qsgPLGY6roMubRwKQTQI9orZ+9F21PdVM7xlNLeVsrpXqA9w== dependencies: - "@oclif/core" "^2.6.2" - fancy-test "^2.0.13" + "@oclif/core" "^2.7.1" + fancy-test "^2.0.16" "@oozcitak/dom@1.15.10": version "1.15.10" @@ -1172,49 +1207,26 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/command@^5.3.3": - version "5.3.3" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.3.tgz#863380090d8febeb803ceb32690302c490ffe1fc" - integrity sha512-p6I5AiQG85Ptk6hxh0r9Xg34MTshnGmDkGSY+S1yqodOF8oV+frCnUenInjwibxyuSqL0hPm+scx8/jwhqLNVA== +"@salesforce/command@^5.3.4": + version "5.3.4" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.4.tgz#023e2a9de7958b6d63cd0eb7d99b642b9850c0f3" + integrity sha512-166qTpi64MsIwCa+re4yPO7Ku2aJTKOVkciQUJhOSbms3QkOdfjnUdk+VEEVfwjZGGTj6hetM2h3DKsfNFQZQA== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.33.6" + "@salesforce/core" "^3.34.1" "@salesforce/kit" "^1.8.5" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.33.6": - version "3.33.6" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.6.tgz#48a3e8c708f4a0ed153e5e2d43c343fd5bf2c923" - integrity sha512-HxA0OIt6NSMdZwu2X7wIru8OJN8x8XxNiazXpLNW5MUi9rBupBAWYNROjDMPilxBgnoiBcJ5I84xdl+jWD3vqA== - dependencies: - "@salesforce/bunyan" "^2.0.0" - "@salesforce/kit" "^1.9.0" - "@salesforce/schemas" "^1.5.0" - "@salesforce/ts-types" "^1.7.2" - "@types/graceful-fs" "^4.1.6" - "@types/semver" "^7.3.13" - ajv "^8.11.2" - archiver "^5.3.0" - change-case "^4.1.2" - debug "^3.2.7" - faye "^1.4.0" - form-data "^4.0.0" - graceful-fs "^4.2.9" - js2xmlparser "^4.0.1" - jsforce "^2.0.0-beta.19" - jsonwebtoken "9.0.0" - ts-retry-promise "^0.7.0" - -"@salesforce/core@^3.33.9": - version "3.33.9" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.33.9.tgz#52b668dde75f1e75bc4231104e51db56986283cb" - integrity sha512-KuzReDTyQ60JNlQIuWQ3Ud8dt4EVCtKOHT+Y7SdWx2J8/TtFsEExaUO8Ne/654i0gZlXdLFjV5p+AMbCc9JN5w== +"@salesforce/core@^3.34.1", "@salesforce/core@^3.34.6": + version "3.34.6" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" + integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== dependencies: "@salesforce/bunyan" "^2.0.0" "@salesforce/kit" "^1.9.2" - "@salesforce/schemas" "^1.5.0" + "@salesforce/schemas" "^1.5.1" "@salesforce/ts-types" "^1.7.2" "@types/graceful-fs" "^4.1.6" "@types/semver" "^7.3.13" @@ -1224,9 +1236,9 @@ debug "^3.2.7" faye "^1.4.0" form-data "^4.0.0" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" js2xmlparser "^4.0.1" - jsforce "^2.0.0-beta.19" + jsforce "^2.0.0-beta.20" jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" @@ -1235,7 +1247,7 @@ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== -"@salesforce/kit@^1.8.5", "@salesforce/kit@^1.9.0": +"@salesforce/kit@^1.8.5": version "1.9.0" resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.0.tgz#ddc179ff588b68f3e8f5c237ab74ed4b9c8d5274" integrity sha512-a1DnVf2ZN/fZ4Zq0T6pxrDpwOyWSKt6Es1erpUJLvM13H+Y3C4uxSUy4aS4WSHIJA8zvWvvEiWYOV17TD0Dmug== @@ -1253,10 +1265,10 @@ shx "^0.3.3" tslib "^2.5.0" -"@salesforce/schemas@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.0.tgz#8bfe2cb5d7cb29d3394b3b9cfb71bb527009c82c" - integrity sha512-EKFBURBuON7cj8XZCW+ybeSRRw7wUP1XUXZVHzFgx8KiYmSeGiRHBYbDjQOsQMho2uOLsTozMPEt2ehYnji0YA== +"@salesforce/schemas@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.1.tgz#2d1bfdcf593caaa04cd4b3e6fe621097ff7f28fe" + integrity sha512-MRqU+tn8w5IFvZ0Lm9YKLgxYxr2MQMI+fXXsTrwfUnijsps+ybF9IOTu6MOMxxl2vCUkO8XDjA435wXlWSLI6g== "@salesforce/ts-types@^1.7.1", "@salesforce/ts-types@^1.7.2", "@salesforce/ts-types@^1.7.3": version "1.7.3" @@ -1436,10 +1448,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^18.15.3": - version "18.15.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" - integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== +"@types/node@^18.15.11": + version "18.15.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" + integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1485,15 +1497,15 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz#bc2400c3a23305e8c9a9c04aa40933868aaaeb47" - integrity sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg== +"@typescript-eslint/eslint-plugin@^5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz#52c8a7a4512f10e7249ca1e2e61f81c62c34365c" + integrity sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.55.0" - "@typescript-eslint/type-utils" "5.55.0" - "@typescript-eslint/utils" "5.55.0" + "@typescript-eslint/scope-manager" "5.57.0" + "@typescript-eslint/type-utils" "5.57.0" + "@typescript-eslint/utils" "5.57.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1511,14 +1523,14 @@ "@typescript-eslint/typescript-estree" "5.53.0" debug "^4.3.4" -"@typescript-eslint/parser@^5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262" - integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw== +"@typescript-eslint/parser@^5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.0.tgz#f675bf2cd1a838949fd0de5683834417b757e4fa" + integrity sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ== dependencies: - "@typescript-eslint/scope-manager" "5.55.0" - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/typescript-estree" "5.55.0" + "@typescript-eslint/scope-manager" "5.57.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/typescript-estree" "5.57.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.53.0": @@ -1529,21 +1541,21 @@ "@typescript-eslint/types" "5.53.0" "@typescript-eslint/visitor-keys" "5.53.0" -"@typescript-eslint/scope-manager@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210" - integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== +"@typescript-eslint/scope-manager@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz#79ccd3fa7bde0758059172d44239e871e087ea36" + integrity sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw== dependencies: - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/visitor-keys" "5.55.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/visitor-keys" "5.57.0" -"@typescript-eslint/type-utils@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz#74bf0233523f874738677bb73cb58094210e01e9" - integrity sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA== +"@typescript-eslint/type-utils@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz#98e7531c4e927855d45bd362de922a619b4319f2" + integrity sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ== dependencies: - "@typescript-eslint/typescript-estree" "5.55.0" - "@typescript-eslint/utils" "5.55.0" + "@typescript-eslint/typescript-estree" "5.57.0" + "@typescript-eslint/utils" "5.57.0" debug "^4.3.4" tsutils "^3.21.0" @@ -1552,10 +1564,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== -"@typescript-eslint/types@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd" - integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== +"@typescript-eslint/types@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.0.tgz#727bfa2b64c73a4376264379cf1f447998eaa132" + integrity sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ== "@typescript-eslint/typescript-estree@5.53.0": version "5.53.0" @@ -1570,30 +1582,30 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575" - integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== +"@typescript-eslint/typescript-estree@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz#ebcd0ee3e1d6230e888d88cddf654252d41e2e40" + integrity sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw== dependencies: - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/visitor-keys" "5.55.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/visitor-keys" "5.57.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341" - integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== +"@typescript-eslint/utils@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.0.tgz#eab8f6563a2ac31f60f3e7024b91bf75f43ecef6" + integrity sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.55.0" - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/typescript-estree" "5.55.0" + "@typescript-eslint/scope-manager" "5.57.0" + "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/typescript-estree" "5.57.0" eslint-scope "^5.1.1" semver "^7.3.7" @@ -1605,12 +1617,12 @@ "@typescript-eslint/types" "5.53.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2" - integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== +"@typescript-eslint/visitor-keys@5.57.0": + version "5.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz#e2b2f4174aff1d15eef887ce3d019ecc2d7a8ac1" + integrity sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g== dependencies: - "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/types" "5.57.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1668,7 +1680,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.11.0, ajv@^8.11.2, ajv@^8.12.0: +ajv@^8.11.0, ajv@^8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -2813,10 +2825,10 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -eslint-config-prettier@^8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d" - integrity sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== +eslint-config-prettier@^8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== eslint-config-salesforce-typescript@^1.1.1: version "1.1.1" @@ -2860,16 +2872,16 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^40.0.2: - version "40.0.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.0.2.tgz#d0d6490fa3085b4171eb60ef552b0e40992304c1" - integrity sha512-EjcpQX64+d02kKMlBZbTc7xIkCOa0A9TF2AlB/3NlM7Xl8bywwvJ5Wo7ickEn/EzfauMbZcCCKSZItAH+6Xakg== +eslint-plugin-jsdoc@^40.1.0: + version "40.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.1.0.tgz#fec2f649a60167fa5a94f05ce2c6c041caaab129" + integrity sha512-ANvrhiu62VlSorARM0hup60VQsS3hNyp0Ca7cnJDj8tpJzM7tNhBVqMVYXSuLzEmqrpwx6aAh+NAN2DdAGG5fQ== dependencies: - "@es-joy/jsdoccomment" "~0.36.1" + "@es-joy/jsdoccomment" "~0.37.0" comment-parser "1.3.1" debug "^4.3.4" escape-string-regexp "^4.0.0" - esquery "^1.4.0" + esquery "^1.5.0" semver "^7.3.8" spdx-expression-parse "^3.0.1" @@ -2913,15 +2925,20 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.36.0: - version "8.36.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf" - integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw== +eslint-visitor-keys@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== + +eslint@^8.37.0: + version "8.37.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.37.0.tgz#1f660ef2ce49a0bfdec0b0d698e0b8b627287412" + integrity sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.1" - "@eslint/js" "8.36.0" + "@eslint/eslintrc" "^2.0.2" + "@eslint/js" "8.37.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -2932,8 +2949,8 @@ eslint@^8.36.0: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.1.1" - eslint-visitor-keys "^3.3.0" - espree "^9.5.0" + eslint-visitor-keys "^3.4.0" + espree "^9.5.1" esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -3014,14 +3031,14 @@ espree@^9.0.0, espree@^9.4.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" -espree@^9.5.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113" - integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== +espree@^9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.0" esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" @@ -3035,6 +3052,13 @@ esquery@^1.4.0, esquery@^1.4.2: dependencies: estraverse "^5.1.0" +esquery@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -3149,10 +3173,10 @@ fancy-test@^2.0.12: nock "^13.3.0" stdout-stderr "^0.1.9" -fancy-test@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.13.tgz#861323fe91f5f4b3d6d2e53104756f64274d7dfe" - integrity sha512-n+rbO0zU861qNT4L3vIy2CEZlsmLR1sp8sy/uZDEOdmRtfnBBwN9OgT37X0zhQJZTlu2vkdKRu51BsyekgB13Q== +fancy-test@^2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.16.tgz#fbeb22f1f6b790b067fc774873093d0ca4fc98c1" + integrity sha512-Bgsd32hr+Ohrh/D4zACMstWjViYR6IHJxzvhLSzbekNIrDWOwSHx7zvKtrN/pFrFVyNBo02kNdz3PyPD5W2ibQ== dependencies: "@types/chai" "*" "@types/lodash" "*" @@ -3348,7 +3372,7 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^11.0.0, fs-extra@^11.1.0: +fs-extra@^11.0.0: version "11.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw== @@ -3357,6 +3381,15 @@ fs-extra@^11.0.0, fs-extra@^11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" @@ -3464,7 +3497,7 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -git-raw-commits@^2.0.0: +git-raw-commits@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== @@ -3581,6 +3614,11 @@ graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.2.11: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + grapheme-splitter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" @@ -4540,17 +4578,17 @@ js2xmlparser@^4.0.1: dependencies: xmlcreate "^2.0.4" -jsdoc-type-pratt-parser@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz#a4a56bdc6e82e5865ffd9febc5b1a227ff28e67e" - integrity sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw== +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsforce@^2.0.0-beta.19: +jsforce@^2.0.0-beta.20: version "2.0.0-beta.20" resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.20.tgz#907630942b2ecd653098caa3f87e7710874cb207" integrity sha512-5TpdU0MEUN34M0mSKmBwOMKaI8dllTYF8NzpJn0/9akrwqKEERK6K2jGiMWcs85Vx1HCHEcwU2n+5ij6z6zr2g== @@ -5516,11 +5554,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.1, prettier@^2.8.4: +prettier@^2.5.1: version "2.8.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== +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== + pretty-format@^23.0.1: version "23.6.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" @@ -6517,11 +6560,16 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.5.4, typescript@^4.6.4, typescript@^4.9.5: +typescript@^4.5.4: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +"typescript@^4.6.4 || ^5.0.0", typescript@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" + integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" From 08cf6677b71d0b7f41d56e1ab8b437650d758dd1 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 29 Mar 2023 15:27:59 +0200 Subject: [PATCH 40/63] fix: keep attributs not subject to comparison (#539) --- __tests__/unit/lib/utils/fileGitDiff.test.js | 201 +++++++++++-------- src/utils/fileGitDiff.js | 7 +- 2 files changed, 123 insertions(+), 85 deletions(-) diff --git a/__tests__/unit/lib/utils/fileGitDiff.test.js b/__tests__/unit/lib/utils/fileGitDiff.test.js index a7e5e3ac..7fbfd942 100644 --- a/__tests__/unit/lib/utils/fileGitDiff.test.js +++ b/__tests__/unit/lib/utils/fileGitDiff.test.js @@ -15,81 +15,17 @@ jest.mock('../../../../src/utils/fxpHelper', () => { } }) -const alert = { - '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, - Workflow: { - alerts: [ - { - fullName: 'TestEmailAlert', - description: 'awesome', - protected: 'false', - recipients: { field: 'OtherEmail', type: 'email' }, - senderAddress: 'awesome@awesome.com', - senderType: 'OrgWideEmailAddress', - template: 'None', - }, - { - fullName: 'OtherTestEmailAlert', - description: 'awesome', - protected: 'false', - recipients: { field: 'OtherEmail', type: 'email' }, - senderAddress: 'awesome@awesome.com', - senderType: 'OrgWideEmailAddress', - template: 'None', - }, - ], - }, -} - -const alertOther = { - '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, - Workflow: { - alerts: [ - { - fullName: 'OtherTestEmailAlert', - description: 'awesome', - protected: 'false', - recipients: { field: 'OtherEmail', type: 'email' }, - senderAddress: 'awesome@awesome.com', - senderType: 'OrgWideEmailAddress', - template: 'None', - }, - ], - }, -} - -const alertTest = { - '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, - Workflow: { - alerts: { - fullName: 'TestEmailAlert', - description: 'awesome', - protected: 'false', - recipients: { field: 'OtherEmail', type: 'email' }, - senderAddress: 'awesome@awesome.com', - senderType: 'OrgWideEmailAddress', - template: 'None', - }, - }, -} - -const wfBase = { - '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, - Workflow: { - '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', - }, -} - describe(`fileGitDiff`, () => { let fileGitDiff let globalMetadata let work + let alert, alertOther, alertTest, wfBase, unTracked beforeAll(async () => { // eslint-disable-next-line no-undef globalMetadata = await getGlobalMetadata() }) beforeEach(() => { - jest.clearAllMocks() + jest.resetAllMocks() work = { config: { repo: '', @@ -100,9 +36,100 @@ describe(`fileGitDiff`, () => { warnings: [], } fileGitDiff = new FileGitDiff('workflows', work, globalMetadata) + + alert = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + alerts: [ + { + fullName: 'TestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + { + fullName: 'OtherTestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + ], + }, + } + + alertOther = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + alerts: [ + { + fullName: 'OtherTestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + ], + }, + } + + alertTest = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + alerts: { + fullName: 'TestEmailAlert', + description: 'awesome', + protected: 'false', + recipients: { field: 'OtherEmail', type: 'email' }, + senderAddress: 'awesome@awesome.com', + senderType: 'OrgWideEmailAddress', + template: 'None', + }, + }, + } + + wfBase = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + }, + } + + unTracked = { + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Workflow: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + unTracked: { + fullName: 'untracked', + }, + }, + } }) describe('compare', () => { + it('does not detect not tracked elements', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(unTracked) + parseXmlFileToJson.mockResolvedValueOnce(wfBase) + + // Act + const { added, deleted } = await fileGitDiff.compare('file/path') + + // Assert + expect(deleted.size).toBe(0) + expect(added.size).toBe(0) + }) + it('detects added elements', async () => { // Arrange parseXmlFileToJson.mockResolvedValueOnce(alert) @@ -152,29 +179,48 @@ describe(`fileGitDiff`, () => { }) }) describe('prune', () => { - it('given file contains only new element, it keeps the file identical', async () => { + it('given one element added, the generated file contains only this element', async () => { // Arrange parseXmlFileToJson.mockResolvedValueOnce(alert) - parseXmlFileToJson.mockResolvedValueOnce(wfBase) + parseXmlFileToJson.mockResolvedValueOnce(alertTest) await fileGitDiff.compare('file/path') // Act fileGitDiff.prune() // Assert - expect(convertJsonToXml).toHaveBeenCalledWith(alert) + expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) }) - it('given one element added, the generated file contains only this element', async () => { + it('given zero element added and one element delete, the generated file contains empty declaration', async () => { // Arrange - parseXmlFileToJson.mockResolvedValueOnce(alert) + parseXmlFileToJson.mockResolvedValueOnce(alertTest) + parseXmlFileToJson.mockResolvedValueOnce(alert) await fileGitDiff.compare('file/path') // Act fileGitDiff.prune() // Assert - expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) + expect(convertJsonToXml).toHaveBeenCalledWith({ + ...wfBase, + Workflow: { + ...wfBase.Workflow, + alerts: [], + }, + }) + }) + it('given file contains only new element, it keeps the file identical', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce(alert) + parseXmlFileToJson.mockResolvedValueOnce(wfBase) + await fileGitDiff.compare('file/path') + + // Act + fileGitDiff.prune() + + // Assert + expect(convertJsonToXml).toHaveBeenCalledWith(alert) }) it('given one element modified, the generated file contains only this element', async () => { @@ -196,20 +242,17 @@ describe(`fileGitDiff`, () => { expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) }) - it('given zero element added and one element delete, the generated file contains empty declaration', async () => { + it('given untracked element, nothing trackable changed, the generated file contains untracked elements', async () => { // Arrange - parseXmlFileToJson.mockResolvedValueOnce(alertTest) - parseXmlFileToJson.mockResolvedValueOnce(alert) + parseXmlFileToJson.mockResolvedValueOnce(unTracked) + parseXmlFileToJson.mockResolvedValueOnce(wfBase) await fileGitDiff.compare('file/path') // Act fileGitDiff.prune() // Assert - expect(convertJsonToXml).toHaveBeenCalledWith({ - ...wfBase, - Workflow: { alerts: [] }, - }) + expect(convertJsonToXml).toHaveBeenCalledWith(unTracked) }) }) }) diff --git a/src/utils/fileGitDiff.js b/src/utils/fileGitDiff.js index 9115a986..fe3d63d6 100644 --- a/src/utils/fileGitDiff.js +++ b/src/utils/fileGitDiff.js @@ -35,11 +35,6 @@ const getXmlTagToTypeDefinitionMap = metadata => { // Metadata JSON structure functional area const getRootMetadata = fileContent => Object.values(fileContent)?.[1] -const clearMetadata = fileContent => ({ - ...fileContent, - [Object.keys(fileContent)[1]]: {}, -}) - const getDirectoryNameForSubType = subType => xmlObjectToPackageType.get(subType).directoryName @@ -89,7 +84,7 @@ const generatePartialJSON = jsonContent => store => { storeHasMemberForType(elem.fullName) ) return acc - }, clearMetadata(jsonContent)) + }, jsonContent) } class FileGitDiff { From 34259ac5493edc7d13cde44a2a849c227be2a7c5 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 29 Mar 2023 15:45:14 +0200 Subject: [PATCH 41/63] chore(main): release 5.15.0 (#540) --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b485bb06..7d0cf696 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.15.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.14.0...v5.15.0) (2023-03-29) + + +### Features + +* add DecisionTable and DecisionTableDataSetLink metadata ([#538](https://github.com/scolladon/sfdx-git-delta/issues/538)) ([d91b5ae](https://github.com/scolladon/sfdx-git-delta/commit/d91b5aedf35a007136241df69f57d7ce4d19d23f)) + + +### Bug Fixes + +* keep attributs not subject to comparison ([#539](https://github.com/scolladon/sfdx-git-delta/issues/539)) ([08cf667](https://github.com/scolladon/sfdx-git-delta/commit/08cf6677b71d0b7f41d56e1ab8b437650d758dd1)) + ## [5.14.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.3...v5.14.0) (2023-03-14) diff --git a/package.json b/package.json index 7b9b201a..ec0337f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.14.0", + "version": "5.15.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From f2d132d3b8736b8bde17ddd31bee7e670f032e9b Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 30 Mar 2023 12:35:04 +0200 Subject: [PATCH 42/63] test: convert functional test into NUT tests (#543) --- .github/workflows/reusable-build.yml | 5 +- .gitignore | 5 +- .husky/pre-push | 3 +- .mocharc.json | 7 + .nycrc | 5 + CONTRIBUTING.md | 16 +- __tests__/cli.test.js | 16 - __tests__/functional/delta.nut.ts | 12 + .../delta.test.js} | 4 +- .../{domain.test.js => services.test.js} | 0 bin/dev | 24 + bin/dev.cmd | 3 + bin/run | 5 +- jest.config.js | 5 +- package.json | 31 +- yarn.lock | 592 ++++++++++++++++-- 16 files changed, 643 insertions(+), 90 deletions(-) create mode 100644 .mocharc.json create mode 100644 .nycrc delete mode 100644 __tests__/cli.test.js create mode 100644 __tests__/functional/delta.nut.ts rename __tests__/{functional.test.js => integration/delta.test.js} (96%) rename __tests__/integration/{domain.test.js => services.test.js} (100%) create mode 100755 bin/dev create mode 100644 bin/dev.cmd diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 43e8d21d..9b559eb1 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -21,10 +21,13 @@ jobs: run: yarn pack - name: Unit test - run: yarn test:coverage --runInBand + run: yarn test:unit:coverage --runInBand - name: Upload coverage uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} continue-on-error: true + + - name: Functional test + run: yarn test:nut diff --git a/.gitignore b/.gitignore index ddc7cc4d..a6f77d13 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,7 @@ /lib *-debug.log *-error.log -sfdx-git-delta-*.tgz \ No newline at end of file +sfdx-git-delta-*.tgz +/.nyc_output +stderr*.txt +stdout*.txt \ No newline at end of file diff --git a/.husky/pre-push b/.husky/pre-push index db7bdeaf..a890025b 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -3,6 +3,7 @@ yarn lint yarn pack -yarn test:coverage +yarn test:unit:coverage +yarn test:nut yarn analysis force-app yarn outdated || true diff --git a/.mocharc.json b/.mocharc.json new file mode 100644 index 00000000..c8104ccc --- /dev/null +++ b/.mocharc.json @@ -0,0 +1,7 @@ +{ + "require": "ts-node/register,source-map-support/register", + "watch-extensions": "ts", + "recursive": true, + "reporter": "spec", + "timeout": 5000 +} \ No newline at end of file diff --git a/.nycrc b/.nycrc new file mode 100644 index 00000000..698313eb --- /dev/null +++ b/.nycrc @@ -0,0 +1,5 @@ +{ + "nyc": { + "extends": "@salesforce/dev-config/nyc" + } +} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0149423e..f40347e0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -44,18 +44,28 @@ When developing, use [jest](https://jestjs.io/en/) unit testing to provide test ```bash # just run test -yarn test +yarn test:unit # run test with coverage details -yarn test:coverage +yarn test:unit:coverage ``` To execute a particular test, use the following command: ```bash -yarn test -- +yarn test:unit -- ``` + +### NUT Testing sgd + +When developing, use mocha testing to provide NUT functional test. To run the mocha tests use the following command from the root directory: + +```bash +# run test +yarn test:nut +``` + ## Editor Configurations Configure your editor to use our lint and code style rules. diff --git a/__tests__/cli.test.js b/__tests__/cli.test.js deleted file mode 100644 index 6fa1ceeb..00000000 --- a/__tests__/cli.test.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict' -const path = require('path') -const cp = require('child_process') -const gc = require('../src/utils/gitConstants') - -const cli = (args, cwd) => { - return cp.execSync(`node ${path.normalize('./bin/run')} ${args.join(' ')}`, { - cwd, - encoding: gc.UTF8_ENCODING, - }) -} - -test('run-help', () => { - const result = cli(['-h'], '.') - expect(result).toBeDefined() -}) diff --git a/__tests__/functional/delta.nut.ts b/__tests__/functional/delta.nut.ts new file mode 100644 index 00000000..269ef136 --- /dev/null +++ b/__tests__/functional/delta.nut.ts @@ -0,0 +1,12 @@ +'use strict' +const { execCmd } = require('@salesforce/cli-plugins-testkit') +const { expect } = require('@salesforce/command/lib/test') + +describe('sgd:source:delta NUTS', () => { + it('run help', () => { + const result = execCmd('sgd:source:delta --help', { + ensureExitCode: 0, + }).shellOutput + expect(result).to.include('sgd:source:delta') + }) +}) diff --git a/__tests__/functional.test.js b/__tests__/integration/delta.test.js similarity index 96% rename from __tests__/functional.test.js rename to __tests__/integration/delta.test.js index 958eaaa4..75729a43 100644 --- a/__tests__/functional.test.js +++ b/__tests__/integration/delta.test.js @@ -1,8 +1,8 @@ 'use strict' const fs = require('fs') const child_process = require('child_process') -const app = require('../src/main') -const { COMMIT_REF_TYPE, GIT_FOLDER } = require('../src/utils/gitConstants') +const app = require('../../src/main') +const { COMMIT_REF_TYPE, GIT_FOLDER } = require('../../src/utils/gitConstants') const { outputFile } = require('fs-extra') jest.mock('fs') jest.mock('fs-extra') diff --git a/__tests__/integration/domain.test.js b/__tests__/integration/services.test.js similarity index 100% rename from __tests__/integration/domain.test.js rename to __tests__/integration/services.test.js diff --git a/bin/dev b/bin/dev new file mode 100755 index 00000000..71f51c86 --- /dev/null +++ b/bin/dev @@ -0,0 +1,24 @@ +#!/usr/bin/env node + +const oclif = require('@oclif/core') + +const path = require('path') +const project = path.join(__dirname, '..', 'tsconfig.json') + +// In dev mode -> use ts-node and dev plugins +process.env.NODE_ENV = 'development' + +// Enable SWC for faster typescript compiling +require('ts-node').register({ project, swc: true }) + +// In dev mode, always show stack traces +global.oclif = global.oclif || {} + +// In dev mode, always show stack traces +global.oclif.debug = true + +// Start the CLI +oclif + .run() + .then(require('@oclif/core/flush')) + .catch(require('@oclif/core/handle')) diff --git a/bin/dev.cmd b/bin/dev.cmd new file mode 100644 index 00000000..5b72a604 --- /dev/null +++ b/bin/dev.cmd @@ -0,0 +1,3 @@ +@echo off +set NODE_ENV=development +node "%~dp0\dev" %* \ No newline at end of file diff --git a/bin/run b/bin/run index 7b938205..673ae964 100755 --- a/bin/run +++ b/bin/run @@ -1,3 +1,6 @@ #!/usr/bin/env node -require('@oclif/command').run().catch(require('@oclif/errors/handle')) +require('@oclif/core') + .run() + .then(require('@oclif/core/flush')) + .catch(require('@oclif/core/handle')) diff --git a/jest.config.js b/jest.config.js index 07f8481b..51e34747 100644 --- a/jest.config.js +++ b/jest.config.js @@ -147,10 +147,7 @@ module.exports = { // testLocationInResults: false, // The glob patterns Jest uses to detect test files - // testMatch: [ - // "**/__tests__/**/*.[jt]s?(x)", - // "**/?(*.)+(spec|test).[tj]s?(x)" - // ], + testMatch: ['**/__tests__/**/*.test.js'], // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped testPathIgnorePatterns: [ diff --git a/package.json b/package.json index ec0337f9..439f1845 100644 --- a/package.json +++ b/package.json @@ -45,22 +45,26 @@ "homepage": "https://github.com/scolladon/sfdx-git-delta#readme", "scripts": { "analysis": "codeclimate analyze", - "audit:fix": "npm i --package-lock-only && npm audit fix && rm yarn.lock && yarn import && rm package-lock.json", + "audit:fix": "npm i --package-lock-only && npm audit fix && shx rm yarn.lock && yarn import && shx rm package-lock.json", + "clean": "shx rm -rf lib && shx rm -rf coverage && shx rm -rf .nyc_output && shx rm -f oclif.manifest.json && shx rm -rf sfdx-git-delta-v*.tgz && shx rm -rf stderr*.txt && shx rm -rf stdout*.txt", "commit": "commit", + "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname", "lint": "eslint src/", "lint:fix": "eslint --fix src/", - "test": "jest", - "test:build:local": "rm -rf node_modules && yarn && yarn pack && yarn test", - "test:clear:cache": "jest --clearCache", - "test:coverage": "jest --coverage", - "test:debug": "node --inspect node_modules/.bin/jest", - "test:debug:break": "node --inspect-brk node_modules/.bin/jest", + "test": "yarn test:unit && yarn test:nut", + "test:unit": "jest", + "test:build:local": "shx rm -rf node_modules && yarn && yarn pack && yarn test", + "test:unit:clear:cache": "jest --clearCache", + "test:unit:coverage": "jest --coverage", + "test:unit:debug": "node --inspect node_modules/.bin/jest", + "test:unit:debug:break": "node --inspect-brk node_modules/.bin/jest", "test:watch": "jest --watch", - "build": "rm -rf lib && tsc -b", - "postpack": "rm -f oclif.manifest.json && prettier --write README.md", + "test:nut": "nyc mocha **/*.nut.ts", + "build": "tsc -b", + "postpack": "shx rm -f oclif.manifest.json && prettier --write README.md", + "prebuild": "yarn clean", "prepack": "yarn build && oclif-dev manifest && oclif-dev readme", "prepare": "husky install", - "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname", "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { @@ -70,12 +74,16 @@ "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.8", "@oclif/test": "^2.3.13", + "@salesforce/cli-plugins-testkit": "^3.3.1", "@salesforce/dev-config": "^3.1.0", + "@salesforce/ts-sinon": "^1.4.6", + "@swc/core": "^1.3.42", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.15.11", "@typescript-eslint/eslint-plugin": "^5.57.0", "@typescript-eslint/parser": "^5.57.0", + "chai": "^4.3.7", "eslint": "^8.37.0", "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce-typescript": "^1.1.1", @@ -85,9 +93,12 @@ "husky": "^8.0.3", "jest": "^29.5.0", "lint-staged": "^13.2.0", + "mocha": "^10.2.0", "nyc": "^15.1.0", "prettier": "^2.8.7", "prettier-eslint": "^15.0.1", + "shx": "^0.3.4", + "sinon": "^15.0.3", "ts-node": "^10.9.1", "typescript": "^5.0.2", "yarn-upgrade-all": "^0.7.2" diff --git a/yarn.lock b/yarn.lock index 62217136..07ee8487 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1207,6 +1207,21 @@ mv "~2" safe-json-stringify "~1" +"@salesforce/cli-plugins-testkit@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.1.tgz#43f5818fb89c99c606535235624320881e050fae" + integrity sha512-cE13PNGBqqk9H01RLGZxDKgXRrHE4p1YsEConet7IsYYgZMXmhH1OUfj9HGmTTe55SZdmF1wt+Cu8AdZwFRBSw== + dependencies: + "@salesforce/core" "^3.34.4" + "@salesforce/kit" "^1.9.2" + "@salesforce/ts-types" "^1.7.3" + "@types/shelljs" "^0.8.11" + archiver "^5.2.0" + debug "^4.3.1" + shelljs "^0.8.4" + strip-ansi "6.0.1" + ts-retry-promise "^0.7.0" + "@salesforce/command@^5.3.4": version "5.3.4" resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.4.tgz#023e2a9de7958b6d63cd0eb7d99b642b9850c0f3" @@ -1219,7 +1234,7 @@ "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.34.1", "@salesforce/core@^3.34.6": +"@salesforce/core@^3.34.1", "@salesforce/core@^3.34.4", "@salesforce/core@^3.34.6": version "3.34.6" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== @@ -1270,6 +1285,15 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.5.1.tgz#2d1bfdcf593caaa04cd4b3e6fe621097ff7f28fe" integrity sha512-MRqU+tn8w5IFvZ0Lm9YKLgxYxr2MQMI+fXXsTrwfUnijsps+ybF9IOTu6MOMxxl2vCUkO8XDjA435wXlWSLI6g== +"@salesforce/ts-sinon@^1.4.6": + version "1.4.6" + resolved "https://registry.yarnpkg.com/@salesforce/ts-sinon/-/ts-sinon-1.4.6.tgz#50ac8f091ae546bcc5b1a2b0937f566e3f9683c6" + integrity sha512-yWed+QzGU3UOSX9ytg09ELWA7Oc5BAK4MVYv8Ap9uUbkg6tylETF7nzuMkvP49TaZcKC7zOG6MBebKNVZqUjPw== + dependencies: + "@salesforce/ts-types" "^1.7.3" + sinon "^5.1.1" + tslib "^2.5.0" + "@salesforce/ts-types@^1.7.1", "@salesforce/ts-types@^1.7.2", "@salesforce/ts-types@^1.7.3": version "1.7.3" resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-1.7.3.tgz#89b79ff0aaa55fea9f2de0afa8e515be3e17d0d8" @@ -1282,6 +1306,13 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== +"@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + 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" @@ -1289,6 +1320,13 @@ dependencies: type-detect "4.0.8" +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== + dependencies: + type-detect "4.0.8" + "@sinonjs/fake-timers@^10.0.2": version "10.0.2" resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" @@ -1296,6 +1334,110 @@ dependencies: "@sinonjs/commons" "^2.0.0" +"@sinonjs/formatio@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" + integrity sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg== + dependencies: + samsam "1.3.0" + +"@sinonjs/formatio@^3.2.1": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c" + integrity sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ== + dependencies: + "@sinonjs/commons" "^1" + "@sinonjs/samsam" "^3.1.0" + +"@sinonjs/samsam@^3.1.0": + version "3.3.3" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a" + integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ== + dependencies: + "@sinonjs/commons" "^1.3.0" + array-from "^2.1.1" + lodash "^4.17.15" + +"@sinonjs/samsam@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.0.tgz#0d488c91efb3fa1442e26abea81759dfc8b5ac60" + integrity sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew== + 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.2" + resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" + integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== + +"@swc/core-darwin-arm64@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.42.tgz#fabb645b288199b730d846e3eda370b77f5ebe9f" + integrity sha512-hM6RrZFyoCM9mX3cj/zM5oXwhAqjUdOCLXJx7KTQps7NIkv/Qjvobgvyf2gAb89j3ARNo9NdIoLjTjJ6oALtiA== + +"@swc/core-darwin-x64@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.42.tgz#dcd434ec8dda6f2178a10da0def036a071a6e008" + integrity sha512-bjsWtHMb6wJK1+RGlBs2USvgZ0txlMk11y0qBLKo32gLKTqzUwRw0Fmfzuf6Ue2a/w//7eqMlPFEre4LvJajGw== + +"@swc/core-linux-arm-gnueabihf@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.42.tgz#59c57b15113d316e8a4a6d690a6c09429483d201" + integrity sha512-Oe0ggMz3MyqXNfeVmY+bBTL0hFSNY3bx8dhcqsh4vXk/ZVGse94QoC4dd92LuPHmKT0x6nsUzB86x2jU9QHW5g== + +"@swc/core-linux-arm64-gnu@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.42.tgz#50d026b9f4d7a5f25deacc8c8dd45fc12be70a95" + integrity sha512-ZJsa8NIW1RLmmHGTJCbM7OPSbBZ9rOMrLqDtUOGrT0uoJXZnnQqolflamB5wviW0X6h3Z3/PSTNGNDCJ3u3Lqg== + +"@swc/core-linux-arm64-musl@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.42.tgz#3c0e51b0709dcf06289949803c9a36a46a97827c" + integrity sha512-YpZwlFAfOp5vkm/uVUJX1O7N3yJDO1fDQRWqsOPPNyIJkI2ydlRQtgN6ZylC159Qv+TimfXnGTlNr7o3iBAqjg== + +"@swc/core-linux-x64-gnu@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.42.tgz#059ac0acddebd0360851871929a14dbacf74f865" + integrity sha512-0ccpKnsZbyHBzaQFdP8U9i29nvOfKitm6oJfdJzlqsY/jCqwvD8kv2CAKSK8WhJz//ExI2LqNrDI0yazx5j7+A== + +"@swc/core-linux-x64-musl@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.42.tgz#7a61093d93a3abc2f893b7d31fd6c22c4cab2212" + integrity sha512-7eckRRuTZ6+3K21uyfXXgc2ZCg0mSWRRNwNT3wap2bYkKPeqTgb8pm8xYSZNEiMuDonHEat6XCCV36lFY6kOdQ== + +"@swc/core-win32-arm64-msvc@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.42.tgz#12f92c960ea801aa26ffa5b91d369ac24c2a3cca" + integrity sha512-t27dJkdw0GWANdN4TV0lY/V5vTYSx5SRjyzzZolep358ueCGuN1XFf1R0JcCbd1ojosnkQg2L7A7991UjXingg== + +"@swc/core-win32-ia32-msvc@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.42.tgz#be022aff03838515fa5506be300f0ea15f3fb476" + integrity sha512-xfpc/Zt/aMILX4IX0e3loZaFyrae37u3MJCv1gJxgqrpeLi7efIQr3AmERkTK3mxTO6R5urSliWw2W3FyZ7D3Q== + +"@swc/core-win32-x64-msvc@1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.42.tgz#fccac26974f03234e502276389f4330e2696887f" + integrity sha512-ra2K4Tu++EJLPhzZ6L8hWUsk94TdK/2UKhL9dzCBhtzKUixsGCEqhtqH1zISXNvW8qaVLFIMUP37ULe80/IJaA== + +"@swc/core@^1.3.42": + version "1.3.42" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.42.tgz#7067c4fd9a02536f9ca7b54ed8ebc45e2df810cf" + integrity sha512-nVFUd5+7tGniM2cT3LXaqnu3735Cu4az8A9gAKK+8sdpASI52SWuqfDBmjFCK9xG90MiVDVp2PTZr0BWqCIzpw== + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.42" + "@swc/core-darwin-x64" "1.3.42" + "@swc/core-linux-arm-gnueabihf" "1.3.42" + "@swc/core-linux-arm64-gnu" "1.3.42" + "@swc/core-linux-arm64-musl" "1.3.42" + "@swc/core-linux-x64-gnu" "1.3.42" + "@swc/core-linux-x64-musl" "1.3.42" + "@swc/core-win32-arm64-msvc" "1.3.42" + "@swc/core-win32-ia32-msvc" "1.3.42" + "@swc/core-win32-x64-msvc" "1.3.42" + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -1374,6 +1516,14 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== +"@types/glob@*": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" + integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== + dependencies: + "@types/minimatch" "^5.1.2" + "@types/node" "*" + "@types/glob@^7.1.1": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" @@ -1423,7 +1573,7 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== -"@types/minimatch@*": +"@types/minimatch@*", "@types/minimatch@^5.1.2": version "5.1.2" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== @@ -1468,6 +1618,14 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== +"@types/shelljs@^0.8.11": + version "0.8.11" + resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.11.tgz#17a5696c825974e96828e96e89585d685646fcb8" + integrity sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw== + dependencies: + "@types/glob" "*" + "@types/node" "*" + "@types/sinon@*": version "10.0.13" resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.13.tgz#60a7a87a70d9372d0b7b38cc03e825f46981fb83" @@ -1690,6 +1848,11 @@ ajv@^8.11.0, ajv@^8.12.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -1761,7 +1924,7 @@ ansicolors@~0.3.2: resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== -anymatch@^3.0.3: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -1792,7 +1955,7 @@ archiver-utils@^2.1.0: normalize-path "^3.0.0" readable-stream "^2.0.0" -archiver@^5.3.0: +archiver@^5.2.0, archiver@^5.3.0: version "5.3.1" resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6" integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w== @@ -1827,6 +1990,11 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-from@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" + integrity sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg== + array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" @@ -1878,6 +2046,11 @@ asap@*: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -1978,6 +2151,11 @@ base64url@^3.0.1: resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + bl@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -2002,13 +2180,18 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + browserslist@^4.21.3: version "4.21.5" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" @@ -2094,7 +2277,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.2.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -2121,6 +2304,19 @@ cardinal@^2.1.1: ansicolors "~0.3.2" redeyed "~2.1.0" +chai@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" + integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^4.1.2" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + chalk@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" @@ -2182,6 +2378,26 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== + +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -2297,6 +2513,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + cliui@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" @@ -2553,7 +2778,7 @@ dayjs@^1.8.16: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== -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.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== @@ -2580,11 +2805,23 @@ decamelize@^1.1.0, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== +deep-eql@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -2630,11 +2867,26 @@ diff-sequences@^29.4.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.1.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" @@ -3302,6 +3554,14 @@ find-cache-dir@^3.2.0: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -3310,14 +3570,6 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-yarn-workspace-root@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" @@ -3333,6 +3585,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.1.0: version "3.2.7" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" @@ -3423,7 +3680,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -3458,6 +3715,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== + get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" @@ -3513,7 +3775,7 @@ github-slugger@^1.2.1: resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== -glob-parent@^5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -3527,6 +3789,18 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -3690,6 +3964,11 @@ hasha@^5.0.0: is-stream "^2.0.0" type-fest "^0.8.0" +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + header-case@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" @@ -3894,6 +4173,13 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" @@ -3951,7 +4237,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -3990,7 +4276,7 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== -is-plain-obj@^2.0.0: +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== @@ -4067,6 +4353,11 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -4086,6 +4377,11 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -4556,6 +4852,13 @@ js-yaml@3.14.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js-yaml@^3.13.1, js-yaml@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -4564,13 +4867,6 @@ js-yaml@^3.13.1, js-yaml@^3.14.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - js2xmlparser@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a" @@ -4687,6 +4983,11 @@ jsonwebtoken@9.0.0: ms "^2.1.1" semver "^7.3.8" +just-extend@^4.0.2: + version "4.2.1" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -4826,6 +5127,11 @@ lodash.flattendeep@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ== +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + lodash.isfunction@^3.0.9: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" @@ -4881,6 +5187,14 @@ lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + log-update@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" @@ -4904,6 +5218,25 @@ loglevel@^1.4.1: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== +lolex@^2.4.2: + version "2.7.5" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.7.5.tgz#113001d56bfc7e02d56e36291cc5c413d1aa0733" + integrity sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q== + +lolex@^5.0.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + dependencies: + "@sinonjs/commons" "^1.7.0" + +loupe@^2.3.1: + version "2.3.6" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" + integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== + dependencies: + get-func-name "^2.0.0" + lower-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" @@ -5028,6 +5361,13 @@ min-indent@^1.0.0: dependencies: brace-expansion "^1.1.7" +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 "^2.0.1" + minimatch@^5.0.1, minimatch@^5.1.0: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -5061,6 +5401,33 @@ mkdirp@~0.5.1: dependencies: minimist "^1.2.6" +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: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + mock-stdin@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mock-stdin/-/mock-stdin-1.0.0.tgz#efcfaf4b18077e14541742fd758b9cae4e5365ea" @@ -5071,7 +5438,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -5108,6 +5475,11 @@ nan@^2.0.8: resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== +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-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -5133,6 +5505,28 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +nise@^1.3.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.3.tgz#9d2cfe37d44f57317766c6e9408a359c5d3ac1f7" + integrity sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ== + dependencies: + "@sinonjs/formatio" "^3.2.1" + "@sinonjs/text-encoding" "^0.7.1" + just-extend "^4.0.2" + lolex "^5.0.1" + path-to-regexp "^1.7.0" + +nise@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.4.tgz#491ce7e7307d4ec546f5a659b2efe94a18b4bbc0" + integrity sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg== + dependencies: + "@sinonjs/commons" "^2.0.0" + "@sinonjs/fake-timers" "^10.0.2" + "@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" @@ -5195,7 +5589,7 @@ normalize-package-data@^3.0.0: semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -5490,17 +5884,29 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -5668,6 +6074,13 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + react-is@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" @@ -5721,6 +6134,13 @@ readdir-glob@^1.0.0: dependencies: minimatch "^5.1.0" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -5905,7 +6325,7 @@ rxjs@^7.8.0: dependencies: tslib "^2.1.0" -safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@~5.2.0: +safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -5934,6 +6354,11 @@ safe-regex-test@^1.0.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +samsam@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50" + 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" @@ -5970,6 +6395,13 @@ sequin@*: resolved "https://registry.yarnpkg.com/sequin/-/sequin-0.1.1.tgz#5c2d389d66a383734eaafbc45edeb2c1cb1be701" integrity sha512-hJWMZRwP75ocoBM+1/YaCsvS0j5MTPeBHJkS2/wruehl9xwtX30HlDF1Gt6UZ8HHHY8SJa2/IL+jo+JJCd59rA== +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -5999,7 +6431,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.5: version "0.8.5" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== @@ -6008,7 +6440,7 @@ shelljs@^0.8.5: interpret "^1.0.0" rechoir "^0.6.2" -shx@^0.3.3: +shx@^0.3.3, shx@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.4.tgz#74289230b4b663979167f94e1935901406e40f02" integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== @@ -6030,6 +6462,31 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +sinon@^15.0.3: + version "15.0.3" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-15.0.3.tgz#38005fcd80827177b6aa0245f82401d9ec88994b" + integrity sha512-si3geiRkeovP7Iel2O+qGL4NrO9vbMf3KsrJEi0ghP1l5aBkB5UxARea5j0FUsSqH3HLBh0dQPAyQ8fObRUqHw== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@sinonjs/fake-timers" "^10.0.2" + "@sinonjs/samsam" "^8.0.0" + diff "^5.1.0" + nise "^5.1.4" + 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" + integrity sha512-h/3uHscbt5pQNxkf7Y/Lb9/OM44YNCicHakcq73ncbrIS8lXg+ZGOZbtuU+/km4YnyiCYfQQEwANaReJz7KDfw== + dependencies: + "@sinonjs/formatio" "^2.0.0" + diff "^3.5.0" + lodash.get "^4.4.2" + lolex "^2.4.2" + nise "^1.3.3" + supports-color "^5.4.0" + type-detect "^4.0.8" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -6230,6 +6687,13 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -6251,13 +6715,6 @@ strip-ansi@^5.1.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" @@ -6297,7 +6754,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -6307,32 +6764,32 @@ strnum@^1.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== +supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== -supports-color@^5.3.0: +supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.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== dependencies: has-flag "^4.0.0" -supports-color@^8.0.0, supports-color@^8.1.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-hyperlinks@^2.1.0, supports-hyperlinks@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" @@ -6514,7 +6971,7 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8: +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -6770,6 +7227,11 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== +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" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -6877,6 +7339,11 @@ yaml@^2.2.1: resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -6885,7 +7352,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.3: +yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -6895,6 +7362,29 @@ yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yargs@^15.0.2: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" From afc0d9fe60de35b7f173c0c86024e82dafcaa303 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 30 Mar 2023 15:42:19 +0200 Subject: [PATCH 43/63] feat: add FSC `AssessmentQuestion*` metadata (#542) --- package.json | 2 +- src/metadata/v55.json | 14 +++++ src/metadata/v56.json | 14 +++++ src/metadata/v57.json | 14 +++++ yarn.lock | 128 +++++++++++++++++++++--------------------- 5 files changed, 107 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index 439f1845..6f18298c 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "@salesforce/cli-plugins-testkit": "^3.3.1", "@salesforce/dev-config": "^3.1.0", "@salesforce/ts-sinon": "^1.4.6", - "@swc/core": "^1.3.42", + "@swc/core": "^1.3.44", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.15.11", diff --git a/src/metadata/v55.json b/src/metadata/v55.json index ff7a0bd7..8451e187 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "AssessmentQuestions", + "inFolder": false, + "metaFile": false, + "suffix": "aq", + "xmlName": "AssessmentQuestion" + }, + { + "directoryName": "AssessmentQuestionSets", + "inFolder": false, + "metaFile": false, + "suffix": "aqs", + "xmlName": "AssessmentQuestionSet" + }, { "directoryName": "decisionTables", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 70ab7049..bd9c7536 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "AssessmentQuestions", + "inFolder": false, + "metaFile": false, + "suffix": "aq", + "xmlName": "AssessmentQuestion" + }, + { + "directoryName": "AssessmentQuestionSets", + "inFolder": false, + "metaFile": false, + "suffix": "aqs", + "xmlName": "AssessmentQuestionSet" + }, { "directoryName": "decisionTables", "inFolder": false, diff --git a/src/metadata/v57.json b/src/metadata/v57.json index 70ab7049..bd9c7536 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -1,4 +1,18 @@ [ + { + "directoryName": "AssessmentQuestions", + "inFolder": false, + "metaFile": false, + "suffix": "aq", + "xmlName": "AssessmentQuestion" + }, + { + "directoryName": "AssessmentQuestionSets", + "inFolder": false, + "metaFile": false, + "suffix": "aqs", + "xmlName": "AssessmentQuestionSet" + }, { "directoryName": "decisionTables", "inFolder": false, diff --git a/yarn.lock b/yarn.lock index 07ee8487..6048d986 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1372,71 +1372,71 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@swc/core-darwin-arm64@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.42.tgz#fabb645b288199b730d846e3eda370b77f5ebe9f" - integrity sha512-hM6RrZFyoCM9mX3cj/zM5oXwhAqjUdOCLXJx7KTQps7NIkv/Qjvobgvyf2gAb89j3ARNo9NdIoLjTjJ6oALtiA== - -"@swc/core-darwin-x64@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.42.tgz#dcd434ec8dda6f2178a10da0def036a071a6e008" - integrity sha512-bjsWtHMb6wJK1+RGlBs2USvgZ0txlMk11y0qBLKo32gLKTqzUwRw0Fmfzuf6Ue2a/w//7eqMlPFEre4LvJajGw== - -"@swc/core-linux-arm-gnueabihf@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.42.tgz#59c57b15113d316e8a4a6d690a6c09429483d201" - integrity sha512-Oe0ggMz3MyqXNfeVmY+bBTL0hFSNY3bx8dhcqsh4vXk/ZVGse94QoC4dd92LuPHmKT0x6nsUzB86x2jU9QHW5g== - -"@swc/core-linux-arm64-gnu@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.42.tgz#50d026b9f4d7a5f25deacc8c8dd45fc12be70a95" - integrity sha512-ZJsa8NIW1RLmmHGTJCbM7OPSbBZ9rOMrLqDtUOGrT0uoJXZnnQqolflamB5wviW0X6h3Z3/PSTNGNDCJ3u3Lqg== - -"@swc/core-linux-arm64-musl@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.42.tgz#3c0e51b0709dcf06289949803c9a36a46a97827c" - integrity sha512-YpZwlFAfOp5vkm/uVUJX1O7N3yJDO1fDQRWqsOPPNyIJkI2ydlRQtgN6ZylC159Qv+TimfXnGTlNr7o3iBAqjg== - -"@swc/core-linux-x64-gnu@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.42.tgz#059ac0acddebd0360851871929a14dbacf74f865" - integrity sha512-0ccpKnsZbyHBzaQFdP8U9i29nvOfKitm6oJfdJzlqsY/jCqwvD8kv2CAKSK8WhJz//ExI2LqNrDI0yazx5j7+A== - -"@swc/core-linux-x64-musl@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.42.tgz#7a61093d93a3abc2f893b7d31fd6c22c4cab2212" - integrity sha512-7eckRRuTZ6+3K21uyfXXgc2ZCg0mSWRRNwNT3wap2bYkKPeqTgb8pm8xYSZNEiMuDonHEat6XCCV36lFY6kOdQ== - -"@swc/core-win32-arm64-msvc@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.42.tgz#12f92c960ea801aa26ffa5b91d369ac24c2a3cca" - integrity sha512-t27dJkdw0GWANdN4TV0lY/V5vTYSx5SRjyzzZolep358ueCGuN1XFf1R0JcCbd1ojosnkQg2L7A7991UjXingg== - -"@swc/core-win32-ia32-msvc@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.42.tgz#be022aff03838515fa5506be300f0ea15f3fb476" - integrity sha512-xfpc/Zt/aMILX4IX0e3loZaFyrae37u3MJCv1gJxgqrpeLi7efIQr3AmERkTK3mxTO6R5urSliWw2W3FyZ7D3Q== - -"@swc/core-win32-x64-msvc@1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.42.tgz#fccac26974f03234e502276389f4330e2696887f" - integrity sha512-ra2K4Tu++EJLPhzZ6L8hWUsk94TdK/2UKhL9dzCBhtzKUixsGCEqhtqH1zISXNvW8qaVLFIMUP37ULe80/IJaA== - -"@swc/core@^1.3.42": - version "1.3.42" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.42.tgz#7067c4fd9a02536f9ca7b54ed8ebc45e2df810cf" - integrity sha512-nVFUd5+7tGniM2cT3LXaqnu3735Cu4az8A9gAKK+8sdpASI52SWuqfDBmjFCK9xG90MiVDVp2PTZr0BWqCIzpw== +"@swc/core-darwin-arm64@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.44.tgz#e0f5eb9d962c4e6192531c2e3b8c11f55faf1b89" + integrity sha512-Y+oVsCjXUPvr3D9YLuB1gjP84TseM/CRkbPNrf+3JXQhsPEkgxdIdFP1cl/obeqMQrRgPpvSfK+TOvGuOuV22g== + +"@swc/core-darwin-x64@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.44.tgz#a8de4c176a9b12f201fc754a56331113a53ec69c" + integrity sha512-bM0IKBjlSD0yHJbd7bE3il5fTu3oUjUO2zjLkzfIx6tiqbmDyvOX8adaSqse9N+d8Ip9p26b5Vo7pMHq0POGkg== + +"@swc/core-linux-arm-gnueabihf@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.44.tgz#300731367c88bf02b8ae20264d4d402362e444df" + integrity sha512-D4lfVwCbkWscDTb6btb89+bN0kgvjGBPfOmcvih7nY5hxaorwvp+PefkYAhFw8vKmL92lrnWUFNiTemVFN4bxg== + +"@swc/core-linux-arm64-gnu@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.44.tgz#8b52d1cd28f277d47bb45c6791f44da568a62bc4" + integrity sha512-muExPTrN26MFmtO+5uffkH5v4lmd8GdmyWvlC2tL95h7o9genTIQyr7kcSepGZrDe4fM9G6++5YfENhUpXHo+g== + +"@swc/core-linux-arm64-musl@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.44.tgz#7b0e62255ae13c397f09ca5da8bf2266482a28c2" + integrity sha512-MY1wY3kSIosjJKKCfFGniJFFVkt3oPvJLN4Dlj+bMgAt3O7anm8lGbyLqUpJ1Ep4rTsJj7ObO06DQiSWp4Fhcw== + +"@swc/core-linux-x64-gnu@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.44.tgz#0b8b2544c312f247aa5c5f31671a175ad6488309" + integrity sha512-xV4pDxJM06g0yUDTA22ZHgonzGqf/poIlgADRmEkx9cWWm5qLRhmWrrkVX1xZVvdlcXj1ERnia/UkvrDux96lg== + +"@swc/core-linux-x64-musl@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.44.tgz#5b1f76fc1dc75875df59d8c0ff37e99e030f9552" + integrity sha512-NJnnlE8vCkKHoo/wIaoywNN/01vNsvhKUjBgUx865sUM/XWAIanpbV41yfdEkC+Iwd+/zB3ZZnOYql3b+Nn8aQ== + +"@swc/core-win32-arm64-msvc@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.44.tgz#bd4aefcd7734229f780c9bec0502935884935f0f" + integrity sha512-/xOtjZhX25GEOPLN55icjj9E061DDH7G0A9HfUAEilURgBbvm6bIlqK+t8mOKK0tOsDoHftdTBRkYhTAqUtakQ== + +"@swc/core-win32-ia32-msvc@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.44.tgz#0c2ba768f33acb580422e17d4ae816ebfd3dcfe0" + integrity sha512-uKTAWQuMEW1gJnl8F3eiz3kdk8CiaR5dMWWlGbHIq6dRbur2hoKaEnINR4UqkvvAhhY1YB0Xr5DV1H986Xu2EA== + +"@swc/core-win32-x64-msvc@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.44.tgz#b137abefbeb3b73a47cc398bc5603ea6bf6a3a7b" + integrity sha512-D9fBRhr44cK4YIKFikpktyUDLkZgVj0ISaSl8IjiTvjqTrE/9+E+dzTNHULn5tc3lHVLLxyVwMjJRr2G0D4O6w== + +"@swc/core@^1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.44.tgz#2886bdd647942f9670b65c02b6d5484ff3070ddd" + integrity sha512-RC25C8nxOCdfGS//F9Q8aHKx4XoCsxvgO+sSUhvt7zDz1Y2ruVUTu2UOH0VeE0WkA8j6oEZH+xH2SUfDUkxXdA== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.42" - "@swc/core-darwin-x64" "1.3.42" - "@swc/core-linux-arm-gnueabihf" "1.3.42" - "@swc/core-linux-arm64-gnu" "1.3.42" - "@swc/core-linux-arm64-musl" "1.3.42" - "@swc/core-linux-x64-gnu" "1.3.42" - "@swc/core-linux-x64-musl" "1.3.42" - "@swc/core-win32-arm64-msvc" "1.3.42" - "@swc/core-win32-ia32-msvc" "1.3.42" - "@swc/core-win32-x64-msvc" "1.3.42" + "@swc/core-darwin-arm64" "1.3.44" + "@swc/core-darwin-x64" "1.3.44" + "@swc/core-linux-arm-gnueabihf" "1.3.44" + "@swc/core-linux-arm64-gnu" "1.3.44" + "@swc/core-linux-arm64-musl" "1.3.44" + "@swc/core-linux-x64-gnu" "1.3.44" + "@swc/core-linux-x64-musl" "1.3.44" + "@swc/core-win32-arm64-msvc" "1.3.44" + "@swc/core-win32-ia32-msvc" "1.3.44" + "@swc/core-win32-x64-msvc" "1.3.44" "@tsconfig/node10@^1.0.7": version "1.0.9" From 577f75008bca785629b2fb4ccefeab0a392573e3 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Fri, 31 Mar 2023 12:03:56 +0200 Subject: [PATCH 44/63] fix: copy empty file from git (#547) * test: add integration test for dashboard * feat: implement low level error handling * feat: catch error silently on copyFiles * test: implement low level error spec * test: implement low level error spec in mock * test: implement new error handling spec * test: fix integration test * fix: bad git path default value * fix: catch expected read issue * build: upgrade dependencies * docs: change default parameter in README --- README.md | 5 +- __mocks__/child_process.js | 11 +++- __tests__/integration/delta.test.js | 16 ++++-- __tests__/integration/services.test.js | 10 ++++ .../flowTranslationProcessor.test.js | 2 +- .../unit/lib/utils/childProcessUtils.test.js | 18 +++++- __tests__/unit/lib/utils/fsHelper.test.js | 55 +++++++++++-------- __tests__/unit/lib/utils/repoSetup.test.js | 8 +-- package.json | 2 +- src/utils/childProcessUtils.js | 7 +++ src/utils/cliHelper.js | 5 +- src/utils/fsHelper.js | 46 +++++++++------- yarn.lock | 7 ++- 13 files changed, 128 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index ca8d113c..7e7795ed 100644 --- a/README.md +++ b/README.md @@ -172,9 +172,10 @@ OPTIONS -o, --output=output [default: ./output] source package specific output - -r, --repo=repo [default: .] git repository location + -r, --repo=repo [default: ./] git repository + location - -s, --source=source [default: .] source folder focus + -s, --source=source [default: ./] source folder focus location related to --repo -t, --to=to [default: HEAD] commit sha to where diff --git a/__mocks__/child_process.js b/__mocks__/child_process.js index c8ae6926..ce0a24fc 100644 --- a/__mocks__/child_process.js +++ b/__mocks__/child_process.js @@ -17,7 +17,16 @@ childProcess.spawn.mockImplementation(() => { this.push(output.pop().join(EOL)) } this.push(null) - mock.emit(error ? 'error' : 'close') + mock.emit('close') + }, + }) + mock.stderr = new Readable({ + read() { + if (error) { + this.push('error') + } + this.push(null) + mock.emit('close') }, }) return mock diff --git a/__tests__/integration/delta.test.js b/__tests__/integration/delta.test.js index 75729a43..06057b68 100644 --- a/__tests__/integration/delta.test.js +++ b/__tests__/integration/delta.test.js @@ -3,10 +3,19 @@ const fs = require('fs') const child_process = require('child_process') const app = require('../../src/main') const { COMMIT_REF_TYPE, GIT_FOLDER } = require('../../src/utils/gitConstants') -const { outputFile } = require('fs-extra') +const { scanExtension } = require('../../src/utils/fsHelper') jest.mock('fs') jest.mock('fs-extra') jest.mock('child_process') +jest.mock('../../src/utils/fsHelper') +scanExtension.mockImplementation(() => ({ + [Symbol.asyncIterator]: () => ({ + next: () => ({ + value: '', + done: () => true, + }), + }), +})) const lines = [ 'D force-app/main/default/objects/Account/fields/deleted.field-meta.xml', @@ -51,7 +60,7 @@ describe(`test if the appli`, () => { expect( await app({ output: 'output', - repo: '.', + repo: './', source: '', to: 'test', from: 'main', @@ -61,9 +70,6 @@ describe(`test if the appli`, () => { }) test('catch internal warnings', async () => { - outputFile.mockImplementationOnce(() => - Promise.reject(new Error('Not writable')) - ) child_process.__setOutput([ lines, [], diff --git a/__tests__/integration/services.test.js b/__tests__/integration/services.test.js index 640bbdcb..799f4ba5 100644 --- a/__tests__/integration/services.test.js +++ b/__tests__/integration/services.test.js @@ -216,6 +216,16 @@ const testContext = [ ], ], ], + [ + InFolderHandler, + [ + [ + 'dashboards', + 'force-app/main/default/dashboards/folder/file.dashboard-meta.xml', + new Set(['folder/file']), + ], + ], + ], [ InBundleHandler, [ diff --git a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js index 5cf44e51..47344ff9 100644 --- a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js +++ b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js @@ -47,7 +47,7 @@ describe('FlowTranslationProcessor', () => { package: new Map(), destructiveChanges: new Map(), }, - config: { source: '.', output: 'output', generateDelta: true }, + config: { source: './', output: 'output', generateDelta: true }, } sut = new FlowTranslationProcessor(work) flap = trueAfter(1) diff --git a/__tests__/unit/lib/utils/childProcessUtils.test.js b/__tests__/unit/lib/utils/childProcessUtils.test.js index fc0f92d1..5b17c2a6 100644 --- a/__tests__/unit/lib/utils/childProcessUtils.test.js +++ b/__tests__/unit/lib/utils/childProcessUtils.test.js @@ -24,6 +24,12 @@ describe('childProcessUtils', () => { stream.emit('close') }, }) + stream.stderr = new Readable({ + read() { + this.push(null) + stream.emit('close') + }, + }) // Act const result = await getStreamContent(stream) @@ -42,7 +48,15 @@ describe('childProcessUtils', () => { stream.stdout = new Readable({ read() { this.push(null) - stream.emit('error') + stream.emit('close') + }, + }) + + stream.stderr = new Readable({ + read() { + this.push('error') + this.push(null) + stream.emit('close') }, }) @@ -52,7 +66,7 @@ describe('childProcessUtils', () => { // Assert } catch (error) { - expect(error).toBeDefined() + expect(error.message).toEqual('error') } }) }) diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index 15bd5cc8..2ec5be51 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -40,7 +40,7 @@ let work beforeEach(() => { work = { config: { - output: '', + output: '.', source: '', repo: '', generateDelta: false, @@ -105,11 +105,11 @@ describe('readPathFromGit', () => { describe('copyFile', () => { describe('when file is already copied', () => { it('should not copy file', async () => { - await copyFiles(work.config, 'source/file', 'output/file') + await copyFiles(work.config, 'source/file') jest.resetAllMocks() // Act - await copyFiles(work.config, 'source/file', 'output/file') + await copyFiles(work.config, 'source/file') // Assert expect(spawn).not.toBeCalled() @@ -119,14 +119,23 @@ describe('copyFile', () => { }) describe('when source location is empty', () => { - it('should not copy file', async () => { + it('should copy file', async () => { + // Arrange + treatPathSep.mockImplementationOnce(() => 'output/source/copyFile') + getStreamContent.mockImplementation(() => + Promise.resolve(Buffer.from('')) + ) + // Act - await copyFiles(work.config, 'source/doNotCopy', 'output/doNotCopy') + await copyFiles(work.config, 'source/doNotCopy') // Assert expect(spawn).toBeCalled() expect(getStreamContent).toBeCalled() - expect(outputFile).not.toBeCalled() + expect(outputFile).toBeCalledWith( + 'output/source/copyFile', + Buffer.from('') + ) }) }) @@ -143,7 +152,7 @@ describe('copyFile', () => { ) // Act - await copyFiles(work.config, 'source/copyDir', 'output/copyDir') + await copyFiles(work.config, 'source/copyDir') // Assert expect(spawn).toBeCalledTimes(2) @@ -157,14 +166,15 @@ describe('copyFile', () => { }) }) describe('when content is not a git location', () => { - it('should ignore the path', async () => { + it('should ignore this path', async () => { // Arrange + const sourcePath = 'source/warning' getStreamContent.mockImplementation(() => - Promise.resolve(Buffer.from('')) + Promise.reject(`fatal: path '${sourcePath}' does not exist in 'HEAD'`) ) // Act - await copyFiles(work.config, 'source/warning', 'output/warning') + await copyFiles(work.config, sourcePath) // Assert expect(spawn).toBeCalled() @@ -178,18 +188,18 @@ describe('copyFile', () => { getStreamContent.mockImplementation(() => Promise.resolve(Buffer.from('content')) ) - treatPathSep.mockImplementationOnce(() => 'output/copyFile') + treatPathSep.mockImplementationOnce(() => 'output/source/copyFile') }) it('should copy the file', async () => { // Act - await copyFiles(work.config, 'source/copyfile', 'output/copyfile') + await copyFiles(work.config, 'source/copyfile') // Assert expect(spawn).toBeCalled() expect(getStreamContent).toBeCalled() expect(outputFile).toBeCalledTimes(1) expect(outputFile).toHaveBeenCalledWith( - 'output/copyFile', + 'output/source/copyFile', Buffer.from('content') ) expect(treatPathSep).toBeCalledTimes(1) @@ -279,13 +289,12 @@ describe('scan', () => { Promise.reject(new Error('mock')) ) }) - it('should throw', async () => { + it('should not throw', async () => { // Arrange - expect.assertions(1) - const g = scan('dir', work) + const res = await scan('dir', work) // Assert - expect(g.next()).rejects.toEqual(new Error('mock')) + expect(res).toMatchObject({}) }) }) describe('when getStreamContent returns nothing', () => { @@ -498,7 +507,7 @@ describe('isSubDir', () => { // Assert expect(result).toBe(false) }) - it('throws when spawn throws', async () => { + it('do not throws when getStreamContent throws', async () => { expect.assertions(1) // Arrange getStreamContent.mockImplementationOnce(() => @@ -506,12 +515,10 @@ describe('isSubDir', () => { ) // Act - try { - await pathExists('path', work.config) - // Assert - } catch (error) { - expect(error.message).toBe('spawn issue') - } + const exist = await pathExists('path', work.config) + + // Assert + expect(exist).toBe(false) }) }) diff --git a/__tests__/unit/lib/utils/repoSetup.test.js b/__tests__/unit/lib/utils/repoSetup.test.js index 794b873d..72396c64 100644 --- a/__tests__/unit/lib/utils/repoSetup.test.js +++ b/__tests__/unit/lib/utils/repoSetup.test.js @@ -6,7 +6,7 @@ const child_process = require('child_process') describe(`test if repoSetup`, () => { describe('repoConfiguration', () => { test('can set core.quotepath to off', async () => { - const config = { repo: '.', from: 'HEAD~1' } + const config = { repo: './', from: 'HEAD~1' } child_process.__setOutput([['']]) const repoSetup = new RepoSetup(config) await repoSetup.repoConfiguration() @@ -17,7 +17,7 @@ describe(`test if repoSetup`, () => { describe('getCommitRefType', () => { test('returns "commit" when commitRef is a commit', async () => { const shaRef = 'HEAD' - const config = { repo: '.', to: shaRef } + const config = { repo: './', to: shaRef } child_process.__setOutput([['commit']]) const repoSetup = new RepoSetup(config) const commitRef = await repoSetup.getCommitRefType(shaRef) @@ -27,7 +27,7 @@ describe(`test if repoSetup`, () => { test('returns "tag" when commitRef is a tag', async () => { const shaRef = 'tag' - const config = { repo: '.', to: shaRef } + const config = { repo: './', to: shaRef } child_process.__setOutput([['tag']]) const repoSetup = new RepoSetup(config) const commitRef = await repoSetup.getCommitRefType(shaRef) @@ -37,7 +37,7 @@ describe(`test if repoSetup`, () => { test('return empty string when commitRef is a not a git sha', async () => { const shaRef = 'wrong sha' - const config = { repo: '.', to: shaRef } + const config = { repo: './', to: shaRef } child_process.__setOutput([['']]) const repoSetup = new RepoSetup(config) const commitRef = await repoSetup.getCommitRefType(shaRef) diff --git a/package.json b/package.json index 6f18298c..9331ab17 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "shx": "^0.3.4", "sinon": "^15.0.3", "ts-node": "^10.9.1", - "typescript": "^5.0.2", + "typescript": "^5.0.3", "yarn-upgrade-all": "^0.7.2" }, "oclif": { diff --git a/src/utils/childProcessUtils.js b/src/utils/childProcessUtils.js index 7707ad1d..8bcc00cd 100644 --- a/src/utils/childProcessUtils.js +++ b/src/utils/childProcessUtils.js @@ -38,6 +38,13 @@ const getStreamContent = async stream => { for await (const chunk of stream.stdout) { content.push(chunk) } + const error = [] + for await (const chunk of stream.stderr) { + error.push(chunk) + } + if (error.length > 0) { + throw new Error(error.join('')) + } return Buffer.concat(content) } diff --git a/src/utils/cliHelper.js b/src/utils/cliHelper.js index b501b39c..2d62e8b4 100644 --- a/src/utils/cliHelper.js +++ b/src/utils/cliHelper.js @@ -193,8 +193,7 @@ class CLIHelper { static TO_DEFAULT_VALUE = 'HEAD' static OUTPUT_DEFAULT_VALUE = './output' - static SOURCE_DEFAULT_VALUE = '.' - static REPO_DEFAULT_VALUE = '.' - static IGNORE_DEFAULT_VALUE = '.' + static SOURCE_DEFAULT_VALUE = './' + static REPO_DEFAULT_VALUE = './' } module.exports = CLIHelper diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 4c7e610d..6def0129 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -20,25 +20,26 @@ const copyFiles = async (config, src) => { if (copiedFiles.has(src)) return copiedFiles.add(src) - const bufferData = await readPathFromGitAsBuffer(src, config) - const utf8Data = bufferData?.toString(UTF8_ENCODING) - if (!utf8Data) { - return - } - - if (utf8Data.startsWith(FOLDER)) { - const [header, , ...files] = utf8Data.split(EOLRegex) - const folder = header.split(':')[1] - for (const file of files) { - const fileSrc = join(folder, file) - - await copyFiles(config, fileSrc) + try { + const bufferData = await readPathFromGitAsBuffer(src, config) + const utf8Data = bufferData?.toString(UTF8_ENCODING) + + if (utf8Data.startsWith(FOLDER)) { + const [header, , ...files] = utf8Data.split(EOLRegex) + const folder = header.split(':')[1] + for (const file of files) { + const fileSrc = join(folder, file) + + await copyFiles(config, fileSrc) + } + } else { + const dst = join(config.output, treatPathSep(src)) + // Use Buffer to output the file content + // Let fs implementation detect the encoding ("utf8" or "binary") + await outputFile(dst, bufferData) } - } else { - const dst = join(config.output, treatPathSep(src)) - // Use Buffer to output the file content - // Let fs implementation detect the encoding ("utf8" or "binary") - await outputFile(dst, bufferData) + } catch { + /* empty */ } } @@ -54,8 +55,13 @@ const readPathFromGitAsBuffer = async (path, { repo, to }) => { } const readPathFromGit = async (path, config) => { - const bufferData = await readPathFromGitAsBuffer(path, config) - const utf8Data = bufferData.toString(UTF8_ENCODING) + let utf8Data = '' + try { + const bufferData = await readPathFromGitAsBuffer(path, config) + utf8Data = bufferData.toString(UTF8_ENCODING) + } catch { + /* empty */ + } return utf8Data } diff --git a/yarn.lock b/yarn.lock index 6048d986..f825d2e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7022,11 +7022,16 @@ typescript@^4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -"typescript@^4.6.4 || ^5.0.0", typescript@^5.0.2: +"typescript@^4.6.4 || ^5.0.0": version "5.0.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== +typescript@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.3.tgz#fe976f0c826a88d0a382007681cbb2da44afdedf" + integrity sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" From 39bc69e041d733e9503a208aec8c7e9dbd4e559a Mon Sep 17 00:00:00 2001 From: Sebastien Date: Fri, 31 Mar 2023 12:42:57 +0200 Subject: [PATCH 45/63] chore(main): release 5.16.0 (#545) --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d0cf696..62f1dc85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.16.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.15.0...v5.16.0) (2023-03-31) + + +### Features + +* add FSC `AssessmentQuestion*` metadata ([#542](https://github.com/scolladon/sfdx-git-delta/issues/542)) ([afc0d9f](https://github.com/scolladon/sfdx-git-delta/commit/afc0d9fe60de35b7f173c0c86024e82dafcaa303)) + + +### Bug Fixes + +* copy empty file from git ([#547](https://github.com/scolladon/sfdx-git-delta/issues/547)) ([577f750](https://github.com/scolladon/sfdx-git-delta/commit/577f75008bca785629b2fb4ccefeab0a392573e3)) + ## [5.15.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.14.0...v5.15.0) (2023-03-29) diff --git a/package.json b/package.json index 9331ab17..d4a13d08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.15.0", + "version": "5.16.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 2e8f9fb6be4c6b613f0b6c42bc70278c7762d358 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Mon, 3 Apr 2023 11:44:42 +0200 Subject: [PATCH 46/63] feat: fast `flowTranslationProcessor` exit (#553) --- .../flowTranslationProcessor.test.js | 453 +++++++++--------- .../flowTranslationProcessor.js | 10 +- 2 files changed, 246 insertions(+), 217 deletions(-) diff --git a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js index 47344ff9..c1f22baa 100644 --- a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js +++ b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js @@ -61,277 +61,300 @@ describe('FlowTranslationProcessor', () => { })) }) - describe('when there is no translation file', () => { - beforeEach(() => { - // Arrange - flap = () => true - }) - it('should not add translation file', async () => { - // Act - await sut.process() - - // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() - }) - }) - - describe('when there is a translation file without flow def', () => { - beforeEach(() => { - // Arrange - parseXmlFileToJson.mockResolvedValueOnce({}) - }) - it('should not add translation file', async () => { + describe('when no flow have been modified', () => { + it('should not even look for translation files', async () => { // Act await sut.process() // Assert + expect(scanExtension).not.toHaveBeenCalled() expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) - expect(copyFiles).not.toHaveBeenCalled() }) }) - describe('when there is a translation file with one flow def', () => { + describe('when flow have been modified', () => { beforeEach(() => { - // Arrange work.diffs.package = new Map([ [FLOW_DIRECTORY_NAME, new Set([flowFullName])], ]) - parseXmlFileToJson.mockResolvedValue({ - Translations: { flowDefinitions: { fullName: flowFullName } }, - }) }) - it('should add translation file', async () => { - // Act - await sut.process() - // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) - expect(copyFiles).toHaveBeenCalled() - }) - describe('when the folder is not a git repository', () => { + describe('when there is no translation file', () => { beforeEach(() => { // Arrange - copyFiles.mockImplementationOnce(() => - Promise.reject(new Error('fatal: not a git repository')) - ) + flap = () => true }) - it('should throw an exception', async () => { - // Arrange - expect.assertions(2) - + it('should not add translation file', async () => { // Act - try { - await sut.process() - } catch (error) { - // Assert - expect(error).toBeTruthy() - expect(copyFiles).toHaveBeenCalled() - } + await sut.process() + + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).not.toHaveBeenCalled() + expect(copyFiles).not.toHaveBeenCalled() }) }) - }) - describe('when there is already a translation related to a flow', () => { - beforeEach(() => { - // Arrange - work.diffs.package = new Map([[TRANSLATION_TYPE, new Set([FR])]]) - }) - it('should not treat again the translation', async () => { - // Act - await sut.process() + describe('when there is a translation file without flow def', () => { + beforeEach(() => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce({}) + }) + it('should not add translation file', async () => { + // Act + await sut.process() - // Assert - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) + expect(copyFiles).not.toHaveBeenCalled() + }) }) - }) - describe('when there is multiple translation file with multiple flow def', () => { - beforeEach(() => { - // Arrange - flap = trueAfter(2) - let count = 0 - const getTranslationName = () => - [`${FR}.translation-meta.xml`, `${EN}.translation-meta.xml`][count++] - scanExtension.mockImplementation(() => ({ - [Symbol.asyncIterator]: () => ({ - next: () => ({ - value: getTranslationName(), - done: flap(), - }), - }), - })) - }) - describe('when there is no flow matching the translation', () => { + describe('when there is a translation file with one flow def', () => { beforeEach(() => { + // Arrange parseXmlFileToJson.mockResolvedValue({ - Translations: { flowDefinitions: [{ fullName: 'wrong' }] }, + Translations: { flowDefinitions: { fullName: flowFullName } }, }) }) - it('should not add translation', async () => { - // Arrange + it('should add translation file', async () => { + // Act + await sut.process() + + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) + expect(copyFiles).toHaveBeenCalled() + }) + describe('when the folder is not a git repository', () => { + beforeEach(() => { + // Arrange + copyFiles.mockImplementationOnce(() => + Promise.reject(new Error('fatal: not a git repository')) + ) + }) + it('should throw an exception', async () => { + // Arrange + expect.assertions(2) + // Act + try { + await sut.process() + } catch (error) { + // Assert + expect(error).toBeTruthy() + expect(copyFiles).toHaveBeenCalled() + } + }) + }) + }) + + describe('when there is already a translation related to a flow', () => { + beforeEach(() => { + // Arrange + work.diffs.package = new Map([ + [TRANSLATION_TYPE, new Set([FR])], + [FLOW_DIRECTORY_NAME, new Set([flowFullName])], + ]) + }) + it('should not treat again the translation', async () => { // Act await sut.process() // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() expect(scanExtension).toHaveBeenCalledTimes(1) expect(scanExtension).toHaveBeenCalledWith( work.config.source, EXTENSION, work.config ) - expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) + expect(parseXmlFileToJson).not.toHaveBeenCalled() expect(copyFiles).not.toHaveBeenCalled() }) }) - describe('when there is flow matching the translation', () => { - describe.each([true, false])( - 'when config.generateDelta is %s', - generateDelta => { - beforeEach(() => { - parseXmlFileToJson.mockResolvedValue({ - Translations: { flowDefinitions: [{ fullName: flowFullName }] }, - }) - work.diffs.package = new Map([ - [FLOW_DIRECTORY_NAME, new Set([flowFullName])], - ]) - work.config.generateDelta = generateDelta + describe('when there is multiple translation file with multiple flow def', () => { + beforeEach(() => { + // Arrange + flap = trueAfter(2) + let count = 0 + const getTranslationName = () => + [`${FR}.translation-meta.xml`, `${EN}.translation-meta.xml`][ + count++ + ] + scanExtension.mockImplementation(() => ({ + [Symbol.asyncIterator]: () => ({ + next: () => ({ + value: getTranslationName(), + done: flap(), + }), + }), + })) + }) + describe('when there is no flow matching the translation', () => { + beforeEach(() => { + parseXmlFileToJson.mockResolvedValue({ + Translations: { flowDefinitions: [{ fullName: 'wrong' }] }, }) - it('should add translation', async () => { - // Arrange + }) + it('should not add translation', async () => { + // Arrange - // Act - await sut.process() + // Act + await sut.process() - // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) - if (generateDelta) expect(copyFiles).toHaveBeenCalledTimes(2) - else expect(copyFiles).not.toHaveBeenCalled() - }) - } - ) - }) - }) + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) + expect(copyFiles).not.toHaveBeenCalled() + }) + }) - describe('when translation files are ignored', () => { - beforeEach(() => { - // Arrange - work.config.ignore = '.forceignore' - forPath.mockResolvedValue({ ignores: () => true }) - }) - it('should not add translation file', async () => { - // Act - await sut.process() + describe('when there is flow matching the translation', () => { + describe.each([true, false])( + 'when config.generateDelta is %s', + generateDelta => { + beforeEach(() => { + parseXmlFileToJson.mockResolvedValue({ + Translations: { + flowDefinitions: [{ fullName: flowFullName }], + }, + }) + work.diffs.package = new Map([ + [FLOW_DIRECTORY_NAME, new Set([flowFullName])], + ]) + work.config.generateDelta = generateDelta + }) + it('should add translation', async () => { + // Arrange - // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(forPath).toHaveBeenCalledTimes(1) - expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + // Act + await sut.process() + + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) + if (generateDelta) expect(copyFiles).toHaveBeenCalledTimes(2) + else expect(copyFiles).not.toHaveBeenCalled() + }) + } + ) + }) }) - }) - describe('when translation files are not ignored', () => { - beforeEach(() => { - // Arrange - work.diffs.package = new Map([ - [FLOW_DIRECTORY_NAME, new Set([flowFullName])], - ]) - work.config.ignore = '.forceignore' - forPath.mockResolvedValue({ ignores: () => false }) + describe('when translation files are ignored', () => { + beforeEach(() => { + // Arrange + work.config.ignore = '.forceignore' + forPath.mockResolvedValue({ ignores: () => true }) + }) + it('should not add translation file', async () => { + // Act + await sut.process() + + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(forPath).toHaveBeenCalledTimes(1) + expect(parseXmlFileToJson).not.toHaveBeenCalled() + expect(copyFiles).not.toHaveBeenCalled() + }) }) - it('should add translation file', async () => { - // Act - await sut.process() - // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(forPath).toHaveBeenCalledTimes(1) - expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) - expect(copyFiles).toHaveBeenCalledTimes(1) + describe('when translation files are not ignored', () => { + beforeEach(() => { + // Arrange + work.diffs.package = new Map([ + [FLOW_DIRECTORY_NAME, new Set([flowFullName])], + ]) + work.config.ignore = '.forceignore' + forPath.mockResolvedValue({ ignores: () => false }) + }) + it('should add translation file', async () => { + // Act + await sut.process() + + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeTruthy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(forPath).toHaveBeenCalledTimes(1) + expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) + expect(copyFiles).toHaveBeenCalledTimes(1) + }) }) - }) - describe('when the translation file is subDir of output', () => { - beforeEach(() => { - // Arrange - const out = 'out' - work.config.output = out - scanExtension.mockImplementation(() => ({ - [Symbol.asyncIterator]: () => ({ - next: () => ({ - value: `${out}/${FR}.translation-meta.xml`, - done: flap(), + describe('when the translation file is subDir of output', () => { + beforeEach(() => { + // Arrange + const out = 'out' + work.config.output = out + scanExtension.mockImplementation(() => ({ + [Symbol.asyncIterator]: () => ({ + next: () => ({ + value: `${out}/${FR}.translation-meta.xml`, + done: flap(), + }), }), - }), - })) - parseXmlFileToJson.mockResolvedValueOnce({}) - isSubDir.mockImplementation(() => true) - }) - it('should not add translation file', async () => { - // Act - await sut.process() + })) + parseXmlFileToJson.mockResolvedValueOnce({}) + isSubDir.mockImplementation(() => true) + }) + it('should not add translation file', async () => { + // Act + await sut.process() - // Assert - expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() - expect(scanExtension).toHaveBeenCalledTimes(1) - expect(scanExtension).toHaveBeenCalledWith( - work.config.source, - EXTENSION, - work.config - ) - expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + // Assert + expect(work.diffs.package.has(TRANSLATION_TYPE)).toBeFalsy() + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).not.toHaveBeenCalled() + expect(copyFiles).not.toHaveBeenCalled() + }) }) }) }) diff --git a/src/post-processor/flowTranslationProcessor.js b/src/post-processor/flowTranslationProcessor.js index 67c27db1..5682d874 100644 --- a/src/post-processor/flowTranslationProcessor.js +++ b/src/post-processor/flowTranslationProcessor.js @@ -26,8 +26,10 @@ class FlowTranslationProcessor extends BaseProcessor { } async process() { - await this._buildFlowDefinitionsMap() - await this._handleFlowTranslation() + if (this._shouldProcess()) { + await this._buildFlowDefinitionsMap() + await this._handleFlowTranslation() + } } async _buildFlowDefinitionsMap() { @@ -91,6 +93,10 @@ class FlowTranslationProcessor extends BaseProcessor { } } + _shouldProcess() { + return this.work.diffs.package.has(FLOW_DIRECTORY_NAME) + } + async _getIgnoreInstance() { let ign if (this.config.ignore) { From f4c54834461db2de6902532fdcf70369c40a2a0e Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 4 Apr 2023 10:17:18 +0200 Subject: [PATCH 47/63] feat: process lines related to metadata entity only (#554) --- .../unit/lib/service/inFolderHandler.test.js | 21 ++++++ .../lib/service/inResourceHandler.test.js | 47 ++++++++++--- .../unit/lib/service/standardHandler.test.js | 22 ++++++ package.json | 6 +- src/service/inFolderHandler.js | 11 +++ src/service/inResourceHandler.js | 29 +++++--- src/service/standardHandler.js | 17 ++++- src/service/waveHandler.js | 4 ++ src/utils/fsHelper.js | 6 +- src/utils/gitConstants.js | 1 + yarn.lock | 67 +++++-------------- 11 files changed, 151 insertions(+), 80 deletions(-) diff --git a/__tests__/unit/lib/service/inFolderHandler.test.js b/__tests__/unit/lib/service/inFolderHandler.test.js index f30e3687..06f59871 100644 --- a/__tests__/unit/lib/service/inFolderHandler.test.js +++ b/__tests__/unit/lib/service/inFolderHandler.test.js @@ -85,4 +85,25 @@ describe('InFolderHander', () => { }) }) }) + describe('when the line should not be processed', () => { + it.each([`force-app/main/default/${objectType}/test.otherExtension`])( + 'does not handle the line', + async entityPath => { + // Arrange + const sut = new InFolder( + `A ${entityPath}`, + objectType, + work, + globalMetadata + ) + + // Act + await sut.handle() + + // Assert + expect(work.diffs.package.size).toBe(0) + expect(copyFiles).not.toHaveBeenCalled() + } + ) + }) }) diff --git a/__tests__/unit/lib/service/inResourceHandler.test.js b/__tests__/unit/lib/service/inResourceHandler.test.js index f467d149..8946211b 100644 --- a/__tests__/unit/lib/service/inResourceHandler.test.js +++ b/__tests__/unit/lib/service/inResourceHandler.test.js @@ -12,8 +12,11 @@ jest.mock('fs-extra') jest.mock('fs') const objectType = 'staticresources' -const entityPath = 'force-app/main/default/staticresources/resource.js' +const element = 'myResources' +const basePath = 'force-app/main/default/staticresources' +const entityPath = `${basePath}/${element}.js` const line = `A ${entityPath}` +const type = 'resource' let work beforeEach(() => { jest.clearAllMocks() @@ -48,7 +51,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(objectType)).toEqual('resource') + expect(...work.diffs.package.get(objectType)).toEqual(element) expect(copyFiles).not.toBeCalled() }) }) @@ -133,7 +136,7 @@ describe('InResourceHandler', () => { }) describe('when no matching resource exist', () => { - it('should not copy any files', async () => { + it('should not copy resource files', async () => { // Arrange const sut = new InResourceHandler( line, @@ -147,12 +150,12 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(objectType)).toEqual('resource') + expect(...work.diffs.package.get(objectType)).toEqual(element) expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith(work.config, `${entityPath}`) - expect(copyFiles).toHaveBeenCalledWith( + expect(copyFiles).not.toHaveBeenCalledWith( work.config, - `${entityPath}${METAFILE_SUFFIX}` + `${basePath}/${element}.${type}${METAFILE_SUFFIX}` ) }) }) @@ -165,7 +168,7 @@ describe('InResourceHandler', () => { }) describe('When only a ressource sub element is deleted', () => { beforeEach(() => { - pathExists.mockImplementationOnce(() => true) + pathExists.mockResolvedValue(true) }) it('should treat it as a modification', async () => { // Arrange @@ -180,7 +183,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(objectType)).toEqual('resource') + expect(...work.diffs.package.get(objectType)).toEqual(element) expect(pathExists).toHaveBeenCalledWith( expect.stringContaining('resource'), work.config @@ -189,7 +192,7 @@ describe('InResourceHandler', () => { }) describe('When the ressource is deleted', () => { beforeEach(() => { - pathExists.mockImplementationOnce(() => false) + pathExists.mockResolvedValue(false) }) it('should treat it as a deletion', async () => { // Arrange @@ -206,13 +209,35 @@ describe('InResourceHandler', () => { // Assert expect(work.diffs.package.has(objectType)).toBe(false) expect(...work.diffs.destructiveChanges.get(objectType)).toEqual( - 'resource' + element ) expect(pathExists).toHaveBeenCalledWith( - expect.stringContaining('resource'), + expect.stringContaining(element), work.config ) }) }) }) + + describe('when the line should not be processed', () => { + it.each([`${basePath}/.eslintrc.json`])( + 'does not handle the line', + async entityPath => { + // Arrange + const sut = new InResourceHandler( + `A ${entityPath}`, + objectType, + work, + globalMetadata + ) + + // Act + await sut.handle() + + // Assert + expect(work.diffs.package.size).toBe(0) + expect(copyFiles).not.toHaveBeenCalled() + } + ) + }) }) diff --git a/__tests__/unit/lib/service/standardHandler.test.js b/__tests__/unit/lib/service/standardHandler.test.js index f785c8be..0d72d962 100644 --- a/__tests__/unit/lib/service/standardHandler.test.js +++ b/__tests__/unit/lib/service/standardHandler.test.js @@ -300,4 +300,26 @@ describe(`StandardHandler`, () => { } ) }) + + describe('when the line should not be processed', () => { + it.each([`force-app/main/default/classes/folder/Random.file`])( + 'does not handle the line', + async entityPath => { + // Arrange + const sut = new StandardHandler( + `A ${entityPath}`, + objectType, + work, + globalMetadata + ) + + // Act + await sut.handle() + + // Assert + expect(work.diffs.package.size).toBe(0) + expect(copyFiles).not.toHaveBeenCalled() + } + ) + }) }) diff --git a/package.json b/package.json index d4a13d08..457e60f8 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@oclif/command": "^1.8.22", "@oclif/config": "^1.18.8", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.3.4", + "@salesforce/command": "^5.3.5", "@salesforce/core": "^3.34.6", "fast-xml-parser": "^4.1.3", "fs-extra": "^11.1.1", @@ -72,7 +72,7 @@ "@commitlint/config-conventional": "^17.4.4", "@commitlint/prompt-cli": "^17.5.0", "@oclif/dev-cli": "^1.26.10", - "@oclif/plugin-help": "^5.2.8", + "@oclif/plugin-help": "^5.2.9", "@oclif/test": "^2.3.13", "@salesforce/cli-plugins-testkit": "^3.3.1", "@salesforce/dev-config": "^3.1.0", @@ -88,7 +88,7 @@ "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^40.1.0", + "eslint-plugin-jsdoc": "^40.1.1", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.5.0", diff --git a/src/service/inFolderHandler.js b/src/service/inFolderHandler.js index c14de805..9aaeed10 100644 --- a/src/service/inFolderHandler.js +++ b/src/service/inFolderHandler.js @@ -5,6 +5,7 @@ const { META_REGEX, METAFILE_SUFFIX, } = require('../utils/metadataConstants') +const { GIT_PATH_SEP } = require('../utils/gitConstants') const { cleanUpPackageMember } = require('../utils/packageHelper') const { join, parse, sep } = require('path') const { readDir } = require('../utils/fsHelper') @@ -50,6 +51,16 @@ class InFolderHandler extends StandardHandler { return cleanUpPackageMember(packageMember) } + + _isProcessable() { + const parsedLine = parse(this.line) + const parentFolder = parsedLine.dir.split(GIT_PATH_SEP).pop() + return ( + super._isProcessable() || + parentFolder !== this.type || + this.ext.endsWith(INFOLDER_SUFFIX) + ) + } } module.exports = InFolderHandler diff --git a/src/service/inResourceHandler.js b/src/service/inResourceHandler.js index f7a02ecb..8d166d9d 100644 --- a/src/service/inResourceHandler.js +++ b/src/service/inResourceHandler.js @@ -2,7 +2,8 @@ const StandardHandler = require('./standardHandler') const { join, parse } = require('path') const { pathExists, readDir } = require('../utils/fsHelper') -const { META_REGEX, METAFILE_SUFFIX } = require('../utils/metadataConstants') +const { META_REGEX } = require('../utils/metadataConstants') +const { GIT_PATH_SEP } = require('../utils/gitConstants') const { cleanUpPackageMember } = require('../utils/packageHelper') const STATICRESOURCE_TYPE = 'staticresources' @@ -12,20 +13,21 @@ class ResourceHandler extends StandardHandler { constructor(line, type, work, metadata) { super(line, type, work, metadata) } + async handleAddition() { await super.handleAddition() if (!this.config.generateDelta) return - const [, srcPath, elementName] = this._parseLine() + const [, srcPath, elementFile] = this._parseLine() await this._buildElementMap(srcPath) - - const matchingFiles = this._buildMatchingFiles(elementName) + const matchingFiles = this._buildMatchingFiles(elementFile) + const elementName = parse(elementFile).name await Promise.all( elementSrc .get(srcPath) .filter( src => (this.type === STATICRESOURCE_TYPE && - src.startsWith(parse(elementName).name)) || + src.startsWith(elementName)) || matchingFiles.includes(src) ) .map(src => this._copyWithMetaFile(join(srcPath, src))) @@ -59,11 +61,7 @@ class ResourceHandler extends StandardHandler { const parsedElementName = parse(elementName).name const matchingFiles = [parsedElementName] if (this.metadata.get(this.type).metaFile) { - matchingFiles.push( - `${parsedElementName}.${ - this.metadata.get(this.type).suffix - }${METAFILE_SUFFIX}` - ) + matchingFiles.push(this._getRelativeMetadataXmlFileName(elementName)) } return matchingFiles } @@ -77,6 +75,17 @@ class ResourceHandler extends StandardHandler { ) } } + + _isProcessable() { + const parsedLine = parse(this.line) + const parentFolder = parsedLine.dir.split(GIT_PATH_SEP).pop() + + return ( + super._isProcessable() || + parentFolder !== this.type || + !parsedLine.name.startsWith('.') + ) + } } module.exports = ResourceHandler diff --git a/src/service/standardHandler.js b/src/service/standardHandler.js index 087b4c5a..9f86f1a0 100644 --- a/src/service/standardHandler.js +++ b/src/service/standardHandler.js @@ -40,11 +40,14 @@ class StandardHandler { [MODIFICATION]: this.handleModification, } - this.ext = parse(this.line).ext.substring(1) + this.ext = parse(this.line) + .base.replace(METAFILE_SUFFIX, '') + .split('.') + .pop() } async handle() { - if (this.handlerMap[this.changeType]) { + if (this.handlerMap[this.changeType] && this._isProcessable()) { try { await this.handlerMap[this.changeType].apply(this) } catch (error) { @@ -123,6 +126,16 @@ class StandardHandler { ) ) } + + _getRelativeMetadataXmlFileName(path) { + return `${parse(path).base.replace(this.ext, '').replace(/\.$/, '')}.${ + this.metadata.get(this.type).suffix + }${METAFILE_SUFFIX}` + } + + _isProcessable() { + return this.metadata.get(this.type).suffix === this.ext + } } module.exports = StandardHandler diff --git a/src/service/waveHandler.js b/src/service/waveHandler.js index c77c3cf4..0641d5c9 100644 --- a/src/service/waveHandler.js +++ b/src/service/waveHandler.js @@ -25,6 +25,10 @@ class WaveHandler extends StandardHandler { member: this._getElementName(), }) } + + _isProcessable() { + return super._isProcessable() || WAVE_SUBTYPE.has(this.ext) + } } module.exports = WaveHandler diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 6def0129..468b95d1 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -3,7 +3,7 @@ const { readFile: fsReadFile } = require('fs').promises const { isAbsolute, join, relative } = require('path') const { outputFile } = require('fs-extra') const { spawn } = require('child_process') -const { UTF8_ENCODING } = require('./gitConstants') +const { GIT_PATH_SEP, UTF8_ENCODING } = require('./gitConstants') const { EOLRegex, getStreamContent, @@ -13,7 +13,7 @@ const { const FOLDER = 'tree' const showCmd = ['--no-pager', 'show'] -const gitPathSeparatorNormalizer = path => path?.replace(/\\+/g, '/') +const gitPathSeparatorNormalizer = path => path?.replace(/\\+/g, GIT_PATH_SEP) const copiedFiles = new Set() const copyFiles = async (config, src) => { @@ -91,7 +91,7 @@ async function* scan(dir, config) { const entries = await readDir(dir, config) for (const file of entries) { const filePath = join(dir, file) - if (file.endsWith('/')) { + if (file.endsWith(GIT_PATH_SEP)) { yield* scan(filePath, config) } else { yield filePath diff --git a/src/utils/gitConstants.js b/src/utils/gitConstants.js index b6ee4c0f..5eaac4f2 100644 --- a/src/utils/gitConstants.js +++ b/src/utils/gitConstants.js @@ -9,6 +9,7 @@ module.exports.TAG_REF_TYPE = TAG_REF_TYPE module.exports.POINTER_REF_TYPES = [COMMIT_REF_TYPE, TAG_REF_TYPE] module.exports.GIT_DIFF_TYPE_REGEX = /^.\s+/u module.exports.GIT_FOLDER = '.git' +module.exports.GIT_PATH_SEP = '/' module.exports.MINUS = '-' module.exports.IGNORE_WHITESPACE_PARAMS = [ '--ignore-all-space', diff --git a/yarn.lock b/yarn.lock index f825d2e6..88f8fb9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -975,42 +975,7 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.6.2.tgz#6ec15faf0c1e0e01e3c13c1c33827c12baaf0c88" - integrity sha512-roxcBLr4BuoOEDEkMQk4Yy0Tolr39n6i+A63qPLa19vrgxjZZJygh2HpThsn69/UPuEzMq051FnvJ9tNln3Y5g== - dependencies: - "@types/cli-progress" "^3.11.0" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.12.0" - debug "^4.3.4" - ejs "^3.1.8" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - ts-node "^10.9.1" - tslib "^2.5.0" - widest-line "^3.1.0" - wordwrap "^1.0.0" - wrap-ansi "^7.0.0" - -"@oclif/core@^2.7.1": +"@oclif/core@^2.7.1", "@oclif/core@^2.8.0": version "2.8.0" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== @@ -1133,12 +1098,12 @@ widest-line "^3.1.0" wrap-ansi "^6.2.0" -"@oclif/plugin-help@^5.2.8": - version "5.2.8" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.8.tgz#25821ea8588b59e5554187611ce58b8a95d4e90d" - integrity sha512-Fl1DD6Hm7USG/BYqcUmc/hMXK6Bnd3HvkZsRG+qi0dbYaNtY9zJ58C5b3lgPn69bXJlyi1eWX4S8djSUWD8VYg== +"@oclif/plugin-help@^5.2.9": + version "5.2.9" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.9.tgz#badbafdfe3f98ac78a5a3b79582e081d4b64c4b7" + integrity sha512-0J3oowPURZJ4Dn1p1WpQ46E4+CoV20KTn1cvsNiDl6Hmbw+qoljKQnArJJzNFeZQxWo4R7/S42PrzKJTVYh68Q== dependencies: - "@oclif/core" "^2.6.2" + "@oclif/core" "^2.8.0" "@oclif/screen@^1.0.4": version "1.0.4" @@ -1222,19 +1187,19 @@ strip-ansi "6.0.1" ts-retry-promise "^0.7.0" -"@salesforce/command@^5.3.4": - version "5.3.4" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.4.tgz#023e2a9de7958b6d63cd0eb7d99b642b9850c0f3" - integrity sha512-166qTpi64MsIwCa+re4yPO7Ku2aJTKOVkciQUJhOSbms3QkOdfjnUdk+VEEVfwjZGGTj6hetM2h3DKsfNFQZQA== +"@salesforce/command@^5.3.5": + version "5.3.5" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.5.tgz#4a613f6312428707aa9af8d7e4944f164bea1321" + integrity sha512-RJho0j0VVHU5jf+zFWVjwx2BbBed7t5wlmFG1yyHvW4WA6Akr4JZ764qlob0olpn7ZN7L5kLw9F5xbWDtZnLYA== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.34.1" + "@salesforce/core" "^3.34.6" "@salesforce/kit" "^1.8.5" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.34.1", "@salesforce/core@^3.34.4", "@salesforce/core@^3.34.6": +"@salesforce/core@^3.34.4", "@salesforce/core@^3.34.6": version "3.34.6" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== @@ -3124,10 +3089,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^40.1.0: - version "40.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.1.0.tgz#fec2f649a60167fa5a94f05ce2c6c041caaab129" - integrity sha512-ANvrhiu62VlSorARM0hup60VQsS3hNyp0Ca7cnJDj8tpJzM7tNhBVqMVYXSuLzEmqrpwx6aAh+NAN2DdAGG5fQ== +eslint-plugin-jsdoc@^40.1.1: + version "40.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.1.1.tgz#12ae46e5e64524c19fb7d01471c70015aa0863f0" + integrity sha512-KxrQCq9pPt7LNeDBlLlnuJMpDFZnEQTs4e25NrT4u5cWmPw2P7F03F2qwPz0GMdlRZTyMOofuPAdiWytvPubvA== dependencies: "@es-joy/jsdoccomment" "~0.37.0" comment-parser "1.3.1" From 25af3e008356c3610b0161d803c9ae3804fe8002 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 4 Apr 2023 10:46:22 +0200 Subject: [PATCH 48/63] chore(main): release 5.17.0 (#557) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62f1dc85..222c2ee3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.17.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.16.0...v5.17.0) (2023-04-04) + + +### Features + +* fast `flowTranslationProcessor` exit ([#553](https://github.com/scolladon/sfdx-git-delta/issues/553)) ([2e8f9fb](https://github.com/scolladon/sfdx-git-delta/commit/2e8f9fb6be4c6b613f0b6c42bc70278c7762d358)) +* process lines related to metadata entity only ([#554](https://github.com/scolladon/sfdx-git-delta/issues/554)) ([f4c5483](https://github.com/scolladon/sfdx-git-delta/commit/f4c54834461db2de6902532fdcf70369c40a2a0e)) + ## [5.16.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.15.0...v5.16.0) (2023-03-31) diff --git a/package.json b/package.json index 457e60f8..5e3bf22e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.16.0", + "version": "5.17.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 966c51c7011d3417796a43be71814522d44d3786 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 4 Apr 2023 11:08:19 +0200 Subject: [PATCH 49/63] test: add mutation testing (#555) --- .codeclimate.yml | 2 +- .eslintignore | 2 +- .eslintrc.js | 2 +- .github/dependabot.yml | 6 +- .github/workflows/on-pull-request.yml | 25 + .github/workflows/reusable-build.yml | 5 + .gitignore | 6 +- .prettierignore | 2 +- jest.config.js | 6 +- package.json | 21 +- stryker.conf.mjs | 12 + yarn.lock | 926 ++++++++++++++++++++++---- 12 files changed, 857 insertions(+), 158 deletions(-) create mode 100644 stryker.conf.mjs diff --git a/.codeclimate.yml b/.codeclimate.yml index 1babe981..b6f07b4a 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -12,6 +12,6 @@ exclude_patterns: - __tests__/**/* - __mocks__/**/* - output/**/* - - coverage/**/* + - reports/**/* - .github/**/* - lib/**/* diff --git a/.eslintignore b/.eslintignore index f2aa413f..a576d5b8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,5 @@ node_modules .next output -coverage +reports .github \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index b820d892..6afb3147 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -13,7 +13,7 @@ Happy linting! 💖 */ module.exports = { extends: ['eslint:recommended', 'plugin:prettier/recommended', 'prettier'], - ignorePatterns: ['lib/**/*', 'node_modules', '.next', 'output', 'coverage'], + ignorePatterns: ['lib/**/*', 'node_modules', '.next', 'output', 'reports'], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2020, diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9b14d14a..86e358a9 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,12 +3,14 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "daily" + interval: "monthly" + commit-message: + prefix: "build" - package-ecosystem: "npm" directory: "/" schedule: - interval: "daily" + interval: "weekly" versioning-strategy: increase commit-message: prefix: "build" diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 426c56e6..84af34e7 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -76,6 +76,31 @@ jobs: with: eslint: true + mutation-testing: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Setup dependencies, cache and install + uses: ./.github/actions/install + + - name: Build plugin + run: yarn pack + + - name: Mutation test + run: yarn test:mutation + + - uses: actions/upload-artifact@v3 + with: + name: mutation-test-report + path: reports/mutation + build: uses: ./.github/workflows/reusable-build.yml secrets: inherit diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 9b559eb1..9716c0cb 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -31,3 +31,8 @@ jobs: - name: Functional test run: yarn test:nut + + - uses: actions/upload-artifact@v3 + with: + name: coverage-test-report + path: reports/coverage diff --git a/.gitignore b/.gitignore index a6f77d13..c4d35934 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ /node_modules -/coverage +/reports /lib *-debug.log *-error.log sfdx-git-delta-*.tgz /.nyc_output stderr*.txt -stdout*.txt \ No newline at end of file +stdout*.txt +# stryker temp files +.stryker-tmp diff --git a/.prettierignore b/.prettierignore index bf2e5cfa..1ca61635 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,7 +2,7 @@ yarn.lock .next node_modules output -coverage +reports .github *.json *.md \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index 51e34747..501926ad 100644 --- a/jest.config.js +++ b/jest.config.js @@ -24,13 +24,13 @@ module.exports = { // collectCoverageFrom: null, // The directory where Jest should output its coverage files - coverageDirectory: 'coverage', + coverageDirectory: 'reports/coverage', // An array of regexp pattern strings used to skip coverage collection coveragePathIgnorePatterns: [ '/node_modules/', '/__tests__/__utils__/', - '/coverage/', + '/reports/', ], // A list of reporter names that Jest uses when writing coverage reports @@ -153,7 +153,7 @@ module.exports = { testPathIgnorePatterns: [ '/node_modules/', '/__tests__/__utils__/', - '/coverage/', + '/reports/', ], // The regexp pattern or array of patterns that Jest uses to detect test files diff --git a/package.json b/package.json index 5e3bf22e..486c3dfc 100644 --- a/package.json +++ b/package.json @@ -46,20 +46,21 @@ "scripts": { "analysis": "codeclimate analyze", "audit:fix": "npm i --package-lock-only && npm audit fix && shx rm yarn.lock && yarn import && shx rm package-lock.json", - "clean": "shx rm -rf lib && shx rm -rf coverage && shx rm -rf .nyc_output && shx rm -f oclif.manifest.json && shx rm -rf sfdx-git-delta-v*.tgz && shx rm -rf stderr*.txt && shx rm -rf stdout*.txt", + "clean": "shx rm -rf lib && shx rm -rf reports/* && shx rm -rf .stryker-tmp/* && shx rm -rf .nyc_output && shx rm -f oclif.manifest.json && shx rm -rf sfdx-git-delta-v*.tgz && shx rm -rf stderr*.txt && shx rm -rf stdout*.txt", "commit": "commit", "increment:apiversion": "filename=`ls src/metadata/v*.json | tail -1` && version=${filename//[!0-9]/} && ((version++)) && targetname=\"src/metadata/v${version}.json\" && \\cp $filename $targetname", "lint": "eslint src/", "lint:fix": "eslint --fix src/", "test": "yarn test:unit && yarn test:nut", - "test:unit": "jest", "test:build:local": "shx rm -rf node_modules && yarn && yarn pack && yarn test", + "test:mutation": "stryker run", + "test:nut": "nyc mocha **/*.nut.ts", + "test:unit": "jest", "test:unit:clear:cache": "jest --clearCache", "test:unit:coverage": "jest --coverage", "test:unit:debug": "node --inspect node_modules/.bin/jest", "test:unit:debug:break": "node --inspect-brk node_modules/.bin/jest", - "test:watch": "jest --watch", - "test:nut": "nyc mocha **/*.nut.ts", + "test:unit:watch": "jest --watch", "build": "tsc -b", "postpack": "shx rm -f oclif.manifest.json && prettier --write README.md", "prebuild": "yarn clean", @@ -73,16 +74,18 @@ "@commitlint/prompt-cli": "^17.5.0", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.9", - "@oclif/test": "^2.3.13", - "@salesforce/cli-plugins-testkit": "^3.3.1", + "@oclif/test": "^2.3.14", + "@salesforce/cli-plugins-testkit": "^3.3.2", "@salesforce/dev-config": "^3.1.0", "@salesforce/ts-sinon": "^1.4.6", - "@swc/core": "^1.3.44", + "@stryker-mutator/core": "^6.4.2", + "@stryker-mutator/jest-runner": "^6.4.2", + "@swc/core": "^1.3.45", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.15.11", - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.57.0", + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", "chai": "^4.3.7", "eslint": "^8.37.0", "eslint-config-prettier": "^8.8.0", diff --git a/stryker.conf.mjs b/stryker.conf.mjs new file mode 100644 index 00000000..1835f1be --- /dev/null +++ b/stryker.conf.mjs @@ -0,0 +1,12 @@ +// @ts-check +/** @type {import('@stryker-mutator/api/core').PartialStrykerOptions} */ +const config = { + packageManager: 'yarn', + reporters: ['html', 'clear-text', 'progress'], + testRunner: 'jest', + coverageAnalysis: 'perTest', + ignoreStatic: true, + ignorePatterns: ['lib/', 'reports/', 'bin/'], + mutate: ['src/**/*.js'], +} +export default config diff --git a/yarn.lock b/yarn.lock index 88f8fb9b..87c55515 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,11 +17,23 @@ dependencies: "@babel/highlight" "^7.18.6" +"@babel/code-frame@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + "@babel/compat-data@^7.20.5": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== +"@babel/compat-data@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" + integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== + "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" @@ -43,6 +55,27 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/core@~7.21.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" + integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-compilation-targets" "^7.21.4" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.4" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.4" + "@babel/types" "^7.21.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": version "7.21.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" @@ -53,6 +86,23 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.21.4", "@babel/generator@~7.21.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" + integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== + dependencies: + "@babel/types" "^7.21.4" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-compilation-targets@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" @@ -64,6 +114,31 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" + integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== + dependencies: + "@babel/compat-data" "^7.21.4" + "@babel/helper-validator-option" "^7.21.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz#3a017163dc3c2ba7deb9a7950849a9586ea24c18" + integrity sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-member-expression-to-functions" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" @@ -84,6 +159,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" + integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== + dependencies: + "@babel/types" "^7.21.0" + "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" @@ -91,7 +173,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.21.0": +"@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.21.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== @@ -105,11 +187,30 @@ "@babel/traverse" "^7.21.2" "@babel/types" "^7.21.2" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== +"@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + "@babel/helper-simple-access@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" @@ -117,6 +218,13 @@ dependencies: "@babel/types" "^7.20.2" +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + dependencies: + "@babel/types" "^7.20.0" + "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" @@ -134,7 +242,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== -"@babel/helper-validator-option@^7.18.6": +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== @@ -162,6 +270,38 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== +"@babel/parser@^7.21.4", "@babel/parser@~7.21.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" + integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== + +"@babel/plugin-proposal-class-properties@~7.18.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-decorators@~7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz#70e0c89fdcd7465c97593edb8f628ba6e4199d63" + integrity sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/plugin-syntax-decorators" "^7.21.0" + +"@babel/plugin-proposal-private-methods@~7.18.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -183,6 +323,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" +"@babel/plugin-syntax-decorators@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz#d2b3f31c3e86fa86e16bb540b7660c55bd7d0e78" + integrity sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" @@ -197,6 +344,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" + integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-jsx@^7.7.2": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" @@ -253,6 +407,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-typescript@^7.20.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8" + integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-typescript@^7.7.2": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" @@ -260,6 +421,36 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" +"@babel/plugin-transform-modules-commonjs@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" + integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== + dependencies: + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" + +"@babel/plugin-transform-typescript@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz#316c5be579856ea890a57ebc5116c5d064658f2b" + integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-typescript" "^7.20.0" + +"@babel/preset-typescript@~7.21.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz#b913ac8e6aa8932e47c21b01b4368d8aa239a529" + integrity sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.21.0" + "@babel/plugin-syntax-jsx" "^7.21.4" + "@babel/plugin-transform-modules-commonjs" "^7.21.2" + "@babel/plugin-transform-typescript" "^7.21.3" + "@babel/runtime-corejs3@^7.12.5": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz#6e4939d9d9789ff63e2dc58e88f13a3913a24eba" @@ -284,6 +475,22 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" +"@babel/traverse@^7.20.7", "@babel/traverse@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" + integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== + dependencies: + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.4" + "@babel/types" "^7.21.4" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" @@ -309,6 +516,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.20.0", "@babel/types@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" + integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -975,7 +1191,7 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.7.1", "@oclif/core@^2.8.0": +"@oclif/core@^2.8.0": version "2.8.0" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== @@ -1123,12 +1339,12 @@ "@oclif/core" "^2.3.1" fancy-test "^2.0.12" -"@oclif/test@^2.3.13": - version "2.3.13" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.13.tgz#1f12c3304fe409d6fa6a989741d0d1b89bbba934" - integrity sha512-CD3qRj4pwEiRA2GGNr9sLL9iu4ASKJFBxUEk4/qsgPLGY6roMubRwKQTQI9orZ+9F21PdVM7xlNLeVsrpXqA9w== +"@oclif/test@^2.3.14": + version "2.3.14" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.14.tgz#71b7c086c33c082669f0a239fc005fa2be1ef14b" + integrity sha512-F7gYNGGb8b46+ZRTpeS0dpShgZpV/ENPWBIkHSw5xc161hhb8ioQ9wwf84dDfhYuNXYfcwxqA+VSRyqyFz/ITQ== dependencies: - "@oclif/core" "^2.7.1" + "@oclif/core" "^2.8.0" fancy-test "^2.0.16" "@oozcitak/dom@1.15.10": @@ -1172,12 +1388,12 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/cli-plugins-testkit@^3.3.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.1.tgz#43f5818fb89c99c606535235624320881e050fae" - integrity sha512-cE13PNGBqqk9H01RLGZxDKgXRrHE4p1YsEConet7IsYYgZMXmhH1OUfj9HGmTTe55SZdmF1wt+Cu8AdZwFRBSw== +"@salesforce/cli-plugins-testkit@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.2.tgz#5a5bd6f1c505962b97682463c0a204fb6b67b5bf" + integrity sha512-lXxm9tYNRD34GdcHtYVcFIccG9k5v8Ai/O1ytHE4zOoDowmeyB5l47O7Qo8blmeYbggRJUQIFfao2EPrJlTKCQ== dependencies: - "@salesforce/core" "^3.34.4" + "@salesforce/core" "^3.34.6" "@salesforce/kit" "^1.9.2" "@salesforce/ts-types" "^1.7.3" "@types/shelljs" "^0.8.11" @@ -1199,7 +1415,7 @@ "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.34.4", "@salesforce/core@^3.34.6": +"@salesforce/core@^3.34.6": version "3.34.6" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== @@ -1337,71 +1553,150 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@swc/core-darwin-arm64@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.44.tgz#e0f5eb9d962c4e6192531c2e3b8c11f55faf1b89" - integrity sha512-Y+oVsCjXUPvr3D9YLuB1gjP84TseM/CRkbPNrf+3JXQhsPEkgxdIdFP1cl/obeqMQrRgPpvSfK+TOvGuOuV22g== - -"@swc/core-darwin-x64@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.44.tgz#a8de4c176a9b12f201fc754a56331113a53ec69c" - integrity sha512-bM0IKBjlSD0yHJbd7bE3il5fTu3oUjUO2zjLkzfIx6tiqbmDyvOX8adaSqse9N+d8Ip9p26b5Vo7pMHq0POGkg== - -"@swc/core-linux-arm-gnueabihf@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.44.tgz#300731367c88bf02b8ae20264d4d402362e444df" - integrity sha512-D4lfVwCbkWscDTb6btb89+bN0kgvjGBPfOmcvih7nY5hxaorwvp+PefkYAhFw8vKmL92lrnWUFNiTemVFN4bxg== - -"@swc/core-linux-arm64-gnu@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.44.tgz#8b52d1cd28f277d47bb45c6791f44da568a62bc4" - integrity sha512-muExPTrN26MFmtO+5uffkH5v4lmd8GdmyWvlC2tL95h7o9genTIQyr7kcSepGZrDe4fM9G6++5YfENhUpXHo+g== - -"@swc/core-linux-arm64-musl@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.44.tgz#7b0e62255ae13c397f09ca5da8bf2266482a28c2" - integrity sha512-MY1wY3kSIosjJKKCfFGniJFFVkt3oPvJLN4Dlj+bMgAt3O7anm8lGbyLqUpJ1Ep4rTsJj7ObO06DQiSWp4Fhcw== - -"@swc/core-linux-x64-gnu@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.44.tgz#0b8b2544c312f247aa5c5f31671a175ad6488309" - integrity sha512-xV4pDxJM06g0yUDTA22ZHgonzGqf/poIlgADRmEkx9cWWm5qLRhmWrrkVX1xZVvdlcXj1ERnia/UkvrDux96lg== - -"@swc/core-linux-x64-musl@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.44.tgz#5b1f76fc1dc75875df59d8c0ff37e99e030f9552" - integrity sha512-NJnnlE8vCkKHoo/wIaoywNN/01vNsvhKUjBgUx865sUM/XWAIanpbV41yfdEkC+Iwd+/zB3ZZnOYql3b+Nn8aQ== - -"@swc/core-win32-arm64-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.44.tgz#bd4aefcd7734229f780c9bec0502935884935f0f" - integrity sha512-/xOtjZhX25GEOPLN55icjj9E061DDH7G0A9HfUAEilURgBbvm6bIlqK+t8mOKK0tOsDoHftdTBRkYhTAqUtakQ== - -"@swc/core-win32-ia32-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.44.tgz#0c2ba768f33acb580422e17d4ae816ebfd3dcfe0" - integrity sha512-uKTAWQuMEW1gJnl8F3eiz3kdk8CiaR5dMWWlGbHIq6dRbur2hoKaEnINR4UqkvvAhhY1YB0Xr5DV1H986Xu2EA== - -"@swc/core-win32-x64-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.44.tgz#b137abefbeb3b73a47cc398bc5603ea6bf6a3a7b" - integrity sha512-D9fBRhr44cK4YIKFikpktyUDLkZgVj0ISaSl8IjiTvjqTrE/9+E+dzTNHULn5tc3lHVLLxyVwMjJRr2G0D4O6w== - -"@swc/core@^1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.44.tgz#2886bdd647942f9670b65c02b6d5484ff3070ddd" - integrity sha512-RC25C8nxOCdfGS//F9Q8aHKx4XoCsxvgO+sSUhvt7zDz1Y2ruVUTu2UOH0VeE0WkA8j6oEZH+xH2SUfDUkxXdA== +"@stryker-mutator/api@6.4.2": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@stryker-mutator/api/-/api-6.4.2.tgz#1c0f5d37018991de1d46898fc790ccc6f9b8ae85" + integrity sha512-b9+h5lC2gdtjALUuu0FvcFCwaja7BVzYwmiR5JkQXr8sMtL3rcaYrX4wfI1uHmPqwx9wwjLKpn+FVuyc69IyuQ== + dependencies: + mutation-testing-metrics "1.7.14" + mutation-testing-report-schema "1.7.14" + tslib "~2.5.0" + +"@stryker-mutator/core@^6.4.2": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@stryker-mutator/core/-/core-6.4.2.tgz#d8c69e494537439ca11098f42e42f58912444a8f" + integrity sha512-ftT7G9FwVItpY/sntQWX/Leh3jwPWRcF8tsTeSjiPkEre7gBYegjKgPoUsR4It6KSZE9HZW8ezqUyWTOI9qhzQ== + dependencies: + "@stryker-mutator/api" "6.4.2" + "@stryker-mutator/instrumenter" "6.4.2" + "@stryker-mutator/util" "6.4.2" + ajv "~8.12.0" + chalk "~5.2.0" + commander "~10.0.0" + diff-match-patch "1.0.5" + emoji-regex "~10.2.1" + execa "~7.1.0" + file-url "~4.0.0" + get-port "~6.1.0" + glob "~9.3.0" + inquirer "~9.1.0" + lodash.flatmap "~4.5.0" + lodash.groupby "~4.6.0" + log4js "~6.9.0" + minimatch "~7.4.2" + mutation-testing-elements "1.7.14" + mutation-testing-metrics "1.7.14" + mutation-testing-report-schema "1.7.14" + npm-run-path "~5.1.0" + progress "~2.0.0" + rimraf "~4.4.0" + rxjs "~7.8.0" + semver "^7.3.5" + source-map "~0.7.3" + tree-kill "~1.2.2" + tslib "~2.5.0" + typed-inject "~3.0.0" + typed-rest-client "~1.8.0" + +"@stryker-mutator/instrumenter@6.4.2": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@stryker-mutator/instrumenter/-/instrumenter-6.4.2.tgz#861f5a49da77702601771c6d5f780351740a905f" + integrity sha512-rNX7XHtXE/WjtoK3hK7oga0BNObNcqGk3l7W1VVLpUqCwX3SkWNG6DcT68gp3g1/Ha+4ty7aSlVS/cPzHt/3lQ== + dependencies: + "@babel/core" "~7.21.0" + "@babel/generator" "~7.21.0" + "@babel/parser" "~7.21.0" + "@babel/plugin-proposal-class-properties" "~7.18.0" + "@babel/plugin-proposal-decorators" "~7.21.0" + "@babel/plugin-proposal-private-methods" "~7.18.0" + "@babel/preset-typescript" "~7.21.0" + "@stryker-mutator/api" "6.4.2" + "@stryker-mutator/util" "6.4.2" + angular-html-parser "~4.0.0" + weapon-regex "~1.0.2" + +"@stryker-mutator/jest-runner@^6.4.2": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@stryker-mutator/jest-runner/-/jest-runner-6.4.2.tgz#27806e8f5e1c3b62272b0febfe7f3da9e4143726" + integrity sha512-rDetgBolcqvtugsoDetOnVuQc5fvggSfAVmMqX/QILfd4aG55y1GJI9NBNzDF3Ye5HBs6t7jGODFz+z75W6PKw== + dependencies: + "@stryker-mutator/api" "6.4.2" + "@stryker-mutator/util" "6.4.2" + semver "~7.3.7" + tslib "~2.5.0" + +"@stryker-mutator/util@6.4.2": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@stryker-mutator/util/-/util-6.4.2.tgz#8d7274198b955c9d29a068af2ff373a9060da8e2" + integrity sha512-L6lf2JddgLS3D8cIN7FxxkRPmZ0PF48sdvn5TPnDhwZ7/1IXRXolzJFtXhQinRnDu6SyKGSJcwNOeJXyCcmuLQ== + dependencies: + lodash.flatmap "~4.5.0" + +"@swc/core-darwin-arm64@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.45.tgz#517e3c80eed4865a682722cf101c77ba50a9073d" + integrity sha512-CZjYMp9iouhzQChh4C5VMnRZQSlKiBUfUwwGfaGAEzBbhVmcVgUEbQ7j50I4iJLbxelXGLmj//g5D0bqdm/0rA== + +"@swc/core-darwin-x64@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.45.tgz#48e8eca6610d8ad3a332bd8987ad58165d0b6c9e" + integrity sha512-aGqKM0hGBlaNGrBdiJqO/KQqucfuUtOQgQpsadwnd2mWGXT7Y1qfF/r9bYfQMYMEHVNzP6dwN8PY3K4FTj2HXw== + +"@swc/core-linux-arm-gnueabihf@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.45.tgz#7e3fb326edde7ffd84bd79598d58768c7850a450" + integrity sha512-IB1hh/f8jymeoHpUtpfTH7ZsEcee2JMlIkDfzK4JSvlKMh8Fz+zAB6DSh85Qz5MIlkppcwvnrAGWCHj7CKcqAA== + +"@swc/core-linux-arm64-gnu@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.45.tgz#c82c2f64b09a190a08a29951d55f27c3f4a74f4f" + integrity sha512-rRsVqbgtzp+65ja9ztP8oXc35Vig8J5b2dw9gdevEmdxb1h0B5LYKDQTLLxLznHIp3UCMP6C0chdj4XYmAtiQQ== + +"@swc/core-linux-arm64-musl@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.45.tgz#fef9a5900d096f4f68c3f74feea9e1cbf9d22566" + integrity sha512-bGGFsotBts59cWR92n98jI+aZTzyJPdInams0Noly7LGHbf1+G2fBkn3RCQvbOuvFvsyWnwNx96dyi9Os7VSig== + +"@swc/core-linux-x64-gnu@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.45.tgz#b61a0337649b89fc6ee525d2a29ddde61f18533f" + integrity sha512-Xw87pRAZM1NNu5DCmvkw35Oj+baJv8DRWF3qJ3cXwBaNpbcX+19dkpdw8GeAaN0jt8k+eMzeQiKzusrIP+D7jw== + +"@swc/core-linux-x64-musl@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.45.tgz#ad919313bd0bd59991b15daf369b0490492797ac" + integrity sha512-zyUnKqILPMbQRKeELxX7nkudm/hWcP3+eIhCnMSzVqW6OrffMiRbQhLHiJHtdYfExR60dBkPhogAK78+PspLSQ== + +"@swc/core-win32-arm64-msvc@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.45.tgz#42537aca71dc58e3227d342896d6b9fc7a4497fb" + integrity sha512-/rF4hwHN7SwLJZtfh0Z5lax9aXh02pcuFBYeq0tT0B7I36TX6RhNAWGWP4noXUEaLlzbhGkm3KFmjyri0ZNkEQ== + +"@swc/core-win32-ia32-msvc@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.45.tgz#36a9f396fa9c5cbc763efa3da3f643b005ae5a0d" + integrity sha512-2gGb3PWz696HoVZ47dpOOFLakHERpMFGDB5BGqJeuJZLBnd4ErNj+zeuobz+cPeLItB72wBORR4t3z8Nj9/zCA== + +"@swc/core-win32-x64-msvc@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.45.tgz#d3e77e6fcb930d895db6f9647fe8f2482b2bf020" + integrity sha512-lkMr4iazJ85zNJTZqrHG/qHYoGqGawPuLG1/EVeQmQI31lzA+1LMMjcvsIWYeT/0cK3WO3r0eUiyEklLP1VLig== + +"@swc/core@^1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.45.tgz#cf71a26e99e83d4e91480167c173aa45d1b5887f" + integrity sha512-6oBPAXwI2WXWgIW+geUEieJzkJFOVt9tsm2XVLEhooScBe9g8Zwyo4qFI0agVEoNf+sRURvSFzw9p/KSPjIP1A== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.44" - "@swc/core-darwin-x64" "1.3.44" - "@swc/core-linux-arm-gnueabihf" "1.3.44" - "@swc/core-linux-arm64-gnu" "1.3.44" - "@swc/core-linux-arm64-musl" "1.3.44" - "@swc/core-linux-x64-gnu" "1.3.44" - "@swc/core-linux-x64-musl" "1.3.44" - "@swc/core-win32-arm64-msvc" "1.3.44" - "@swc/core-win32-ia32-msvc" "1.3.44" - "@swc/core-win32-x64-msvc" "1.3.44" + "@swc/core-darwin-arm64" "1.3.45" + "@swc/core-darwin-x64" "1.3.45" + "@swc/core-linux-arm-gnueabihf" "1.3.45" + "@swc/core-linux-arm64-gnu" "1.3.45" + "@swc/core-linux-arm64-musl" "1.3.45" + "@swc/core-linux-x64-gnu" "1.3.45" + "@swc/core-linux-x64-musl" "1.3.45" + "@swc/core-win32-arm64-msvc" "1.3.45" + "@swc/core-win32-ia32-msvc" "1.3.45" + "@swc/core-win32-x64-msvc" "1.3.45" "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -1620,15 +1915,15 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz#52c8a7a4512f10e7249ca1e2e61f81c62c34365c" - integrity sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA== +"@typescript-eslint/eslint-plugin@^5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.1.tgz#d1ab162a3cd2671b8a1c9ddf6e2db73b14439735" + integrity sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/type-utils" "5.57.0" - "@typescript-eslint/utils" "5.57.0" + "@typescript-eslint/scope-manager" "5.57.1" + "@typescript-eslint/type-utils" "5.57.1" + "@typescript-eslint/utils" "5.57.1" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1646,14 +1941,14 @@ "@typescript-eslint/typescript-estree" "5.53.0" debug "^4.3.4" -"@typescript-eslint/parser@^5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.0.tgz#f675bf2cd1a838949fd0de5683834417b757e4fa" - integrity sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ== +"@typescript-eslint/parser@^5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.1.tgz#af911234bd4401d09668c5faf708a0570a17a748" + integrity sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA== dependencies: - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/typescript-estree" "5.57.0" + "@typescript-eslint/scope-manager" "5.57.1" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/typescript-estree" "5.57.1" debug "^4.3.4" "@typescript-eslint/scope-manager@5.53.0": @@ -1664,21 +1959,21 @@ "@typescript-eslint/types" "5.53.0" "@typescript-eslint/visitor-keys" "5.53.0" -"@typescript-eslint/scope-manager@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz#79ccd3fa7bde0758059172d44239e871e087ea36" - integrity sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw== +"@typescript-eslint/scope-manager@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz#5d28799c0fc8b501a29ba1749d827800ef22d710" + integrity sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw== dependencies: - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/visitor-keys" "5.57.0" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/visitor-keys" "5.57.1" -"@typescript-eslint/type-utils@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz#98e7531c4e927855d45bd362de922a619b4319f2" - integrity sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ== +"@typescript-eslint/type-utils@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.1.tgz#235daba621d3f882b8488040597b33777c74bbe9" + integrity sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw== dependencies: - "@typescript-eslint/typescript-estree" "5.57.0" - "@typescript-eslint/utils" "5.57.0" + "@typescript-eslint/typescript-estree" "5.57.1" + "@typescript-eslint/utils" "5.57.1" debug "^4.3.4" tsutils "^3.21.0" @@ -1687,10 +1982,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== -"@typescript-eslint/types@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.0.tgz#727bfa2b64c73a4376264379cf1f447998eaa132" - integrity sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ== +"@typescript-eslint/types@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.1.tgz#d9989c7a9025897ea6f0550b7036027f69e8a603" + integrity sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA== "@typescript-eslint/typescript-estree@5.53.0": version "5.53.0" @@ -1705,30 +2000,30 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz#ebcd0ee3e1d6230e888d88cddf654252d41e2e40" - integrity sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw== +"@typescript-eslint/typescript-estree@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz#10d9643e503afc1ca4f5553d9bbe672ea4050b71" + integrity sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw== dependencies: - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/visitor-keys" "5.57.0" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/visitor-keys" "5.57.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.0.tgz#eab8f6563a2ac31f60f3e7024b91bf75f43ecef6" - integrity sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw== +"@typescript-eslint/utils@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.1.tgz#0f97b0bbd88c2d5e2036869f26466be5f4c69475" + integrity sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/typescript-estree" "5.57.0" + "@typescript-eslint/scope-manager" "5.57.1" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/typescript-estree" "5.57.1" eslint-scope "^5.1.1" semver "^7.3.7" @@ -1740,12 +2035,12 @@ "@typescript-eslint/types" "5.53.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz#e2b2f4174aff1d15eef887ce3d019ecc2d7a8ac1" - integrity sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g== +"@typescript-eslint/visitor-keys@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz#585e5fa42a9bbcd9065f334fd7c8a4ddfa7d905e" + integrity sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA== dependencies: - "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/types" "5.57.1" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1803,7 +2098,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.11.0, ajv@^8.12.0: +ajv@^8.11.0, ajv@^8.12.0, ajv@~8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -1813,6 +2108,13 @@ ajv@^8.11.0, ajv@^8.12.0: require-from-string "^2.0.2" uri-js "^4.2.2" +angular-html-parser@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/angular-html-parser/-/angular-html-parser-4.0.1.tgz#c6b57af1b1768d3872e376a10f18c8de749f38ec" + integrity sha512-x9SLf2jNNh3nG+haVIwKX/GVW8PcvSRmkeT9WqTDYSAVuwT9IzwEyVm09FCZpOo/dtFRxE9vaNXqcAf/MIxphg== + dependencies: + tslib "^2.5.0" + ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1830,6 +2132,13 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.2: dependencies: type-fest "^0.21.3" +ansi-escapes@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.1.0.tgz#f2912cdaa10785f3f51f4b562a2497b885aadc5e" + integrity sha512-bQyg9bzRntwR/8b89DOEhGwctcwCrbWW/TuqTQnpqpy5Fz3aovcOTj5i8NJV6AHc8OGNdMaqdxAWww8pz2kiKg== + dependencies: + type-fest "^3.0.0" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -1879,7 +2188,7 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -ansi-styles@^6.0.0: +ansi-styles@^6.0.0, ansi-styles@^6.1.0: version "6.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== @@ -2130,6 +2439,15 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" +bl@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" + integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== + dependencies: + buffer "^6.0.3" + inherits "^2.0.4" + readable-stream "^3.4.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2197,6 +2515,14 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + caching-transform@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" @@ -2282,7 +2608,7 @@ chai@^4.3.7: pathval "^1.1.1" type-detect "^4.0.5" -chalk@5.2.0: +chalk@5.2.0, chalk@^5.0.0, chalk@^5.2.0, chalk@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== @@ -2404,6 +2730,13 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: version "3.12.0" resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" @@ -2411,6 +2744,11 @@ cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: dependencies: string-width "^4.2.3" +cli-spinners@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" @@ -2469,6 +2807,11 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +cli-width@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.0.0.tgz#a5622f6a3b0a9e3e711a25f099bf2399f608caf6" + integrity sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw== + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -2496,6 +2839,11 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2542,7 +2890,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@^10.0.0: +commander@^10.0.0, commander@~10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1" integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== @@ -2733,6 +3081,11 @@ dargs@^7.0.0: resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== +date-format@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== + dayjs-plugin-utc@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/dayjs-plugin-utc/-/dayjs-plugin-utc-0.1.2.tgz#48e552407024143922d6499a40f6c765f8c93d03" @@ -2804,6 +3157,13 @@ default-require-extensions@^3.0.0: dependencies: strip-bom "^4.0.0" +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + define-properties@^1.1.3, define-properties@^1.1.4: version "1.2.0" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" @@ -2827,6 +3187,11 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +diff-match-patch@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" + integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw== + diff-sequences@^29.4.3: version "29.4.3" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" @@ -2939,6 +3304,11 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +emoji-regex@~10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.2.1.tgz#a41c330d957191efd3d9dfe6e1e8e1e9ab048b3f" + integrity sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA== + end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -3042,6 +3412,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + eslint-config-prettier@^8.8.0: version "8.8.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" @@ -3346,6 +3721,21 @@ execa@^7.0.0: signal-exit "^3.0.7" strip-final-newline "^3.0.0" +execa@~7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" + integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -3489,6 +3879,14 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" +figures@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-5.0.0.tgz#126cd055052dea699f8a54e8c9450e6ecfc44d5f" + integrity sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== + dependencies: + escape-string-regexp "^5.0.0" + is-unicode-supported "^1.2.0" + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -3496,6 +3894,11 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-url@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/file-url/-/file-url-4.0.0.tgz#6fe05262d3187da70bc69889091932b6bc7df270" + integrity sha512-vRCdScQ6j3Ku6Kd7W1kZk9c++5SqD6Xz5Jotrjr/nkY714M14RFHy/AAVA2WQvpsqVAVgTbDrYyBpU205F0cLw== + filelist@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" @@ -3555,7 +3958,7 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^3.1.0: +flatted@^3.1.0, flatted@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== @@ -3699,6 +4102,11 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-port@~6.1.0: + version "6.1.2" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-6.1.2.tgz#c1228abb67ba0e17fb346da33b15187833b9c08a" + integrity sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -3789,6 +4197,16 @@ glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^9.2.0, glob@~9.3.0: + version "9.3.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.4.tgz#e75dee24891a80c25cc7ee1dd327e126b98679af" + integrity sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -4011,7 +4429,7 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -4103,6 +4521,27 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" +inquirer@~9.1.0: + version "9.1.5" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-9.1.5.tgz#2aa48cd3ab76b2d759c86756023dfb107cbb7d45" + integrity sha512-3ygAIh8gcZavV9bj6MTdYddG2zPSYswP808fKS46NOwlF0zZljVpnLCHODDqItWJDbDpLb3aouAxGaJbkxoppA== + dependencies: + ansi-escapes "^6.0.0" + chalk "^5.2.0" + cli-cursor "^4.0.0" + cli-width "^4.0.0" + external-editor "^3.0.3" + figures "^5.0.0" + lodash "^4.17.21" + mute-stream "1.0.0" + ora "^6.1.2" + run-async "^2.4.0" + rxjs "^7.8.0" + string-width "^5.1.2" + strip-ansi "^7.0.1" + through "^2.3.6" + wrap-ansi "^8.1.0" + internal-slot@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" @@ -4209,6 +4648,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-interactive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" + integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -4323,6 +4767,11 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +is-unicode-supported@^1.1.0, is-unicode-supported@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" + integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -5082,6 +5531,11 @@ lodash.difference@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== +lodash.flatmap@~4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" + integrity sha512-/OcpcAGWlrZyoHGeHh3cAoa6nGdX6QYtmzNP84Jqol6UEQQ2gIaU3H+0eICcjcKGl0/XF8LWOujNn9lffsnaOg== + lodash.flatten@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" @@ -5097,6 +5551,11 @@ lodash.get@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== +lodash.groupby@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" + integrity sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw== + lodash.isfunction@^3.0.9: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" @@ -5160,6 +5619,14 @@ log-symbols@4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log-symbols@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" + integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== + dependencies: + chalk "^5.0.0" + is-unicode-supported "^1.1.0" + log-update@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" @@ -5170,6 +5637,17 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" +log4js@~6.9.0: + version "6.9.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" + integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.5" + loglevel-colored-level-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e" @@ -5223,6 +5701,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -5340,6 +5823,20 @@ minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" +minimatch@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.2.tgz#ba35f8afeb255a4cbad4b6677b46132f3278c469" + integrity sha512-ikHGF67ODxj7vS5NKU2wvTsFLbExee+KXVCnBWh8Cg2hVJfBMQIrlo50qru/09E0EifjnU8dZhJ/iHhyXJM6Mw== + dependencies: + brace-expansion "^2.0.1" + +minimatch@~7.4.2: + version "7.4.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.4.tgz#e15a8ab56cc5469eca75a26a1319e5c00900824a" + integrity sha512-T+8B3kNrLP7jDb5eaC4rUIp6DKoeTSb6f9SwF2phcY2gxJUA0GEf1i29/FHxBMEfx0ppWlr434/D0P+6jb8bOQ== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -5354,6 +5851,11 @@ minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +minipass@^4.0.2, minipass@^4.2.4: + version "4.2.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" + integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== + mkdirp-classic@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" @@ -5416,6 +5918,23 @@ multistream@^3.1.0: inherits "^2.0.1" readable-stream "^3.4.0" +mutation-testing-elements@1.7.14: + version "1.7.14" + resolved "https://registry.yarnpkg.com/mutation-testing-elements/-/mutation-testing-elements-1.7.14.tgz#c9fa6886eb834b5f4be62ee68cd1bf68d6895f3b" + integrity sha512-/klVQtO0W9Y3zRUf3Xaf4hvzjCpLMKWetg6/bnLDPBrGTySt7JeW+muh2JQcBessDJMFFZyFYKdCTJOL5AhlBw== + +mutation-testing-metrics@1.7.14: + version "1.7.14" + resolved "https://registry.yarnpkg.com/mutation-testing-metrics/-/mutation-testing-metrics-1.7.14.tgz#6278042b1e7ebd75d39b9143cb1d1da8a3036d4a" + integrity sha512-Y5I6p2gZy7sXYfWn9yR863vd3NA9IhjKccUdbybmHASRy5b7zit6B03DczuYU+cQDqZ7WX38gzQ9IFs/JdbHqQ== + dependencies: + mutation-testing-report-schema "1.7.14" + +mutation-testing-report-schema@1.7.14: + version "1.7.14" + resolved "https://registry.yarnpkg.com/mutation-testing-report-schema/-/mutation-testing-report-schema-1.7.14.tgz#7c493c810d30038a636e1a2e9dd13f4917307983" + integrity sha512-vN2Gw5dXWp1I7fj9PSzyBPy7KqNG4wN5qMdHwTV339fbW2pH19qlSU5Qg6VJlAZtlfgUiDJ1NYYgIEjpoqrRZA== + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -5426,6 +5945,11 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +mute-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== + mv@~2: version "2.1.1" resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" @@ -5573,7 +6097,7 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npm-run-path@^5.1.0: +npm-run-path@^5.1.0, npm-run-path@~5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== @@ -5695,6 +6219,21 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +ora@^6.1.2: + version "6.3.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-6.3.0.tgz#a314600999f514a989a0904f5c17c8b7c1f7c878" + integrity sha512-1/D8uRFY0ay2kgBpmAwmSA404w4OoPVhHMqRqtjvrcK/dnzcEZxMJ+V4DUbyICu8IIVRclHcOf5wlD1tMY4GUQ== + dependencies: + chalk "^5.0.0" + cli-cursor "^4.0.0" + cli-spinners "^2.6.1" + is-interactive "^2.0.0" + is-unicode-supported "^1.1.0" + log-symbols "^5.1.0" + stdin-discarder "^0.1.0" + strip-ansi "^7.0.1" + wcwidth "^1.0.1" + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -5849,6 +6388,14 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.6.1: + version "1.6.3" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.3.tgz#4eba7183d64ef88b63c7d330bddc3ba279dc6c40" + integrity sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g== + dependencies: + lru-cache "^7.14.1" + minipass "^4.0.2" + path-to-regexp@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" @@ -5964,6 +6511,11 @@ process-on-spawn@^1.0.0: dependencies: fromentries "^1.2.0" +progress@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + prompts@^2.0.1: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -6024,6 +6576,13 @@ qqjs@^0.3.10: tmp "^0.1.0" write-json-file "^4.1.1" +qs@^6.9.1: + version "6.11.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f" + integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ== + dependencies: + side-channel "^1.0.4" + querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -6233,6 +6792,14 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -6264,6 +6831,13 @@ rimraf@~2.4.0: dependencies: glob "^6.0.1" +rimraf@~4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" + integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== + dependencies: + glob "^9.2.0" + run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -6283,7 +6857,7 @@ rxjs@^6.4.0, rxjs@^6.6.0: dependencies: tslib "^1.9.0" -rxjs@^7.8.0: +rxjs@^7.8.0, rxjs@~7.8.0: version "7.8.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== @@ -6334,7 +6908,7 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.8, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: +semver@7.3.8, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@~7.3.7: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== @@ -6516,6 +7090,11 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@~0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + spawn-wrap@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" @@ -6573,6 +7152,13 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stdin-discarder@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21" + integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== + dependencies: + bl "^5.0.0" + stdout-stderr@^0.1.9: version "0.1.13" resolved "https://registry.yarnpkg.com/stdout-stderr/-/stdout-stderr-0.1.13.tgz#54e3450f3d4c54086a49c0c7f8786a44d1844b6f" @@ -6581,6 +7167,15 @@ stdout-stderr@^0.1.9: debug "^4.1.1" strip-ansi "^6.0.0" +streamroller@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" + integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" + string-argv@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -6611,7 +7206,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.0: +string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -6866,6 +7461,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +tree-kill@~1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -6910,7 +7510,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.5.0: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.5.0, tslib@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== @@ -6929,6 +7529,11 @@ tunnel-agent@*, tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -6966,6 +7571,11 @@ type-fest@^0.8.0, type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^3.0.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.7.2.tgz#08f83ee3229b63077e95c9035034d32905969457" + integrity sha512-f9BHrLjRJ4MYkfOsnC/53PNDzZJcVo14MqLp2+hXE39p5bgwqohxR5hDZztwxlbxmIVuvC2EFAKrAkokq23PLA== + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" @@ -6975,6 +7585,20 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typed-inject@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/typed-inject/-/typed-inject-3.0.1.tgz#edd396d3e98ae27dd2f3a209bfee2ad2d447ac5f" + integrity sha512-5yr8inrNos7uo/irp5PZ7WNwmYGfoa0w1NiDdCWW6hhIxYH2NCqYwX9BUOXpZgxk964rb1ElEfvBtftuvIPpvw== + +typed-rest-client@~1.8.0: + version "1.8.9" + resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.8.9.tgz#e560226bcadfe71b0fb5c416b587f8da3b8f92d8" + integrity sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g== + dependencies: + qs "^6.9.1" + tunnel "0.0.6" + underscore "^1.12.1" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -7007,6 +7631,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +underscore@^1.12.1: + version "1.13.6" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -7111,6 +7740,18 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +weapon-regex@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/weapon-regex/-/weapon-regex-1.0.3.tgz#56b5cd6054bb23323bdde640c09062b5aebe024e" + integrity sha512-V8X6hPIzY1juvrSVREmtRhK9AHn/8c2z8XxaibESU+jyG/RinZ9x9x6aw8qEuFAi7R6Kl/EWGbU2Yq/9u6TTjw== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -7220,6 +7861,15 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" From ddd2d5fafae259e5f783c3ad03ba6956dd9fa969 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 4 Apr 2023 13:47:23 +0200 Subject: [PATCH 50/63] test: add E2E tests (#551) --- .github/workflows/on-pull-request.yml | 35 +++++-- .mocharc.json | 2 +- CONTRIBUTING.md | 33 ++++++- package.json | 3 +- yarn.lock | 128 +++++++++++++------------- 5 files changed, 122 insertions(+), 79 deletions(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 84af34e7..1825db32 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -105,7 +105,7 @@ jobs: uses: ./.github/workflows/reusable-build.yml secrets: inherit - installation-check: + e2e-check: needs: [build, source-lint] strategy: matrix: @@ -115,28 +115,45 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 + with: + path: ./plugin + + - name: Checkout sources + uses: actions/checkout@v3 + with: + ref: 'e2e/head' + fetch-depth: 0 + path: ./e2e - name: Setup node uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} - - name: Setup dependencies, cache and install in prod context - uses: ./.github/actions/install - with: - prod-context: true + - name: Install dependencies in production mode + working-directory: ./plugin + run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod + shell: bash - name: Install build dependencies + working-directory: ./plugin run: yarn add @salesforce/dev-config typescript - name: Build plugin + working-directory: ./plugin run: yarn pack - name: Install sfdx-cli run: npm install -g sfdx-cli - name: Install plugin - run: sfdx plugins:link . - - - name: Test installation - run: sfdx sgd:source:delta --help + working-directory: ./plugin + run: | + sfdx plugins:link . + sfdx plugins + + - name: E2E Tests + working-directory: ./e2e + run: | + yarn + yarn test:e2e diff --git a/.mocharc.json b/.mocharc.json index c8104ccc..c140c59c 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -3,5 +3,5 @@ "watch-extensions": "ts", "recursive": true, "reporter": "spec", - "timeout": 5000 + "timeout": 30000 } \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f40347e0..1ae1bf83 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,6 +66,30 @@ When developing, use mocha testing to provide NUT functional test. To run the mo yarn test:nut ``` +### E2E Testing sgd + +SGD has E2E executed at the PR level. +Those test are located in the branch `e2e/base` and `e2e/head` +Base scenario are implemented in `e2e/base` branch +Updates to the metadata are implemented in `e2e/head` + +To run the E2E test locally, clone the repository in another folder and checkout the branch `e2e/head` +Then execute: + +```bash +# remove expected content +yarn clean +# run the test +sfdx sgd:source:delta --from "e2e/base" --to "e2e/head" --output "expected" -d +# check expected is back to normal +yarn test:e2e +``` + +Note: you may want to execute the local plugin using `node` if you have not linked the folder used to develop locally with the plugin. +```bash +node path/to/sfdx-git-delta/bin/run sgd:source:delta --from "e2e/base" --to "e2e/head" --output "expected" -d +``` + ## Editor Configurations Configure your editor to use our lint and code style rules. @@ -225,7 +249,8 @@ To test SGD as a Salesforce CLI plugin from a pending pull request: 1. uninstall the previous version you may have `sfdx plugins:uninstall sfdx-git-delta` 2. clone the repository -3. checkout the branch to test -4. install the dependencies `yarn install` -5. run `yarn pack`, followed by `sfdx plugins:link`, from that local repository -6. test the plugin! \ No newline at end of file +3. change directory for the repository folder +4. checkout the branch to test +5. install the dependencies `yarn install` +6. run `yarn pack`, followed by `sfdx plugins:link`, from that local repository +7. test the plugin! \ No newline at end of file diff --git a/package.json b/package.json index 486c3dfc..aaf4b9f7 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "dependencies": { "@oclif/command": "^1.8.22", "@oclif/config": "^1.18.8", + "@oclif/core": "^2.8.0", "@oclif/errors": "^1.3.6", "@salesforce/command": "^5.3.5", "@salesforce/core": "^3.34.6", @@ -80,7 +81,7 @@ "@salesforce/ts-sinon": "^1.4.6", "@stryker-mutator/core": "^6.4.2", "@stryker-mutator/jest-runner": "^6.4.2", - "@swc/core": "^1.3.45", + "@swc/core": "^1.3.44", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/node": "^18.15.11", diff --git a/yarn.lock b/yarn.lock index 87c55515..83201307 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1632,71 +1632,71 @@ dependencies: lodash.flatmap "~4.5.0" -"@swc/core-darwin-arm64@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.45.tgz#517e3c80eed4865a682722cf101c77ba50a9073d" - integrity sha512-CZjYMp9iouhzQChh4C5VMnRZQSlKiBUfUwwGfaGAEzBbhVmcVgUEbQ7j50I4iJLbxelXGLmj//g5D0bqdm/0rA== - -"@swc/core-darwin-x64@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.45.tgz#48e8eca6610d8ad3a332bd8987ad58165d0b6c9e" - integrity sha512-aGqKM0hGBlaNGrBdiJqO/KQqucfuUtOQgQpsadwnd2mWGXT7Y1qfF/r9bYfQMYMEHVNzP6dwN8PY3K4FTj2HXw== - -"@swc/core-linux-arm-gnueabihf@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.45.tgz#7e3fb326edde7ffd84bd79598d58768c7850a450" - integrity sha512-IB1hh/f8jymeoHpUtpfTH7ZsEcee2JMlIkDfzK4JSvlKMh8Fz+zAB6DSh85Qz5MIlkppcwvnrAGWCHj7CKcqAA== - -"@swc/core-linux-arm64-gnu@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.45.tgz#c82c2f64b09a190a08a29951d55f27c3f4a74f4f" - integrity sha512-rRsVqbgtzp+65ja9ztP8oXc35Vig8J5b2dw9gdevEmdxb1h0B5LYKDQTLLxLznHIp3UCMP6C0chdj4XYmAtiQQ== - -"@swc/core-linux-arm64-musl@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.45.tgz#fef9a5900d096f4f68c3f74feea9e1cbf9d22566" - integrity sha512-bGGFsotBts59cWR92n98jI+aZTzyJPdInams0Noly7LGHbf1+G2fBkn3RCQvbOuvFvsyWnwNx96dyi9Os7VSig== - -"@swc/core-linux-x64-gnu@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.45.tgz#b61a0337649b89fc6ee525d2a29ddde61f18533f" - integrity sha512-Xw87pRAZM1NNu5DCmvkw35Oj+baJv8DRWF3qJ3cXwBaNpbcX+19dkpdw8GeAaN0jt8k+eMzeQiKzusrIP+D7jw== - -"@swc/core-linux-x64-musl@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.45.tgz#ad919313bd0bd59991b15daf369b0490492797ac" - integrity sha512-zyUnKqILPMbQRKeELxX7nkudm/hWcP3+eIhCnMSzVqW6OrffMiRbQhLHiJHtdYfExR60dBkPhogAK78+PspLSQ== - -"@swc/core-win32-arm64-msvc@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.45.tgz#42537aca71dc58e3227d342896d6b9fc7a4497fb" - integrity sha512-/rF4hwHN7SwLJZtfh0Z5lax9aXh02pcuFBYeq0tT0B7I36TX6RhNAWGWP4noXUEaLlzbhGkm3KFmjyri0ZNkEQ== - -"@swc/core-win32-ia32-msvc@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.45.tgz#36a9f396fa9c5cbc763efa3da3f643b005ae5a0d" - integrity sha512-2gGb3PWz696HoVZ47dpOOFLakHERpMFGDB5BGqJeuJZLBnd4ErNj+zeuobz+cPeLItB72wBORR4t3z8Nj9/zCA== - -"@swc/core-win32-x64-msvc@1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.45.tgz#d3e77e6fcb930d895db6f9647fe8f2482b2bf020" - integrity sha512-lkMr4iazJ85zNJTZqrHG/qHYoGqGawPuLG1/EVeQmQI31lzA+1LMMjcvsIWYeT/0cK3WO3r0eUiyEklLP1VLig== - -"@swc/core@^1.3.45": - version "1.3.45" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.45.tgz#cf71a26e99e83d4e91480167c173aa45d1b5887f" - integrity sha512-6oBPAXwI2WXWgIW+geUEieJzkJFOVt9tsm2XVLEhooScBe9g8Zwyo4qFI0agVEoNf+sRURvSFzw9p/KSPjIP1A== +"@swc/core-darwin-arm64@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.44.tgz#e0f5eb9d962c4e6192531c2e3b8c11f55faf1b89" + integrity sha512-Y+oVsCjXUPvr3D9YLuB1gjP84TseM/CRkbPNrf+3JXQhsPEkgxdIdFP1cl/obeqMQrRgPpvSfK+TOvGuOuV22g== + +"@swc/core-darwin-x64@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.44.tgz#a8de4c176a9b12f201fc754a56331113a53ec69c" + integrity sha512-bM0IKBjlSD0yHJbd7bE3il5fTu3oUjUO2zjLkzfIx6tiqbmDyvOX8adaSqse9N+d8Ip9p26b5Vo7pMHq0POGkg== + +"@swc/core-linux-arm-gnueabihf@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.44.tgz#300731367c88bf02b8ae20264d4d402362e444df" + integrity sha512-D4lfVwCbkWscDTb6btb89+bN0kgvjGBPfOmcvih7nY5hxaorwvp+PefkYAhFw8vKmL92lrnWUFNiTemVFN4bxg== + +"@swc/core-linux-arm64-gnu@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.44.tgz#8b52d1cd28f277d47bb45c6791f44da568a62bc4" + integrity sha512-muExPTrN26MFmtO+5uffkH5v4lmd8GdmyWvlC2tL95h7o9genTIQyr7kcSepGZrDe4fM9G6++5YfENhUpXHo+g== + +"@swc/core-linux-arm64-musl@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.44.tgz#7b0e62255ae13c397f09ca5da8bf2266482a28c2" + integrity sha512-MY1wY3kSIosjJKKCfFGniJFFVkt3oPvJLN4Dlj+bMgAt3O7anm8lGbyLqUpJ1Ep4rTsJj7ObO06DQiSWp4Fhcw== + +"@swc/core-linux-x64-gnu@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.44.tgz#0b8b2544c312f247aa5c5f31671a175ad6488309" + integrity sha512-xV4pDxJM06g0yUDTA22ZHgonzGqf/poIlgADRmEkx9cWWm5qLRhmWrrkVX1xZVvdlcXj1ERnia/UkvrDux96lg== + +"@swc/core-linux-x64-musl@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.44.tgz#5b1f76fc1dc75875df59d8c0ff37e99e030f9552" + integrity sha512-NJnnlE8vCkKHoo/wIaoywNN/01vNsvhKUjBgUx865sUM/XWAIanpbV41yfdEkC+Iwd+/zB3ZZnOYql3b+Nn8aQ== + +"@swc/core-win32-arm64-msvc@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.44.tgz#bd4aefcd7734229f780c9bec0502935884935f0f" + integrity sha512-/xOtjZhX25GEOPLN55icjj9E061DDH7G0A9HfUAEilURgBbvm6bIlqK+t8mOKK0tOsDoHftdTBRkYhTAqUtakQ== + +"@swc/core-win32-ia32-msvc@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.44.tgz#0c2ba768f33acb580422e17d4ae816ebfd3dcfe0" + integrity sha512-uKTAWQuMEW1gJnl8F3eiz3kdk8CiaR5dMWWlGbHIq6dRbur2hoKaEnINR4UqkvvAhhY1YB0Xr5DV1H986Xu2EA== + +"@swc/core-win32-x64-msvc@1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.44.tgz#b137abefbeb3b73a47cc398bc5603ea6bf6a3a7b" + integrity sha512-D9fBRhr44cK4YIKFikpktyUDLkZgVj0ISaSl8IjiTvjqTrE/9+E+dzTNHULn5tc3lHVLLxyVwMjJRr2G0D4O6w== + +"@swc/core@^1.3.44": + version "1.3.44" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.44.tgz#2886bdd647942f9670b65c02b6d5484ff3070ddd" + integrity sha512-RC25C8nxOCdfGS//F9Q8aHKx4XoCsxvgO+sSUhvt7zDz1Y2ruVUTu2UOH0VeE0WkA8j6oEZH+xH2SUfDUkxXdA== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.45" - "@swc/core-darwin-x64" "1.3.45" - "@swc/core-linux-arm-gnueabihf" "1.3.45" - "@swc/core-linux-arm64-gnu" "1.3.45" - "@swc/core-linux-arm64-musl" "1.3.45" - "@swc/core-linux-x64-gnu" "1.3.45" - "@swc/core-linux-x64-musl" "1.3.45" - "@swc/core-win32-arm64-msvc" "1.3.45" - "@swc/core-win32-ia32-msvc" "1.3.45" - "@swc/core-win32-x64-msvc" "1.3.45" + "@swc/core-darwin-arm64" "1.3.44" + "@swc/core-darwin-x64" "1.3.44" + "@swc/core-linux-arm-gnueabihf" "1.3.44" + "@swc/core-linux-arm64-gnu" "1.3.44" + "@swc/core-linux-arm64-musl" "1.3.44" + "@swc/core-linux-x64-gnu" "1.3.44" + "@swc/core-linux-x64-musl" "1.3.44" + "@swc/core-win32-arm64-msvc" "1.3.44" + "@swc/core-win32-ia32-msvc" "1.3.44" + "@swc/core-win32-x64-msvc" "1.3.44" "@tsconfig/node10@^1.0.7": version "1.0.9" From 49b882ee651a03e9b53d50919904f077b983fa87 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 4 Apr 2023 19:24:36 +0200 Subject: [PATCH 51/63] fix: get parent folder name portability (#562) --- src/service/inFolderHandler.js | 3 +-- src/service/inResourceHandler.js | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/service/inFolderHandler.js b/src/service/inFolderHandler.js index 9aaeed10..a779064f 100644 --- a/src/service/inFolderHandler.js +++ b/src/service/inFolderHandler.js @@ -5,7 +5,6 @@ const { META_REGEX, METAFILE_SUFFIX, } = require('../utils/metadataConstants') -const { GIT_PATH_SEP } = require('../utils/gitConstants') const { cleanUpPackageMember } = require('../utils/packageHelper') const { join, parse, sep } = require('path') const { readDir } = require('../utils/fsHelper') @@ -54,7 +53,7 @@ class InFolderHandler extends StandardHandler { _isProcessable() { const parsedLine = parse(this.line) - const parentFolder = parsedLine.dir.split(GIT_PATH_SEP).pop() + const parentFolder = parsedLine.dir.split(sep).pop() return ( super._isProcessable() || parentFolder !== this.type || diff --git a/src/service/inResourceHandler.js b/src/service/inResourceHandler.js index 8d166d9d..74d644ee 100644 --- a/src/service/inResourceHandler.js +++ b/src/service/inResourceHandler.js @@ -3,7 +3,7 @@ const StandardHandler = require('./standardHandler') const { join, parse } = require('path') const { pathExists, readDir } = require('../utils/fsHelper') const { META_REGEX } = require('../utils/metadataConstants') -const { GIT_PATH_SEP } = require('../utils/gitConstants') +const { sep } = require('path') const { cleanUpPackageMember } = require('../utils/packageHelper') const STATICRESOURCE_TYPE = 'staticresources' @@ -78,7 +78,7 @@ class ResourceHandler extends StandardHandler { _isProcessable() { const parsedLine = parse(this.line) - const parentFolder = parsedLine.dir.split(GIT_PATH_SEP).pop() + const parentFolder = parsedLine.dir.split(sep).pop() return ( super._isProcessable() || From 7e7f754b60e35c407716cb79fc48a70095e6ee6a Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 4 Apr 2023 20:43:57 +0200 Subject: [PATCH 52/63] chore(main): release 5.17.1 (#563) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 222c2ee3..518eda21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.17.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.17.0...v5.17.1) (2023-04-04) + + +### Bug Fixes + +* get parent folder name portability ([#562](https://github.com/scolladon/sfdx-git-delta/issues/562)) ([49b882e](https://github.com/scolladon/sfdx-git-delta/commit/49b882ee651a03e9b53d50919904f077b983fa87)) + ## [5.17.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.16.0...v5.17.0) (2023-04-04) diff --git a/package.json b/package.json index aaf4b9f7..d5e63556 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.17.0", + "version": "5.17.1", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From bb8dfb0596ed8c3f423f4c60ab0200bccc705577 Mon Sep 17 00:00:00 2001 From: Nicolas Vuillamy Date: Mon, 17 Apr 2023 15:41:43 +0200 Subject: [PATCH 53/63] ci: add MegaLinter and fix its output (#569) Co-authored-by: nvuillam --- .github/PULL_REQUEST_TEMPLATE.md | 8 +- .github/actions/install/action.yml | 7 +- .github/dependabot.yml | 3 +- .github/linters/.checkov.yml | 7 + .github/linters/.cspell.json | 145 ++++++++++++++++++ .github/linters/.jscpd.json | 13 ++ .../workflows/manual-deprecate-versions.yml | 5 +- .github/workflows/manual-manage-versions.yml | 13 +- .github/workflows/on-main-push.yml | 15 +- .github/workflows/on-published-release.yml | 3 +- .github/workflows/on-pull-request.yml | 57 +++++-- .github/workflows/reusable-build.yml | 1 + .gitignore | 2 + .mega-linter.yml | 16 ++ .trivyignore | 1 + CHANGELOG.md | 7 +- CODE_OF_CONDUCT.md | 6 +- CONTRIBUTING.md | 34 ++-- LICENSE.md | 1 + PUBLISHING.md | 18 +-- README.md | 48 +++--- SECURITY.md | 2 +- __tests__/integration/delta.test.js | 8 +- .../post-processor/packageGenerator.test.js | 2 +- .../postProcessorManager.test.js | 12 +- .../unit/lib/service/inFolderHandler.test.js | 2 +- .../lib/service/inResourceHandler.test.js | 4 +- __tests__/unit/lib/utils/cliHelper.test.js | 8 +- __tests__/unit/lib/utils/fsHelper.test.js | 2 +- __tests__/unit/lib/utils/fxpHelper.test.js | 2 +- messages/delta.js | 2 +- src/service/inFileHandler.js | 4 +- src/utils/cliHelper.js | 4 +- src/utils/fileGitDiff.js | 4 +- 34 files changed, 345 insertions(+), 121 deletions(-) create mode 100644 .github/linters/.checkov.yml create mode 100644 .github/linters/.cspell.json create mode 100644 .github/linters/.jscpd.json create mode 100644 .mega-linter.yml create mode 100644 .trivyignore diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 337f1169..cd1fd32e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,7 +2,7 @@ Thanks for sending a pull request! Please make sure to have a look to the contribution guidelines, then fill out the blanks below. --> -## Explain your changes +# Explain your changes --- @@ -10,7 +10,7 @@ Thanks for sending a pull request! Please make sure to have a look to the contri Describe with your own words the content of the Pull Request --> -## Does this close any currently open issues? +# Does this close any currently open issues? --- @@ -23,7 +23,7 @@ closes # - [ ] Jest test added to check the fix is applied. -## Any particular element that can be tested locally +# Any particular element that can be tested locally --- @@ -31,7 +31,7 @@ closes # Provide any new parameters or new behaviour with existing parameters --> -## Any other comments +# Any other comments --- diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 5f52a35d..02972a98 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -1,3 +1,4 @@ +--- name: Install description: Install dependencies @@ -5,7 +6,7 @@ inputs: prod-context: required: false description: drive installation mode - default: false + default: "false" runs: using: composite @@ -25,8 +26,8 @@ runs: if: ${{ inputs.prod-context == 'true' }} run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod shell: bash - + - name: Install dependencies in integration mode if: ${{ inputs.prod-context == 'false' }} run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile - shell: bash \ No newline at end of file + shell: bash diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 86e358a9..4564f192 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,4 @@ +--- version: 2 updates: - package-ecosystem: "github-actions" @@ -15,4 +16,4 @@ updates: commit-message: prefix: "build" allow: - - dependency-type: "all" \ No newline at end of file + - dependency-type: "all" diff --git a/.github/linters/.checkov.yml b/.github/linters/.checkov.yml new file mode 100644 index 00000000..ddb11bea --- /dev/null +++ b/.github/linters/.checkov.yml @@ -0,0 +1,7 @@ +--- +# You can see all available properties here: https://github.com/bridgecrewio/checkov#configuration-using-a-config-file +quiet: true +skip-check: + - CKV_DOCKER_2 + - CKV2_GHA_1 + - CKV_GHA_7 diff --git a/.github/linters/.cspell.json b/.github/linters/.cspell.json new file mode 100644 index 00000000..3dc7ca4a --- /dev/null +++ b/.github/linters/.cspell.json @@ -0,0 +1,145 @@ +{ + "ignorePaths": [ + "CHANGELOG.md", + "**/node_modules/**", + "**/.git/**", + ".vscode", + "megalinter", + "yarn.lock", + "report" + ], + "language": "en", + "noConfigSearch": true, + "version": "0.2", + "words": [ + "Afile", + "CODECOV", + "CODEOWNERS", + "Cherfaoui", + "Colladon", + "Commitlint", + "FORCEIGNORE", + "FORCEINCLUDE", + "FULLNAME", + "Flexi", + "Iframe", + "METAFILE", + "Mehdi", + "Nimn", + "Omni", + "Parens", + "SFDX", + "STATICRESOURCE", + "Scontrol", + "Sebastien", + "Sfdx", + "Translationline", + "Unpackaged", + "Wavehandler", + "amannn", + "anotherignore", + "apexskier", + "apiversion", + "appli", + "authprovider", + "authproviders", + "behaviour", + "brqh", + "codeclimate", + "codecov", + "commandsstop", + "commitlint", + "contentassets", + "customindex", + "datacategorygroup", + "datacategorygroups", + "destructiveignore", + "destructiveinclude", + "emailservices", + "flexipage", + "flexipages", + "flowtest", + "flowtests", + "flowtype", + "forceignore", + "forceinclude", + "geodata", + "iframe", + "ignorewarnings", + "iife", + "indx", + "lcov", + "linebreak", + "linify", + "lintstagedrc", + "loglevel", + "lwcc", + "mdapi", + "megalinter", + "mehdisfdc", + "metafile", + "mjyhjbm", + "mkdirs", + "mocharc", + "mockprune", + "multilines", + "mutingpermissionset", + "mutingpermissionsets", + "myexperiencebundle", + "nonblock", + "notexist", + "notificationtypes", + "notiftype", + "numstat", + "nycrc", + "oauthcustomscope", + "oauthcustomscopes", + "oclif", + "omni", + "omnistudio", + "oxsecurity", + "pastsha", + "permissionset", + "permissionsetgroup", + "permissionsetgroups", + "permissionsets", + "piquouze", + "postdestructivechanges", + "postpack", + "predestructivechanges", + "predicat", + "quotepath", + "recentsha", + "rulesets", + "samlssoconfig", + "samlssoconfigs", + "scolladon", + "scontrols", + "sfdx", + "sgdignore", + "staticresources", + "stefanzweifel", + "struc", + "subfolders", + "targetname", + "testkit", + "testlevel", + "testtest", + "trivyignore", + "unmanaged", + "unmocked", + "unpackaged", + "venv", + "wagoid", + "wapp", + "wcomp", + "wdash", + "wdpr", + "wearerequired", + "weblink", + "weblinks", + "wlens", + "xmlbuilder", + "\u00c0gain" + ] +} \ No newline at end of file diff --git a/.github/linters/.jscpd.json b/.github/linters/.jscpd.json new file mode 100644 index 00000000..0995f718 --- /dev/null +++ b/.github/linters/.jscpd.json @@ -0,0 +1,13 @@ +{ + "threshold": 0, + "reporters": ["html", "markdown"], + "ignore": [ + "**/node_modules/**", + "**/.git/**", + "**/*cache*/**", + "**/.github/**", + "**/report/**", + "**/img/**", + "**/__tests__/**" + ] +} diff --git a/.github/workflows/manual-deprecate-versions.yml b/.github/workflows/manual-deprecate-versions.yml index 2e5b249c..5aa4af56 100644 --- a/.github/workflows/manual-deprecate-versions.yml +++ b/.github/workflows/manual-deprecate-versions.yml @@ -1,3 +1,4 @@ +--- name: Deprecate versions on: @@ -18,7 +19,7 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - + - name: Setup node uses: actions/setup-node@v3 with: @@ -28,4 +29,4 @@ jobs: - name: Change version run: npm deprecate sfdx-git-delta@$"${{ github.event.inputs.version-expression }}" "${{ github.event.inputs.rationale }}" env: - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} \ No newline at end of file + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.github/workflows/manual-manage-versions.yml b/.github/workflows/manual-manage-versions.yml index a2573e68..f8970f92 100644 --- a/.github/workflows/manual-manage-versions.yml +++ b/.github/workflows/manual-manage-versions.yml @@ -1,3 +1,4 @@ +--- name: Manage versions on: @@ -7,10 +8,10 @@ on: description: version alias to map to a version number required: true type: choice - options: - - stable - - latest - - latest-rc + options: + - stable + - latest + - latest-rc version-number: description: version number (semver format) required: true @@ -23,7 +24,7 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - + - name: Setup node uses: actions/setup-node@v3 with: @@ -33,4 +34,4 @@ jobs: - name: Change version run: npm dist-tag add sfdx-git-delta@${{ github.event.inputs.version-number }} ${{ github.event.inputs.version-alias }} env: - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} \ No newline at end of file + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index a014a3b5..6be30697 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -1,8 +1,9 @@ +--- name: Main on: push: - branches: + branches: - main paths-ignore: - "**.md" @@ -27,10 +28,10 @@ jobs: package-name: sfdx-git-delta token: ${{ secrets.RELEASE_PAT }} - release: + release: needs: prepare-release runs-on: ubuntu-latest - if: ${{ needs.prepare-release.outputs.release_created == 'true' }} + if: needs.prepare-release.outputs.release_created == 'true' steps: - name: Checkout sources uses: actions/checkout@v3 @@ -40,12 +41,12 @@ jobs: with: node-version: 16 registry-url: https://registry.npmjs.org/ - + - name: Setup dependencies, cache and install uses: ./.github/actions/install - name: Publish to npm - run: yarn publish --access public --tag latest-rc --new-version ${{ needs.prepare-release.outputs.version }} + run: yarn publish --access public --tag latest-rc --new-version ${{ needs.prepare-release.outputs.version }} env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} @@ -57,9 +58,7 @@ jobs: run: npm install -g sfdx-cli - name: Install new plugin version - run: echo y | sfdx plugins:install sfdx-git-delta@${{ needs.prepare-release.outputs.version }} + run: echo y | sfdx plugins:install sfdx-git-delta@${{ needs.prepare-release.outputs.version }} - name: Test new plugin version run: sfdx sgd:source:delta --help - - diff --git a/.github/workflows/on-published-release.yml b/.github/workflows/on-published-release.yml index 017880ed..5913c3d0 100644 --- a/.github/workflows/on-published-release.yml +++ b/.github/workflows/on-published-release.yml @@ -1,3 +1,4 @@ +--- name: Published release communication on: @@ -18,4 +19,4 @@ jobs: ```sh $ sfdx plugins:install sfdx-git-delta@latest-rc $ sfdx plugins:install sfdx-git-delta@{release_tag} - ``` \ No newline at end of file + ``` diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 1825db32..40c07b75 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -1,3 +1,4 @@ +--- name: CI on: @@ -8,6 +9,11 @@ on: - "**.md" - "img/**" +# Manage concurrency to stop running jobs and start new ones in case of new commit pushed +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + jobs: commit-lint: runs-on: ubuntu-latest @@ -17,10 +23,9 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - + - name: Setup node uses: ./.github/actions/install - - name: Lint commits uses: wagoid/commitlint-github-action@v5 @@ -41,7 +46,7 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - + - name: Setup node uses: actions/setup-node@v3 with: @@ -61,7 +66,7 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - + - name: Setup node uses: actions/setup-node@v3 with: @@ -76,6 +81,38 @@ jobs: with: eslint: true + megalinter: + name: MegaLinter + runs-on: ubuntu-latest + steps: + # Git Checkout + - name: Checkout Code + uses: actions/checkout@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + # MegaLinter + - name: MegaLinter + id: ml + # You can override MegaLinter flavor used to have faster performances + # More info at https://megalinter.io/flavors/ + uses: oxsecurity/megalinter/flavors/javascript@v6 + env: + # All available variables are described in documentation + # https://megalinter.io/configuration/ + APPLY_FIXES: all + VALIDATE_ALL_CODEBASE: true # Set ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} to validate only diff with main branch + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # ADD YOUR CUSTOM ENV VARIABLES HERE TO OVERRIDE VALUES OF .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY + + - uses: actions/upload-artifact@v3 + if: always() + with: + name: megalinter-reports + path: | + megalinter-reports + mega-linter.log + mutation-testing: runs-on: ubuntu-latest steps: @@ -92,10 +129,10 @@ jobs: - name: Build plugin run: yarn pack - + - name: Mutation test run: yarn test:mutation - + - uses: actions/upload-artifact@v3 with: name: mutation-test-report @@ -103,7 +140,7 @@ jobs: build: uses: ./.github/workflows/reusable-build.yml - secrets: inherit + secrets: inherit e2e-check: needs: [build, source-lint] @@ -115,12 +152,12 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - with: + with: path: ./plugin - name: Checkout sources uses: actions/checkout@v3 - with: + with: ref: 'e2e/head' fetch-depth: 0 path: ./e2e @@ -129,7 +166,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} - + - name: Install dependencies in production mode working-directory: ./plugin run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 9716c0cb..0c4bd447 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -1,3 +1,4 @@ +--- name: Build Checks on: workflow_call: diff --git a/.gitignore b/.gitignore index c4d35934..c8264479 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ stderr*.txt stdout*.txt # stryker temp files .stryker-tmp + +megalinter-reports/ diff --git a/.mega-linter.yml b/.mega-linter.yml new file mode 100644 index 00000000..537b99aa --- /dev/null +++ b/.mega-linter.yml @@ -0,0 +1,16 @@ +--- +# Configuration file for MegaLinter +# See all available variables at https://megalinter.io/configuration/ and in linters documentation + +APPLY_FIXES: all # all, none, or list of linter keys +# ENABLE: # If you use ENABLE variable, all other languages/formats/tooling-formats will be disabled by default +# ENABLE_LINTERS: # If you use ENABLE_LINTERS variable, all other linters will be disabled by default +# DISABLE: +# - COPYPASTE # Uncomment to disable checks of excessive copy-pastes +# - SPELL # Uncomment to disable checks of spelling mistakes +DISABLE_LINTERS: + - SPELL_MISSPELL +SHOW_ELAPSED_TIME: true +FILEIO_REPORTER: false +JAVASCRIPT_DEFAULT_STYLE: prettier +# DISABLE_ERRORS: true # Uncomment if you want MegaLinter to detect errors but not block CI to pass diff --git a/.trivyignore b/.trivyignore new file mode 100644 index 00000000..95f43587 --- /dev/null +++ b/.trivyignore @@ -0,0 +1 @@ +CVE-2023-0842 diff --git a/CHANGELOG.md b/CHANGELOG.md index 518eda21..ca56c7b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ + # Changelog All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. @@ -39,7 +40,7 @@ All notable changes to this project will be documented in this file. See [standa ### Bug Fixes -* keep attributs not subject to comparison ([#539](https://github.com/scolladon/sfdx-git-delta/issues/539)) ([08cf667](https://github.com/scolladon/sfdx-git-delta/commit/08cf6677b71d0b7f41d56e1ab8b437650d758dd1)) +* keep attributes not subject to comparison ([#539](https://github.com/scolladon/sfdx-git-delta/issues/539)) ([08cf667](https://github.com/scolladon/sfdx-git-delta/commit/08cf6677b71d0b7f41d56e1ab8b437650d758dd1)) ## [5.14.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.13.3...v5.14.0) (2023-03-14) @@ -318,7 +319,7 @@ All notable changes to this project will be documented in this file. See [standa ### Bug Fixes -* ignore white space parameter `--ignore-whitepsace, -W` ([#267](https://github.com/scolladon/sfdx-git-delta/issues/267)) ([d9f560e](https://github.com/scolladon/sfdx-git-delta/commit/d9f560eb1af28b749c08af4018dd626fe4720222)) +* ignore white space parameter `--ignore-whitespace, -W` ([#267](https://github.com/scolladon/sfdx-git-delta/issues/267)) ([d9f560e](https://github.com/scolladon/sfdx-git-delta/commit/d9f560eb1af28b749c08af4018dd626fe4720222)) ### [5.0.2](https://github.com/scolladon/sfdx-git-delta/compare/v5.0.1...v5.0.2) (2022-03-16) @@ -338,7 +339,7 @@ All notable changes to this project will be documented in this file. See [standa ### Features -* decommissionate sgd ([#221](https://github.com/scolladon/sfdx-git-delta/issues/221)) ([ecd146f](https://github.com/scolladon/sfdx-git-delta/commit/ecd146f0e6480f68bbf08362e3a535c7f0fe24ba)) +* decommission sgd ([#221](https://github.com/scolladon/sfdx-git-delta/issues/221)) ([ecd146f](https://github.com/scolladon/sfdx-git-delta/commit/ecd146f0e6480f68bbf08362e3a535c7f0fe24ba)) ### Bug Fixes diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 15a9eed0..535de256 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -116,7 +116,7 @@ the community. This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. +. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). @@ -124,5 +124,5 @@ enforcement ladder](https://github.com/mozilla/diversity). [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. +. Translations are available at +. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1ae1bf83..24bdcd1b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -96,12 +96,12 @@ Configure your editor to use our lint and code style rules. ### Code formatting -[Prettier](https://prettier.io/) is a code formatter used to ensure consistent formatting across your code base. To use Prettier with Visual Studio Code, install [this extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) from the Visual Studio Code Marketplace. -This repository provide [.prettierignore](/.prettierignore) and [.prettierrc](/.prettierrc.json) files to control the behaviour of the Prettier formatter. +[Prettier](https://prettier.io/) is a code formatter used to ensure consistent formatting across your code base. To use Prettier with Visual Studio Code, install [this extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) from the Visual Studio Code Marketplace. +This repository provide [.prettierignore](.prettierignore) and [.prettierrc](.prettierrc.json) files to control the behaviour of the Prettier formatter. ### Code linting -[ESLint](https://eslint.org/) is a popular JavaScript linting tool used to identify stylistic errors and erroneous constructs. This repository provide [.eslintignore](/.eslintignore) file to exclude specific files from the linting process. +[ESLint](https://eslint.org/) is a popular JavaScript linting tool used to identify stylistic errors and erroneous constructs. This repository provide [.eslintignore](.eslintignore) file to exclude specific files from the linting process. ### Commit linting @@ -125,16 +125,16 @@ The process of submitting a pull request is straightforward and generally follows the same pattern each time: 1. [Fork the sfdx-git-delta repo](#fork-the-sfdx-git-delta-repo) -1. [Create a feature branch](#create-a-feature-branch) -1. [Make your changes](#make-your-changes) -1. [Rebase](#rebase) -1. [Check your submission](#check-your-submission) -1. [Create a pull request](#create-a-pull-request) -1. [Update the pull request](#update-the-pull-request) +2. [Create a feature branch](#create-a-feature-branch) +3. [Make your changes](#make-your-changes) +4. [Rebase](#rebase) +5. [Check your submission](#check-your-submission) +6. [Create a pull request](#create-a-pull-request) +7. [Update the pull request](#update-the-pull-request) ### Fork the sfdx-git-delta repo -[Fork][fork-a-repo] the [scolladon/sfdx-git-delta](https://github.com/scolladon/sfdx-git-delta) repo. Clone your fork in your local workspace and [configure][configuring-a-remote-for-a-fork] your remote repository settings. +[Fork](https://help.github.com/en/articles/fork-a-repo) the [scolladon/sfdx-git-delta](https://github.com/scolladon/sfdx-git-delta) repo. Clone your fork in your local workspace and [configure](https://help.github.com/en/articles/configuring-a-remote-for-a-fork) your remote repository settings. ```bash git clone git@github.com:/sfdx-git-delta.git @@ -189,7 +189,7 @@ yarn lint The above command may display lint issues not related to your changes. The recommended way to avoid lint issues is to [configure your -editor][eslint-integrations] to warn you in real time as you edit the file. +editor](http://eslint.org/docs/user-guide/integrations) to warn you in real time as you edit the file. Fixing all existing lint issues is a tedious task so please pitch in by fixing the ones related to the files you make changes to! @@ -200,11 +200,11 @@ Test your change by running the unit tests and integration tests. Instructions [ ### Create a pull request If you've never created a pull request before, follow [these -instructions][creating-a-pull-request]. Pull request samples [here](https://github.com/salesforce/sfdx-git-delta/pulls) +instructions](https://help.github.com/articles/creating-a-pull-request/). Pull request samples [here](https://github.com/scolladon/sfdx-git-delta/pulls) ### Update the pull request -```sh +```bash git fetch origin git rebase origin/${base_branch} @@ -215,12 +215,6 @@ _note: If your pull request needs more changes, keep working on your feature bra CI validates prettifying, linting and tests -[fork-a-repo]: https://help.github.com/en/articles/fork-a-repo -[configuring-a-remote-for-a-fork]: https://help.github.com/en/articles/configuring-a-remote-for-a-fork -[setup-github-ssh]: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/ -[creating-a-pull-request]: https://help.github.com/articles/creating-a-pull-request/ -[eslint-integrations]: http://eslint.org/docs/user-guide/integrations - ### Collaborate on the pull request We use [Conventional Comments](https://conventionalcomments.org/) to ensure every comment expresses the intention and is easy to understand. @@ -231,7 +225,7 @@ Pull Request comments are not enforced, it is more a way to help the reviewers a The repo contains a script to increment the Salesforce API version supported by SGD. To upgrade the API version, run the following command: -``` +```bash yarn && yarn increment:apiversion ``` diff --git a/LICENSE.md b/LICENSE.md index 115682e6..35fcf21d 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,3 +1,4 @@ + MIT License Copyright (c) 2019 Sebastien Colladon diff --git a/PUBLISHING.md b/PUBLISHING.md index 7184c81b..5e81affe 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -8,7 +8,7 @@ This repository uses [release-please](https://github.com/google-github-actions/r Merge the release pull request to create a new version, it will take care of: - defining next version number -- updating `package.json` version attribut +- updating `package.json` version attribute - create the changelog - create a tag version - create a github release @@ -18,27 +18,27 @@ Merge the release pull request to create a new version, it will take care of: ## Update tag version ```sh -$ npm dist-tag add sfdx-git-delta@ +npm dist-tag add sfdx-git-delta@ ``` It will set the `version-source` release channel to the `version-target` specific release (`vX.Y.Z`). **Update `v5.6.0` to be `latest`:** -To be performed once the current `latest-rc` version (`v5.6.0` at taht time) is considered stable enough. The `latest` version is the one installed by default with the `sfdx plugins:install sfdx-git-delta` command. +To be performed once the current `latest-rc` version (`v5.6.0` at that time) is considered stable enough. The `latest` version is the one installed by default with the `sfdx plugins:install sfdx-git-delta` command. ```sh -$ npm dist-tag add sfdx-git-delta@v5.6.0 latest +npm dist-tag add sfdx-git-delta@v5.6.0 latest ``` **Update `v5.5.0` to be `stable`:** To be performed once the current `latest` version (`v.5.5.0` at that time) is considered stable enough. ```sh -$ npm dist-tag add sfdx-git-delta@v5.5.0 stable +npm dist-tag add sfdx-git-delta@v5.5.0 stable ``` -**Rollback**: +**Rollback**: Use this command only if something is wrong with the current `latest` version, and you need to roll it back to a previous version (to `v5.0.0` in this example). ```sh -$ npm dist-tag add sfdx-git-delta@v5.0.0 latest +npm dist-tag add sfdx-git-delta@v5.0.0 latest ``` Use the **"Manage Versions"** manual github action to do the same thing with point & click @@ -46,7 +46,7 @@ Use the **"Manage Versions"** manual github action to do the same thing with poi ## Deprecate version expression ```sh -$ npm deprecate sfdx-git-delta@ "" +npm deprecate sfdx-git-delta@ "" ``` It will deprecate the `version-expression` with the `message`. @@ -55,7 +55,7 @@ Or a [version range](https://semver.npmjs.com/) Do not specify a `message` ("") to un-deprecate a version expression ```sh -$ npm deprecate sfdx-git-delta@ "" +npm deprecate sfdx-git-delta@ "" ``` Use the **"Deprecate Versions"** manual github action to do the same thing with point & click diff --git a/README.md b/README.md index 7e7795ed..f88e1f72 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + ![Actions Status](https://github.com/scolladon/sfdx-git-delta/workflows/Main/badge.svg) [![npm](https://badgen.net/npm/v/sfdx-git-delta)](https://badgen.net/npm/v/sfdx-git-delta) [![Maintainability](https://api.codeclimate.com/v1/badges/95619399c7bb2cf60da4/maintainability)](https://codeclimate.com/github/scolladon/sfdx-git-delta/maintainability) @@ -38,12 +39,12 @@ - [Walkthrough](#walkthrough) - [Execute sgd](#execute-sgd) - [Deploy the delta metadata](#deploy-the-delta-metadata) -- [Advanced use-cases:](#advanced-use-cases) - - [Generate a folder containing only the added/modified sources:](#generate-a-folder-containing-only-the-addedmodified-sources) - - [Exclude some metadata only from destructiveChanges.xml:](#exclude-some-metadata-only-from-destructivechangesxml) - - [Explicitly including specific files for inclusion or destruction regardless of diff:](#explicitly-including-specific-files-for-inclusion-or-destruction-regardless-of-diff) +- [Advanced use-cases](#advanced-use-cases) + - [Generate a folder containing only the added/modified sources](#generate-a-folder-containing-only-the-addedmodified-sources) + - [Exclude some metadata only from destructiveChanges.xml](#exclude-some-metadata-only-from-destructivechangesxml) + - [Explicitly including specific files for inclusion or destruction regardless of diff](#explicitly-including-specific-files-for-inclusion-or-destruction-regardless-of-diff) - [Scoping delta generation to a specific folder](#scoping-delta-generation-to-a-specific-folder) - - [Generate a comma-separated list of the added and modified Apex classes:](#generate-a-comma-separated-list-of-the-added-and-modified-apex-classes) + - [Generate a comma-separated list of the added and modified Apex classes](#generate-a-comma-separated-list-of-the-added-and-modified-apex-classes) - [Condition deployment on package.xml and destructiveChange content](#condition-deployment-on-packagexml-and-destructivechange-content) - [Use the module in your own node application](#use-the-module-in-your-own-node-application) - [Changelog](#changelog) @@ -78,7 +79,7 @@ sfdx force:source:deploy -x package/package.xml --postdestructivechanges destruc Have a look at this post on the Salesforce Developers Blog to dive into it: [Optimizing Unpackaged Deployments Using a Delta Generation Tool](https://developer.salesforce.com/blogs/2021/01/optimizing-unpackaged-deployments-using-a-delta-generation-tool.html). -![delta_principle](/img/delta_principles.png) +![delta_principle](img/delta_principles.png) ## Is SGD for you? @@ -153,7 +154,7 @@ OPTIONS -a, --api-version=api-version salesforce metadata API version, default to sfdx-project.json - "sourceApiVersion" attribut or + "sourceApiVersion" attribute or latest version -d, --generate-delta generate delta files in [--output] @@ -209,7 +210,7 @@ sfdx sgd:source:delta --from "HEAD~1" # right git shortcut with windows because ### CI/CD specificity In CI/CD pipelines, for most of the CI/CD providers, the checkout operation fetch only the last commit of the branch currently evaluated. -You need to fetch all the needed commits, as the plugin needs to have the branch to compare from as well, +You need to fetch all the needed commits, as the plugin needs to have the branch to compare from as well, Example for Github action checkout [here](https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches). In CI/CD pipelines, branches are not checked out locally when the repository is cloned, so you must specify the remote prefix. @@ -240,21 +241,21 @@ Here are examples of how to compare the content of different branches: - **Comparing between commits in different branches** For example, if you have commit `fbc3ade6` in branch `develop` and commit `61f235b1` in branch `main`: -``` +```sh sfdx sgd:source:delta --to fbc3ade6 --from 61f235b1 --output . ``` - **Comparing branches (all changes)** Comparing all changes between the `develop` branch and the `main` branch: -``` +```sh sfdx sgd:source:delta --to develop --from main --output . ``` - **Comparing branches (from a common ancestor)** To compare the `develop` branch since its common ancestor with the `main` branch (i.e. ignoring the changes performed in the `main` branch after `develop` creation): -``` +```sh sfdx sgd:source:delta --to develop --from $(git merge-base develop main) --output . ``` @@ -271,7 +272,7 @@ In our example, the latest commit to main is composed of: - _Apex Class modified:_ TestDataFactory - _Apex Class deleted:_ AnotherTriggerFramework -![commit](/img/example_commit.png) +![commit](img/example_commit.png) In this situation, we would expect the CI pipeline to: @@ -297,12 +298,12 @@ The `sfdx sgd:source:delta` command produces 2 useful artifacts: **1) A `package.xml` file, inside a `package` folder.** This `package.xml` file contains just the added/changed metadata to deploy to the target org. _Content of the `package.xml` file in our scenario:_ -![package](/img/example_package.png) +![package](img/example_package.png) **2) A `destructiveChanges.xml` file, inside a `destructiveChanges` folder.** This `destructiveChanges.xml` file contains just the removed/renamed metadata to delete from the target org. Note: the `destructiveChanges` folder also contains a minimal package.xml file, because deploying destructive changes requires a package.xml (even an empty one). _Content of the `destructiveChanges.xml` file in our scenario:_ -![destructiveChange](/img/example_destructiveChange.png) +![destructiveChange](img/example_destructiveChange.png) Note: it is also possible to generate a **source** folder containing added/changed metadata with the [`--generate-delta (-d)`](#scoping-delta-generation-to-a-specific-folder) parameter. See the "Advanced use-cases" section for more examples. @@ -340,9 +341,9 @@ echo "--- Deleting removed metadata ---" sfdx force:mdapi:deploy -d destructiveChanges --ignorewarnings ``` -## Advanced use-cases: +## Advanced use-cases -### Generate a folder containing only the added/modified sources: +### Generate a folder containing only the added/modified sources Using a package.xml for deployment is the simplest approach to delta deployments. But in some cases you may want to have only the actual recently changed source files. @@ -361,7 +362,7 @@ It generates the `package` and `destructiveChanges` folders, and copies added/ch _Content of the output folder when using the --generate-delta option, with the same scenario as above:_ -![delta-source](/img/example_generateDelta.png) +![delta-source](img/example_generateDelta.png) > ⚠️ Use `--generate-delta (-d)` when `--to (-t)` value is set to "HEAD" or to the "HEAD commit SHA". > If you need to use it with `--to (-t)` pointing to another commit than "HEAD", checkout that commit first. Example: @@ -379,7 +380,7 @@ Then it is possible to deploy the `change-sources` folder using `force:source:de sfdx force:source:deploy -p change-sources ``` -### Exclude some metadata only from destructiveChanges.xml: +### Exclude some metadata only from destructiveChanges.xml The `--ignore [-i]` parameter allows you to specify an [ignore file](https://git-scm.com/docs/gitignore) to filter the element on the diff to ignore. SGD ignores every diff line matching the pattern from the ignore file specified in the `--ignore [-i]`. `package.xml` generation, `destructiveChanges.xml` generation and `--delta-generate` will ignore those lines. @@ -404,7 +405,7 @@ $ sfdx sgd:source:delta --from commit --ignore-destructive destructiveignore Note: when only using the `--ignore [-i]` parameter (and not `--ignore-destructive [-D]`) the plugin will apply it to added/changed/deleted elements. -### Explicitly including specific files for inclusion or destruction regardless of diff: +### Explicitly including specific files for inclusion or destruction regardless of diff The `--include [-n]` parameter allows you to specify a file based on [micromatch glob matching](https://github.com/micromatch/micromatch) to include specific files. Regardless whether they appears in the diff or not. Like the `--ignore` flag, this file defines a list of glob file matchers to always include `git` aware files in the `package.xml` package. @@ -454,9 +455,9 @@ $ sfdx sgd:source:delta --from commit --source force-app/unpackaged ``` > The ignored patterns specified using `--ignore [-i]` and `--ignore-destructive [-D]` still apply. -> The `--source` path msut be relative to the `--repo` path +> The `--source` path must be relative to the `--repo` path -### Generate a comma-separated list of the added and modified Apex classes: +### Generate a comma-separated list of the added and modified Apex classes Depending on your testing strategy, [you may want to generate a comma-separated list of the added and modified Apex classes](https://github.com/scolladon/sfdx-git-delta/issues/126). This list can feed the `sfdx force:source:deploy --testlevel RunSpecifiedTests` command, for example. To cover this need, parse the content of the package.xml file produced by SGD using [yq](https://github.com/kislyuk/yq): @@ -512,7 +513,7 @@ console.log(JSON.stringify(work)) ## Changelog -[changelog.md](/CHANGELOG.md) is available for consultation. +[changelog.md](CHANGELOG.md) is available for consultation. ## Built With @@ -522,6 +523,7 @@ console.log(JSON.stringify(work)) - [lodash](https://github.com/lodash/lodash) - A modern JavaScript utility library delivering modularity, performance & extras. - [micromatch](https://github.com/micromatch/micromatch) - a file glob matcher utility - [xmlbuilder2](https://github.com/oozcitak/xmlbuilder2) - An XML builder for node.js. +- [MegaLinter](https://megalinter.io) - Open-Source tool for CI/CD workflows that analyzes the consistency of your code, IAC, configuration, and scripts ## Versioning @@ -536,7 +538,7 @@ Versioning follows [SemVer](http://semver.org/) specification. Contributions are what make the trailblazer community such an amazing place. I regard this component as a way to inspire and learn from others. Any contributions you make are **appreciated**. -See [contributing.md](/CONTRIBUTING.md) for sgd contribution principles. +See [contributing.md](CONTRIBUTING.md) for sgd contribution principles. ## License diff --git a/SECURITY.md b/SECURITY.md index 11748e0b..5178149d 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -3,7 +3,7 @@ ## Supported Versions | Version | Supported | -| ------- | ------------------ | +|---------|--------------------| | 5.x.x | :white_check_mark: | | < 5.0.0 | :x: | diff --git a/__tests__/integration/delta.test.js b/__tests__/integration/delta.test.js index 06057b68..9df0a188 100644 --- a/__tests__/integration/delta.test.js +++ b/__tests__/integration/delta.test.js @@ -29,10 +29,10 @@ const lines = [ 'A force-app/main/default/classes/controllers/Added.cls', 'A force-app/main/default/classes/controllers/Added.cls-meta.xml', 'D force-app/main/default/classes/controllers/Deleted.cls', - 'A force-app/main/default/staticressources/Added.resource-meta.xml', - 'A force-app/main/default/staticressources/Added.zip', - 'M force-app/main/default/staticressources/Added/changed.png', - 'D force-app/main/default/staticressources/Added/deleted.png', + 'A force-app/main/default/staticresources/Added.resource-meta.xml', + 'A force-app/main/default/staticresources/Added.zip', + 'M force-app/main/default/staticresources/Added/changed.png', + 'D force-app/main/default/staticresources/Added/deleted.png', 'A force-app/main/default/documents/Added/doc.document', 'A force-app/main/default/lwc/Added/component.js`', 'D force-app/main/sample/objects/Account/fields/changed.field-meta.xml', diff --git a/__tests__/unit/lib/post-processor/packageGenerator.test.js b/__tests__/unit/lib/post-processor/packageGenerator.test.js index b0d8900d..bac66938 100644 --- a/__tests__/unit/lib/post-processor/packageGenerator.test.js +++ b/__tests__/unit/lib/post-processor/packageGenerator.test.js @@ -120,7 +120,7 @@ describe('PackageGenerator', () => { ], [ - 'overlaping map', + 'overlapping map', new Map([['a', new Set(['a'])]]), new Map([['a', new Set(['a', 'b'])]]), new Map([['a', new Set(['b'])]]), diff --git a/__tests__/unit/lib/post-processor/postProcessorManager.test.js b/__tests__/unit/lib/post-processor/postProcessorManager.test.js index d09a54fc..e08d6126 100644 --- a/__tests__/unit/lib/post-processor/postProcessorManager.test.js +++ b/__tests__/unit/lib/post-processor/postProcessorManager.test.js @@ -7,7 +7,7 @@ const BaseProcessor = require('../../../../src/post-processor/baseProcessor') const processSpy = jest.fn() -class TestProcesor extends BaseProcessor { +class TestProcessor extends BaseProcessor { constructor() { super({}) } @@ -37,7 +37,7 @@ describe('postProcessorManager', () => { const processorCount = sut.postProcessors.length // Act - sut.use(new TestProcesor()) + sut.use(new TestProcessor()) // Assert expect(processorCount).toBeLessThan(sut.postProcessors.length) @@ -46,11 +46,11 @@ describe('postProcessorManager', () => { describe.each([ [new PostProcessorManager(), 0], - [new PostProcessorManager().use(new TestProcesor()), 1], + [new PostProcessorManager().use(new TestProcessor()), 1], [ new PostProcessorManager() - .use(new TestProcesor()) - .use(new TestProcesor()), + .use(new TestProcessor()) + .use(new TestProcessor()), 2, ], ])('when calling `execute`', (processorManager, expectedCount) => { @@ -74,7 +74,7 @@ describe('postProcessorManager', () => { warnings: [], } const sut = new PostProcessorManager(work) - sut.use(new TestProcesor()) + sut.use(new TestProcessor()) processSpy.mockImplementationOnce(() => Promise.reject('Error')) // Act diff --git a/__tests__/unit/lib/service/inFolderHandler.test.js b/__tests__/unit/lib/service/inFolderHandler.test.js index 06f59871..8fbe3836 100644 --- a/__tests__/unit/lib/service/inFolderHandler.test.js +++ b/__tests__/unit/lib/service/inFolderHandler.test.js @@ -19,7 +19,7 @@ beforeEach(() => { } }) -describe('InFolderHander', () => { +describe('InFolderHandler', () => { let globalMetadata beforeAll(async () => { // eslint-disable-next-line no-undef diff --git a/__tests__/unit/lib/service/inResourceHandler.test.js b/__tests__/unit/lib/service/inResourceHandler.test.js index 8946211b..f2a7936a 100644 --- a/__tests__/unit/lib/service/inResourceHandler.test.js +++ b/__tests__/unit/lib/service/inResourceHandler.test.js @@ -166,7 +166,7 @@ describe('InResourceHandler', () => { beforeEach(() => { work.config.generateDelta = false }) - describe('When only a ressource sub element is deleted', () => { + describe('When only a resource sub element is deleted', () => { beforeEach(() => { pathExists.mockResolvedValue(true) }) @@ -190,7 +190,7 @@ describe('InResourceHandler', () => { ) }) }) - describe('When the ressource is deleted', () => { + describe('When the resource is deleted', () => { beforeEach(() => { pathExists.mockResolvedValue(false) }) diff --git a/__tests__/unit/lib/utils/cliHelper.test.js b/__tests__/unit/lib/utils/cliHelper.test.js index aeef9bcd..5b192ff7 100644 --- a/__tests__/unit/lib/utils/cliHelper.test.js +++ b/__tests__/unit/lib/utils/cliHelper.test.js @@ -382,9 +382,9 @@ describe(`test if the application`, () => { describe('when apiVersion parameter is not set', () => { describe('when sfdx-project.json file exist', () => { - describe('when "sourceApiVersion" attribut is set with supported value', () => { + describe('when "sourceApiVersion" attribute is set with supported value', () => { test.each(['46', '52', '55', '46.0', '52.0', '55.0'])( - 'config.apiVersion (%s) equals the "sourceApiVersion" attribut', + 'config.apiVersion (%s) equals the "sourceApiVersion" attribute', async version => { // Arrange fs.__setMockFiles({ @@ -411,7 +411,7 @@ describe(`test if the application`, () => { } ) }) - describe('when "sourceApiVersion" attribut is set with unsupported value', () => { + describe('when "sourceApiVersion" attribute is set with unsupported value', () => { test.each([NaN, '40', 'awesome', 1000000000, ''])( 'config.apiVersion (%s) equals the latest version', async version => { @@ -441,7 +441,7 @@ describe(`test if the application`, () => { ) }) - test('when "sourceApiVersion" attribut is not set', async () => { + test('when "sourceApiVersion" attribute is not set', async () => { // Arrange fs.__setMockFiles({ ...mockFiles, diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index 2ec5be51..5a9968f3 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -486,7 +486,7 @@ describe('isSubDir', () => { it('returns true when path is file', async () => { // Arrange getStreamContent.mockImplementationOnce(() => - Promise.resolve(Buffer.from('{"attribut":"content"}')) + Promise.resolve(Buffer.from('{"attribute":"content"}')) ) // Act diff --git a/__tests__/unit/lib/utils/fxpHelper.test.js b/__tests__/unit/lib/utils/fxpHelper.test.js index 2813ee26..0609c633 100644 --- a/__tests__/unit/lib/utils/fxpHelper.test.js +++ b/__tests__/unit/lib/utils/fxpHelper.test.js @@ -79,7 +79,7 @@ describe('fxpHelper', () => { describe('when called with non xml content', () => { beforeEach(() => { // Arrange - readPathFromGit.mockResolvedValueOnce({ attribut: 'value' }) + readPathFromGit.mockResolvedValueOnce({ attribute: 'value' }) }) it('returns empty object', async () => { // Act diff --git a/messages/delta.js b/messages/delta.js index bf92a711..a593b190 100644 --- a/messages/delta.js +++ b/messages/delta.js @@ -11,7 +11,7 @@ module.exports = { ignoreDestructiveFlag: 'file listing paths to explicitly ignore for any destructive actions', apiVersionFlag: - 'salesforce metadata API version, default to sfdx-project.json "sourceApiVersion" attribut or latest version', + 'salesforce metadata API version, default to sfdx-project.json "sourceApiVersion" attribute or latest version', deltaFlag: 'generate delta files in [--output] folder', ignoreWhitespaceFlag: 'ignore git diff whitespace (space, tab, eol) changes', includeFlag: 'file listing paths to explicitly include for any diff actions', diff --git a/src/service/inFileHandler.js b/src/service/inFileHandler.js index e84677fa..9887216a 100644 --- a/src/service/inFileHandler.js +++ b/src/service/inFileHandler.js @@ -13,7 +13,7 @@ const { } = require('../utils/packageHelper') const getRootType = line => basename(line).split('.')[0] -const getNamePreffix = ({ subType, line }) => +const getNamePrefix = ({ subType, line }) => subType !== LABEL_DIRECTORY_NAME ? `${getRootType(line)}.` : '' class InFileHandler extends StandardHandler { @@ -72,7 +72,7 @@ class InFileHandler extends StandardHandler { } const member = cleanUpPackageMember( - `${getNamePreffix({ subType, line: this.line })}${fullName}` + `${getNamePrefix({ subType, line: this.line })}${fullName}` ) fillPackageWithParameter({ diff --git a/src/utils/cliHelper.js b/src/utils/cliHelper.js index 2d62e8b4..fe611fd0 100644 --- a/src/utils/cliHelper.js +++ b/src/utils/cliHelper.js @@ -36,7 +36,7 @@ const isGit = async dir => { const isBlank = str => !str || /^\s*$/.test(str) const GIT_SHA_PARAMETERS = ['to', 'from'] -const SOURCE_API_VERSION_ATTRIBUT = 'sourceApiVersion' +const SOURCE_API_VERSION_ATTRIBUTE = 'sourceApiVersion' const SFDX_PROJECT_FILE_NAME = 'sfdx-project.json' class CLIHelper { @@ -151,7 +151,7 @@ class CLIHelper { const sfdxProjectRaw = await readFile(sfdxProjectPath) const sfdxProject = JSON.parse(sfdxProjectRaw) this.config.apiVersion = - parseInt(sfdxProject[SOURCE_API_VERSION_ATTRIBUT]) || 'default' + parseInt(sfdxProject[SOURCE_API_VERSION_ATTRIBUTE]) || 'default' } } } diff --git a/src/utils/fileGitDiff.js b/src/utils/fileGitDiff.js index fe3d63d6..47376d6d 100644 --- a/src/utils/fileGitDiff.js +++ b/src/utils/fileGitDiff.js @@ -59,9 +59,9 @@ const processMetadataForSubType = (dir, baseContent, otherContent, predicat) => subType => { const type = `${dir}.${subType}` const extractBase = extractMetadataForSubtype(baseContent) - const extreactOther = extractMetadataForSubtype(otherContent) + const extractOther = extractMetadataForSubtype(otherContent) const baseMeta = extractBase(subType) - const otherMeta = extreactOther(subType) + const otherMeta = extractOther(subType) const processElement = getElementProcessor(type, predicat, otherMeta) return baseMeta.map(processElement).filter(x => x !== undefined) } From 2576cf7e53f3a961b05267f11976a3146e51498a Mon Sep 17 00:00:00 2001 From: Sebastien Date: Fri, 21 Apr 2023 08:42:37 +0200 Subject: [PATCH 54/63] feat: extend metadata content pruning to more eligible types (#533) --- .github/linters/.cspell.json | 1 + .github/workflows/on-main-push.yml | 18 + .github/workflows/on-pull-request.yml | 23 +- README.md | 2 +- __tests__/integration/delta.test.js | 6 +- __tests__/integration/services.test.js | 952 ++++++------- __tests__/mocha.opts | 5 - .../unit/lib/metadata/metadataManager.test.js | 115 ++ .../flowTranslationProcessor.test.js | 123 +- ...st.js => ObjectTranslationHandler.test.js} | 51 +- .../unit/lib/service/inFileHandler.test.js | 124 +- .../unit/lib/service/inFolderHandler.test.js | 7 +- .../lib/service/inResourceHandler.test.js | 47 +- __tests__/unit/lib/service/lwcHandler.test.js | 96 ++ .../unit/lib/service/standardHandler.test.js | 23 +- .../service/subCustomObjectHandler.test.js | 3 +- __tests__/unit/lib/utils/fsHelper.test.js | 47 + __tests__/unit/lib/utils/fxpHelper.test.js | 33 + __tests__/unit/lib/utils/ignoreHelper.test.js | 1 + ...leGitDiff.test.js => metadataDiff.test.js} | 74 +- .../unit/lib/utils/packageHelper.test.js | 26 +- package.json | 36 +- src/metadata/a48.json | 653 +++++++-- src/metadata/metadataManager.js | 33 + src/metadata/v46.json | 645 +++++++-- src/metadata/v47.json | 653 +++++++-- src/metadata/v49.json | 653 +++++++-- src/metadata/v50.json | 653 +++++++-- src/metadata/v51.json | 653 +++++++-- src/metadata/v52.json | 653 +++++++-- src/metadata/v53.json | 653 +++++++-- src/metadata/v54.json | 653 +++++++-- src/metadata/v55.json | 653 +++++++-- src/metadata/v56.json | 653 +++++++-- src/metadata/v57.json | 653 +++++++-- .../flowTranslationProcessor.js | 96 +- src/post-processor/packageGenerator.js | 2 +- src/service/ObjectTranslationHandler.js | 42 + src/service/customObjectHandler.js | 1 + src/service/inBundleHandler.js | 2 +- src/service/inFileHandler.js | 53 +- src/service/inResourceHandler.js | 10 +- src/service/inTranslationHandler.js | 24 - src/service/lwcHandler.js | 13 + src/service/standardHandler.js | 6 +- src/service/subCustomObjectHandler.js | 3 +- src/service/typeHandlerFactory.js | 17 +- src/service/waveHandler.js | 17 +- src/utils/fileGitDiff.js | 136 -- src/utils/fsHelper.js | 5 +- src/utils/fxpHelper.js | 9 +- src/utils/metadataConstants.js | 12 +- src/utils/metadataDiff.js | 132 ++ src/utils/packageHelper.js | 26 +- yarn.lock | 1219 ++++++----------- 55 files changed, 8420 insertions(+), 3079 deletions(-) delete mode 100644 __tests__/mocha.opts rename __tests__/unit/lib/service/{inTranslationHandler.test.js => ObjectTranslationHandler.test.js} (56%) create mode 100644 __tests__/unit/lib/service/lwcHandler.test.js rename __tests__/unit/lib/utils/{fileGitDiff.test.js => metadataDiff.test.js} (77%) create mode 100644 src/service/ObjectTranslationHandler.js delete mode 100644 src/service/inTranslationHandler.js create mode 100644 src/service/lwcHandler.js delete mode 100644 src/utils/fileGitDiff.js create mode 100644 src/utils/metadataDiff.js diff --git a/.github/linters/.cspell.json b/.github/linters/.cspell.json index 3dc7ca4a..1292a1ef 100644 --- a/.github/linters/.cspell.json +++ b/.github/linters/.cspell.json @@ -63,6 +63,7 @@ "flowtype", "forceignore", "forceinclude", + "friendlyname", "geodata", "iframe", "ignorewarnings", diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index 6be30697..64fe3565 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -54,6 +54,18 @@ jobs: needs: [prepare-release, release] runs-on: ubuntu-latest steps: + - name: Checkout sources + uses: actions/checkout@v3 + with: + ref: 'e2e/head' + fetch-depth: 0 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + registry-url: https://registry.npmjs.org/ + - name: Install sfdx-cli run: npm install -g sfdx-cli @@ -62,3 +74,9 @@ jobs: - name: Test new plugin version run: sfdx sgd:source:delta --help + + - name: E2E Tests + working-directory: ./e2e + run: | + yarn + yarn test:e2e diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 40c07b75..bbfb35ae 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -61,28 +61,7 @@ jobs: run: yarn audit continue-on-error: true - source-lint: - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v3 - - - name: Setup node - uses: actions/setup-node@v3 - with: - node-version: 16 - registry-url: https://registry.npmjs.org/ - - - name: Setup node - uses: ./.github/actions/install - - - name: Lint sources - uses: wearerequired/lint-action@v2 - with: - eslint: true - megalinter: - name: MegaLinter runs-on: ubuntu-latest steps: # Git Checkout @@ -143,7 +122,7 @@ jobs: secrets: inherit e2e-check: - needs: [build, source-lint] + needs: [build, megalinter] strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] diff --git a/README.md b/README.md index f88e1f72..619d6e5e 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ OPTIONS this command invocation ``` -_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.13.3/src/commands/sgd/source/delta.ts)_ +_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/main/src/commands/sgd/source/delta.ts)_ ### Windows users diff --git a/__tests__/integration/delta.test.js b/__tests__/integration/delta.test.js index 9df0a188..9cad972b 100644 --- a/__tests__/integration/delta.test.js +++ b/__tests__/integration/delta.test.js @@ -109,8 +109,8 @@ describe(`test if the appli`, () => { generateDelta: true, }) - expect(work.diffs.package.get('fields')).toContain('Account.changed') - expect(work.diffs.destructiveChanges.get('fields')).not.toContain( + expect(work.diffs.package.get('CustomField')).toContain('Account.changed') + expect(work.diffs.destructiveChanges.get('CustomField')).not.toContain( 'Account.changed' ) }) @@ -133,6 +133,6 @@ describe(`test if the appli`, () => { apiVersion: '46', generateDelta: true, }) - expect(work.diffs.package.get('rules')).toContain('EU.France') + expect(work.diffs.package.get('Territory2Rule')).toContain('EU.France') }) }) diff --git a/__tests__/integration/services.test.js b/__tests__/integration/services.test.js index 799f4ba5..f8659c80 100644 --- a/__tests__/integration/services.test.js +++ b/__tests__/integration/services.test.js @@ -1,15 +1,5 @@ 'use strict' -const BotHandler = require('../../src/service/botHandler') -const CustomObjectHandler = require('../../src/service/customObjectHandler') -const InBundleHandler = require('../../src/service/inBundleHandler') -const InFileHandler = require('../../src/service/inFileHandler') -const InFolderHandler = require('../../src/service/inFolderHandler') -const InTranslationHandler = require('../../src/service/inTranslationHandler') -const InResourceHandler = require('../../src/service/inResourceHandler') -const StandardHandler = require('../../src/service/standardHandler') -const SubCustomObjectHandler = require('../../src/service/subCustomObjectHandler') -const WaveHandler = require('../../src/service/waveHandler') -const { EOL } = require('os') +const HandlerFactory = require('../../src/service/typeHandlerFactory') const { ADDITION, DELETION, @@ -21,513 +11,471 @@ jest.mock('../../src/utils/fsHelper') const testContext = [ [ - BotHandler, - [ - [ - 'bots', - 'force-app/main/default/bots/TestBot/TestBot.bot-meta.xml', - new Set(['TestBot']), - 'Bot', - ], - [ - 'bots', - 'force-app/main/default/bots/TestBot/v1.botVersion-meta.xml', - new Set(['TestBot.v1']), - 'BotVersion', - ], - ], - ], - [ - CustomObjectHandler, - [ - [ - 'objects', - 'force-app/main/default/objects/Account/Account.object-meta.xml', - new Set(['Account']), - ], - [ - 'objects', - 'force-app/main/default/objects/Test/Account/Account.object-meta.xml', - new Set(['Account']), - ], - [ - 'territory2Models', - 'force-app/main/default/territory2Models/EU/EU.territory2Model-meta.xml', - new Set(['EU']), - ], - ], - ], - [ - InFileHandler, - [ - [ - 'workflows', - 'force-app/main/default/workflows/Account.workflow-meta.xml', - new Set(['Account.Test']), - 'workflows.alerts', - `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'workflows', - 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', - new Set(['Account.Test']), - 'workflows.fieldUpdates', - `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'workflows', - 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', - new Set(['Account.Test']), - 'workflows.outboundMessages', - `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'workflows', - 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', - new Set(['Account.Test']), - 'workflows.rules', - `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'workflows', - 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', - new Set(['Account.Test']), - 'workflows.flowActions', - `${EOL}${EOL}${EOL}Test${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'labels', - 'force-app/main/default/labels/CustomLabels.labels-meta.xml', - new Set(['Label']), - 'labels.labels', - `${EOL}${EOL}${EOL}Label${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'sharingRules', - 'force-app/main/default/sharingRules/Account.sharingRules-meta.xml', - new Set(['Account.Criteria']), - 'sharingRules.sharingCriteriaRules', - `${EOL}${EOL}${EOL}Criteria${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - [ - 'sharingRules', - 'force-app/main/default/sharingRules/Test/Account.sharingRules-meta.xml', - new Set(['Account.Criteria']), - 'sharingRules.sharingCriteriaRules', - `${EOL}${EOL}${EOL}Criteria${EOL}${EOL}`, - `${EOL}${EOL}`, - ], - ], - ], - [ - InFolderHandler, - [ - [ - 'dashboards', - 'force-app/main/default/dashboards/folder/file.dashboard-meta.xml', - new Set(['folder/file']), - ], - [ - 'reports', - 'force-app/main/default/reports/folder.reportFolder-meta.xml', - new Set(['folder']), - ], - [ - 'documents', - 'force-app/main/default/documents/folder.documentFolder-meta.xml', - new Set(['folder']), - ], - [ - 'documents', - 'force-app/main/default/documents/folder/document.test.ext', - new Set(['folder/document.test']), - ], - [ - 'documents', - 'force-app/main/default/documents/folder/document.test.document-meta.xml', - new Set(['folder/document.test']), - ], - ], - ], - [ - InTranslationHandler, - [ - [ - 'objectTranslations', - 'force-app/main/default/objectTranslations/Account-es/Account-es.objectTranslation-meta.xml', - new Set(['Account-es']), - ], - [ - 'objectTranslations', - 'force-app/main/default/objectTranslations/Account-es/BillingFloor__c.fieldTranslation-meta.xml', - new Set(['Account-es']), - ], - ], - ], - [ - InResourceHandler, - [ - [ - 'staticresources', - 'force-app/main/default/staticresources/test/content', - new Set(['test']), - ], - [ - 'staticresources', - 'force-app/main/default/staticresources/resource.js', - new Set(['resource']), - ], - [ - 'staticresources', - 'force-app/main/default/staticresources/erase.resource-meta.xml', - new Set(['erase']), - ], - [ - 'waveTemplates', - 'force-app/main/default/waveTemplates/WaveTemplateTest/template-info.json', - new Set(['WaveTemplateTest']), - ], - [ - 'lwc', - 'force-app/main/default/lwc/component/component.js-meta.xml', - new Set(['component']), - ], - [ - 'aura', - 'force-app/main/default/aura/component/component.cmp-meta.xml', - new Set(['component']), - ], - [ - 'experiences', - 'force-app/main/default/experiences/component/subfolder/file.json', - new Set(['component']), - ], - [ - 'experiences', - 'force-app/main/default/experiences/component-meta.xml', - new Set(['component']), - ], - ], - ], - [ - InFolderHandler, - [ - [ - 'dashboards', - 'force-app/main/default/dashboards/folder/file.dashboard-meta.xml', - new Set(['folder/file']), - ], - ], - ], - [ - InBundleHandler, - [ - [ - 'digitalExperiences', - 'force-app/main/default/digitalExperiences/site/component.digitalExperience-meta.xml', - new Set(['site/component']), - ], - [ - 'digitalExperiences', - 'force-app/main/default/digitalExperiences/site/component/workspace/file.json', - new Set(['site/component']), - ], - ], - ], - [ - StandardHandler, - [ - [ - 'quickActions', - 'force-app/main/default/quickActions/Account.New.quickAction-meta.xml', - new Set(['Account.New']), - ], - [ - 'quickActions', - 'force-app/main/default/quickActions/NewGlobal.quickAction-meta.xml', - new Set(['NewGlobal']), - ], - [ - 'customMetadata', - 'force-app/main/default/customMetadata/GraphicsPackImages.md_png.md-meta.xml', - new Set(['GraphicsPackImages.md_png']), - ], - [ - 'weblinks', - 'force-app/main/default/objects/Account/weblinks/ClientStore.weblink-meta.xml', - new Set(['ClientStore']), - ], - [ - 'classes', - 'force-app/main/default/classes/controllers/Controller.cls-meta.xml', - new Set(['Controller']), - ], - [ - 'batchCalcJobDefinitions', - 'force-app/main/default/batchCalcJobDefinitions/Job.batchCalcJobDefinition-meta.xml', - new Set(['Job']), - ], - [ - 'restrictionRules', - 'force-app/main/default/restrictionRules/Account.rule-meta.xml', - new Set(['Account']), - ], - ], - ], - [ - SubCustomObjectHandler, - [ - [ - 'fields', - 'force-app/main/default/objects/Account/fields/awesome.field-meta.xml', - new Set(['Account.awesome']), - ], - [ - 'indexes', - 'force-app/main/default/objects/Account/indexes/awesome.index-meta.xml', - new Set(['Account.awesome']), - ], - [ - 'rules', - 'force-app/main/default/territory2Models/EU/rules/Location.territory2Rule-meta.xml', - new Set(['EU.Location']), - ], - [ - 'territories', - 'force-app/main/default/territory2Models/EU/territories/France.territory2-meta.xml', - new Set(['EU.France']), - ], - [ - 'fields', - 'force-app/main/default/objects/Test/Account/fields/awesome.field-meta.xml', - new Set(['Account.awesome']), - ], - [ - 'rules', - 'force-app/main/default/territory2Models/Test/EU/rules/Location.territory2Rule-meta.xml', - new Set(['EU.Location']), - ], - [ - 'territories', - 'force-app/main/default/territory2Models/Test/EU/territories/France.territory2-meta.xml', - new Set(['EU.France']), - ], - ], - ], - [ - WaveHandler, - [ - [ - 'discovery', - 'force-app/main/default/discovery/DiscoveryAIModelTest.model', - new Set(['DiscoveryAIModelTest']), - 'DiscoveryAIModel', - ], - [ - 'discovery', - 'force-app/main/default/discovery/DiscoveryGoalTest.goal', - new Set(['DiscoveryGoalTest']), - 'DiscoveryGoal', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveApplicationTest.wapp', - new Set(['WaveApplicationTest']), - 'WaveApplication', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveComponentTest.wcomp', - new Set(['WaveComponentTest']), - 'WaveComponent', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveDataflowTest.wdf', - new Set(['WaveDataflowTest']), - 'WaveDataflow', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveDashboardTest.wdash', - new Set(['WaveDashboardTest']), - 'WaveDashboard', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveDatasetTest.wds', - new Set(['WaveDatasetTest']), - 'WaveDataset', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveLensTest.wlens', - new Set(['WaveLensTest']), - 'WaveLens', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveRecipeTest.wdpr', - new Set(['WaveRecipeTest']), - 'WaveRecipe', - ], - [ - 'wave', - 'force-app/main/default/wave/WaveXmdTest.xmd', - new Set(['WaveXmdTest']), - 'WaveXmd', - ], - [ - 'discovery', - 'force-app/main/default/discovery/Test/DiscoveryAIModelTest.model', - new Set(['DiscoveryAIModelTest']), - 'DiscoveryAIModel', - ], - [ - 'discovery', - 'force-app/main/default/discovery/Test/DiscoveryGoalTest.goal', - new Set(['DiscoveryGoalTest']), - 'DiscoveryGoal', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveApplicationTest.wapp', - new Set(['WaveApplicationTest']), - 'WaveApplication', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveComponentTest.wcomp', - new Set(['WaveComponentTest']), - 'WaveComponent', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveDataflowTest.wdf', - new Set(['WaveDataflowTest']), - 'WaveDataflow', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveDashboardTest.wdash', - new Set(['WaveDashboardTest']), - 'WaveDashboard', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveDatasetTest.wds', - new Set(['WaveDatasetTest']), - 'WaveDataset', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveLensTest.wlens', - new Set(['WaveLensTest']), - 'WaveLens', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveRecipeTest.wdpr', - new Set(['WaveRecipeTest']), - 'WaveRecipe', - ], - [ - 'wave', - 'force-app/main/default/wave/Test/WaveXmdTest.xmd', - new Set(['WaveXmdTest']), - 'WaveXmd', - ], - ], + 'force-app/main/default/bots/TestBot/TestBot.bot-meta.xml', + new Set(['TestBot']), + 'Bot', + ], + [ + 'force-app/main/default/bots/TestBot/v1.botVersion-meta.xml', + new Set(['TestBot.v1']), + 'BotVersion', + ], + [ + 'force-app/main/default/objects/Account/Account.object-meta.xml', + new Set(['Account']), + 'CustomObject', + ], + [ + 'force-app/main/default/objects/Test/Account/Account.object-meta.xml', + new Set(['Account']), + 'CustomObject', + ], + [ + 'force-app/main/default/territory2Models/EU/EU.territory2Model-meta.xml', + new Set(['EU']), + 'Territory2Model', + ], + [ + 'force-app/main/default/workflows/Account.workflow-meta.xml', + new Set(['Account.Test']), + 'WorkflowAlert', + `Test`, + ``, + ], + [ + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + new Set(['Account.Test']), + 'WorkflowFieldUpdate', + `Test`, + ``, + ], + [ + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + new Set(['Account.Test']), + 'WorkflowOutboundMessage', + `Test`, + ``, + ], + [ + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + new Set(['Account.Test']), + 'WorkflowRule', + `Test`, + ``, + ], + [ + 'force-app/main/default/workflows/Test/Account.workflow-meta.xml', + new Set(['Account.Test']), + 'WorkflowKnowledgePublish', + `Test`, + ``, + ], + [ + 'force-app/main/default/sharingRules/Account.sharingRules-meta.xml', + new Set(['Account.Criteria']), + 'SharingCriteriaRule', + `Criteria`, + ``, + ], + [ + 'force-app/main/default/sharingRules/Test/Account.sharingRules-meta.xml', + new Set(['Account.Criteria']), + 'SharingCriteriaRule', + `Criteria`, + ``, + ], + [ + 'force-app/main/default/labels/CustomLabels.labels-meta.xml', + new Set(['Label']), + 'CustomLabel', + `Label`, + ``, + ], + [ + 'force-app/main/default/assignmentRules/Account.assignmentRules-meta.xml', + new Set(['Account.AccountRule']), + 'AssignmentRule', + `AccountRule`, + ``, + ], + [ + 'force-app/main/default/autoResponseRules/Account.autoResponseRules-meta.xml', + new Set(['Account.AccountRule']), + 'AutoResponseRule', + `AccountRule`, + ``, + ], + [ + 'force-app/main/default/escalationRules/Account.escalationRules-meta.xml', + new Set(['Account.AccountRule']), + 'EscalationRule', + `AccountRule`, + ``, + ], + [ + 'force-app/main/default/matchingRules/Account.matchingRule-meta.xml', + new Set(['Account.AccountRule']), + 'MatchingRule', + `AccountRule`, + ``, + ], + [ + 'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml', + new Set(['Numbers-fr']), + 'GlobalValueSetTranslation', + `ThreeTrois`, + ``, + ], + [ + 'force-app/main/default/standardValueSetTranslations/Numbers-fr.standardValueSetTranslation-meta.xml', + new Set(['Numbers-fr']), + 'StandardValueSetTranslation', + `ThreeTrois`, + ``, + ], + [ + 'force-app/main/default/profiles/Admin.profile-meta.xml', + new Set(['Admin']), + 'Profile', + `MyAppfalsefalse`, + ``, + ], + [ + 'force-app/main/default/translations/fr.translation-meta.xml', + new Set(['fr']), + 'Translations', + `MyApp`, + ``, + ], + [ + 'force-app/main/default/objectTranslations/Account-fr/Account-fr.objectTranslation-meta.xml', + new Set(['Account-fr']), + 'CustomObjectTranslation', + `NewRelationship`, + ``, + ], + [ + 'force-app/main/default/objectTranslations/Account-fr/BillingFloor__c.fieldTranslation-meta.xml', + new Set(['Account-fr']), + 'CustomObjectTranslation', + `NewRelationship`, + ``, + ], + [ + 'force-app/main/default/dashboards/folder/file.dashboard-meta.xml', + new Set(['folder/file']), + 'Dashboard', + ], + [ + 'force-app/main/default/reports/folder.reportFolder-meta.xml', + new Set(['folder']), + 'Report', + ], + [ + 'force-app/main/default/documents/folder.documentFolder-meta.xml', + new Set(['folder']), + 'Document', + ], + [ + 'force-app/main/default/documents/folder/document.test.ext', + new Set(['folder/document.test']), + 'Document', + ], + [ + 'force-app/main/default/documents/folder/document.test.document-meta.xml', + new Set(['folder/document.test']), + 'Document', + ], + [ + 'force-app/main/default/staticresources/test/content', + new Set(['test']), + 'StaticResource', + ], + [ + 'force-app/main/default/staticresources/resource.js', + new Set(['resource']), + 'StaticResource', + ], + [ + 'force-app/main/default/staticresources/erase.resource-meta.xml', + new Set(['erase']), + 'StaticResource', + ], + [ + 'force-app/main/default/waveTemplates/WaveTemplateTest/template-info.json', + new Set(['WaveTemplateTest']), + 'WaveTemplateBundle', + ], + [ + 'force-app/main/default/lwc/component/component.js-meta.xml', + new Set(['component']), + 'LightningComponentBundle', + ], + [ + 'force-app/main/default/aura/component/component.cmp-meta.xml', + new Set(['component']), + 'AuraDefinitionBundle', + ], + [ + 'force-app/main/default/experiences/component/subfolder/file.json', + new Set(['component']), + 'ExperienceBundle', + ], + [ + 'force-app/main/default/experiences/component-meta.xml', + new Set(['component']), + 'ExperienceBundle', + ], + [ + 'force-app/main/default/digitalExperiences/site/component.digitalExperience-meta.xml', + new Set(['site/component']), + 'DigitalExperienceBundle', + ], + [ + 'force-app/main/default/digitalExperiences/site/component/workspace/file.json', + new Set(['site/component']), + 'DigitalExperienceBundle', + ], + [ + 'force-app/main/default/quickActions/Account.New.quickAction-meta.xml', + new Set(['Account.New']), + 'QuickAction', + ], + [ + 'force-app/main/default/quickActions/NewGlobal.quickAction-meta.xml', + new Set(['NewGlobal']), + 'QuickAction', + ], + [ + 'force-app/main/default/customMetadata/GraphicsPackImages.md_png.md-meta.xml', + new Set(['GraphicsPackImages.md_png']), + 'CustomMetadata', + ], + [ + 'force-app/main/default/objects/Account/weblinks/ClientStore.weblink-meta.xml', + new Set(['ClientStore']), + 'CustomPageWebLink', + ], + [ + 'force-app/main/default/classes/controllers/Controller.cls-meta.xml', + new Set(['Controller']), + 'ApexClass', + ], + [ + 'force-app/main/default/batchCalcJobDefinitions/Job.batchCalcJobDefinition-meta.xml', + new Set(['Job']), + 'BatchCalcJobDefinition', + ], + [ + 'force-app/main/default/restrictionRules/Account.rule-meta.xml', + new Set(['Account']), + 'RestrictionRule', + ], + [ + 'force-app/main/default/objects/Account/fields/awesome.field-meta.xml', + new Set(['Account.awesome']), + 'CustomField', + ], + [ + 'force-app/main/default/objects/Account/indexes/awesome.index-meta.xml', + new Set(['Account.awesome']), + 'Index', + ], + [ + 'force-app/main/default/territory2Models/EU/rules/Location.territory2Rule-meta.xml', + new Set(['EU.Location']), + 'Territory2Rule', + ], + [ + 'force-app/main/default/territory2Models/EU/territories/France.territory2-meta.xml', + new Set(['EU.France']), + 'Territory2', + ], + [ + 'force-app/main/default/objects/Test/Account/fields/awesome.field-meta.xml', + new Set(['Account.awesome']), + 'CustomField', + ], + [ + 'force-app/main/default/territory2Models/Test/EU/rules/Location.territory2Rule-meta.xml', + new Set(['EU.Location']), + 'Territory2Rule', + ], + [ + 'force-app/main/default/territory2Models/Test/EU/territories/France.territory2-meta.xml', + new Set(['EU.France']), + 'Territory2', + ], + [ + 'force-app/main/default/discovery/DiscoveryAIModelTest.model', + new Set(['DiscoveryAIModelTest']), + 'DiscoveryAIModel', + ], + [ + 'force-app/main/default/discovery/DiscoveryGoalTest.goal', + new Set(['DiscoveryGoalTest']), + 'DiscoveryGoal', + ], + [ + 'force-app/main/default/wave/WaveApplicationTest.wapp', + new Set(['WaveApplicationTest']), + 'WaveApplication', + ], + [ + 'force-app/main/default/wave/WaveComponentTest.wcomp', + new Set(['WaveComponentTest']), + 'WaveComponent', + ], + [ + 'force-app/main/default/wave/WaveDataflowTest.wdf', + new Set(['WaveDataflowTest']), + 'WaveDataflow', + ], + [ + 'force-app/main/default/wave/WaveDashboardTest.wdash', + new Set(['WaveDashboardTest']), + 'WaveDashboard', + ], + [ + 'force-app/main/default/wave/WaveDatasetTest.wds', + new Set(['WaveDatasetTest']), + 'WaveDataset', + ], + [ + 'force-app/main/default/wave/WaveLensTest.wlens', + new Set(['WaveLensTest']), + 'WaveLens', + ], + [ + 'force-app/main/default/wave/WaveRecipeTest.wdpr', + new Set(['WaveRecipeTest']), + 'WaveRecipe', + ], + [ + 'force-app/main/default/wave/WaveXmdTest.xmd', + new Set(['WaveXmdTest']), + 'WaveXmd', + ], + [ + 'force-app/main/default/discovery/Test/DiscoveryAIModelTest.model', + new Set(['DiscoveryAIModelTest']), + 'DiscoveryAIModel', + ], + [ + 'force-app/main/default/discovery/Test/DiscoveryGoalTest.goal', + new Set(['DiscoveryGoalTest']), + 'DiscoveryGoal', + ], + [ + 'force-app/main/default/wave/Test/WaveApplicationTest.wapp', + new Set(['WaveApplicationTest']), + 'WaveApplication', + ], + [ + 'force-app/main/default/wave/Test/WaveComponentTest.wcomp', + new Set(['WaveComponentTest']), + 'WaveComponent', + ], + [ + 'force-app/main/default/wave/Test/WaveDataflowTest.wdf', + new Set(['WaveDataflowTest']), + 'WaveDataflow', + ], + [ + 'force-app/main/default/wave/Test/WaveDashboardTest.wdash', + new Set(['WaveDashboardTest']), + 'WaveDashboard', + ], + [ + 'force-app/main/default/wave/Test/WaveDatasetTest.wds', + new Set(['WaveDatasetTest']), + 'WaveDataset', + ], + [ + 'force-app/main/default/wave/Test/WaveLensTest.wlens', + new Set(['WaveLensTest']), + 'WaveLens', + ], + [ + 'force-app/main/default/wave/Test/WaveRecipeTest.wdpr', + new Set(['WaveRecipeTest']), + 'WaveRecipe', + ], + [ + 'force-app/main/default/wave/Test/WaveXmdTest.xmd', + new Set(['WaveXmdTest']), + 'WaveXmd', ], ] let globalMetadata +beforeAll(async () => { + // eslint-disable-next-line no-undef + globalMetadata = await getGlobalMetadata() +}) let work +let handlerFactory beforeEach(() => { - jest.clearAllMocks() + jest.resetAllMocks() work = { config: { output: '', source: '', repo: '', generateDelta: true }, diffs: { package: new Map(), destructiveChanges: new Map() }, warnings: [], } + handlerFactory = new HandlerFactory(work, globalMetadata) }) -beforeAll(async () => { - // eslint-disable-next-line no-undef - globalMetadata = await getGlobalMetadata() -}) -describe.each(testContext)('integration domain test', (handler, testData) => { - describe(`${handler.name}`, () => { - describe.each(testData)( - '%s', - (type, changePath, expected, expectedType, xmlTo, xmlFrom) => { - test('addition', async () => { - // Arrange - if (xmlTo && xmlFrom) { - readPathFromGit.mockResolvedValueOnce(xmlTo) - readPathFromGit.mockResolvedValueOnce(xmlFrom) - } - const sut = new handler( - `${ADDITION} ${changePath}`, - type, - work, - globalMetadata - ) +describe.each(testContext)( + `integration test %s`, + (changePath, expected, expectedType, xmlTo, xmlFrom) => { + test(`addition ${expectedType}`, async () => { + // Arrange + if (xmlTo && xmlFrom) { + readPathFromGit.mockResolvedValueOnce(xmlTo) + readPathFromGit.mockResolvedValueOnce(xmlFrom) + } + const sut = handlerFactory.getTypeHandler( + `${ADDITION} ${changePath}` + ) - // Act - await sut.handle() + // Act + await sut.handle() - // Assert - expect(work.diffs.package.get(expectedType ?? type)).toEqual(expected) - }) - test('deletion', async () => { - // Arrange - if (xmlTo && xmlFrom) { - readPathFromGit.mockResolvedValueOnce(xmlFrom) - readPathFromGit.mockResolvedValueOnce(xmlTo) - } + // Assert + expect(work.diffs.package.get(expectedType)).toEqual(expected) + }) + test(`deletion ${expectedType}`, async () => { + // Arrange + if (xmlTo && xmlFrom) { + readPathFromGit.mockResolvedValueOnce(xmlFrom) + readPathFromGit.mockResolvedValueOnce(xmlTo) + } - const sut = new handler( - `${DELETION} ${changePath}`, - type, - work, - globalMetadata - ) + const sut = handlerFactory.getTypeHandler( + `${DELETION} ${changePath}` + ) - // Act - await sut.handle() + // Act + await sut.handle() - // Assert - expect( - work.diffs.destructiveChanges.get(expectedType ?? type) - ).toEqual(expected) - }) - test('modification', async () => { - // Arrange - if (xmlTo && xmlFrom) { - readPathFromGit.mockResolvedValueOnce(xmlTo) - readPathFromGit.mockResolvedValueOnce(xmlFrom) - } - const sut = new handler( - `${MODIFICATION} ${changePath}`, - type, - work, - globalMetadata - ) + // Assert + expect(work.diffs.destructiveChanges.get(expectedType)).toEqual(expected) + }) + test(`modification ${expectedType}`, async () => { + // Arrange + if (xmlTo && xmlFrom) { + readPathFromGit.mockResolvedValueOnce(xmlTo) + readPathFromGit.mockResolvedValueOnce(xmlFrom) + } - // Act - await sut.handle() + const sut = handlerFactory.getTypeHandler( + `${MODIFICATION} ${changePath}` + ) - // Assert - expect(work.diffs.package.get(expectedType ?? type)).toEqual(expected) - }) - } - ) - }) -}) + // Act + await sut.handle() + + // Assert + expect(work.diffs.package.get(expectedType)).toEqual(expected) + }) + } +) diff --git a/__tests__/mocha.opts b/__tests__/mocha.opts deleted file mode 100644 index 73fb8366..00000000 --- a/__tests__/mocha.opts +++ /dev/null @@ -1,5 +0,0 @@ ---require ts-node/register ---watch-extensions ts ---recursive ---reporter spec ---timeout 5000 diff --git a/__tests__/unit/lib/metadata/metadataManager.test.js b/__tests__/unit/lib/metadata/metadataManager.test.js index a8f6f00a..dd3a42ed 100644 --- a/__tests__/unit/lib/metadata/metadataManager.test.js +++ b/__tests__/unit/lib/metadata/metadataManager.test.js @@ -1,7 +1,9 @@ 'use strict' const { getDefinition, + getInFileAttributes, getLatestSupportedVersion, + getWaveMetadata, isVersionSupported, } = require('../../../../src/metadata/metadataManager') @@ -39,4 +41,117 @@ describe(`test if metadata`, () => { expect(result).toEqual(data[1]) } }) + + test('getInFileAttributes', async () => { + // Arrange + const metadata = new Map([ + [ + 'waveTemplates', + { + directoryName: 'waveTemplates', + inFolder: true, + metaFile: false, + xmlName: 'WaveTemplateBundle', + }, + ], + [ + 'alerts', + { + directoryName: 'workflows.alerts', + inFolder: false, + metaFile: false, + parentXmlName: 'Workflow', + xmlName: 'WorkflowAlert', + xmlTag: 'alerts', + key: 'fullName', + }, + ], + [ + 'excluded', + { + directoryName: 'excluded', + inFolder: false, + metaFile: false, + parentXmlName: 'Banished', + xmlName: 'Excluded', + xmlTag: 'excluded', + key: 'other', + excluded: true, + }, + ], + ]) + + // Act + let inFileAttributes = getInFileAttributes(metadata) + + // Assert + expect(inFileAttributes.has('waveTemplates')).toBe(false) + expect(inFileAttributes.has('excluded')).toBe(true) + expect(inFileAttributes.has('alerts')).toBe(true) + expect(inFileAttributes.get('alerts')).toEqual({ + xmlName: 'WorkflowAlert', + key: 'fullName', + excluded: false, + }) + expect(inFileAttributes.get('excluded')).toEqual({ + xmlName: 'Excluded', + key: 'other', + excluded: true, + }) + + // Act + let otherInFileAttributes = getInFileAttributes(metadata) + + // Assert + expect(otherInFileAttributes).toBe(inFileAttributes) + }) + + test('getWaveMetadata', async () => { + // Arrange + const metadata = new Map([ + [ + 'waveTemplates', + { + directoryName: 'waveTemplates', + inFolder: true, + metaFile: false, + xmlName: 'WaveTemplateBundle', + }, + ], + [ + 'discovery', + { + directoryName: 'discovery', + inFolder: false, + metaFile: true, + content: [ + { + suffix: 'model', + xmlName: 'DiscoveryAIModel', + }, + { + suffix: 'goal', + xmlName: 'DiscoveryGoal', + }, + ], + }, + ], + ]) + + // Act + let waveMetadata = getWaveMetadata(metadata) + + // Assert + expect(waveMetadata.has('discovery')).toBe(false) + expect(waveMetadata.has('goal')).toBe(true) + expect(waveMetadata.has('model')).toBe(true) + expect(waveMetadata.get('goal')).toEqual('DiscoveryGoal') + expect(waveMetadata.get('model')).toEqual('DiscoveryAIModel') + + // Act + let otherWaveMetadata = getWaveMetadata(metadata) + + // Assert + expect(otherWaveMetadata).toBe(waveMetadata) + }) }) diff --git a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js index c1f22baa..4c9f75d1 100644 --- a/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js +++ b/__tests__/unit/lib/post-processor/flowTranslationProcessor.test.js @@ -2,17 +2,19 @@ const FlowTranslationProcessor = require('../../../../src/post-processor/flowTranslationProcessor') const { parseXmlFileToJson } = require('../../../../src/utils/fxpHelper') const { - FLOW_DIRECTORY_NAME, + FLOW_XML_NAME, METAFILE_SUFFIX, TRANSLATION_EXTENSION, TRANSLATION_TYPE, } = require('../../../../src/utils/metadataConstants') const { - copyFiles, + writeFile, scanExtension, isSubDir, + readFile, } = require('../../../../src/utils/fsHelper') const { forPath } = require('../../../../src/utils/ignoreHelper') +const { pathExists } = require('fs-extra') jest.mock('fs-extra') jest.mock('../../../../src/utils/fsHelper') jest.mock('../../../../src/utils/ignoreHelper') @@ -22,7 +24,6 @@ jest.mock('../../../../src/utils/fxpHelper', () => { return { ...originalModule, parseXmlFileToJson: jest.fn(), - convertJsonToXml: jest.fn(), } }) @@ -74,9 +75,11 @@ describe('FlowTranslationProcessor', () => { describe('when flow have been modified', () => { beforeEach(() => { - work.diffs.package = new Map([ - [FLOW_DIRECTORY_NAME, new Set([flowFullName])], - ]) + // Arrange + work.diffs.package = new Map([[FLOW_XML_NAME, new Set([flowFullName])]]) + parseXmlFileToJson.mockResolvedValue({ + Translations: { flowDefinitions: { fullName: flowFullName } }, + }) }) describe('when there is no translation file', () => { @@ -97,7 +100,7 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() }) }) @@ -119,7 +122,7 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) - expect(copyFiles).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() }) }) @@ -143,40 +146,66 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) - expect(copyFiles).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalled() }) - describe('when the folder is not a git repository', () => { - beforeEach(() => { - // Arrange - copyFiles.mockImplementationOnce(() => - Promise.reject(new Error('fatal: not a git repository')) - ) - }) - it('should throw an exception', async () => { - // Arrange - expect.assertions(2) + }) - // Act - try { - await sut.process() - } catch (error) { - // Assert - expect(error).toBeTruthy() - expect(copyFiles).toHaveBeenCalled() - } - }) + describe('when there is already a translation with flow definition related to a flow', () => { + beforeEach(() => { + // Arrange + work.diffs.package = new Map([ + [TRANSLATION_TYPE, new Set([FR])], + [FLOW_XML_NAME, new Set([flowFullName])], + ]) + pathExists.mockResolvedValue(true) + readFile.mockResolvedValue( + `TestATestB` + ) + }) + it('the flowDefinitions translations should be added to the translation file', async () => { + // Act + await sut.process() + + // Assert + expect(scanExtension).toHaveBeenCalledTimes(1) + expect(scanExtension).toHaveBeenCalledWith( + work.config.source, + EXTENSION, + work.config + ) + expect(parseXmlFileToJson).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalledTimes(1) + expect(writeFile).toHaveBeenCalledWith( + 'fr.translation-meta.xml', + expect.stringContaining('test-flow'), + work.config + ) + expect(writeFile).toHaveBeenCalledWith( + 'fr.translation-meta.xml', + expect.stringContaining('TestB'), + work.config + ) + expect(writeFile).toHaveBeenCalledWith( + 'fr.translation-meta.xml', + expect.stringContaining('TestA'), + work.config + ) }) }) - describe('when there is already a translation related to a flow', () => { + describe('when there is no copied flowTranslation changed already for the flow', () => { beforeEach(() => { // Arrange work.diffs.package = new Map([ - [TRANSLATION_TYPE, new Set([FR])], - [FLOW_DIRECTORY_NAME, new Set([flowFullName])], + //[TRANSLATION_TYPE, new Set([FR])], + [FLOW_XML_NAME, new Set([flowFullName])], ]) + pathExists.mockResolvedValue(true) + readFile.mockResolvedValue( + `` + ) }) - it('should not treat again the translation', async () => { + it('the flowDefinitions translations should be added to the translation file', async () => { // Act await sut.process() @@ -187,8 +216,13 @@ describe('FlowTranslationProcessor', () => { EXTENSION, work.config ) - expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + expect(parseXmlFileToJson).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalledTimes(1) + expect(writeFile).toHaveBeenCalledWith( + 'fr.translation-meta.xml', + expect.stringContaining('test-flow'), + work.config + ) }) }) @@ -231,7 +265,7 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) - expect(copyFiles).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() }) }) @@ -242,11 +276,14 @@ describe('FlowTranslationProcessor', () => { beforeEach(() => { parseXmlFileToJson.mockResolvedValue({ Translations: { - flowDefinitions: [{ fullName: flowFullName }], + flowDefinitions: [ + { fullName: flowFullName }, + { fullName: 'otherFlow' }, + ], }, }) work.diffs.package = new Map([ - [FLOW_DIRECTORY_NAME, new Set([flowFullName])], + [FLOW_XML_NAME, new Set([flowFullName, 'otherFlow'])], ]) work.config.generateDelta = generateDelta }) @@ -265,8 +302,8 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(parseXmlFileToJson).toHaveBeenCalledTimes(2) - if (generateDelta) expect(copyFiles).toHaveBeenCalledTimes(2) - else expect(copyFiles).not.toHaveBeenCalled() + if (generateDelta) expect(writeFile).toHaveBeenCalledTimes(2) + else expect(writeFile).not.toHaveBeenCalled() }) } ) @@ -293,7 +330,7 @@ describe('FlowTranslationProcessor', () => { ) expect(forPath).toHaveBeenCalledTimes(1) expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() }) }) @@ -301,7 +338,7 @@ describe('FlowTranslationProcessor', () => { beforeEach(() => { // Arrange work.diffs.package = new Map([ - [FLOW_DIRECTORY_NAME, new Set([flowFullName])], + [FLOW_XML_NAME, new Set([flowFullName])], ]) work.config.ignore = '.forceignore' forPath.mockResolvedValue({ ignores: () => false }) @@ -320,7 +357,7 @@ describe('FlowTranslationProcessor', () => { ) expect(forPath).toHaveBeenCalledTimes(1) expect(parseXmlFileToJson).toHaveBeenCalledTimes(1) - expect(copyFiles).toHaveBeenCalledTimes(1) + expect(writeFile).toHaveBeenCalledTimes(1) }) }) @@ -353,7 +390,7 @@ describe('FlowTranslationProcessor', () => { work.config ) expect(parseXmlFileToJson).not.toHaveBeenCalled() - expect(copyFiles).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() }) }) }) diff --git a/__tests__/unit/lib/service/inTranslationHandler.test.js b/__tests__/unit/lib/service/ObjectTranslationHandler.test.js similarity index 56% rename from __tests__/unit/lib/service/inTranslationHandler.test.js rename to __tests__/unit/lib/service/ObjectTranslationHandler.test.js index 6c5c5d57..5fdd34ad 100644 --- a/__tests__/unit/lib/service/inTranslationHandler.test.js +++ b/__tests__/unit/lib/service/ObjectTranslationHandler.test.js @@ -1,13 +1,24 @@ 'use strict' -const InTranslation = require('../../../../src/service/inTranslationHandler') -const { copyFiles } = require('../../../../src/utils/fsHelper') +const ObjectTranslation = require('../../../../src/service/ObjectTranslationHandler') +const { writeFile, copyFiles } = require('../../../../src/utils/fsHelper') +const mockCompare = jest.fn() +const mockprune = jest.fn() +jest.mock('../../../../src/utils/metadataDiff', () => { + return jest.fn().mockImplementation(() => { + return { compare: mockCompare, prune: mockprune } + }) +}) jest.mock('../../../../src/utils/fsHelper') const objectType = 'objectTranslations' +const xmlName = 'CustomObjectTranslation' const line = 'A force-app/main/default/objectTranslations/Account-es/Account-es.objectTranslation-meta.xml' +const content = 'content' +mockprune.mockReturnValue(content) + let work beforeEach(() => { jest.clearAllMocks() @@ -17,7 +28,7 @@ beforeEach(() => { } }) -describe('InTranslation', () => { +describe('ObjectTranslation', () => { let globalMetadata beforeAll(async () => { // eslint-disable-next-line no-undef @@ -28,33 +39,34 @@ describe('InTranslation', () => { it('should not copy files', async () => { // Arrange work.config.generateDelta = false - const sut = new InTranslation(line, objectType, work, globalMetadata) + const sut = new ObjectTranslation(line, objectType, work, globalMetadata) // Act await sut.handleAddition() // Assert - expect(copyFiles).not.toBeCalled() - expect(...work.diffs.package.get(objectType)).toEqual('Account-es') + expect(writeFile).not.toBeCalled() + expect(...work.diffs.package.get(xmlName)).toEqual('Account-es') }) }) describe('when called with generateDelta true', () => { it('should copy object translations files', async () => { // Arrange - const sut = new InTranslation(line, objectType, work, globalMetadata) + const sut = new ObjectTranslation(line, objectType, work, globalMetadata) // Act await sut.handleAddition() // Assert - expect(copyFiles).toBeCalledTimes(2) - expect(copyFiles).toHaveBeenCalledWith( - work.config, - expect.stringContaining('Account-es.objectTranslation') + expect(writeFile).toBeCalledTimes(1) + expect(writeFile).toHaveBeenCalledWith( + expect.stringContaining('Account-es.objectTranslation'), + content, + work.config ) - expect(...work.diffs.package.get(objectType)).toEqual('Account-es') + expect(...work.diffs.package.get(xmlName)).toEqual('Account-es') }) describe('when called with fieldTranslation', () => { @@ -62,7 +74,7 @@ describe('InTranslation', () => { 'A force-app/main/default/objectTranslations/Account-es/BillingFloor__c.fieldTranslation-meta.xml' it('should copy object translations files and fieldTranslation', async () => { // Arrange - const sut = new InTranslation( + const sut = new ObjectTranslation( fieldTranslationline, objectType, work, @@ -73,17 +85,18 @@ describe('InTranslation', () => { await sut.handleAddition() // Assert - - expect(copyFiles).toBeCalledTimes(2) + expect(copyFiles).toBeCalledTimes(1) expect(copyFiles).toHaveBeenCalledWith( work.config, expect.stringContaining('BillingFloor__c.fieldTranslation') ) - expect(copyFiles).toHaveBeenCalledWith( - work.config, - expect.stringContaining('Account-es.objectTranslation') + expect(writeFile).toBeCalledTimes(1) + expect(writeFile).toHaveBeenCalledWith( + expect.stringContaining('Account-es.objectTranslation'), + content, + work.config ) - expect(...work.diffs.package.get(objectType)).toEqual('Account-es') + expect(...work.diffs.package.get(xmlName)).toEqual('Account-es') }) }) }) diff --git a/__tests__/unit/lib/service/inFileHandler.test.js b/__tests__/unit/lib/service/inFileHandler.test.js index 2e3b4763..f52ac891 100644 --- a/__tests__/unit/lib/service/inFileHandler.test.js +++ b/__tests__/unit/lib/service/inFileHandler.test.js @@ -4,7 +4,7 @@ const { writeFile } = require('../../../../src/utils/fsHelper') const mockCompare = jest.fn() const mockprune = jest.fn() -jest.mock('../../../../src/utils/fileGitDiff', () => { +jest.mock('../../../../src/utils/metadataDiff', () => { return jest.fn().mockImplementation(() => { return { compare: mockCompare, prune: mockprune } }) @@ -43,7 +43,7 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { globalMetadata ) mockCompare.mockReturnValue({ - added: new Map([['workflows.alerts', new Set(['test'])]]), + added: new Map([['WorkflowAlert', new Set(['test'])]]), deleted: new Map(), }) }) @@ -53,8 +53,8 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { // Assert expect(work.diffs.destructiveChanges.size).toEqual(0) - expect(work.diffs.package.get('workflows')).toEqual(new Set(['Account'])) - expect(work.diffs.package.get('workflows.alerts')).toEqual( + expect(work.diffs.package.get('Workflow')).toEqual(new Set(['Account'])) + expect(work.diffs.package.get('WorkflowAlert')).toEqual( new Set(['Account.test']) ) @@ -66,6 +66,41 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { expect(writeFile).not.toHaveBeenCalled() } }) + + describe('when metadata in file is not packable', () => { + beforeEach(() => { + // Arrange + sut = new InFile( + 'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml', + 'globalValueSetTranslations', + work, + globalMetadata + ) + mockCompare.mockReturnValue({ + added: new Map([['ValueTranslation', new Set(['Three'])]]), + deleted: new Map(), + }) + }) + it('should only store file name and not the metadata in file', async () => { + // Act + await sut.handleAddition() + + // Assert + expect(work.diffs.destructiveChanges.size).toEqual(0) + expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual( + new Set(['Numbers-fr']) + ) + expect(work.diffs.package.size).toEqual(1) + + if (generateDelta) { + expect(mockprune).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalled() + } else { + expect(mockprune).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() + } + }) + }) }) describe('when file is modified', () => { @@ -79,8 +114,8 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { globalMetadata ) mockCompare.mockReturnValue({ - added: new Map([['workflows.alerts', new Set(['test'])]]), - deleted: new Map([['workflows.alerts', new Set(['deleted'])]]), + added: new Map([['WorkflowAlert', new Set(['test'])]]), + deleted: new Map([['WorkflowAlert', new Set(['deleted'])]]), }) }) it('should store the added metadata in the package and deleted in the destructiveChanges', async () => { @@ -88,14 +123,14 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { await sut.handleModification() // Assert - expect(work.diffs.package.get('workflows')).toEqual(new Set(['Account'])) - expect(work.diffs.package.get('workflows.alerts')).toEqual( + expect(work.diffs.package.get('Workflow')).toEqual(new Set(['Account'])) + expect(work.diffs.package.get('WorkflowAlert')).toEqual( new Set(['Account.test']) ) - expect(work.diffs.destructiveChanges.get('workflows.alerts')).toEqual( + expect(work.diffs.destructiveChanges.get('WorkflowAlert')).toEqual( new Set(['Account.deleted']) ) - expect(work.diffs.destructiveChanges.has('workflows')).toBe(false) + expect(work.diffs.destructiveChanges.has('Workflow')).toBe(false) if (generateDelta) { expect(mockprune).toHaveBeenCalled() expect(writeFile).toHaveBeenCalled() @@ -104,6 +139,41 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { expect(writeFile).not.toHaveBeenCalled() } }) + + describe('when metadata in file is not packable', () => { + beforeEach(() => { + // Arrange + sut = new InFile( + 'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml', + 'globalValueSetTranslations', + work, + globalMetadata + ) + mockCompare.mockReturnValue({ + added: new Map([['ValueTranslation', new Set(['Three'])]]), + deleted: new Map(), + }) + }) + it('should only store file name and not the metadata in file', async () => { + // Act + await sut.handleModification() + + // Assert + expect(work.diffs.destructiveChanges.size).toEqual(0) + expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual( + new Set(['Numbers-fr']) + ) + expect(work.diffs.package.size).toEqual(1) + + if (generateDelta) { + expect(mockprune).toHaveBeenCalled() + expect(writeFile).toHaveBeenCalled() + } else { + expect(mockprune).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() + } + }) + }) }) describe('when file is deleted', () => { @@ -118,7 +188,7 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { ) mockCompare.mockReturnValue({ added: new Map(), - deleted: new Map([['workflows.alerts', new Set(['test'])]]), + deleted: new Map([['WorkflowAlert', new Set(['test'])]]), }) }) it('should store the deleted metadata in the destructiveChanges', async () => { @@ -127,12 +197,40 @@ describe.each([true, false])(`inFileHandler`, generateDelta => { // Assert expect(work.diffs.package.size).toEqual(0) - expect(work.diffs.destructiveChanges.has('workflows')).toBe(false) - expect(work.diffs.destructiveChanges.get('workflows.alerts')).toEqual( + expect(work.diffs.destructiveChanges.has('Workflow')).toBe(false) + expect(work.diffs.destructiveChanges.get('WorkflowAlert')).toEqual( new Set(['Account.test']) ) + expect(mockCompare).toHaveBeenCalled() expect(mockprune).not.toHaveBeenCalled() expect(writeFile).not.toHaveBeenCalled() }) + describe('when metadata in file is prune Only', () => { + beforeEach(() => { + // Arrange + sut = new InFile( + 'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml', + 'globalValueSetTranslations', + work, + globalMetadata + ) + }) + it('should only store file name and not the metadata in file', async () => { + // Act + await sut.handleDeletion() + + // Assert + expect(work.diffs.package.size).toEqual(0) + expect(work.diffs.destructiveChanges.has('ValueTranslation')).toBe( + false + ) + expect( + work.diffs.destructiveChanges.get('GlobalValueSetTranslation') + ).toEqual(new Set(['Numbers-fr'])) + expect(mockCompare).not.toHaveBeenCalled() + expect(mockprune).not.toHaveBeenCalled() + expect(writeFile).not.toHaveBeenCalled() + }) + }) }) }) diff --git a/__tests__/unit/lib/service/inFolderHandler.test.js b/__tests__/unit/lib/service/inFolderHandler.test.js index 8fbe3836..f31e4d65 100644 --- a/__tests__/unit/lib/service/inFolderHandler.test.js +++ b/__tests__/unit/lib/service/inFolderHandler.test.js @@ -8,6 +8,7 @@ jest.mock('../../../../src/utils/fsHelper') const entity = 'folder/test' const extension = 'document' const objectType = 'documents' +const xmlName = 'Document' const line = `A force-app/main/default/${objectType}/${entity}.${extension}-meta.xml` let work @@ -38,7 +39,7 @@ describe('InFolderHandler', () => { await sut.handleAddition() // Assert - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(copyFiles).not.toHaveBeenCalled() }) }) @@ -57,7 +58,7 @@ describe('InFolderHandler', () => { await sut.handleAddition() // Assert - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(readDir).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalledTimes(3) expect(copyFiles).toHaveBeenCalledWith( @@ -79,7 +80,7 @@ describe('InFolderHandler', () => { await sut.handleAddition() // Assert - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(readDir).toHaveBeenCalledTimes(1) expect(copyFiles).toHaveBeenCalledTimes(5) }) diff --git a/__tests__/unit/lib/service/inResourceHandler.test.js b/__tests__/unit/lib/service/inResourceHandler.test.js index f2a7936a..fe7e5b91 100644 --- a/__tests__/unit/lib/service/inResourceHandler.test.js +++ b/__tests__/unit/lib/service/inResourceHandler.test.js @@ -15,6 +15,7 @@ const objectType = 'staticresources' const element = 'myResources' const basePath = 'force-app/main/default/staticresources' const entityPath = `${basePath}/${element}.js` +const xmlName = 'StaticResource' const line = `A ${entityPath}` const type = 'resource' let work @@ -51,7 +52,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(objectType)).toEqual(element) + expect(...work.diffs.package.get(xmlName)).toEqual(element) expect(copyFiles).not.toBeCalled() }) }) @@ -74,17 +75,18 @@ describe('InResourceHandler', () => { ) }) it.each([ - ['staticresources', 'image', 'image.png', 3], - ['staticresources', 'image', 'image/logo.png', 3], + ['staticresources', 'StaticResource', 'image', 'image.png', 3], + ['staticresources', 'StaticResource', 'image', 'image/logo.png', 3], [ 'experiences', + 'ExperienceBundle', 'my_experience_bundle', 'my_experience_bundle/config/myexperiencebundle.json', 5, ], ])( 'should copy the matching folder resource, matching meta file and subject file', - async (type, entity, path, expectedCount) => { + async (type, xmlName, entity, path, expectedCount) => { // Arrange const base = 'force-app/main/default/' const line = `A ${base}${type}/${path}` @@ -94,7 +96,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(type)).toEqual(entity) + expect(...work.diffs.package.get(xmlName)).toEqual(entity) expect(copyFiles).toBeCalledTimes(expectedCount) expect(copyFiles).toHaveBeenCalledWith( work.config, @@ -116,6 +118,7 @@ describe('InResourceHandler', () => { it('should copy the matching lwc', async () => { // Arrange const type = 'lwc' + const xmlName = 'LightningComponentBundle' const entity = 'lwcc' const path = 'lwcc/lwcc.js' const base = 'force-app/main/default/' @@ -126,7 +129,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(type)).toEqual(entity) + expect(...work.diffs.package.get(xmlName)).toEqual(entity) expect(copyFiles).toBeCalledTimes(1) expect(copyFiles).toHaveBeenCalledWith( work.config, @@ -150,7 +153,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(objectType)).toEqual(element) + expect(...work.diffs.package.get(xmlName)).toEqual(element) expect(copyFiles).toBeCalledTimes(2) expect(copyFiles).toHaveBeenCalledWith(work.config, `${entityPath}`) expect(copyFiles).not.toHaveBeenCalledWith( @@ -183,7 +186,7 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(...work.diffs.package.get(objectType)).toEqual(element) + expect(...work.diffs.package.get(xmlName)).toEqual(element) expect(pathExists).toHaveBeenCalledWith( expect.stringContaining('resource'), work.config @@ -207,10 +210,8 @@ describe('InResourceHandler', () => { await sut.handle() // Assert - expect(work.diffs.package.has(objectType)).toBe(false) - expect(...work.diffs.destructiveChanges.get(objectType)).toEqual( - element - ) + expect(work.diffs.package.has(xmlName)).toBe(false) + expect(...work.diffs.destructiveChanges.get(xmlName)).toEqual(element) expect(pathExists).toHaveBeenCalledWith( expect.stringContaining(element), work.config @@ -218,26 +219,4 @@ describe('InResourceHandler', () => { }) }) }) - - describe('when the line should not be processed', () => { - it.each([`${basePath}/.eslintrc.json`])( - 'does not handle the line', - async entityPath => { - // Arrange - const sut = new InResourceHandler( - `A ${entityPath}`, - objectType, - work, - globalMetadata - ) - - // Act - await sut.handle() - - // Assert - expect(work.diffs.package.size).toBe(0) - expect(copyFiles).not.toHaveBeenCalled() - } - ) - }) }) diff --git a/__tests__/unit/lib/service/lwcHandler.test.js b/__tests__/unit/lib/service/lwcHandler.test.js new file mode 100644 index 00000000..e99fd9b9 --- /dev/null +++ b/__tests__/unit/lib/service/lwcHandler.test.js @@ -0,0 +1,96 @@ +'use strict' +const LwcHandler = require('../../../../src/service/lwcHandler') +const { copyFiles, readDir } = require('../../../../src/utils/fsHelper') +const { + ADDITION, + DELETION, + MODIFICATION, +} = require('../../../../src/utils/gitConstants') + +jest.mock('../../../../src/utils/fsHelper') + +readDir.mockImplementationOnce(() => Promise.resolve([])) + +const objectType = 'lwc' +const element = 'component' +const basePath = `force-app/main/default/${objectType}` +const entityPath = `${basePath}/${element}/${element}.js` +const xmlName = 'LightningComponentBundle' +let work +beforeEach(() => { + jest.clearAllMocks() + work = { + config: { output: '', repo: '', generateDelta: true }, + diffs: { package: new Map(), destructiveChanges: new Map() }, + } +}) + +describe('lwcHandler', () => { + let globalMetadata + beforeAll(async () => { + // eslint-disable-next-line no-undef + globalMetadata = await getGlobalMetadata() + }) + describe('when the line should not be processed', () => { + it.each([`${basePath}/.eslintrc.json`, `${basePath}/jsconfig.json`])( + 'does not handle the line', + async entityPath => { + // Arrange + const sut = new LwcHandler( + `${ADDITION} ${entityPath}`, + objectType, + work, + globalMetadata + ) + + // Act + await sut.handle() + + // Assert + expect(work.diffs.package.size).toBe(0) + expect(copyFiles).not.toHaveBeenCalled() + } + ) + }) + + describe('when the line should be processed', () => { + it.each([ADDITION, MODIFICATION])( + 'handles the line for "%s" type change', + async changeType => { + // Arrange + const sut = new LwcHandler( + `${changeType} ${entityPath}`, + objectType, + work, + globalMetadata + ) + + // Act + await sut.handle() + + // Assert + expect(work.diffs.package.get(xmlName)).toEqual(new Set([element])) + expect(copyFiles).toHaveBeenCalled() + } + ) + + it('handles the line for "D" type change', async () => { + // Arrange + const sut = new LwcHandler( + `${DELETION} ${entityPath}`, + objectType, + work, + globalMetadata + ) + + // Act + await sut.handle() + + // Assert + expect(work.diffs.destructiveChanges.get(xmlName)).toEqual( + new Set([element]) + ) + expect(copyFiles).not.toHaveBeenCalled() + }) + }) +}) diff --git a/__tests__/unit/lib/service/standardHandler.test.js b/__tests__/unit/lib/service/standardHandler.test.js index 0d72d962..b8f2b71e 100644 --- a/__tests__/unit/lib/service/standardHandler.test.js +++ b/__tests__/unit/lib/service/standardHandler.test.js @@ -11,6 +11,7 @@ const { copyFiles } = require('../../../../src/utils/fsHelper') jest.mock('../../../../src/utils/fsHelper') const objectType = 'classes' +const xmlName = 'ApexClass' const entity = 'MyClass' const extension = 'cls' const basePath = 'force-app/main/default/' @@ -54,7 +55,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings.length).toEqual(1) - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalled() }) @@ -100,7 +101,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).not.toBeCalled() }) @@ -119,7 +120,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) expect(work.diffs.package.size).toEqual(0) - expect(work.diffs.destructiveChanges.get(objectType)).toEqual( + expect(work.diffs.destructiveChanges.get(xmlName)).toEqual( new Set([entity]) ) expect(copyFiles).not.toBeCalled() @@ -145,7 +146,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledWith(work.config, entityPath) expect(copyFiles).toBeCalledWith( @@ -168,7 +169,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledWith(work.config, entityPath) expect(copyFiles).toBeCalledWith( @@ -194,7 +195,9 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) - expect(work.diffs.package.get('testSuites')).toEqual(new Set(['suite'])) + expect(work.diffs.package.get('ApexTestSuite')).toEqual( + new Set(['suite']) + ) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledTimes(1) expect(copyFiles).toBeCalledWith(work.config, entityPath) @@ -219,7 +222,9 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) - expect(work.diffs.package.get('testSuites')).toEqual(new Set(['suite'])) + expect(work.diffs.package.get('ApexTestSuite')).toEqual( + new Set(['suite']) + ) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledTimes(1) expect(copyFiles).toBeCalledWith(work.config, entityPath) @@ -249,7 +254,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) - expect(work.diffs.package.get(objectType)).toEqual(new Set([entity])) + expect(work.diffs.package.get(xmlName)).toEqual(new Set([entity])) expect(work.diffs.destructiveChanges.size).toEqual(0) expect(copyFiles).toBeCalledWith(work.config, entityPath) } @@ -269,7 +274,7 @@ describe(`StandardHandler`, () => { // Assert expect(work.warnings).toEqual([]) expect(work.diffs.package.size).toEqual(0) - expect(work.diffs.destructiveChanges.get(objectType)).toEqual( + expect(work.diffs.destructiveChanges.get(xmlName)).toEqual( new Set([entity]) ) expect(copyFiles).not.toBeCalled() diff --git a/__tests__/unit/lib/service/subCustomObjectHandler.test.js b/__tests__/unit/lib/service/subCustomObjectHandler.test.js index a1f8226f..9c561006 100644 --- a/__tests__/unit/lib/service/subCustomObjectHandler.test.js +++ b/__tests__/unit/lib/service/subCustomObjectHandler.test.js @@ -47,6 +47,7 @@ describe('SubCustomObjectHandler', () => { describe(`when field is not master detail`, () => { it('should not handle master detail exception', async () => { // Arrange + readPathFromGit.mockResolvedValueOnce('') const sut = new SubCustomObjectHandler( line, objectType, @@ -65,7 +66,7 @@ describe('SubCustomObjectHandler', () => { describe(`when field is master detail`, () => { it('should copy the parent object', async () => { // Arrange - readPathFromGit.mockImplementationOnce(() => MASTER_DETAIL_TAG) + readPathFromGit.mockResolvedValueOnce(MASTER_DETAIL_TAG) const sut = new SubCustomObjectHandler( line, objectType, diff --git a/__tests__/unit/lib/utils/fsHelper.test.js b/__tests__/unit/lib/utils/fsHelper.test.js index 5a9968f3..aa7a5034 100644 --- a/__tests__/unit/lib/utils/fsHelper.test.js +++ b/__tests__/unit/lib/utils/fsHelper.test.js @@ -38,6 +38,7 @@ jest.mock('../../../../src/utils/childProcessUtils', () => { let work beforeEach(() => { + jest.clearAllMocks() work = { config: { output: '.', @@ -100,6 +101,21 @@ describe('readPathFromGit', () => { expect(getStreamContent).toBeCalled() }) }) + + describe.each([undefined, null])('when path returned "%s"', value => { + beforeEach(() => { + // Arrange + getStreamContent.mockImplementation(() => Promise.resolve(value)) + }) + + it('should use "config.to" and "normalized path" to get git history', async () => { + // Act + const content = await readPathFromGit('path/file', work.config) + + // Assert + expect(content).toBe('') + }) + }) }) describe('copyFile', () => { @@ -118,6 +134,23 @@ describe('copyFile', () => { }) }) + describe('when file is already written', () => { + it('should not copy file', async () => { + // Arrange + treatPathSep.mockImplementationOnce(() => 'output/file') + await writeFile('source/file', 'content', work.config) + jest.resetAllMocks() + + // Act + await copyFiles(work.config, 'source/file', 'output/file') + + // Assert + expect(spawn).not.toBeCalled() + expect(getStreamContent).not.toBeCalled() + expect(outputFile).not.toBeCalled() + }) + }) + describe('when source location is empty', () => { it('should copy file', async () => { // Arrange @@ -541,5 +574,19 @@ describe('isSubDir', () => { expect(outputFile).toHaveBeenCalledWith('root/folder/file', content) } ) + + it('call only once for the same path', async () => { + // Arrange + const output = 'root' + const content = 'content' + const path = 'other/path/file' + await writeFile(path, content, { output }) + + // Act + await writeFile(path, content, { output }) + + // Assert + expect(outputFile).toBeCalledTimes(1) + }) }) }) diff --git a/__tests__/unit/lib/utils/fxpHelper.test.js b/__tests__/unit/lib/utils/fxpHelper.test.js index 0609c633..ae977990 100644 --- a/__tests__/unit/lib/utils/fxpHelper.test.js +++ b/__tests__/unit/lib/utils/fxpHelper.test.js @@ -3,6 +3,7 @@ const { asArray, parseXmlFileToJson, convertJsonToXml, + xml2Json, } = require('../../../../src/utils/fxpHelper') const { readPathFromGit } = require('../../../../src/utils/fsHelper') @@ -128,4 +129,36 @@ describe('fxpHelper', () => { }) }) }) + + describe('xml2Json', () => { + describe('when called with empty content', () => { + it('returns empty object', () => { + // Act + const jsonResult = xml2Json('') + + // Assert + expect(jsonResult).toStrictEqual({}) + }) + }) + describe('when called with xml content', () => { + it('returns json content', async () => { + // Act + const jsonContent = await xml2Json( + 'wow' + ) + + // Assert + expect(jsonContent).toEqual({ root: { '@_a': 'nice', a: 'wow' } }) + }) + }) + describe('when called with non xml content', () => { + it('returns empty object', async () => { + // Act + const jsonContent = await xml2Json({ attribute: 'value' }) + + // Assert + expect(jsonContent).toStrictEqual({}) + }) + }) + }) }) diff --git a/__tests__/unit/lib/utils/ignoreHelper.test.js b/__tests__/unit/lib/utils/ignoreHelper.test.js index fb3a60b0..ec01b447 100644 --- a/__tests__/unit/lib/utils/ignoreHelper.test.js +++ b/__tests__/unit/lib/utils/ignoreHelper.test.js @@ -92,6 +92,7 @@ describe('ignoreHelper', () => { `${ADDITION} path/to/file.ext`, `${MODIFICATION} path/to/file.ext`, `${DELETION} path/to/file.ext`, + `! path/to/file.ext`, ])('should keep "%s" line', line => { // Act const keep = sut.keep(line) diff --git a/__tests__/unit/lib/utils/fileGitDiff.test.js b/__tests__/unit/lib/utils/metadataDiff.test.js similarity index 77% rename from __tests__/unit/lib/utils/fileGitDiff.test.js rename to __tests__/unit/lib/utils/metadataDiff.test.js index 7fbfd942..0770f1dd 100644 --- a/__tests__/unit/lib/utils/fileGitDiff.test.js +++ b/__tests__/unit/lib/utils/metadataDiff.test.js @@ -1,5 +1,5 @@ 'use strict' -const FileGitDiff = require('../../../../src/utils/fileGitDiff') +const MetadataDiff = require('../../../../src/utils/metadataDiff') const { parseXmlFileToJson, convertJsonToXml, @@ -14,9 +14,12 @@ jest.mock('../../../../src/utils/fxpHelper', () => { convertJsonToXml: jest.fn(), } }) +const workFlowAttributes = new Map([ + ['alerts', { xmlName: 'WorkflowAlert', key: 'fullName' }], +]) -describe(`fileGitDiff`, () => { - let fileGitDiff +describe(`MetadataDiff`, () => { + let metadataDiff let globalMetadata let work let alert, alertOther, alertTest, wfBase, unTracked @@ -35,7 +38,7 @@ describe(`fileGitDiff`, () => { diffs: { package: new Map(), destructiveChanges: new Map() }, warnings: [], } - fileGitDiff = new FileGitDiff('workflows', work, globalMetadata) + metadataDiff = new MetadataDiff(work, globalMetadata, workFlowAttributes) alert = { '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, @@ -117,13 +120,26 @@ describe(`fileGitDiff`, () => { }) describe('compare', () => { + it('does not detect null file content', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce('') + parseXmlFileToJson.mockResolvedValueOnce('') + + // Act + const { added, deleted } = await metadataDiff.compare('file/path') + + // Assert + expect(deleted.size).toBe(0) + expect(added.size).toBe(0) + }) + it('does not detect not tracked elements', async () => { // Arrange parseXmlFileToJson.mockResolvedValueOnce(unTracked) parseXmlFileToJson.mockResolvedValueOnce(wfBase) // Act - const { added, deleted } = await fileGitDiff.compare('file/path') + const { added, deleted } = await metadataDiff.compare('file/path') // Assert expect(deleted.size).toBe(0) @@ -136,11 +152,11 @@ describe(`fileGitDiff`, () => { parseXmlFileToJson.mockResolvedValueOnce(wfBase) // Act - const { added, deleted } = await fileGitDiff.compare('file/path') + const { added, deleted } = await metadataDiff.compare('file/path') // Assert expect(deleted.size).toBe(0) - expect(added.get('workflows.alerts')).toEqual( + expect(added.get('WorkflowAlert')).toEqual( new Set(['OtherTestEmailAlert', 'TestEmailAlert']) ) }) @@ -150,11 +166,26 @@ describe(`fileGitDiff`, () => { parseXmlFileToJson.mockResolvedValueOnce(alert) // Act - const { added, deleted } = await fileGitDiff.compare('file/path') + const { added, deleted } = await metadataDiff.compare('file/path') // Assert expect(added.size).toBe(0) - expect(deleted.get('workflows.alerts')).toEqual( + expect(deleted.get('WorkflowAlert')).toEqual( + new Set(['OtherTestEmailAlert', 'TestEmailAlert']) + ) + }) + + it('detects deleted file', async () => { + // Arrange + parseXmlFileToJson.mockResolvedValueOnce('') + parseXmlFileToJson.mockResolvedValueOnce(alert) + + // Act + const { added, deleted } = await metadataDiff.compare('file/path') + + // Assert + expect(added.size).toBe(0) + expect(deleted.get('WorkflowAlert')).toEqual( new Set(['OtherTestEmailAlert', 'TestEmailAlert']) ) }) @@ -171,11 +202,11 @@ describe(`fileGitDiff`, () => { }) // Act - const { added, deleted } = await fileGitDiff.compare('file/path') + const { added, deleted } = await metadataDiff.compare('file/path') // Assert expect(deleted.size).toBe(0) - expect(added.get('workflows.alerts')).toEqual(new Set(['TestEmailAlert'])) + expect(added.get('WorkflowAlert')).toEqual(new Set(['TestEmailAlert'])) }) }) describe('prune', () => { @@ -183,23 +214,22 @@ describe(`fileGitDiff`, () => { // Arrange parseXmlFileToJson.mockResolvedValueOnce(alert) parseXmlFileToJson.mockResolvedValueOnce(alertTest) - await fileGitDiff.compare('file/path') + await metadataDiff.compare('file/path') // Act - fileGitDiff.prune() + metadataDiff.prune() // Assert expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) }) it('given zero element added and one element delete, the generated file contains empty declaration', async () => { // Arrange - parseXmlFileToJson.mockResolvedValueOnce(alertTest) parseXmlFileToJson.mockResolvedValueOnce(alert) - await fileGitDiff.compare('file/path') + await metadataDiff.compare('file/path') // Act - fileGitDiff.prune() + metadataDiff.prune() // Assert expect(convertJsonToXml).toHaveBeenCalledWith({ @@ -214,10 +244,10 @@ describe(`fileGitDiff`, () => { // Arrange parseXmlFileToJson.mockResolvedValueOnce(alert) parseXmlFileToJson.mockResolvedValueOnce(wfBase) - await fileGitDiff.compare('file/path') + await metadataDiff.compare('file/path') // Act - fileGitDiff.prune() + metadataDiff.prune() // Assert expect(convertJsonToXml).toHaveBeenCalledWith(alert) @@ -233,10 +263,10 @@ describe(`fileGitDiff`, () => { alerts: { ...alertOther.Workflow.alerts, description: 'amazing' }, }, }) - await fileGitDiff.compare('file/path') + await metadataDiff.compare('file/path') // Act - fileGitDiff.prune() + metadataDiff.prune() // Assert expect(convertJsonToXml).toHaveBeenCalledWith(alertOther) @@ -246,10 +276,10 @@ describe(`fileGitDiff`, () => { // Arrange parseXmlFileToJson.mockResolvedValueOnce(unTracked) parseXmlFileToJson.mockResolvedValueOnce(wfBase) - await fileGitDiff.compare('file/path') + await metadataDiff.compare('file/path') // Act - fileGitDiff.prune() + metadataDiff.prune() // Assert expect(convertJsonToXml).toHaveBeenCalledWith(unTracked) diff --git a/__tests__/unit/lib/utils/packageHelper.test.js b/__tests__/unit/lib/utils/packageHelper.test.js index b93f39aa..b3db1bb4 100644 --- a/__tests__/unit/lib/utils/packageHelper.test.js +++ b/__tests__/unit/lib/utils/packageHelper.test.js @@ -11,7 +11,7 @@ const tests = [ 'Object', new Map( Object.entries({ - objects: new Set([ + CustomObject: new Set([ 'Object', 'YetAnotherObject', 'OtherObject', @@ -45,11 +45,11 @@ const tests = [ 'full', new Map( Object.entries({ - dashboards: new Set(['Dashboard']), - documents: new Set(['Document']), - fields: new Set(['Field']), - lwc: new Set(['Component']), - objects: new Set(['Object', 'YetAnotherObject', 'OtherObject']), + CustomField: new Set(['Field']), + CustomObject: new Set(['Object', 'YetAnotherObject', 'OtherObject']), + Dashboard: new Set(['Dashboard']), + Document: new Set(['Document']), + LightningComponentBundle: new Set(['Component']), WaveLens: new Set(['Lens']), WaveRecipe: new Set(['Recipe']), }) @@ -104,20 +104,14 @@ const tests = [ ] describe(`test if package builder`, () => { - let globalMetadata let packageConstructor beforeAll(async () => { - // eslint-disable-next-line no-undef - globalMetadata = await getGlobalMetadata() - packageConstructor = new PackageBuilder(options, globalMetadata) + packageConstructor = new PackageBuilder(options) }) - test.each(tests)( - 'can build %s destructiveChanges.xml', - (_, diff, expected) => { - expect(packageConstructor.buildPackage(diff)).toBe(expected) - } - ) + test.each(tests)('can build %s manifest', (_, diff, expected) => { + expect(packageConstructor.buildPackage(diff)).toBe(expected) + }) test('can handle null diff', () => { expect(packageConstructor.buildPackage(null)).toBe(undefined) }) diff --git a/package.json b/package.json index d5e63556..3b352864 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,13 @@ }, "author": "Sebastien Colladon ", "dependencies": { - "@oclif/command": "^1.8.22", + "@oclif/command": "^1.8.23", "@oclif/config": "^1.18.8", - "@oclif/core": "^2.8.0", + "@oclif/core": "^2.8.2", "@oclif/errors": "^1.3.6", "@salesforce/command": "^5.3.5", - "@salesforce/core": "^3.34.6", - "fast-xml-parser": "^4.1.3", + "@salesforce/core": "^3.34.7", + "fast-xml-parser": "^4.2.2", "fs-extra": "^11.1.1", "ignore": "^5.2.4", "lodash": "^4.17.21", @@ -70,41 +70,41 @@ "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { - "@commitlint/cli": "^17.5.1", - "@commitlint/config-conventional": "^17.4.4", - "@commitlint/prompt-cli": "^17.5.0", + "@commitlint/cli": "^17.6.1", + "@commitlint/config-conventional": "^17.6.1", + "@commitlint/prompt-cli": "^17.6.1", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.9", - "@oclif/test": "^2.3.14", - "@salesforce/cli-plugins-testkit": "^3.3.2", + "@oclif/test": "^2.3.16", + "@salesforce/cli-plugins-testkit": "^3.3.3", "@salesforce/dev-config": "^3.1.0", "@salesforce/ts-sinon": "^1.4.6", "@stryker-mutator/core": "^6.4.2", "@stryker-mutator/jest-runner": "^6.4.2", - "@swc/core": "^1.3.44", + "@swc/core": "^1.3.52", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.15.11", - "@typescript-eslint/eslint-plugin": "^5.57.1", - "@typescript-eslint/parser": "^5.57.1", + "@types/node": "^18.15.12", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", "chai": "^4.3.7", - "eslint": "^8.37.0", + "eslint": "^8.38.0", "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^40.1.1", + "eslint-plugin-jsdoc": "^43.0.6", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.5.0", - "lint-staged": "^13.2.0", + "lint-staged": "^13.2.1", "mocha": "^10.2.0", "nyc": "^15.1.0", "prettier": "^2.8.7", "prettier-eslint": "^15.0.1", "shx": "^0.3.4", - "sinon": "^15.0.3", + "sinon": "^15.0.4", "ts-node": "^10.9.1", - "typescript": "^5.0.3", + "typescript": "^5.0.4", "yarn-upgrade-all": "^0.7.2" }, "oclif": { diff --git a/src/metadata/a48.json b/src/metadata/a48.json index d8ba5696..562bc178 100644 --- a/src/metadata/a48.json +++ b/src/metadata/a48.json @@ -27,14 +27,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -381,47 +373,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -450,34 +401,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -499,13 +422,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -583,14 +499,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1271,13 +1179,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1285,15 +1210,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1301,7 +1230,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1309,23 +1239,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1333,7 +1266,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1341,7 +1275,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1349,7 +1284,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1357,14 +1293,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/metadataManager.js b/src/metadata/metadataManager.js index 554593a4..b7bce054 100644 --- a/src/metadata/metadataManager.js +++ b/src/metadata/metadataManager.js @@ -5,6 +5,8 @@ const { readdir } = require('fs').promises const _apiMap = new Map() let _latestVersion = null const describeMetadata = new Map() +const inFileMetadata = new Map() +const waveMetadata = new Map() const buildAPIMap = async () => { if (_apiMap.size === 0) { @@ -44,6 +46,37 @@ const getDefinition = async (grouping, apiVersion) => { }, new Map()) } +const isPackable = type => + !Array.from(inFileMetadata.values()).find( + inFileDef => inFileDef.xmlName === type + ).excluded + +const getInFileAttributes = metadata => + inFileMetadata.size + ? inFileMetadata + : Array.from(metadata.values()) + .filter(meta => meta.xmlTag) + .reduce( + (acc, meta) => + acc.set(meta.xmlTag, { + xmlName: meta.xmlName, + key: meta.key, + excluded: !!meta.excluded, + }), + inFileMetadata + ) + +const getWaveMetadata = metadata => + waveMetadata.size + ? waveMetadata + : Array.from(metadata.values()) + .filter(meta => meta.content) + .flatMap(elem => elem.content) + .reduce((acc, val) => acc.set(val.suffix, val.xmlName), waveMetadata) + module.exports.getDefinition = getDefinition +module.exports.getInFileAttributes = getInFileAttributes module.exports.getLatestSupportedVersion = getLatestSupportedVersion +module.exports.getWaveMetadata = getWaveMetadata +module.exports.isPackable = isPackable module.exports.isVersionSupported = isVersionSupported diff --git a/src/metadata/v46.json b/src/metadata/v46.json index 7685bf87..006c6b2a 100644 --- a/src/metadata/v46.json +++ b/src/metadata/v46.json @@ -20,14 +20,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -374,46 +366,6 @@ "suffix": "delivery", "xmlName": "EventDelivery" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -442,27 +394,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -484,13 +415,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -533,14 +457,6 @@ "suffix": "cspTrustedSite", "xmlName": "CspTrustedSite" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1017,13 +933,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1031,15 +964,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1047,7 +984,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1055,23 +993,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1079,7 +1020,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1087,7 +1029,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1095,7 +1038,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1103,14 +1047,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v47.json b/src/metadata/v47.json index 5ed52130..7ec5d796 100644 --- a/src/metadata/v47.json +++ b/src/metadata/v47.json @@ -27,14 +27,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -381,47 +373,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -450,34 +401,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -499,13 +422,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -583,14 +499,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1250,13 +1158,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1264,15 +1189,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1280,7 +1209,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1288,23 +1218,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1312,7 +1245,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1320,7 +1254,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1328,7 +1263,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1336,14 +1272,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v49.json b/src/metadata/v49.json index cedde42a..48e15012 100644 --- a/src/metadata/v49.json +++ b/src/metadata/v49.json @@ -27,14 +27,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -381,47 +373,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -450,34 +401,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -499,13 +422,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -583,14 +499,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1264,13 +1172,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1278,15 +1203,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1294,7 +1223,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1302,23 +1232,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1326,7 +1259,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1334,7 +1268,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1342,7 +1277,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1350,14 +1286,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v50.json b/src/metadata/v50.json index cedde42a..48e15012 100644 --- a/src/metadata/v50.json +++ b/src/metadata/v50.json @@ -27,14 +27,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -381,47 +373,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -450,34 +401,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -499,13 +422,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -583,14 +499,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1264,13 +1172,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1278,15 +1203,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1294,7 +1223,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1302,23 +1232,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1326,7 +1259,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1334,7 +1268,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1342,7 +1277,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1350,14 +1286,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v51.json b/src/metadata/v51.json index a610dad2..682499e9 100644 --- a/src/metadata/v51.json +++ b/src/metadata/v51.json @@ -90,14 +90,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -444,47 +436,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -513,34 +464,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -562,13 +485,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -646,14 +562,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1334,13 +1242,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1348,15 +1273,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1364,7 +1293,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1372,23 +1302,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1396,7 +1329,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1404,7 +1338,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1412,7 +1347,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1420,14 +1356,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v52.json b/src/metadata/v52.json index 984a95fe..cc9f7db1 100644 --- a/src/metadata/v52.json +++ b/src/metadata/v52.json @@ -90,14 +90,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -444,47 +436,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -513,34 +464,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -562,13 +485,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -646,14 +562,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1341,13 +1249,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1355,15 +1280,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1371,7 +1300,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1379,23 +1309,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1403,7 +1336,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1411,7 +1345,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1419,7 +1354,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1427,14 +1363,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v53.json b/src/metadata/v53.json index 984a95fe..cc9f7db1 100644 --- a/src/metadata/v53.json +++ b/src/metadata/v53.json @@ -90,14 +90,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -444,47 +436,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -513,34 +464,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -562,13 +485,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -646,14 +562,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1341,13 +1249,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1355,15 +1280,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1371,7 +1300,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1379,23 +1309,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1403,7 +1336,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1411,7 +1345,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1419,7 +1354,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1427,14 +1363,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v54.json b/src/metadata/v54.json index 984a95fe..cc9f7db1 100644 --- a/src/metadata/v54.json +++ b/src/metadata/v54.json @@ -90,14 +90,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -444,47 +436,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -513,34 +464,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -562,13 +485,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -646,14 +562,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1341,13 +1249,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1355,15 +1280,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1371,7 +1300,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1379,23 +1309,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1403,7 +1336,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1411,7 +1345,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1419,7 +1354,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1427,14 +1363,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 8451e187..1319766e 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -167,14 +167,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -528,47 +520,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -597,34 +548,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -646,13 +569,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -730,14 +646,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1425,13 +1333,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1439,15 +1364,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1455,7 +1384,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1463,23 +1393,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1487,7 +1420,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1495,7 +1429,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1503,7 +1438,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1511,14 +1447,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v56.json b/src/metadata/v56.json index bd9c7536..5eb762a2 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -167,14 +167,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -535,47 +527,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -604,34 +555,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -653,13 +576,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -737,14 +653,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1446,13 +1354,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1460,15 +1385,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1476,7 +1405,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1484,23 +1414,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1508,7 +1441,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1516,7 +1450,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1524,7 +1459,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1532,14 +1468,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/metadata/v57.json b/src/metadata/v57.json index bd9c7536..5eb762a2 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -167,14 +167,6 @@ "suffix": "installedPackage", "xmlName": "InstalledPackage" }, - { - "childXmlNames": "CustomLabel", - "directoryName": "labels", - "inFolder": false, - "metaFile": false, - "suffix": "labels", - "xmlName": "CustomLabels" - }, { "directoryName": "staticresources", "inFolder": false, @@ -535,47 +527,6 @@ "suffix": "flowDefinition", "xmlName": "FlowDefinition" }, - { - "childXmlNames": [ - "WorkflowFieldUpdate", - "WorkflowKnowledgePublish", - "WorkflowTask", - "WorkflowAlert", - "WorkflowSend", - "WorkflowOutboundMessage", - "WorkflowFlowAction", - "WorkflowRule" - ], - "directoryName": "workflows", - "inFolder": false, - "metaFile": false, - "suffix": "workflow", - "xmlName": "Workflow" - }, - { - "childXmlNames": "AssignmentRule", - "directoryName": "assignmentRules", - "inFolder": false, - "metaFile": false, - "suffix": "assignmentRules", - "xmlName": "AssignmentRules" - }, - { - "childXmlNames": "AutoResponseRule", - "directoryName": "autoResponseRules", - "inFolder": false, - "metaFile": false, - "suffix": "autoResponseRules", - "xmlName": "AutoResponseRules" - }, - { - "childXmlNames": "EscalationRule", - "directoryName": "escalationRules", - "inFolder": false, - "metaFile": false, - "suffix": "escalationRules", - "xmlName": "EscalationRules" - }, { "directoryName": "postTemplates", "inFolder": false, @@ -604,34 +555,6 @@ "suffix": "homePageLayout", "xmlName": "HomePageLayout" }, - { - "directoryName": "objectTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "objectTranslation", - "xmlName": "CustomObjectTranslation" - }, - { - "directoryName": "translations", - "inFolder": false, - "metaFile": false, - "suffix": "translation", - "xmlName": "Translations" - }, - { - "directoryName": "globalValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "globalValueSetTranslation", - "xmlName": "GlobalValueSetTranslation" - }, - { - "directoryName": "standardValueSetTranslations", - "inFolder": false, - "metaFile": false, - "suffix": "standardValueSetTranslation", - "xmlName": "StandardValueSetTranslation" - }, { "directoryName": "classes", "inFolder": false, @@ -653,13 +576,6 @@ "suffix": "testSuite", "xmlName": "ApexTestSuite" }, - { - "directoryName": "profiles", - "inFolder": false, - "metaFile": false, - "suffix": "profile", - "xmlName": "Profile" - }, { "directoryName": "permissionsets", "inFolder": false, @@ -737,14 +653,6 @@ "suffix": "redirectWhitelistUrl", "xmlName": "RedirectWhitelistUrl" }, - { - "childXmlNames": "MatchingRule", - "directoryName": "matchingRules", - "inFolder": false, - "metaFile": false, - "suffix": "matchingRule", - "xmlName": "MatchingRules" - }, { "directoryName": "duplicateRules", "inFolder": false, @@ -1446,13 +1354,30 @@ } ] }, + { + "childXmlNames": [ + "WorkflowFieldUpdate", + "WorkflowKnowledgePublish", + "WorkflowTask", + "WorkflowAlert", + "WorkflowSend", + "WorkflowOutboundMessage", + "WorkflowRule" + ], + "directoryName": "workflows", + "inFolder": false, + "metaFile": false, + "suffix": "workflow", + "xmlName": "Workflow" + }, { "directoryName": "workflows.alerts", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowAlert", - "xmlTag": "alerts" + "xmlTag": "alerts", + "key": "fullName" }, { "directoryName": "workflows.fieldUpdates", @@ -1460,15 +1385,19 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowFieldUpdate", - "xmlTag": "fieldUpdates" + "xmlTag": "fieldUpdates", + "key": "fullName" }, { - "directoryName": "labels.labels", + "directoryName": "labels", "inFolder": false, "metaFile": false, "parentXmlName": "CustomLabels", "xmlName": "CustomLabel", - "xmlTag": "labels" + "childXmlNames": "CustomLabel", + "suffix": "labels", + "xmlTag": "labels", + "key": "fullName" }, { "directoryName": "workflows.outboundMessages", @@ -1476,7 +1405,8 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowOutboundMessage", - "xmlTag": "outboundMessages" + "xmlTag": "outboundMessages", + "key": "fullName" }, { "directoryName": "workflows.rules", @@ -1484,23 +1414,26 @@ "metaFile": false, "parentXmlName": "Workflow", "xmlName": "WorkflowRule", - "xmlTag": "rules" + "xmlTag": "rules", + "key": "fullName" }, { - "directoryName": "workflows.flowActions", + "directoryName": "workflows.knowledgePublishes", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowFlowAction", - "xmlTag": "flowActions" + "xmlName": "WorkflowKnowledgePublish", + "xmlTag": "knowledgePublishes", + "key": "fullName" }, { - "directoryName": "workflows.knowledgePublishes", + "directoryName": "workflows.tasks", "inFolder": false, "metaFile": false, "parentXmlName": "Workflow", - "xmlName": "WorkflowKnowledgePublish", - "xmlTag": "knowledgePublishes" + "xmlName": "WorkflowTask", + "xmlTag": "tasks", + "key": "fullName" }, { "directoryName": "sharingRules.sharingCriteriaRules", @@ -1508,7 +1441,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingCriteriaRule", - "xmlTag": "sharingCriteriaRules" + "xmlTag": "sharingCriteriaRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingGuestRules", @@ -1516,7 +1450,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingGuestRule", - "xmlTag": "sharingGuestRules" + "xmlTag": "sharingGuestRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingOwnerRules", @@ -1524,7 +1459,8 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingOwnerRule", - "xmlTag": "sharingOwnerRules" + "xmlTag": "sharingOwnerRules", + "key": "fullName" }, { "directoryName": "sharingRules.sharingTerritoryRules", @@ -1532,14 +1468,507 @@ "metaFile": false, "parentXmlName": "SharingRules", "xmlName": "SharingTerritoryRule", - "xmlTag": "sharingTerritoryRules" + "xmlTag": "sharingTerritoryRules", + "key": "fullName" }, { - "directoryName": "workflows.tasks", + "childXmlNames": "AssignmentRule", + "directoryName": "assignmentRules", "inFolder": false, "metaFile": false, - "parentXmlName": "Workflow", - "xmlName": "WorkflowTask", - "xmlTag": "tasks" + "suffix": "assignmentRules", + "xmlName": "AssignmentRules" + }, + { + "directoryName": "assignmentRules.assignmentRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AssignmentRules", + "xmlName": "AssignmentRule", + "xmlTag": "assignmentRule", + "key": "fullName" + }, + { + "childXmlNames": "AutoResponseRule", + "directoryName": "autoResponseRules", + "inFolder": false, + "metaFile": false, + "suffix": "autoResponseRules", + "xmlName": "AutoResponseRules" + }, + { + "directoryName": "autoResponseRules.autoResponseRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "AutoResponseRules", + "xmlName": "AutoResponseRule", + "xmlTag": "autoResponseRule", + "key": "fullName" + }, + { + "childXmlNames": "EscalationRule", + "directoryName": "escalationRules", + "inFolder": false, + "metaFile": false, + "suffix": "escalationRules", + "xmlName": "EscalationRules" + }, + { + "directoryName": "escalationRules.escalationRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "EscalationRules", + "xmlName": "EscalationRule", + "xmlTag": "escalationRule", + "key": "fullName" + }, + { + "childXmlNames": "MatchingRule", + "directoryName": "matchingRules", + "inFolder": false, + "metaFile": false, + "suffix": "matchingRule", + "xmlName": "MatchingRules" + }, + { + "directoryName": "matchingRules.matchingRule", + "inFolder": false, + "metaFile": false, + "parentXmlName": "MatchingRules", + "xmlName": "MatchingRule", + "xmlTag": "matchingRules", + "key": "fullName" + }, + { + "directoryName": "globalValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "globalValueSetTranslation", + "xmlName": "GlobalValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "globalValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "GlobalValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "standardValueSetTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "standardValueSetTranslation", + "xmlName": "StandardValueSetTranslation", + "pruneOnly": true + }, + { + "directoryName": "standardValueSetTranslations.valueTranslation", + "inFolder": false, + "metaFile": false, + "parentXmlName": "StandardValueSetTranslation", + "xmlName": "ValueTranslation", + "xmlTag": "valueTranslation", + "key": "masterLabel", + "excluded": true + }, + { + "directoryName": "profiles", + "inFolder": false, + "metaFile": false, + "suffix": "profile", + "xmlName": "Profile", + "pruneOnly": true + }, + { + "directoryName": "profiles.categoryGroupVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApplicationVisibility", + "xmlTag": "categoryGroupVisibilities", + "key": "dataCategoryGroup", + "excluded": true + }, + { + "directoryName": "profiles.applicationVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCategoryGroupVisibility", + "xmlTag": "applicationVisibilities", + "key": "application", + "excluded": true + }, + { + "directoryName": "profiles.classAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexClassAccess", + "xmlTag": "classAccesses", + "key": "apexClass", + "excluded": true + }, + { + "directoryName": "profiles.customMetadataTypeAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomMetadataTypeAccess[", + "xmlTag": "customMetadataTypeAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomPermissions", + "xmlTag": "customPermissions", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.customSettingAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileCustomSettingAccesses", + "xmlTag": "customSettingAccesses", + "key": "name", + "excluded": true + }, + { + "directoryName": "profiles.externalDataSourceAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileExternalDataSourceAccess", + "xmlTag": "externalDataSourceAccesses", + "key": "externalDataSource", + "excluded": true + }, + { + "directoryName": "profiles.fieldPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFieldLevelSecurity", + "xmlTag": "fieldPermissions", + "key": "field", + "excluded": true + }, + { + "directoryName": "profiles.flowAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileFlowAccess", + "xmlTag": "flowAccesses", + "key": "flow", + "excluded": true + }, + { + "directoryName": "profiles.loginFlows", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "LoginFlow", + "xmlTag": "loginFlows", + "key": "friendlyname", + "excluded": true + }, + { + "directoryName": "profiles.objectPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileObjectPermissions", + "xmlTag": "objectPermissions", + "key": "object", + "excluded": true + }, + { + "directoryName": "profiles.pageAccesses", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileApexPageAccess", + "xmlTag": "pageAccesses", + "key": "apexPage", + "excluded": true + }, + { + "directoryName": "profiles.profileActionOverrides", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileActionOverride", + "xmlTag": "profileActionOverrides", + "key": "actionName", + "excluded": true + }, + { + "directoryName": "profiles.recordTypeVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileRecordTypeVisibility", + "xmlTag": "recordTypeVisibilities", + "key": "recordType", + "excluded": true + }, + { + "directoryName": "profiles.tabVisibilities", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileTabVisibility", + "xmlTag": "tabVisibilities", + "key": "tab", + "excluded": true + }, + { + "directoryName": "profiles.userPermissions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Profile", + "xmlName": "ProfileUserPermission", + "xmlTag": "userPermissions", + "key": "name", + "excluded": true + }, + + + { + "directoryName": "translations", + "inFolder": false, + "metaFile": false, + "suffix": "translation", + "xmlName": "Translations", + "pruneOnly": true + }, + { + "directoryName": "translation.bots", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "BotTranslation", + "xmlTag": "bots", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.customApplications", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomApplicationTranslation", + "xmlTag": "customApplications", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customLabels", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomLabelTranslation", + "xmlTag": "customLabels", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customPageWebLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomPageWebLinkTranslation", + "xmlTag": "customPageWebLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.customTabs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "CustomTabTranslation", + "xmlTag": "customTabs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.flowDefinitions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "FlowDefinitionTranslation", + "xmlTag": "flowDefinitions", + "key": "fullName", + "excluded": true + }, + { + "directoryName": "translation.pipelineInspMetricConfigs", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PipelineInspMetricConfigTranslation", + "xmlTag": "pipelineInspMetricConfigs", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.prompts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "PromptTranslation", + "xmlTag": "prompts", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "GlobalQuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.reportTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ReportTypeTranslation", + "xmlTag": "reportTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "translation.scontrols", + "inFolder": false, + "metaFile": false, + "parentXmlName": "Translations", + "xmlName": "ScontrolTranslation", + "xmlTag": "scontrols", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations", + "inFolder": false, + "metaFile": false, + "suffix": "objectTranslation", + "xmlName": "CustomObjectTranslation", + "pruneOnly": true + }, + { + "directoryName": "objectTranslations.fields", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "CustomFieldTranslation", + "xmlTag": "fields", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.fieldSets", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "FieldSetTranslation", + "xmlTag": "fieldSets", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.layouts", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "LayoutTranslation", + "xmlTag": "layouts", + "key": "layout", + "excluded": true + }, + { + "directoryName": "objectTranslations.namedFilters", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "NamedFilterTranslation", + "xmlTag": "namedFilters", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.quickActions", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "QuickActionTranslation", + "xmlTag": "quickActions", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.recordTypes", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "RecordTypeTranslation", + "xmlTag": "recordTypes", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.sharingReasons", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "SharingReasonTranslation", + "xmlTag": "sharingReasons", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.validationRules", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "ValidationRuleTranslation", + "xmlTag": "validationRules", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.webLinks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WebLinkTranslation", + "xmlTag": "webLinks", + "key": "name", + "excluded": true + }, + { + "directoryName": "objectTranslations.workflowTasks", + "inFolder": false, + "metaFile": false, + "parentXmlName": "CustomObjectTranslation", + "xmlName": "WorkflowTaskTranslation", + "xmlTag": "workflowTasks", + "key": "name", + "excluded": true } ] diff --git a/src/post-processor/flowTranslationProcessor.js b/src/post-processor/flowTranslationProcessor.js index 5682d874..72d3b33e 100644 --- a/src/post-processor/flowTranslationProcessor.js +++ b/src/post-processor/flowTranslationProcessor.js @@ -1,28 +1,49 @@ 'use strict' const BaseProcessor = require('./baseProcessor') const { - FLOW_DIRECTORY_NAME, + FLOW_XML_NAME, META_REGEX, METAFILE_SUFFIX, TRANSLATION_EXTENSION, TRANSLATION_TYPE, } = require('../utils/metadataConstants') -const { copyFiles, scanExtension, isSubDir } = require('../utils/fsHelper') -const { parse } = require('path') +const { + writeFile, + scanExtension, + isSubDir, + readFile, +} = require('../utils/fsHelper') +const { pathExists } = require('fs-extra') +const { parse, join } = require('path') const { forPath } = require('../utils/ignoreHelper') -const { asArray, parseXmlFileToJson } = require('../utils/fxpHelper') +const { + asArray, + parseXmlFileToJson, + xml2Json, + convertJsonToXml, +} = require('../utils/fxpHelper') const { fillPackageWithParameter } = require('../utils/packageHelper') +const { treatPathSep } = require('../utils/childProcessUtils') + +const EXTENSION = `${TRANSLATION_EXTENSION}${METAFILE_SUFFIX}` const getTranslationName = translationPath => parse(translationPath.replace(META_REGEX, '')).name -const EXTENSION = `${TRANSLATION_EXTENSION}${METAFILE_SUFFIX}` +const getDefaultTranslation = () => ({ + '?xml': { '@_version': '1.0', '@_encoding': 'UTF-8' }, + Translations: { + '@_xmlns': 'http://soap.sforce.com/2006/04/metadata', + flowDefinitions: [], + }, +}) + class FlowTranslationProcessor extends BaseProcessor { translationPaths constructor(work, metadata) { super(work, metadata) - this.translationPaths = new Set() + this.translationPaths = new Map() } async process() { @@ -44,30 +65,48 @@ class FlowTranslationProcessor extends BaseProcessor { const ign = await this._getIgnoreInstance() for await (const translationPath of translationsIterator) { - const translationName = getTranslationName(translationPath) if ( - !this.work.diffs.package.get(TRANSLATION_TYPE)?.has(translationName) && !ign?.ignores(translationPath) && !isSubDir(this.config.output, translationPath) ) { - this._parseTranslationFile(translationName) + this._parseTranslationFile(translationPath) } } } async _handleFlowTranslation() { - const copyTranslationsPromises = [] for (const translationPath of this.translationPaths.keys()) { fillPackageWithParameter({ store: this.work.diffs.package, type: TRANSLATION_TYPE, - elementName: getTranslationName(translationPath), + member: getTranslationName(translationPath), }) if (this.config.generateDelta) { - copyTranslationsPromises.push(copyFiles(this.config, translationPath)) + const jsonTranslation = await this._getTranslationAsJSON( + translationPath + ) + this._scrapTranslationFile( + jsonTranslation, + this.translationPaths.get(translationPath) + ) + const scrappedTranslation = convertJsonToXml(jsonTranslation) + await writeFile(translationPath, scrappedTranslation, this.config) } } - await Promise.all(copyTranslationsPromises) + } + + _scrapTranslationFile(jsonTranslation, actualFlowDefinition) { + const flowDefinitions = asArray( + jsonTranslation.Translations?.flowDefinitions + ) + const fullNames = new Set(flowDefinitions.map(flowDef => flowDef.fullName)) + const strippedActualFlowDefinition = actualFlowDefinition.filter( + flowDef => !fullNames.has(flowDef.fullName) + ) + + jsonTranslation.Translations.flowDefinitions = flowDefinitions.concat( + strippedActualFlowDefinition + ) } async _parseTranslationFile(translationPath) { @@ -81,20 +120,39 @@ class FlowTranslationProcessor extends BaseProcessor { flowDefinitions.forEach(flowDefinition => this._addFlowPerTranslation({ translationPath, - fullName: flowDefinition.fullName, + flowDefinition, }) ) } - _addFlowPerTranslation({ translationPath, fullName }) { - const packagedElements = this.work.diffs.package.get(FLOW_DIRECTORY_NAME) - if (packagedElements?.has(fullName)) { - this.translationPaths.add(translationPath) + _addFlowPerTranslation({ translationPath, flowDefinition }) { + const packagedElements = this.work.diffs.package.get(FLOW_XML_NAME) + if (packagedElements.has(flowDefinition.fullName)) { + if (!this.translationPaths.has(translationPath)) { + this.translationPaths.set(translationPath, []) + } + this.translationPaths.get(translationPath).push(flowDefinition) + } + } + + async _getTranslationAsJSON(translationPath) { + const translationPathInOutputFolder = join( + this.config.output, + treatPathSep(translationPath) + ) + const translationExist = await pathExists(translationPathInOutputFolder) + + let jsonTranslation = getDefaultTranslation() + if (translationExist) { + const xmlTranslation = await readFile(translationPathInOutputFolder) + jsonTranslation = xml2Json(xmlTranslation) } + + return jsonTranslation } _shouldProcess() { - return this.work.diffs.package.has(FLOW_DIRECTORY_NAME) + return this.work.diffs.package.has(FLOW_XML_NAME) } async _getIgnoreInstance() { diff --git a/src/post-processor/packageGenerator.js b/src/post-processor/packageGenerator.js index e310ca5f..2b9ac208 100644 --- a/src/post-processor/packageGenerator.js +++ b/src/post-processor/packageGenerator.js @@ -35,7 +35,7 @@ class PackageGenerator extends BaseProcessor { } async buildPackages() { - const pc = new PackageBuilder(this.config, this.metadata) + const pc = new PackageBuilder(this.config) await Promise.all( [ { diff --git a/src/service/ObjectTranslationHandler.js b/src/service/ObjectTranslationHandler.js new file mode 100644 index 00000000..3bc46d95 --- /dev/null +++ b/src/service/ObjectTranslationHandler.js @@ -0,0 +1,42 @@ +'use strict' +const ResourceHandler = require('./inResourceHandler') +const StandardHandler = require('./standardHandler') +const { getInFileAttributes } = require('../metadata/metadataManager') +const { + OBJECT_TRANSLATION_META_XML_SUFFIX, +} = require('../utils/metadataConstants') +const { writeFile } = require('../utils/fsHelper') +const { parse, sep } = require('path') +const MetadataDiff = require('../utils/metadataDiff') + +class ObjectTranslationHandler extends ResourceHandler { + async handleAddition() { + await StandardHandler.prototype.handleAddition.apply(this) + if (!this.config.generateDelta) return + + const objectTranslationPath = this.getObjectTranslationPath() + await this._copyObjectTranslation(objectTranslationPath) + } + + async _copyObjectTranslation(path) { + const inFileMetadata = getInFileAttributes(this.metadata) + const metadataDiff = new MetadataDiff( + this.config, + this.metadata, + inFileMetadata + ) + await metadataDiff.compare(path) + const xmlContent = metadataDiff.prune() + await writeFile(path, xmlContent, this.config) + } + + getObjectTranslationPath() { + // Return Object Translation Path for both objectTranslation and fieldTranslation + // QUESTION: Why fieldTranslation element are not deployable when objectTranslation element is not in the deployed sources ? + return `${parse(this.line).dir}${sep}${ + this.splittedLine[this.splittedLine.length - 2] + }.${OBJECT_TRANSLATION_META_XML_SUFFIX}` + } +} + +module.exports = ObjectTranslationHandler diff --git a/src/service/customObjectHandler.js b/src/service/customObjectHandler.js index d376df7f..cb9bdb81 100644 --- a/src/service/customObjectHandler.js +++ b/src/service/customObjectHandler.js @@ -23,6 +23,7 @@ class CustomObjectHandler extends StandardHandler { const exists = await pathExists(fieldsFolder, this.config) if (!exists) return + // QUESTION: Why we need to add parent object for Master Detail field ? https://help.salesforce.com/s/articleView?id=000386883&type=1 const fields = await readDir(fieldsFolder, this.config) const masterDetailsFields = await asyncFilter(fields, async fieldPath => { const content = await readPathFromGit( diff --git a/src/service/inBundleHandler.js b/src/service/inBundleHandler.js index 437027e9..b5ed9205 100644 --- a/src/service/inBundleHandler.js +++ b/src/service/inBundleHandler.js @@ -17,7 +17,7 @@ class BundleHandler extends InResourceHandler { const packageMember = bundlePath .join(sep) .replace(META_REGEX, '') - .replace(new RegExp(`\\.${this.metadata.get(this.type).suffix}$`), '') + .replace(this.suffixRegex, '') return cleanUpPackageMember(packageMember) } diff --git a/src/service/inFileHandler.js b/src/service/inFileHandler.js index 9887216a..f35534c3 100644 --- a/src/service/inFileHandler.js +++ b/src/service/inFileHandler.js @@ -1,12 +1,16 @@ 'use strict' const { LABEL_EXTENSION, - LABEL_DIRECTORY_NAME, + LABEL_XML_NAME, } = require('../utils/metadataConstants') const StandardHandler = require('./standardHandler') const { basename } = require('path') const { writeFile } = require('../utils/fsHelper') -const FileGitDiff = require('../utils/fileGitDiff') +const { + getInFileAttributes, + isPackable, +} = require('../metadata/metadataManager') +const MetadataDiff = require('../utils/metadataDiff') const { cleanUpPackageMember, fillPackageWithParameter, @@ -14,16 +18,13 @@ const { const getRootType = line => basename(line).split('.')[0] const getNamePrefix = ({ subType, line }) => - subType !== LABEL_DIRECTORY_NAME ? `${getRootType(line)}.` : '' + subType !== LABEL_XML_NAME ? `${getRootType(line)}.` : '' class InFileHandler extends StandardHandler { constructor(line, type, work, metadata) { super(line, type, work, metadata) - this.fileGitDiff = new FileGitDiff( - metadata.get(this.type)?.directoryName, - this.config, - metadata - ) + const inFileMetadata = getInFileAttributes(metadata) + this.metadataDiff = new MetadataDiff(this.config, metadata, inFileMetadata) } async handleAddition() { @@ -35,7 +36,11 @@ class InFileHandler extends StandardHandler { } async handleDeletion() { - await this._compareRevision() + if (this.metadata.get(this.type).pruneOnly) { + await super.handleDeletion() + } else { + await this._compareRevision() + } } async handleModification() { @@ -43,27 +48,27 @@ class InFileHandler extends StandardHandler { } async _compareRevision() { - const { added, deleted } = await this.fileGitDiff.compare(this.line) + const { added, deleted } = await this.metadataDiff.compare(this.line) this._storeComparison(this.diffs.destructiveChanges, deleted) this._storeComparison(this.diffs.package, added) } async _writeScopedContent() { - const xmlContent = this.fileGitDiff.prune() + const xmlContent = this.metadataDiff.prune() await writeFile(this.line, xmlContent, this.config) } _storeComparison(store, content) { for (const [type, members] of content) { - for (const fullName of members) { - this._fillPackage(store, type, fullName) + for (const member of members) { + this._fillPackage(store, type, member) } } } - _fillPackage(store, subType, fullName) { + _fillPackage(store, subType, member) { // Call from super.handleAddition to add the Root Type - // InFile element are not deployable when root component is not listed in package.xml... + // QUESTION: Why InFile element are not deployable when root component is not listed in package.xml ? if (arguments.length === 1) { if (this.type !== LABEL_EXTENSION) { super._fillPackage(store) @@ -71,15 +76,17 @@ class InFileHandler extends StandardHandler { return } - const member = cleanUpPackageMember( - `${getNamePrefix({ subType, line: this.line })}${fullName}` - ) + if (isPackable(subType)) { + const cleanedMember = cleanUpPackageMember( + `${getNamePrefix({ subType, line: this.line })}${member}` + ) - fillPackageWithParameter({ - store, - type: subType, - member, - }) + fillPackageWithParameter({ + store, + type: subType, + member: cleanedMember, + }) + } } } diff --git a/src/service/inResourceHandler.js b/src/service/inResourceHandler.js index 74d644ee..1e9525f7 100644 --- a/src/service/inResourceHandler.js +++ b/src/service/inResourceHandler.js @@ -3,7 +3,6 @@ const StandardHandler = require('./standardHandler') const { join, parse } = require('path') const { pathExists, readDir } = require('../utils/fsHelper') const { META_REGEX } = require('../utils/metadataConstants') -const { sep } = require('path') const { cleanUpPackageMember } = require('../utils/packageHelper') const STATICRESOURCE_TYPE = 'staticresources' @@ -77,14 +76,7 @@ class ResourceHandler extends StandardHandler { } _isProcessable() { - const parsedLine = parse(this.line) - const parentFolder = parsedLine.dir.split(sep).pop() - - return ( - super._isProcessable() || - parentFolder !== this.type || - !parsedLine.name.startsWith('.') - ) + return true } } diff --git a/src/service/inTranslationHandler.js b/src/service/inTranslationHandler.js deleted file mode 100644 index fe52d6df..00000000 --- a/src/service/inTranslationHandler.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict' -const ResourceHandler = require('./inResourceHandler') -const StandardHandler = require('./standardHandler') -const { - OBJECT_TRANSLATION_META_XML_SUFFIX, -} = require('../utils/metadataConstants') -const { parse, sep } = require('path') - -class TranslationHandler extends ResourceHandler { - async handleAddition() { - await StandardHandler.prototype.handleAddition.apply(this) - if (!this.config.generateDelta) return - await this._copyObjectTranslation() - } - - async _copyObjectTranslation() { - const objectTranslationName = `${parse(this.line).dir}${sep}${ - this.splittedLine[this.splittedLine.length - 2] - }.${OBJECT_TRANSLATION_META_XML_SUFFIX}` - await this._copyWithMetaFile(objectTranslationName) - } -} - -module.exports = TranslationHandler diff --git a/src/service/lwcHandler.js b/src/service/lwcHandler.js new file mode 100644 index 00000000..961100a0 --- /dev/null +++ b/src/service/lwcHandler.js @@ -0,0 +1,13 @@ +'use strict' +const InResourceHandler = require('./inResourceHandler') +const { parse, sep } = require('path') + +class LwcHandler extends InResourceHandler { + _isProcessable() { + const parentFolder = parse(this.line).dir.split(sep).pop() + + return parentFolder !== this.type + } +} + +module.exports = LwcHandler diff --git a/src/service/standardHandler.js b/src/service/standardHandler.js index 9f86f1a0..8b391ae3 100644 --- a/src/service/standardHandler.js +++ b/src/service/standardHandler.js @@ -28,11 +28,11 @@ class StandardHandler { this.warnings = work.warnings this.splittedLine = this.line.split(sep) - if (this.metadata.get(this.type).metaFile === true) { + if (this.metadata.get(this.type)?.metaFile === true) { this.line = this.line.replace(METAFILE_SUFFIX, '') } - this.suffixRegex = new RegExp(`\\.${this.metadata.get(this.type).suffix}$`) + this.suffixRegex = new RegExp(`\\.${this.metadata.get(this.type)?.suffix}$`) this.handlerMap = { [ADDITION]: this.handleAddition, @@ -93,7 +93,7 @@ class StandardHandler { _fillPackage(store) { fillPackageWithParameter({ store, - type: this.type, + type: this.metadata.get(this.type).xmlName, member: this._getElementName(), }) } diff --git a/src/service/subCustomObjectHandler.js b/src/service/subCustomObjectHandler.js index 7bfb9ea4..4b2d4fb2 100644 --- a/src/service/subCustomObjectHandler.js +++ b/src/service/subCustomObjectHandler.js @@ -12,8 +12,9 @@ class SubCustomObjectHandler extends StandardHandler { await super.handleAddition() if (!this.config.generateDelta) return + // QUESTION: Why we need to add parent object for Master Detail field ? https://help.salesforce.com/s/articleView?id=000386883&type=1 const data = await readPathFromGit(this.line, this.config) - if (!data?.includes(MASTER_DETAIL_TAG)) return + if (!data.includes(MASTER_DETAIL_TAG)) return const customObjectDirPath = this.splittedLine .slice(0, [this.splittedLine.indexOf(this.type)]) diff --git a/src/service/typeHandlerFactory.js b/src/service/typeHandlerFactory.js index 4d3e55b7..8f77e5a4 100644 --- a/src/service/typeHandlerFactory.js +++ b/src/service/typeHandlerFactory.js @@ -5,15 +5,18 @@ const InBundleHandler = require('./inBundleHandler') const InFile = require('./inFileHandler') const InFolder = require('./inFolderHandler') const InResource = require('./inResourceHandler') +const LwcHandler = require('./lwcHandler') const Standard = require('./standardHandler') const SubCustomObject = require('./subCustomObjectHandler') -const InTranslation = require('./inTranslationHandler') +const ObjectTranslation = require('./ObjectTranslationHandler') const Wave = require('./waveHandler') const { getType } = require('../utils/typeUtils') const classes = { - aura: InResource, + assignmentRules: InFile, + autoResponseRules: InFile, + aura: LwcHandler, bots: Bot, businessProcesses: SubCustomObject, compactLayouts: SubCustomObject, @@ -22,23 +25,29 @@ const classes = { discovery: Wave, documents: InFolder, email: InFolder, + escalationRules: InFile, experiences: InResource, fieldSets: SubCustomObject, fields: SubCustomObject, + globalValueSetTranslations: InFile, indexes: SubCustomObject, labels: InFile, listViews: SubCustomObject, - lwc: InResource, + lwc: LwcHandler, + matchingRules: InFile, objects: CustomObject, - objectTranslations: InTranslation, + objectTranslations: ObjectTranslation, + profiles: InFile, recordTypes: SubCustomObject, reports: InFolder, rules: SubCustomObject, sharingReasons: SubCustomObject, sharingRules: InFile, + standardValueSetTranslations: InFile, staticresources: InResource, territories: SubCustomObject, territory2Models: CustomObject, + translations: InFile, validationRules: SubCustomObject, wave: Wave, waveTemplates: InResource, diff --git a/src/service/waveHandler.js b/src/service/waveHandler.js index 0641d5c9..ccd4d2d4 100644 --- a/src/service/waveHandler.js +++ b/src/service/waveHandler.js @@ -1,24 +1,19 @@ 'use strict' const StandardHandler = require('./standardHandler') const { fillPackageWithParameter } = require('../utils/packageHelper') - -const WAVE_SUBTYPE = new Map() +const { getWaveMetadata } = require('../metadata/metadataManager') class WaveHandler extends StandardHandler { + waveMetadata + constructor(line, type, work, metadata) { super(line, type, work, metadata) - - this.metadata - .get(this.type) - .content.reduce( - (acc, val) => acc.set(val.suffix, val.xmlName), - WAVE_SUBTYPE - ) this.suffixRegex = new RegExp(`\\.${this.ext}$`) + this.waveMetadata = getWaveMetadata(this.metadata) } _fillPackage(store) { - const type = WAVE_SUBTYPE.get(this.ext) + const type = this.waveMetadata.get(this.ext) fillPackageWithParameter({ store, type: type, @@ -27,7 +22,7 @@ class WaveHandler extends StandardHandler { } _isProcessable() { - return super._isProcessable() || WAVE_SUBTYPE.has(this.ext) + return super._isProcessable() || this.waveMetadata.has(this.ext) } } diff --git a/src/utils/fileGitDiff.js b/src/utils/fileGitDiff.js deleted file mode 100644 index 47376d6d..00000000 --- a/src/utils/fileGitDiff.js +++ /dev/null @@ -1,136 +0,0 @@ -'use strict' - -const { asArray, parseXmlFileToJson, convertJsonToXml } = require('./fxpHelper') -const { isEqual } = require('lodash') -const { safeAdd } = require('./packageHelper') - -let xmlObjectToPackageType - -// Store functional area -// Side effect on store -const addToStore = - store => - ({ type, member }) => { - safeAdd({ store, type, member }) - return store - } - -const hasMember = store => subType => member => - store.get(getDirectoryNameForSubType(subType))?.has(member) - -// Metadata functional area -const getMetadataByKey = metadata => meta => metadata.get(meta) - -const getXmlTagToTypeDefinitionMap = metadata => { - const extractType = getMetadataByKey(metadata) - return [...metadata.keys()] - .filter(meta => extractType(meta)?.xmlTag) - .reduce((acc, meta) => { - const typeDef = extractType(meta) - acc.set(typeDef.xmlTag, typeDef) - return acc - }, new Map()) -} - -// Metadata JSON structure functional area -const getRootMetadata = fileContent => Object.values(fileContent)?.[1] - -const getDirectoryNameForSubType = subType => - xmlObjectToPackageType.get(subType).directoryName - -const getSubTypeTags = fileContent => - Object.values(fileContent) - .flatMap(tag => Object.keys(tag)) - .filter(tag => xmlObjectToPackageType.has(tag)) - -const extractMetadataForSubtype = fileContent => subType => - asArray(getRootMetadata(fileContent)?.[subType]) - -// Diff processing functional area -const processMetadataForRootType = - dir => (contentAtRef, otherContent, predicat) => - getSubTypeTags(contentAtRef) - .flatMap( - processMetadataForSubType(dir, contentAtRef, otherContent, predicat) - ) - .reduce((store, nameByType) => addToStore(store)(nameByType), new Map()) - -const processMetadataForSubType = - (dir, baseContent, otherContent, predicat) => subType => { - const type = `${dir}.${subType}` - const extractBase = extractMetadataForSubtype(baseContent) - const extractOther = extractMetadataForSubtype(otherContent) - const baseMeta = extractBase(subType) - const otherMeta = extractOther(subType) - const processElement = getElementProcessor(type, predicat, otherMeta) - return baseMeta.map(processElement).filter(x => x !== undefined) - } - -const getElementProcessor = (type, predicat, otherMeta) => elem => { - if (predicat(otherMeta, elem)) { - return { type, member: elem.fullName } - } -} - -// Partial JSON generation functional area -const generatePartialJSON = jsonContent => store => { - const extract = extractMetadataForSubtype(jsonContent) - const storeHasMember = hasMember(store) - return getSubTypeTags(jsonContent).reduce((acc, subType) => { - const meta = extract(subType) - const storeHasMemberForType = storeHasMember(subType) - const rootMetadata = getRootMetadata(acc) - rootMetadata[subType] = meta.filter(elem => - storeHasMemberForType(elem.fullName) - ) - return acc - }, jsonContent) -} - -class FileGitDiff { - constructor(parentDirectoryName, config, metadata) { - this.config = config - this.parentDirectoryName = parentDirectoryName - this.metadata = metadata - this.configTo = { - repo: this.config.repo, - to: this.config.to, - } - this.configFrom = { - repo: this.config.repo, - to: this.config.from, - } - xmlObjectToPackageType = - xmlObjectToPackageType ?? getXmlTagToTypeDefinitionMap(metadata) - } - - async compare(path) { - this.toContent = await parseXmlFileToJson(path, this.configTo) - const fromContent = await parseXmlFileToJson(path, this.configFrom) - - const diff = processMetadataForRootType(this.parentDirectoryName) - - // Added or Modified - this.added = diff(this.toContent, fromContent, (meta, elem) => { - const match = meta.find(el => el.fullName === elem.fullName) - return !match || !isEqual(match, elem) - }) - - // Deleted - const deleted = diff(fromContent, this.toContent, (meta, elem) => { - return !meta.some(el => el.fullName === elem.fullName) - }) - - return { - added: this.added, - deleted, - } - } - - prune() { - const prunedContent = generatePartialJSON(this.toContent)(this.added) - return convertJsonToXml(prunedContent) - } -} - -module.exports = FileGitDiff diff --git a/src/utils/fsHelper.js b/src/utils/fsHelper.js index 468b95d1..5277629a 100644 --- a/src/utils/fsHelper.js +++ b/src/utils/fsHelper.js @@ -15,9 +15,10 @@ const FOLDER = 'tree' const showCmd = ['--no-pager', 'show'] const gitPathSeparatorNormalizer = path => path?.replace(/\\+/g, GIT_PATH_SEP) const copiedFiles = new Set() +const writtenFiles = new Set() const copyFiles = async (config, src) => { - if (copiedFiles.has(src)) return + if (copiedFiles.has(src) || writtenFiles.has(src)) return copiedFiles.add(src) try { @@ -100,6 +101,8 @@ async function* scan(dir, config) { } const writeFile = async (path, content, { output }) => { + if (writtenFiles.has(path)) return + writtenFiles.add(path) await outputFile(join(output, treatPathSep(path)), content) } diff --git a/src/utils/fxpHelper.js b/src/utils/fxpHelper.js index 43c7590d..e91ce1bb 100644 --- a/src/utils/fxpHelper.js +++ b/src/utils/fxpHelper.js @@ -23,12 +23,16 @@ const asArray = node => { return node != null ? (Array.isArray(node) ? node : [node]) : [] } -const parseXmlFileToJson = async (line, config) => { - const xmlContent = await readPathFromGit(line, config) +const xml2Json = xmlContent => { const xmlParser = new XMLParser(XML_PARSER_OPTION) return xmlParser.parse(xmlContent) } +const parseXmlFileToJson = async (line, config) => { + const xmlContent = await readPathFromGit(line, config) + return xml2Json(xmlContent) +} + const convertJsonToXml = jsonContent => { const xmlBuilder = new XMLBuilder(JSON_PARSER_OPTION) return xmlBuilder @@ -39,3 +43,4 @@ const convertJsonToXml = jsonContent => { module.exports.asArray = asArray module.exports.convertJsonToXml = convertJsonToXml module.exports.parseXmlFileToJson = parseXmlFileToJson +module.exports.xml2Json = xml2Json diff --git a/src/utils/metadataConstants.js b/src/utils/metadataConstants.js index ed932089..7e4fb17f 100644 --- a/src/utils/metadataConstants.js +++ b/src/utils/metadataConstants.js @@ -2,12 +2,12 @@ const { MINUS, PLUS } = require('../utils/gitConstants') const FIELD_DIRECTORY_NAME = 'fields' -const FLOW_DIRECTORY_NAME = 'flows' +const FLOW_XML_NAME = 'Flow' const FULLNAME = 'fullName' const FULLNAME_XML_TAG = new RegExp(`<${FULLNAME}>(.*)`) const INFOLDER_SUFFIX = `Folder` const LABEL_EXTENSION = 'labels' -const LABEL_DIRECTORY_NAME = `labels.${LABEL_EXTENSION}` +const LABEL_XML_NAME = 'CustomLabel' const MASTER_DETAIL_TAG = 'MasterDetail' const METAFILE_SUFFIX = '-meta.xml' const META_REGEX = new RegExp(`${METAFILE_SUFFIX}$`) @@ -15,6 +15,7 @@ const OBJECT_META_XML_SUFFIX = `object${METAFILE_SUFFIX}` const OBJECT_TRANSLATION_TYPE = 'objectTranslations' const OBJECT_TRANSLATION_META_XML_SUFFIX = `objectTranslation${METAFILE_SUFFIX}` const OBJECT_TYPE = 'objects' +const OBJECT_XML_NAME = 'CustomObject' const SUB_OBJECT_TYPES = [ 'businessProcesses', 'compactLayouts', @@ -31,17 +32,17 @@ const SUB_OBJECT_TYPES = [ ] const TERRITORY_MODEL_TYPE = 'territory2Models' const TRANSLATION_EXTENSION = 'translation' -const TRANSLATION_TYPE = 'translations' +const TRANSLATION_TYPE = 'Translations' const XML_TAG = new RegExp(`^[${MINUS}${PLUS}]?\\s*<([^(/><.)]+)>\\s*$`) const XML_HEADER_TAG_END = '?>' module.exports.FIELD_DIRECTORY_NAME = FIELD_DIRECTORY_NAME -module.exports.FLOW_DIRECTORY_NAME = FLOW_DIRECTORY_NAME +module.exports.FLOW_XML_NAME = FLOW_XML_NAME module.exports.FULLNAME = FULLNAME module.exports.FULLNAME_XML_TAG = FULLNAME_XML_TAG module.exports.INFOLDER_SUFFIX = INFOLDER_SUFFIX module.exports.LABEL_EXTENSION = LABEL_EXTENSION -module.exports.LABEL_DIRECTORY_NAME = LABEL_DIRECTORY_NAME +module.exports.LABEL_XML_NAME = LABEL_XML_NAME module.exports.MASTER_DETAIL_TAG = MASTER_DETAIL_TAG module.exports.METAFILE_SUFFIX = METAFILE_SUFFIX module.exports.META_REGEX = META_REGEX @@ -50,6 +51,7 @@ module.exports.OBJECT_TRANSLATION_META_XML_SUFFIX = OBJECT_TRANSLATION_META_XML_SUFFIX module.exports.OBJECT_TRANSLATION_TYPE = OBJECT_TRANSLATION_TYPE module.exports.OBJECT_TYPE = OBJECT_TYPE +module.exports.OBJECT_XML_NAME = OBJECT_XML_NAME module.exports.SUB_OBJECT_TYPES = SUB_OBJECT_TYPES module.exports.TERRITORY_MODEL_TYPE = TERRITORY_MODEL_TYPE module.exports.TRANSLATION_EXTENSION = TRANSLATION_EXTENSION diff --git a/src/utils/metadataDiff.js b/src/utils/metadataDiff.js new file mode 100644 index 00000000..a25fee8d --- /dev/null +++ b/src/utils/metadataDiff.js @@ -0,0 +1,132 @@ +'use strict' + +const { asArray, parseXmlFileToJson, convertJsonToXml } = require('./fxpHelper') +const { isEqual } = require('lodash') +const { fillPackageWithParameter } = require('./packageHelper') + +// Store functional area +// Side effect on store +const addToStore = + store => + ({ type, member }) => { + fillPackageWithParameter({ store, type, member }) + return store + } + +const hasMember = store => attributes => subType => member => + store.get(attributes.get(subType)?.xmlName)?.has(member) + +const selectKey = attributes => type => elem => elem[attributes.get(type).key] + +// Metadata JSON structure functional area +const getRootMetadata = fileContent => Object.values(fileContent)?.[1] ?? {} + +const getSubTypeTags = attributes => fileContent => + Object.keys(getRootMetadata(fileContent)).filter(tag => attributes.has(tag)) + +const extractMetadataForSubtype = fileContent => subType => + asArray(getRootMetadata(fileContent)?.[subType]) + +// Diff processing functional area +const compareContent = attributes => (contentAtRef, otherContent, predicat) => + getSubTypeTags(attributes)(contentAtRef) + .flatMap( + processMetadataForSubType( + contentAtRef, + otherContent, + predicat, + attributes + ) + ) + .reduce((store, nameByType) => addToStore(store)(nameByType), new Map()) + +const processMetadataForSubType = + (baseContent, otherContent, predicat, attributes) => subType => { + const baseMeta = extractMetadataForSubtype(baseContent)(subType) + const otherMeta = extractMetadataForSubtype(otherContent)(subType) + const processElement = getElementProcessor( + subType, + predicat, + otherMeta, + attributes + ) + return baseMeta.map(processElement).filter(x => x !== undefined) + } + +const getElementProcessor = (type, predicat, otherMeta, attributes) => elem => { + if (predicat(otherMeta, type, elem)) { + return { + type: attributes.get(type).xmlName, + member: selectKey(attributes)(type)(elem), + } + } +} + +// Partial JSON generation functional are +// Side effect on jsonContent +const generatePartialJSON = attributes => jsonContent => store => { + const extract = extractMetadataForSubtype(jsonContent) + const storeHasMember = hasMember(store)(attributes) + return getSubTypeTags(attributes)(jsonContent).reduce((acc, subType) => { + const meta = extract(subType) + const storeHasMemberForType = storeHasMember(subType) + const key = selectKey(attributes)(subType) + const rootMetadata = getRootMetadata(acc) + rootMetadata[subType] = meta.filter(elem => + storeHasMemberForType(key(elem)) + ) + return acc + }, jsonContent) +} + +class MetadataDiff { + constructor(config, metadata, attributes) { + this.config = config + this.metadata = metadata + this.attributes = attributes + this.configTo = { + repo: this.config.repo, + to: this.config.to, + } + this.configFrom = { + repo: this.config.repo, + to: this.config.from, + } + } + + async compare(path) { + this.toContent = await parseXmlFileToJson(path, this.configTo) + const fromContent = await parseXmlFileToJson(path, this.configFrom) + + const diff = compareContent(this.attributes) + + // Added or Modified + this.add = diff(this.toContent, fromContent, (meta, type, elem) => { + const key = selectKey(this.attributes)(type) + const match = meta.find(el => key(el) === key(elem)) + return !match || !isEqual(match, elem) + }) + + // Will be done when not needed + // Deleted + const del = diff(fromContent, this.toContent, (meta, type, elem) => { + const key = selectKey(this.attributes)(type) + return !meta.some(el => key(el) === key(elem)) + }) + + return { + added: this.add, + deleted: del, + jsonContent: this.toContent, + } + } + + prune(jsonContent = this.toContent, elements = this.add) { + const prunedContent = generatePartialJSON(this.attributes)(jsonContent)( + elements + ) + return convertJsonToXml(prunedContent) + } +} + +module.exports = MetadataDiff diff --git a/src/utils/packageHelper.js b/src/utils/packageHelper.js index 39e227d6..b253a3ff 100644 --- a/src/utils/packageHelper.js +++ b/src/utils/packageHelper.js @@ -2,16 +2,11 @@ const { create } = require('xmlbuilder2') const xmlConf = { indent: ' ', newline: '\n', prettyPrint: true } const frLocale = 'fr' +const { OBJECT_XML_NAME } = require('../utils/metadataConstants') module.exports = class PackageBuilder { - constructor(config, metadata) { + constructor(config) { this.config = config - this.metadata = metadata - this.looseMetadata = [...this.metadata.keys()] - .filter(type => this.metadata.get(type).content) - .flatMap(type => - this.metadata.get(type).content.map(content => content.xmlName) - ) } buildPackage(strucDiffPerType) { @@ -21,9 +16,6 @@ module.exports = class PackageBuilder { xmlns: 'http://soap.sforce.com/2006/04/metadata', }) Array.from(strucDiffPerType.keys()) - .filter( - type => this.metadata.has(type) || this.looseMetadata.includes(type) - ) .sort(this._sortTypesWithMetadata) .forEach(metadataType => [...strucDiffPerType.get(metadataType)] @@ -33,25 +25,20 @@ module.exports = class PackageBuilder { return type }, xml.ele('types')) .ele('name') - .txt(this.metadata.get(metadataType)?.xmlName ?? metadataType) + .txt(metadataType) ) xml.ele('version').txt(`${this.config.apiVersion}.0`) return xml.end(xmlConf) } _sortTypesWithMetadata = (x, y) => { - if (x === 'objects') return -1 // @deprecated To remove when the order will not impact the result of the deployment - const xMeta = this.metadata.get(x)?.xmlName ?? x - const yMeta = this.metadata.get(y)?.xmlName ?? y - return new Intl.Collator(frLocale).compare(xMeta, yMeta) + // QUESTION: Why Object needs to be ordered first in package.xml so it can be deployed ? + if (x === OBJECT_XML_NAME) return -1 // @deprecated To remove when the order will not impact the result of the deployment + return new Intl.Collator(frLocale).compare(x, y) } } const fillPackageWithParameter = ({ store, type, member }) => { - safeAdd({ store, type, member }) -} - -const safeAdd = ({ store, type, member }) => { if (!store.has(type)) { store.set(type, new Set()) } @@ -65,4 +52,3 @@ const cleanUpPackageMember = packageMember => { module.exports.cleanUpPackageMember = cleanUpPackageMember module.exports.fillPackageWithParameter = fillPackageWithParameter -module.exports.safeAdd = safeAdd diff --git a/yarn.lock b/yarn.lock index 83201307..1a3951da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,59 +3,26 @@ "@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/code-frame@^7.21.4": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== - "@babel/compat-data@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" - integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.0" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.0" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.0" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/core@~7.21.0": +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@~7.21.0": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== @@ -76,17 +43,7 @@ json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": - version "7.21.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" - integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== - dependencies: - "@babel/types" "^7.21.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.21.4", "@babel/generator@~7.21.0": +"@babel/generator@^7.21.4", "@babel/generator@^7.7.2", "@babel/generator@~7.21.0": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== @@ -103,17 +60,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - "@babel/helper-compilation-targets@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" @@ -167,13 +113,13 @@ "@babel/types" "^7.21.0" "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.21.4" -"@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.21.2": +"@babel/helper-module-transforms@^7.21.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== @@ -194,7 +140,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== @@ -242,7 +188,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": +"@babel/helper-validator-option@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== @@ -265,12 +211,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" - integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== - -"@babel/parser@^7.21.4", "@babel/parser@~7.21.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@~7.21.0": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== @@ -344,20 +285,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.21.4": +"@babel/plugin-syntax-jsx@^7.21.4", "@babel/plugin-syntax-jsx@^7.7.2": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -407,20 +341,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.20.0": +"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8" integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-transform-modules-commonjs@^7.21.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" @@ -475,7 +402,7 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.20.7", "@babel/traverse@^7.21.4": +"@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4", "@babel/traverse@^7.7.2": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== @@ -491,32 +418,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" - integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.1" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.2" - "@babel/types" "^7.21.2" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" - integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.20.0", "@babel/types@^7.21.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== @@ -530,13 +432,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.5.1": - version "17.5.1" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.5.1.tgz#db176538db7b4140c8856c88a46bd15ec705f881" - integrity sha512-pRRgGSzdHQHehxZbGA3qF6wVPyl+EEQgTe/t321rtMLFbuJ7nRj2waS17s/v5oEbyZtiY5S8PGB6XtEIm0I+Sg== +"@commitlint/cli@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.6.1.tgz#571a1272a656cd316f4b601cbb0fcb2ef50bfc7a" + integrity sha512-kCnDD9LE2ySiTnj/VPaxy4/oRayRcdv4aCuVxtoum8SxIU7OADHc0nJPQfheE8bHcs3zZdWzDMWltRosuT13bg== dependencies: "@commitlint/format" "^17.4.4" - "@commitlint/lint" "^17.4.4" + "@commitlint/lint" "^17.6.1" "@commitlint/load" "^17.5.0" "@commitlint/read" "^17.5.1" "@commitlint/types" "^17.4.4" @@ -546,10 +448,10 @@ resolve-global "1.0.0" yargs "^17.0.0" -"@commitlint/config-conventional@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.4.4.tgz#f30b1e5b2e48ce5799a483c200c52f218a98efcc" - integrity sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ== +"@commitlint/config-conventional@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.6.1.tgz#ab07c82c88f99ffee89ae321f1f49f1798127fbb" + integrity sha512-ng/ybaSLuTCH9F+7uavSOnEQ9EFMl7lHEjfAEgRh1hwmEe8SpLKpQeMo2aT1IWvHaGMuTb+gjfbzoRf2IR23NQ== dependencies: conventional-changelog-conventionalcommits "^5.0.0" @@ -594,14 +496,14 @@ "@commitlint/types" "^17.4.4" semver "7.3.8" -"@commitlint/lint@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.4.tgz#0ecd70b44ec5f4823c2e00e0c4b04ebd41d42856" - integrity sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw== +"@commitlint/lint@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.6.1.tgz#52275acc6b3d92a9ad466535331c5dd8e85b6f42" + integrity sha512-VARJ9kxH64isgwVnC+ABPafCYzqxpsWJIpDaTuI0gh8aX4GQ0i7cn9tvxtFNfJj4ER2BAJeWJ0vURdNYjK2RQQ== dependencies: "@commitlint/is-ignored" "^17.4.4" "@commitlint/parse" "^17.4.4" - "@commitlint/rules" "^17.4.4" + "@commitlint/rules" "^17.6.1" "@commitlint/types" "^17.4.4" "@commitlint/load@^17.5.0": @@ -638,19 +540,19 @@ conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/prompt-cli@^17.5.0": - version "17.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.5.0.tgz#7e7d37ab99a3e40885c5fdf11ee6fea407cf0926" - integrity sha512-+pjD2TyZ+jngFP26oJsRTk1VBZrfX0fxrvoNjULoRilqD/cH96S1GC+dzLA+1M1bNwKye4Ff/SNLdwj9jaFXxA== +"@commitlint/prompt-cli@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.6.1.tgz#da1d81f22b18d51eafe75b8ee4cb806d8a19cf3c" + integrity sha512-F5DQyBFroz/frDPe81kwe1ZuC9SUXlfiKOpgmz6H9WI4W/9sD3WDgknly14cPTJvWNMxt+yfMvYsUMUkJSkQNQ== dependencies: - "@commitlint/prompt" "^17.5.0" + "@commitlint/prompt" "^17.6.1" execa "^5.0.0" inquirer "^6.5.2" -"@commitlint/prompt@^17.5.0": - version "17.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.5.0.tgz#b135f47aaddbe219754433f2584bfe0e80a74f6c" - integrity sha512-UVgGj5/VYydaLaEGw3GMgBrG+vlS0OKt6hih5vkAu74KMGtUxWT7ACE/VTDuZtMv4u/bew9f6GgOr6LKIhqGng== +"@commitlint/prompt@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.6.1.tgz#777a50cb66a8eadee8386ef44d6d34b0b200598e" + integrity sha512-ZYPWSTC2ypoaBdKr+v4FARBUhCJJpsv87KhKChCzy2GpAjGO+Hw1Ee8CJv5hR26KaNSBL5gmEal3GBdDuABR9g== dependencies: "@commitlint/ensure" "^17.4.4" "@commitlint/load" "^17.5.0" @@ -681,10 +583,10 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.4.tgz#9b33f41e5eb529f916396bac7c62e61f0edd6791" - integrity sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ== +"@commitlint/rules@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.6.1.tgz#dff529b8d1e0455808fe7e3e1fa70617e4eb2759" + integrity sha512-lUdHw6lYQ1RywExXDdLOKxhpp6857/4c95Dc/1BikrHgdysVUXz26yV0vp1GL7Gv+avx9WqZWTIVB7pNouxlfw== dependencies: "@commitlint/ensure" "^17.4.4" "@commitlint/message" "^17.4.2" @@ -718,41 +620,26 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@es-joy/jsdoccomment@~0.37.0": - version "0.37.0" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.37.0.tgz#aaafb4bb6c88288aa7899aef0f3b1b851c36f908" - integrity sha512-hjK0wnsPCYLlF+HHB4R/RbUjOWeLW2SlarB67+Do5WsKILOkmIZvvPJFbtWSmbypxcjpoECLAMzoao0D4Bg5ZQ== +"@es-joy/jsdoccomment@~0.37.1": + version "0.37.1" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz#fa32a41ba12097452693343e09ad4d26d157aedd" + integrity sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg== dependencies: comment-parser "1.3.1" - esquery "^1.4.0" + esquery "^1.5.0" jsdoc-type-pratt-parser "~4.0.0" "@eslint-community/eslint-utils@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz#a831e6e468b4b2b5ae42bf658bea015bf10bc518" - integrity sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ== + 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": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403" - integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== - -"@eslint/eslintrc@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" - integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" + version "4.5.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" + integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== "@eslint/eslintrc@^2.0.2": version "2.0.2" @@ -769,15 +656,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.35.0": - version "8.35.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" - integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== - -"@eslint/js@8.37.0": - version "8.37.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.37.0.tgz#cf1b5fa24217fe007f6487a26d765274925efa7d" - integrity sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A== +"@eslint/js@8.38.0": + version "8.38.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892" + integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g== "@humanwhocodes/config-array@^0.11.8": version "0.11.8" @@ -1006,38 +888,40 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@1.4.14": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" @@ -1047,9 +931,9 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + version "0.3.18" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" @@ -1075,17 +959,17 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/command@^1.8.14", "@oclif/command@^1.8.15", "@oclif/command@^1.8.22": - version "1.8.22" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.22.tgz#b7ea268393277606bb5e0e557c39536ff4e883f2" - integrity sha512-lystv7IKsWRmCv6K68jSvHrO/DILUPBDb5GZ3absTA5XTnNXTaMrcwVzTcMPfTf+gCrgIaPPD1bmbRStwfQxFw== +"@oclif/command@^1.8.14", "@oclif/command@^1.8.15", "@oclif/command@^1.8.23": + version "1.8.23" + resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.23.tgz#b27e6b35b48c692eba53a35db7be736cdf5e4411" + integrity sha512-H78+YbPKw9VankmlFizkHPP81UpoPC2x0MrTdU5/kzy0CCyTBmSGAxaUsiNi9tK7wKxMXOUbCYkk9MHr99zBaw== dependencies: "@oclif/config" "^1.18.2" "@oclif/errors" "^1.3.6" "@oclif/help" "^1.0.1" "@oclif/parser" "^3.8.10" debug "^4.1.1" - semver "^7.3.8" + semver "^7.4.0" "@oclif/config@1.18.2": version "1.18.2" @@ -1157,44 +1041,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.3.1.tgz#82d977338c68b3faeda84f780c2f97a3dd322cb2" - integrity sha512-18CkjjF16hwhBd/42z+0CHAwvZlBfpyCmdZxpasN/od8c/hdm0oDEJvVB33/xD0LDYg8glKoQ5zVNVvPM/uJ/Q== - dependencies: - "@types/cli-progress" "^3.11.0" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.12.0" - debug "^4.3.4" - ejs "^3.1.8" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - tslib "^2.5.0" - widest-line "^3.1.0" - wordwrap "^1.0.0" - wrap-ansi "^7.0.0" - -"@oclif/core@^2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.0.tgz#4948de3168804169fa68895af8ec4853f332b307" - integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== +"@oclif/core@^2.8.0", "@oclif/core@^2.8.2": + version "2.8.2" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.2.tgz#86fc31f20419dbb3cd25f89f4f1d83760c60f7c0" + integrity sha512-g50NrCdEcFlBfuwZb9RxLmxPNQ9wIaBPOiwbxlGYRkHMnsC6LNHcvVtyDnmndU8qoXrmCOZ6ocSZenOMlG+G1w== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -1331,21 +1181,13 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.8.tgz#ad2fb6375cb9891ebc002258d090075b8621ed0e" - integrity sha512-usE2GeE2S+feOgf8uFLUUVDKt0N3orH+pc1bKkKQtCNAFDvdyAdAMcBS+1PnmCn+cSxaez0bCQ6xOpxA9s7x3A== - dependencies: - "@oclif/core" "^2.3.1" - fancy-test "^2.0.12" - -"@oclif/test@^2.3.14": - version "2.3.14" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.14.tgz#71b7c086c33c082669f0a239fc005fa2be1ef14b" - integrity sha512-F7gYNGGb8b46+ZRTpeS0dpShgZpV/ENPWBIkHSw5xc161hhb8ioQ9wwf84dDfhYuNXYfcwxqA+VSRyqyFz/ITQ== +"@oclif/test@^2.2.21", "@oclif/test@^2.3.16": + version "2.3.16" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.16.tgz#f6a8898218dcc499e70338f715430788b6ee54c3" + integrity sha512-uL6pTh6700MAkmpXYaerADgcHuTWRhF3IFZhzY/fgSMw1E57BiUojYs+nCnLZRP+KeFsSC0gkqZWJkFYx71dIA== dependencies: - "@oclif/core" "^2.8.0" - fancy-test "^2.0.16" + "@oclif/core" "^2.8.2" + fancy-test "^2.0.18" "@oozcitak/dom@1.15.10": version "1.15.10" @@ -1388,15 +1230,15 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/cli-plugins-testkit@^3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.2.tgz#5a5bd6f1c505962b97682463c0a204fb6b67b5bf" - integrity sha512-lXxm9tYNRD34GdcHtYVcFIccG9k5v8Ai/O1ytHE4zOoDowmeyB5l47O7Qo8blmeYbggRJUQIFfao2EPrJlTKCQ== +"@salesforce/cli-plugins-testkit@^3.3.3": + version "3.3.3" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.3.tgz#861853bd97077d888f2b6a4acd56b3cf2f202c95" + integrity sha512-BBEMPFbRd20N79PQbodUJUvzTd4L5DVSS07JfXmMmJgpbyy8fgUzQmuczfMiU7Dfs445+1UX8St1Q1JaPp8z6A== dependencies: "@salesforce/core" "^3.34.6" "@salesforce/kit" "^1.9.2" "@salesforce/ts-types" "^1.7.3" - "@types/shelljs" "^0.8.11" + "@types/shelljs" "^0.8.12" archiver "^5.2.0" debug "^4.3.1" shelljs "^0.8.4" @@ -1415,10 +1257,10 @@ "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.34.6": - version "3.34.6" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.6.tgz#816031d3aab098d56165d876db626a3610d86c6e" - integrity sha512-9Nd+bQRSvCYDiZo97bhseajLhr7d51J9gsPUnfN3nHy1/TBQXjN+upRAPAeldvzU8G3L98WGDMtEpSTOG/PxkQ== +"@salesforce/core@^3.34.6", "@salesforce/core@^3.34.7": + version "3.34.7" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.7.tgz#445efe5c76fbab53e6c891563aa9b0dc5dd24179" + integrity sha512-C4zyXzLAV5ITMChC8dCP+6Kk3t5vloyP2eXpqBOw96OzF5OaCiN5/TayNN8YJl64pvFFny7FgAQPKk7omFXNSA== dependencies: "@salesforce/bunyan" "^2.0.0" "@salesforce/kit" "^1.9.2" @@ -1434,7 +1276,7 @@ form-data "^4.0.0" graceful-fs "^4.2.11" js2xmlparser "^4.0.1" - jsforce "^2.0.0-beta.20" + jsforce "^2.0.0-beta.21" jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" @@ -1443,16 +1285,7 @@ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== -"@salesforce/kit@^1.8.5": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.0.tgz#ddc179ff588b68f3e8f5c237ab74ed4b9c8d5274" - integrity sha512-a1DnVf2ZN/fZ4Zq0T6pxrDpwOyWSKt6Es1erpUJLvM13H+Y3C4uxSUy4aS4WSHIJA8zvWvvEiWYOV17TD0Dmug== - dependencies: - "@salesforce/ts-types" "^1.7.3" - shx "^0.3.3" - tslib "^2.5.0" - -"@salesforce/kit@^1.9.2": +"@salesforce/kit@^1.8.5", "@salesforce/kit@^1.9.2": version "1.9.2" resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-1.9.2.tgz#d232f135428363cdfe2649cb99a94bc2eb0a12fd" integrity sha512-kjZvjFNP6njhAiEa/ErdLXSDWZKafHYJyKCKz1wnSFmDM8TOpKHCCVw5cQo87ZQr8OqxqwUDIAlSBLyMzKi4Lg== @@ -1632,71 +1465,71 @@ dependencies: lodash.flatmap "~4.5.0" -"@swc/core-darwin-arm64@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.44.tgz#e0f5eb9d962c4e6192531c2e3b8c11f55faf1b89" - integrity sha512-Y+oVsCjXUPvr3D9YLuB1gjP84TseM/CRkbPNrf+3JXQhsPEkgxdIdFP1cl/obeqMQrRgPpvSfK+TOvGuOuV22g== - -"@swc/core-darwin-x64@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.44.tgz#a8de4c176a9b12f201fc754a56331113a53ec69c" - integrity sha512-bM0IKBjlSD0yHJbd7bE3il5fTu3oUjUO2zjLkzfIx6tiqbmDyvOX8adaSqse9N+d8Ip9p26b5Vo7pMHq0POGkg== - -"@swc/core-linux-arm-gnueabihf@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.44.tgz#300731367c88bf02b8ae20264d4d402362e444df" - integrity sha512-D4lfVwCbkWscDTb6btb89+bN0kgvjGBPfOmcvih7nY5hxaorwvp+PefkYAhFw8vKmL92lrnWUFNiTemVFN4bxg== - -"@swc/core-linux-arm64-gnu@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.44.tgz#8b52d1cd28f277d47bb45c6791f44da568a62bc4" - integrity sha512-muExPTrN26MFmtO+5uffkH5v4lmd8GdmyWvlC2tL95h7o9genTIQyr7kcSepGZrDe4fM9G6++5YfENhUpXHo+g== - -"@swc/core-linux-arm64-musl@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.44.tgz#7b0e62255ae13c397f09ca5da8bf2266482a28c2" - integrity sha512-MY1wY3kSIosjJKKCfFGniJFFVkt3oPvJLN4Dlj+bMgAt3O7anm8lGbyLqUpJ1Ep4rTsJj7ObO06DQiSWp4Fhcw== - -"@swc/core-linux-x64-gnu@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.44.tgz#0b8b2544c312f247aa5c5f31671a175ad6488309" - integrity sha512-xV4pDxJM06g0yUDTA22ZHgonzGqf/poIlgADRmEkx9cWWm5qLRhmWrrkVX1xZVvdlcXj1ERnia/UkvrDux96lg== - -"@swc/core-linux-x64-musl@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.44.tgz#5b1f76fc1dc75875df59d8c0ff37e99e030f9552" - integrity sha512-NJnnlE8vCkKHoo/wIaoywNN/01vNsvhKUjBgUx865sUM/XWAIanpbV41yfdEkC+Iwd+/zB3ZZnOYql3b+Nn8aQ== - -"@swc/core-win32-arm64-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.44.tgz#bd4aefcd7734229f780c9bec0502935884935f0f" - integrity sha512-/xOtjZhX25GEOPLN55icjj9E061DDH7G0A9HfUAEilURgBbvm6bIlqK+t8mOKK0tOsDoHftdTBRkYhTAqUtakQ== - -"@swc/core-win32-ia32-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.44.tgz#0c2ba768f33acb580422e17d4ae816ebfd3dcfe0" - integrity sha512-uKTAWQuMEW1gJnl8F3eiz3kdk8CiaR5dMWWlGbHIq6dRbur2hoKaEnINR4UqkvvAhhY1YB0Xr5DV1H986Xu2EA== - -"@swc/core-win32-x64-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.44.tgz#b137abefbeb3b73a47cc398bc5603ea6bf6a3a7b" - integrity sha512-D9fBRhr44cK4YIKFikpktyUDLkZgVj0ISaSl8IjiTvjqTrE/9+E+dzTNHULn5tc3lHVLLxyVwMjJRr2G0D4O6w== - -"@swc/core@^1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.44.tgz#2886bdd647942f9670b65c02b6d5484ff3070ddd" - integrity sha512-RC25C8nxOCdfGS//F9Q8aHKx4XoCsxvgO+sSUhvt7zDz1Y2ruVUTu2UOH0VeE0WkA8j6oEZH+xH2SUfDUkxXdA== +"@swc/core-darwin-arm64@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.52.tgz#c82cdcc60e4d84f6745c83e898daaebfb09663ce" + integrity sha512-Y+4YDN7mAhMgqLVMjpIOagFg93uWdQRsJXd3NAXo24CAJXLBuXsiXQdJVdhGavQkF0+NuhFSTGrzB8TknzWQkg== + +"@swc/core-darwin-x64@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.52.tgz#7a89b075b35ea36d7e44328ec9bf451f7fae2393" + integrity sha512-XbvBA+DwTedleh/smYA6E1Z1L1tVnF+ULhpszAAW4YYDzH47R73ucCdcSH/aHs4swv+uyvRquKoDtTTNZFvD4A== + +"@swc/core-linux-arm-gnueabihf@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.52.tgz#71ccbc6125cbcd26bfb97fd5082def19a978cfc4" + integrity sha512-YRTLjZcoGH09q0vjg5s6vxOryzAGlMx2Ly6Hq8+8ruBtG3QTsCN3y7MI8mX254xdFCJiTX5YwQheGjRXS7FF9A== + +"@swc/core-linux-arm64-gnu@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.52.tgz#cd1cc50b04b41b68a0e330a0afefee2d681ade6c" + integrity sha512-B0HKtj0XpqpqflGKMxFlyXyORN0xshF8TVzUBD/2FgF7o8fE2RM1eqtdf1EzmZTT1hwxLpJXrEj+0gSXfWPW4A== + +"@swc/core-linux-arm64-musl@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.52.tgz#3d398472d574494cda0adf3e5aff7607c597f2ac" + integrity sha512-GCxNjTAborAmv4VV1AMZLyejHLGgIzu13tvLUFqybtU4jFxVbE2ZK4ZnPCfDlWN+eBwyRWk1oNFR2hH+66vaUQ== + +"@swc/core-linux-x64-gnu@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.52.tgz#d4952b774be2ff201bf469ffa09caa995a7eae3c" + integrity sha512-mrvDBSkLI3Mza2qcu3uzB5JGwMBYDb1++UQ1VB0RXf2AR21/cCper4P44IpfdeqFz9XyXq18Sh3gblICUCGvig== + +"@swc/core-linux-x64-musl@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.52.tgz#62b3db8b4c6d669933013660b65bbdcb03589d9d" + integrity sha512-r9RIvKUQv7yBkpXz+QxPAucdoj8ymBlgIm5rLE0b5VmU7dlKBnpAmRBYaITdH6IXhF0pwuG+FHAd5elBcrkIwA== + +"@swc/core-win32-arm64-msvc@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.52.tgz#71efd8454edf9ce3752e0c7944f23207635036e6" + integrity sha512-YRtEr7tDo0Wes3M2ZhigF4erUjWBXeFP+O+iz6ELBBmPG7B7m/lrA21eiW9/90YGnzi0iNo46shK6PfXuPhP+Q== + +"@swc/core-win32-ia32-msvc@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.52.tgz#fb13036295f74d9f834491456261732d4561876f" + integrity sha512-t1x6EdYg3nnnmZBkEtmdXwGpVFTnkNCYyTILcn4367tKI6NpcNe75tz6wBUZAWAmol6Bn75je9KHDNC9uBcO2A== + +"@swc/core-win32-x64-msvc@1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.52.tgz#f870ee8c8055a5959f8903d3aa07ca1b1eb51caf" + integrity sha512-ef0KzcHxWgRii0EyUlgzNA0ycqaRRKxSb6QCO9Ev3tib4SSjbPy0MAndU7f82Ndm/pPmXT+7cciRtZ083vzjZA== + +"@swc/core@^1.3.52": + version "1.3.52" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.52.tgz#85fe178110b9f74965dfa09af81b059f417a9935" + integrity sha512-2LOkkl5Ebyzg1e2pu/tqz5zAAiNAtSR99KZDJz4+FTpo6lYwr+SRkeXSNFrYAReHBMb5VJoimrLDLHJ2X1E7Lg== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.44" - "@swc/core-darwin-x64" "1.3.44" - "@swc/core-linux-arm-gnueabihf" "1.3.44" - "@swc/core-linux-arm64-gnu" "1.3.44" - "@swc/core-linux-arm64-musl" "1.3.44" - "@swc/core-linux-x64-gnu" "1.3.44" - "@swc/core-linux-x64-musl" "1.3.44" - "@swc/core-win32-arm64-msvc" "1.3.44" - "@swc/core-win32-ia32-msvc" "1.3.44" - "@swc/core-win32-x64-msvc" "1.3.44" + "@swc/core-darwin-arm64" "1.3.52" + "@swc/core-darwin-x64" "1.3.52" + "@swc/core-linux-arm-gnueabihf" "1.3.52" + "@swc/core-linux-arm64-gnu" "1.3.52" + "@swc/core-linux-arm64-musl" "1.3.52" + "@swc/core-linux-x64-gnu" "1.3.52" + "@swc/core-linux-x64-musl" "1.3.52" + "@swc/core-win32-arm64-msvc" "1.3.52" + "@swc/core-win32-ia32-msvc" "1.3.52" + "@swc/core-win32-x64-msvc" "1.3.52" "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -1764,27 +1597,19 @@ "@types/node" "*" "@types/eslint@^8.4.2": - version "8.21.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.1.tgz#110b441a210d53ab47795124dbc3e9bb993d1e7c" - integrity sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ== + version "8.37.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" + integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/glob@*": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" - integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== - dependencies: - "@types/minimatch" "^5.1.2" - "@types/node" "*" + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== -"@types/glob@^7.1.1": +"@types/glob@^7.1.1", "@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== @@ -1829,11 +1654,11 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@*": - version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== + version "4.14.194" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" + integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g== -"@types/minimatch@*", "@types/minimatch@^5.1.2": +"@types/minimatch@*": version "5.1.2" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== @@ -1848,21 +1673,16 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*": - version "18.14.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" - integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== +"@types/node@*", "@types/node@^18.15.12": + version "18.15.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" + integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== "@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@^18.15.11": - version "18.15.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" - integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== - "@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" @@ -1878,18 +1698,18 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== -"@types/shelljs@^0.8.11": - version "0.8.11" - resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.11.tgz#17a5696c825974e96828e96e89585d685646fcb8" - integrity sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw== +"@types/shelljs@^0.8.12": + version "0.8.12" + resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.12.tgz#79dc9632af7d5ca1b5afb65a6bfc1422d79b5fa0" + integrity sha512-ZA8U81/gldY+rR5zl/7HSHrG2KDfEb3lzG6uCUDhW1DTQE9yC/VBQ45fXnXq8f3CgInfhZmjtdu/WOUlrXRQUg== dependencies: - "@types/glob" "*" + "@types/glob" "~7.2.0" "@types/node" "*" "@types/sinon@*": - version "10.0.13" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.13.tgz#60a7a87a70d9372d0b7b38cc03e825f46981fb83" - integrity sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ== + version "10.0.14" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.14.tgz#6bd18b088ea5ef1e5153fa37d0b68e91eff09e22" + integrity sha512-mn72up6cjaMyMuaPaa/AwKf6WtsSRysQC7wxFkCm1XcOKXPM1z+5Y4H5wjIVBz4gdAkjvZxVVfjA6ba1nHr5WQ== dependencies: "@types/sinonjs__fake-timers" "*" @@ -1909,21 +1729,21 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.8": - version "17.0.22" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" - integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== + version "17.0.24" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.1.tgz#d1ab162a3cd2671b8a1c9ddf6e2db73b14439735" - integrity sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ== +"@typescript-eslint/eslint-plugin@^5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz#c0e10eeb936debe5d1c3433cf36206a95befefd0" + integrity sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.57.1" - "@typescript-eslint/type-utils" "5.57.1" - "@typescript-eslint/utils" "5.57.1" + "@typescript-eslint/scope-manager" "5.59.0" + "@typescript-eslint/type-utils" "5.59.0" + "@typescript-eslint/utils" "5.59.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1931,116 +1751,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" - integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== +"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.0.tgz#0ad7cd019346cc5d150363f64869eca10ca9977c" + integrity sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w== dependencies: - "@typescript-eslint/scope-manager" "5.53.0" - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/typescript-estree" "5.53.0" + "@typescript-eslint/scope-manager" "5.59.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/typescript-estree" "5.59.0" debug "^4.3.4" -"@typescript-eslint/parser@^5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.1.tgz#af911234bd4401d09668c5faf708a0570a17a748" - integrity sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA== +"@typescript-eslint/scope-manager@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz#86501d7a17885710b6716a23be2e93fc54a4fe8c" + integrity sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ== dependencies: - "@typescript-eslint/scope-manager" "5.57.1" - "@typescript-eslint/types" "5.57.1" - "@typescript-eslint/typescript-estree" "5.57.1" - debug "^4.3.4" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/visitor-keys" "5.59.0" -"@typescript-eslint/scope-manager@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" - integrity sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w== +"@typescript-eslint/type-utils@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz#8e8d1420fc2265989fa3a0d897bde37f3851e8c9" + integrity sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA== dependencies: - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/visitor-keys" "5.53.0" - -"@typescript-eslint/scope-manager@5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz#5d28799c0fc8b501a29ba1749d827800ef22d710" - integrity sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw== - dependencies: - "@typescript-eslint/types" "5.57.1" - "@typescript-eslint/visitor-keys" "5.57.1" - -"@typescript-eslint/type-utils@5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.1.tgz#235daba621d3f882b8488040597b33777c74bbe9" - integrity sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw== - dependencies: - "@typescript-eslint/typescript-estree" "5.57.1" - "@typescript-eslint/utils" "5.57.1" + "@typescript-eslint/typescript-estree" "5.59.0" + "@typescript-eslint/utils" "5.59.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" - integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== - -"@typescript-eslint/types@5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.1.tgz#d9989c7a9025897ea6f0550b7036027f69e8a603" - integrity sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA== +"@typescript-eslint/types@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.0.tgz#3fcdac7dbf923ec5251545acdd9f1d42d7c4fe32" + integrity sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA== -"@typescript-eslint/typescript-estree@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" - integrity sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w== +"@typescript-eslint/typescript-estree@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz#8869156ee1dcfc5a95be3ed0e2809969ea28e965" + integrity sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg== dependencies: - "@typescript-eslint/types" "5.53.0" - "@typescript-eslint/visitor-keys" "5.53.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/visitor-keys" "5.59.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz#10d9643e503afc1ca4f5553d9bbe672ea4050b71" - integrity sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw== - dependencies: - "@typescript-eslint/types" "5.57.1" - "@typescript-eslint/visitor-keys" "5.57.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.1.tgz#0f97b0bbd88c2d5e2036869f26466be5f4c69475" - integrity sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg== +"@typescript-eslint/utils@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.0.tgz#063d066b3bc4850c18872649ed0da9ee72d833d5" + integrity sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.57.1" - "@typescript-eslint/types" "5.57.1" - "@typescript-eslint/typescript-estree" "5.57.1" + "@typescript-eslint/scope-manager" "5.59.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/typescript-estree" "5.59.0" eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.53.0": - version "5.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f" - integrity sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w== - dependencies: - "@typescript-eslint/types" "5.53.0" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@5.57.1": - version "5.57.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz#585e5fa42a9bbcd9065f334fd7c8a4ddfa7d905e" - integrity sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA== +"@typescript-eslint/visitor-keys@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz#a59913f2bf0baeb61b5cfcb6135d3926c3854365" + integrity sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA== dependencies: - "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/types" "5.59.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -2247,6 +2023,11 @@ archy@^1.0.0: resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== +are-docs-informative@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" + integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -2264,6 +2045,14 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-from@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" @@ -2574,9 +2363,9 @@ camelcase@^6.0.0, camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001458" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz#871e35866b4654a7d25eccca86864f411825540c" - integrity sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w== + version "1.0.30001480" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz#9bbd35ee44c2480a1e3a3b9f4496f5066817164a" + integrity sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ== capital-case@^1.0.4: version "1.0.4" @@ -2745,9 +2534,9 @@ cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: string-width "^4.2.3" cli-spinners@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" - integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + version "2.8.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.8.0.tgz#e97a3e2bd00e6d85aa0c13d7f9e3ce236f7787fc" + integrity sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ== cli-truncate@^2.1.0: version "2.1.0" @@ -2879,9 +2668,9 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: version "1.0.8" @@ -2891,9 +2680,9 @@ combined-stream@^1.0.8: delayed-stream "~1.0.0" commander@^10.0.0, commander@~10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1" - integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^4.0.1: version "4.1.1" @@ -2992,14 +2781,14 @@ convert-source-map@^2.0.0: integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== core-js-pure@^3.25.1: - version "3.28.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.28.0.tgz#4ef2888475b6c856ef6f5aeef8b4f618b76ad048" - integrity sha512-DSOVleA9/v3LNj/vFxAPfUHttKTzrB2RXhAPvR5TPXn4vrra3Z2ssytvRyt8eruJwAfwAiFADEbrjcRdcvPLQQ== + version "3.30.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.1.tgz#7d93dc89e7d47b8ef05d7e79f507b0e99ea77eec" + integrity sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg== core-js@^3.6.4: - version "3.28.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" - integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== + version "3.30.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" + integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== core-util-is@~1.0.0: version "1.0.3" @@ -3012,9 +2801,9 @@ cosmiconfig-typescript-loader@^4.0.0: integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== cosmiconfig@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.0.tgz#947e174c796483ccf0a48476c24e4fefb7e1aea8" - integrity sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg== + version "8.1.3" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" + integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== dependencies: import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -3146,9 +2935,9 @@ deep-is@^0.1.3: integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: - version "4.3.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" - integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-require-extensions@^3.0.0: version "3.0.1" @@ -3164,7 +2953,7 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-properties@^1.1.3, define-properties@^1.1.4: +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" integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== @@ -3278,16 +3067,16 @@ ecdsa-sig-formatter@1.0.11: safe-buffer "^5.0.1" ejs@^3.1.6, ejs@^3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" - integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== + version "3.1.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== dependencies: jake "^10.8.5" electron-to-chromium@^1.4.284: - version "1.4.311" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.311.tgz#953bc9a4767f5ce8ec125f9a1ad8e00e8f67e479" - integrity sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw== + version "1.4.368" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz#75901f97d3e23da2e66feb1e61fbb8e70ac96430" + integrity sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw== emittery@^0.13.1: version "0.13.1" @@ -3324,17 +3113,17 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" - integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== dependencies: + array-buffer-byte-length "^1.0.0" available-typed-arrays "^1.0.5" call-bind "^1.0.2" es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" - function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" + get-intrinsic "^1.2.0" get-symbol-description "^1.0.0" globalthis "^1.0.3" gopd "^1.0.1" @@ -3342,8 +3131,8 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: has-property-descriptors "^1.0.0" has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.4" - is-array-buffer "^3.0.1" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" @@ -3351,11 +3140,12 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: is-string "^1.0.7" is-typed-array "^1.1.10" is-weakref "^1.0.2" - object-inspect "^1.12.2" + object-inspect "^1.12.3" object-keys "^1.1.1" object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" string.prototype.trimend "^1.0.6" string.prototype.trimstart "^1.0.6" typed-array-length "^1.0.4" @@ -3437,9 +3227,9 @@ eslint-import-resolver-node@^0.3.7: resolve "^1.22.1" eslint-module-utils@^2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" @@ -3464,17 +3254,18 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^40.1.1: - version "40.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-40.1.1.tgz#12ae46e5e64524c19fb7d01471c70015aa0863f0" - integrity sha512-KxrQCq9pPt7LNeDBlLlnuJMpDFZnEQTs4e25NrT4u5cWmPw2P7F03F2qwPz0GMdlRZTyMOofuPAdiWytvPubvA== +eslint-plugin-jsdoc@^43.0.6: + version "43.0.6" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-43.0.6.tgz#f04e517256b1f2c22295a452dc1dcf11cd4694b2" + integrity sha512-EJyrcIY4e/e51yzLLBpYX7/Ld1+08Bl/XparwHFTmQ8gUfir4wEmY2c/lj91k9+/8auKeNA5ejbyaOl42xX0AQ== dependencies: - "@es-joy/jsdoccomment" "~0.37.0" + "@es-joy/jsdoccomment" "~0.37.1" + are-docs-informative "^0.0.2" comment-parser "1.3.1" debug "^4.3.4" escape-string-regexp "^4.0.0" esquery "^1.5.0" - semver "^7.3.8" + semver "^7.5.0" spdx-expression-parse "^3.0.1" eslint-plugin-prettier@^4.2.1: @@ -3493,44 +3284,27 @@ eslint-scope@^5.1.1: estraverse "^4.1.1" eslint-scope@^7.0.0, eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint-visitor-keys@^3.4.0: +eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== -eslint@^8.37.0: - version "8.37.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.37.0.tgz#1f660ef2ce49a0bfdec0b0d698e0b8b627287412" - integrity sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw== +eslint@^8.38.0, eslint@^8.7.0: + version "8.38.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a" + integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.4.0" "@eslint/eslintrc" "^2.0.2" - "@eslint/js" "8.37.0" + "@eslint/js" "8.38.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -3568,62 +3342,7 @@ eslint@^8.37.0: strip-json-comments "^3.1.0" text-table "^0.2.0" -eslint@^8.7.0: - version "8.35.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" - integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== - dependencies: - "@eslint/eslintrc" "^2.0.0" - "@eslint/js" "8.35.0" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.0.0, espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -espree@^9.5.1: +espree@^9.0.0, espree@^9.5.1: version "9.5.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== @@ -3637,14 +3356,7 @@ esprima@^4.0.0, esprima@~4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0, esquery@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" - integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== - dependencies: - estraverse "^5.1.0" - -esquery@^1.5.0: +esquery@^1.4.0, esquery@^1.4.2, esquery@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -3706,22 +3418,7 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.0.0.tgz#2a44e20e73797f6c2df23889927972386157d7e4" - integrity sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -execa@~7.1.0: +execa@^7.0.0, execa@~7.1.0: version "7.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== @@ -3766,24 +3463,10 @@ extract-stack@^2.0.0: resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== -fancy-test@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.12.tgz#a93cd92ffc23f70b069c39f19940d34f64c6ca67" - integrity sha512-S7qVQNaViLTMzn71huZvrUCV59ldq+enQ1EQOkdNbl4q4Om97gwqbYKvZoglsnzCWRRFaFP+qHynpdqaLdiZqg== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.3.0" - stdout-stderr "^0.1.9" - -fancy-test@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.16.tgz#fbeb22f1f6b790b067fc774873093d0ca4fc98c1" - integrity sha512-Bgsd32hr+Ohrh/D4zACMstWjViYR6IHJxzvhLSzbekNIrDWOwSHx7zvKtrN/pFrFVyNBo02kNdz3PyPD5W2ibQ== +fancy-test@^2.0.18: + version "2.0.19" + resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.19.tgz#f30251ef89ec135df6dffffa7445b5ca4b366a2b" + integrity sha512-Zlj9GadzSXMLT11227FvkPOlM7wtzElRRJnUbwmC4tScbRUZx04PrS30fSuQCGT4hjaT8ZHQrEGea8S3xYrwsg== dependencies: "@types/chai" "*" "@types/lodash" "*" @@ -3825,10 +3508,10 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-xml-parser@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz#0254ad0d4d27f07e6b48254b068c0c137488dd97" - integrity sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q== +fast-xml-parser@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.2.tgz#cb7310d1e9cf42d22c687b0fae41f3c926629368" + integrity sha512-DLzIPtQqmvmdq3VUKR7T6omPK/VCRNqgFlGtbESfyhcH2R4I8EzK1/K6E8PkRCK2EabWrUHK32NjYRbEFnnz0Q== dependencies: strnum "^1.0.5" @@ -3997,16 +3680,7 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^11.0.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" - integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^11.1.1: +fs-extra@^11.0.0, fs-extra@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== @@ -4068,7 +3742,7 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functions-have-names@^1.2.2: +functions-have-names@^1.2.2, 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== @@ -4198,9 +3872,9 @@ glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: path-is-absolute "^1.0.0" glob@^9.2.0, glob@~9.3.0: - version "9.3.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.4.tgz#e75dee24891a80c25cc7ee1dd327e126b98679af" - integrity sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA== + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== dependencies: fs.realpath "^1.0.0" minimatch "^8.0.2" @@ -4266,12 +3940,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graceful-fs@^4.2.11: +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -4408,9 +4077,9 @@ human-signals@^2.1.0: integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== human-signals@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.0.tgz#2095c3cd5afae40049403d4b811235b03879db50" - integrity sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ== + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== husky@^8.0.3: version "8.0.3" @@ -4542,7 +4211,7 @@ inquirer@~9.1.0: through "^2.3.6" wrap-ansi "^8.1.0" -internal-slot@^1.0.4: +internal-slot@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== @@ -4556,13 +4225,13 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -is-array-buffer@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" - integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.1.3" + get-intrinsic "^1.2.0" is-typed-array "^1.1.10" is-arrayish@^0.2.1: @@ -4597,10 +4266,10 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^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.5.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== +is-core-module@^2.11.0, is-core-module@^2.5.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" + integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== dependencies: has "^1.0.3" @@ -5249,9 +4918,9 @@ jest@^29.5.0: jest-cli "^29.5.0" js-sdsl@^4.1.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + version "4.4.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== js-tokens@^4.0.0: version "4.0.0" @@ -5298,10 +4967,10 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsforce@^2.0.0-beta.20: - version "2.0.0-beta.20" - resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.20.tgz#907630942b2ecd653098caa3f87e7710874cb207" - integrity sha512-5TpdU0MEUN34M0mSKmBwOMKaI8dllTYF8NzpJn0/9akrwqKEERK6K2jGiMWcs85Vx1HCHEcwU2n+5ij6z6zr2g== +jsforce@^2.0.0-beta.21: + version "2.0.0-beta.21" + resolved "https://registry.yarnpkg.com/jsforce/-/jsforce-2.0.0-beta.21.tgz#04c94d762d2536bf1af3062d5cca206656f5b12b" + integrity sha512-74GUF/96vYBNZo3SUccXtt4CmfvZ0iqTSc0Z3OB940Ec7oU6coOAGhlCZ+XprXaHOMMhXMXrZQ1PCd16yjIA7A== dependencies: "@babel/runtime" "^7.12.5" "@babel/runtime-corejs3" "^7.12.5" @@ -5322,7 +4991,7 @@ jsforce@^2.0.0-beta.20: open "^7.0.0" regenerator-runtime "^0.13.3" strip-ansi "^6.0.0" - xml2js "^0.4.22" + xml2js "^0.5.0" json-parse-better-errors@^1.0.1: version "1.0.2" @@ -5459,10 +5128,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.2.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.0.tgz#b7abaf79c91cd36d824f17b23a4ce5209206126a" - integrity sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw== +lint-staged@^13.2.1: + version "13.2.1" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.1.tgz#9d30a14e3e42897ef417bc98556fb757f75cae87" + integrity sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw== dependencies: chalk "5.2.0" cli-truncate "^3.1.0" @@ -5701,10 +5370,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.14.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== +lru-cache@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.0.tgz#19efafa9d08d1c08eb8efd78876075f0b8b1b07b" + integrity sha512-qFXQEwchrZcMVen2uIDceR8Tii6kCJak5rzDStfEM0qA3YLMswaxIEZO0DhIbJ3aqaJiDjt+3crlplOb0tDtKQ== make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" @@ -5824,16 +5493,16 @@ minimatch@^5.0.1, minimatch@^5.1.0: brace-expansion "^2.0.1" minimatch@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.2.tgz#ba35f8afeb255a4cbad4b6677b46132f3278c469" - integrity sha512-ikHGF67ODxj7vS5NKU2wvTsFLbExee+KXVCnBWh8Cg2hVJfBMQIrlo50qru/09E0EifjnU8dZhJ/iHhyXJM6Mw== + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== dependencies: brace-expansion "^2.0.1" minimatch@~7.4.2: - version "7.4.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.4.tgz#e15a8ab56cc5469eca75a26a1319e5c00900824a" - integrity sha512-T+8B3kNrLP7jDb5eaC4rUIp6DKoeTSb6f9SwF2phcY2gxJUA0GEf1i29/FHxBMEfx0ppWlr434/D0P+6jb8bOQ== + version "7.4.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb" + integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== dependencies: brace-expansion "^2.0.1" @@ -5851,10 +5520,15 @@ minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass@^4.0.2, minipass@^4.2.4: - version "4.2.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" - integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== mkdirp-classic@^0.5.2: version "0.5.3" @@ -6137,7 +5811,7 @@ nyc@^15.1.0: test-exclude "^6.0.0" yargs "^15.0.2" -object-inspect@^1.12.2, object-inspect@^1.12.3, object-inspect@^1.9.0: +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== @@ -6389,12 +6063,12 @@ path-parse@^1.0.7: integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^1.6.1: - version "1.6.3" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.3.tgz#4eba7183d64ef88b63c7d330bddc3ba279dc6c40" - integrity sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g== + version "1.7.0" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.7.0.tgz#99c741a2cfbce782294a39994d63748b5a24f6db" + integrity sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg== dependencies: - lru-cache "^7.14.1" - minipass "^4.0.2" + lru-cache "^9.0.0" + minipass "^5.0.0" path-to-regexp@^1.7.0: version "1.8.0" @@ -6472,12 +6146,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.1: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== - -prettier@^2.8.7: +prettier@^2.5.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== @@ -6548,9 +6217,9 @@ punycode@^2.1.0, punycode@^2.1.1: integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== pure-rand@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.0.tgz#701996ceefa253507923a0e864c17ab421c04a7c" - integrity sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw== + version "6.0.1" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.1.tgz#31207dddd15d43f299fdcdb2f572df65030c19af" + integrity sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg== q@^1.5.1: version "1.5.1" @@ -6630,9 +6299,9 @@ read-pkg@^5.2.0: type-fest "^0.6.0" readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" - integrity sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ== + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -6652,9 +6321,9 @@ readable-stream@^2.0.0, readable-stream@^2.0.5: util-deprecate "~1.0.1" readdir-glob@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.2.tgz#b185789b8e6a43491635b6953295c5c5e3fd224c" - integrity sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA== + version "1.1.3" + resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.3.tgz#c3d831f51f5e7bfa62fa2ffbe4b508c640f09584" + integrity sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== dependencies: minimatch "^5.1.0" @@ -6693,18 +6362,13 @@ regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.3: integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + define-properties "^1.2.0" + functions-have-names "^1.2.3" release-zalgo@^1.0.0: version "1.0.0" @@ -6763,16 +6427,16 @@ resolve-global@1.0.0, resolve-global@^1.0.0: global-dirs "^0.1.1" resolve.exports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" - integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.11.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -6908,7 +6572,7 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.8, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@~7.3.7: +semver@7.3.8, semver@~7.3.7: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== @@ -6920,6 +6584,13 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.4.0, semver@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + sentence-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" @@ -7001,10 +6672,10 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -sinon@^15.0.3: - version "15.0.3" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-15.0.3.tgz#38005fcd80827177b6aa0245f82401d9ec88994b" - integrity sha512-si3geiRkeovP7Iel2O+qGL4NrO9vbMf3KsrJEi0ghP1l5aBkB5UxARea5j0FUsSqH3HLBh0dQPAyQ8fObRUqHw== +sinon@^15.0.4: + version "15.0.4" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-15.0.4.tgz#bcca6fef19b14feccc96473f0d7adc81e0bc5268" + integrity sha512-uzmfN6zx3GQaria1kwgWGeKiXSSbShBbue6Dcj0SI8fiCNFbiUDqKl57WFlY5lyhxZVUKmXvzgG2pilRQCBwWg== dependencies: "@sinonjs/commons" "^3.0.0" "@sinonjs/fake-timers" "^10.0.2" @@ -7108,9 +6779,9 @@ spawn-wrap@^2.0.0: which "^2.0.1" spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -7129,9 +6800,9 @@ spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.12" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" - integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== split2@^3.0.0: version "3.2.2" @@ -7215,6 +6886,15 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.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== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + 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" @@ -7572,9 +7252,9 @@ type-fest@^0.8.0, type-fest@^0.8.1: integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-fest@^3.0.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.7.2.tgz#08f83ee3229b63077e95c9035034d32905969457" - integrity sha512-f9BHrLjRJ4MYkfOsnC/53PNDzZJcVo14MqLp2+hXE39p5bgwqohxR5hDZztwxlbxmIVuvC2EFAKrAkokq23PLA== + version "3.8.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.8.0.tgz#ce80d1ca7c7d11c5540560999cbd410cb5b3a385" + integrity sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q== typed-array-length@^1.0.4: version "1.0.4" @@ -7611,15 +7291,10 @@ typescript@^4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -"typescript@^4.6.4 || ^5.0.0": - version "5.0.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" - integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== - -typescript@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.3.tgz#fe976f0c826a88d0a382007681cbb2da44afdedf" - integrity sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA== +"typescript@^4.6.4 || ^5.0.0", typescript@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== unbox-primitive@^1.0.2: version "1.0.2" @@ -7652,9 +7327,9 @@ universalify@^2.0.0: integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -7905,10 +7580,10 @@ write-json-file@^4.1.1: sort-keys "^4.0.0" write-file-atomic "^3.0.0" -xml2js@^0.4.22: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== +xml2js@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== dependencies: sax ">=0.6.0" xmlbuilder "~11.0.0" From f950dc5562295767aaa24646243de8b9b36a473a Mon Sep 17 00:00:00 2001 From: Sebastien Date: Fri, 21 Apr 2023 09:24:35 +0200 Subject: [PATCH 55/63] chore(main): release 5.18.0 (#574) * chore(main): release 5.18.0 * fix: ignore changelog for markdown link check --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca56c7b6..aad42094 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,16 @@ + # Changelog All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.18.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.17.1...v5.18.0) (2023-04-21) + + +### Features + +* extend metadata content pruning to more eligible types ([#533](https://github.com/scolladon/sfdx-git-delta/issues/533)) ([2576cf7](https://github.com/scolladon/sfdx-git-delta/commit/2576cf7e53f3a961b05267f11976a3146e51498a)) + ## [5.17.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.17.0...v5.17.1) (2023-04-04) diff --git a/package.json b/package.json index 3b352864..7ee48fde 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.17.1", + "version": "5.18.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 06ebc30a89564e1fe58c53d8a50cac832f14f4a5 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Fri, 21 Apr 2023 11:27:28 +0200 Subject: [PATCH 56/63] ci: checkout e2e source path (#575 * fix: checkout e2e source path * build: upgrade dependencies --- .github/workflows/on-main-push.yml | 1 - package.json | 6 +- yarn.lock | 143 +++++++++++++++-------------- 3 files changed, 77 insertions(+), 73 deletions(-) diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index 64fe3565..e7233635 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -76,7 +76,6 @@ jobs: run: sfdx sgd:source:delta --help - name: E2E Tests - working-directory: ./e2e run: | yarn yarn test:e2e diff --git a/package.json b/package.json index 7ee48fde..4a4339c5 100644 --- a/package.json +++ b/package.json @@ -81,10 +81,10 @@ "@salesforce/ts-sinon": "^1.4.6", "@stryker-mutator/core": "^6.4.2", "@stryker-mutator/jest-runner": "^6.4.2", - "@swc/core": "^1.3.52", + "@swc/core": "^1.3.53", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.15.12", + "@types/node": "^18.15.13", "@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/parser": "^5.59.0", "chai": "^4.3.7", @@ -92,7 +92,7 @@ "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce-typescript": "^1.1.1", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^43.0.6", + "eslint-plugin-jsdoc": "^43.0.7", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.5.0", diff --git a/yarn.lock b/yarn.lock index 1a3951da..9a2eb6ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1465,71 +1465,71 @@ dependencies: lodash.flatmap "~4.5.0" -"@swc/core-darwin-arm64@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.52.tgz#c82cdcc60e4d84f6745c83e898daaebfb09663ce" - integrity sha512-Y+4YDN7mAhMgqLVMjpIOagFg93uWdQRsJXd3NAXo24CAJXLBuXsiXQdJVdhGavQkF0+NuhFSTGrzB8TknzWQkg== - -"@swc/core-darwin-x64@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.52.tgz#7a89b075b35ea36d7e44328ec9bf451f7fae2393" - integrity sha512-XbvBA+DwTedleh/smYA6E1Z1L1tVnF+ULhpszAAW4YYDzH47R73ucCdcSH/aHs4swv+uyvRquKoDtTTNZFvD4A== - -"@swc/core-linux-arm-gnueabihf@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.52.tgz#71ccbc6125cbcd26bfb97fd5082def19a978cfc4" - integrity sha512-YRTLjZcoGH09q0vjg5s6vxOryzAGlMx2Ly6Hq8+8ruBtG3QTsCN3y7MI8mX254xdFCJiTX5YwQheGjRXS7FF9A== - -"@swc/core-linux-arm64-gnu@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.52.tgz#cd1cc50b04b41b68a0e330a0afefee2d681ade6c" - integrity sha512-B0HKtj0XpqpqflGKMxFlyXyORN0xshF8TVzUBD/2FgF7o8fE2RM1eqtdf1EzmZTT1hwxLpJXrEj+0gSXfWPW4A== - -"@swc/core-linux-arm64-musl@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.52.tgz#3d398472d574494cda0adf3e5aff7607c597f2ac" - integrity sha512-GCxNjTAborAmv4VV1AMZLyejHLGgIzu13tvLUFqybtU4jFxVbE2ZK4ZnPCfDlWN+eBwyRWk1oNFR2hH+66vaUQ== - -"@swc/core-linux-x64-gnu@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.52.tgz#d4952b774be2ff201bf469ffa09caa995a7eae3c" - integrity sha512-mrvDBSkLI3Mza2qcu3uzB5JGwMBYDb1++UQ1VB0RXf2AR21/cCper4P44IpfdeqFz9XyXq18Sh3gblICUCGvig== - -"@swc/core-linux-x64-musl@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.52.tgz#62b3db8b4c6d669933013660b65bbdcb03589d9d" - integrity sha512-r9RIvKUQv7yBkpXz+QxPAucdoj8ymBlgIm5rLE0b5VmU7dlKBnpAmRBYaITdH6IXhF0pwuG+FHAd5elBcrkIwA== - -"@swc/core-win32-arm64-msvc@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.52.tgz#71efd8454edf9ce3752e0c7944f23207635036e6" - integrity sha512-YRtEr7tDo0Wes3M2ZhigF4erUjWBXeFP+O+iz6ELBBmPG7B7m/lrA21eiW9/90YGnzi0iNo46shK6PfXuPhP+Q== - -"@swc/core-win32-ia32-msvc@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.52.tgz#fb13036295f74d9f834491456261732d4561876f" - integrity sha512-t1x6EdYg3nnnmZBkEtmdXwGpVFTnkNCYyTILcn4367tKI6NpcNe75tz6wBUZAWAmol6Bn75je9KHDNC9uBcO2A== - -"@swc/core-win32-x64-msvc@1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.52.tgz#f870ee8c8055a5959f8903d3aa07ca1b1eb51caf" - integrity sha512-ef0KzcHxWgRii0EyUlgzNA0ycqaRRKxSb6QCO9Ev3tib4SSjbPy0MAndU7f82Ndm/pPmXT+7cciRtZ083vzjZA== - -"@swc/core@^1.3.52": - version "1.3.52" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.52.tgz#85fe178110b9f74965dfa09af81b059f417a9935" - integrity sha512-2LOkkl5Ebyzg1e2pu/tqz5zAAiNAtSR99KZDJz4+FTpo6lYwr+SRkeXSNFrYAReHBMb5VJoimrLDLHJ2X1E7Lg== +"@swc/core-darwin-arm64@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.53.tgz#0dabb2ecfeea3aea8e66f5cbf9736128169e7055" + integrity sha512-JvWwV/duzdQ60iwWYceDhDk75LmdrLoPC7myX3Src3gl/bJtETMq7uHS9uY8m0GQOqbct7XGR3q5Ff21YxkSzg== + +"@swc/core-darwin-x64@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.53.tgz#01ef02573d2743478a5400a1f7b397901a13202a" + integrity sha512-UuIGZtCfUPJM2Q01bRIFzmucOMg8UZ+mY3kh5xB8kl/VrLltBlraSWGjjJzYmUeUxiF8+CtMfeSYav5QfU2v3g== + +"@swc/core-linux-arm-gnueabihf@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.53.tgz#d76fdcf34e835244f670b1696b320287187da80f" + integrity sha512-LupAjTErteyLmowYIfiQeTz3uVh7/SPYv/EuG1PYrajNoUYomt7WA0rQUoyglF9VtwVyNqxptWEO5So32ApTHA== + +"@swc/core-linux-arm64-gnu@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.53.tgz#00713c4477249192b23a39b30666043b47079eff" + integrity sha512-kREfZdiJH/O8GtJJ22wVN9DVzz/+CPAkw5Mn5te2KQg0xJHMWaESU5XeYMWvtwyOQVmb31b6zCGFy3pnBWWfGw== + +"@swc/core-linux-arm64-musl@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.53.tgz#f310ec81dc566f039520fe1dd583ce1c5a6ec636" + integrity sha512-VeAgomBr6BVuBRjZjRHmvp5gKp1nZgbbd441ca1AvsPd2c+ZyhyHLxTWeHOzBDa/vYnmi9BCwx3QJzFqbAFPVw== + +"@swc/core-linux-x64-gnu@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.53.tgz#a5e7113fbc778019960ca7276f104085adefd513" + integrity sha512-LFX5+QpQkESPkmx860C40pIiYf1utEqoA+WDtmKnUz3DucYvw3eGlXCBdyklP7UBWwJktKIcPlIqr7yROY5VlQ== + +"@swc/core-linux-x64-musl@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.53.tgz#dacc29541f983e9b2d801bf80b1b9e9ac81d5673" + integrity sha512-O0lbJgeaM0VEsG8wFYvpF+Iuf0IENv+LnXHoygkAsv67sVW54+gFxav2sEdkftD5qYe9ku4tmtTVYRZlFgC84Q== + +"@swc/core-win32-arm64-msvc@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.53.tgz#8d0b4cc7530512d9d390f6f90faecba8f4c93ada" + integrity sha512-7PgvPl0aNLaFZSK+rIi4DB1g0aW2qOsTIJQSJGRszsCP8pze/traXymyuSG2I3y9Hx7Z+bP5ycJydyAgCw88WA== + +"@swc/core-win32-ia32-msvc@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.53.tgz#88fc90d99620bd2f18ccb2bc6ee36bcee6dcee44" + integrity sha512-T+OacGm69t8+1mt1sHlwhREiFiFgSeIGL3h11FIs8o2zKnOr5z2H9myzR432X8WuHGVQAOCMvDu53LCMBD0ZzQ== + +"@swc/core-win32-x64-msvc@1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.53.tgz#6dda89cdaa5fad14a25a8e2ed0076497ba3a8906" + integrity sha512-uV1/GhROJ/SXzj+f+kKcVtR2GuAiggvbqepzZS46+G47okf6229hr2T1fjmiwYyA75w9R3Bj/wil4UhodohOLg== + +"@swc/core@^1.3.53": + version "1.3.53" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.53.tgz#22c20bbd328e4a091eb015285aeffca4c66fd32c" + integrity sha512-OM5nCfKDZXr1HjxD072Jlx5463tPX7xeY7NDSRE3X4KFlkRDFdyMWAyV3pet1oouOfUNrzzoVTAR4XSU8ytO6Q== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.52" - "@swc/core-darwin-x64" "1.3.52" - "@swc/core-linux-arm-gnueabihf" "1.3.52" - "@swc/core-linux-arm64-gnu" "1.3.52" - "@swc/core-linux-arm64-musl" "1.3.52" - "@swc/core-linux-x64-gnu" "1.3.52" - "@swc/core-linux-x64-musl" "1.3.52" - "@swc/core-win32-arm64-msvc" "1.3.52" - "@swc/core-win32-ia32-msvc" "1.3.52" - "@swc/core-win32-x64-msvc" "1.3.52" + "@swc/core-darwin-arm64" "1.3.53" + "@swc/core-darwin-x64" "1.3.53" + "@swc/core-linux-arm-gnueabihf" "1.3.53" + "@swc/core-linux-arm64-gnu" "1.3.53" + "@swc/core-linux-arm64-musl" "1.3.53" + "@swc/core-linux-x64-gnu" "1.3.53" + "@swc/core-linux-x64-musl" "1.3.53" + "@swc/core-win32-arm64-msvc" "1.3.53" + "@swc/core-win32-ia32-msvc" "1.3.53" + "@swc/core-win32-x64-msvc" "1.3.53" "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -1673,7 +1673,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*", "@types/node@^18.15.12": +"@types/node@*": version "18.15.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== @@ -1683,6 +1683,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^18.15.13": + version "18.15.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" + integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== + "@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" @@ -3254,10 +3259,10 @@ eslint-plugin-import@^2.27.5: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsdoc@^43.0.6: - version "43.0.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-43.0.6.tgz#f04e517256b1f2c22295a452dc1dcf11cd4694b2" - integrity sha512-EJyrcIY4e/e51yzLLBpYX7/Ld1+08Bl/XparwHFTmQ8gUfir4wEmY2c/lj91k9+/8auKeNA5ejbyaOl42xX0AQ== +eslint-plugin-jsdoc@^43.0.7: + version "43.0.7" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-43.0.7.tgz#e15acd04d702e089867c78391ae172e34bac8364" + integrity sha512-32Sx5I9VzO/bqbtslCu3L1GHIPo+QEliwqwjWq+qzbUv76wrkH6ifUEE0EbkuNEn+cHlSIOrg/IJ1PGNN72QZA== dependencies: "@es-joy/jsdoccomment" "~0.37.1" are-docs-informative "^0.0.2" From 770b1bab2a3cfcbcfb84223d427ac3679e851035 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 11 May 2023 09:21:46 +0200 Subject: [PATCH 57/63] fix: handle `ModerationRule` and `KeywordList` with shared folder type (#594) --- .github/PULL_REQUEST_TEMPLATE.md | 3 +- .github/workflows/on-pull-request.yml | 2 - __tests__/integration/services.test.js | 10 + .../unit/lib/metadata/metadataManager.test.js | 20 +- ...er.test.js => sharedFolderHandler.test.js} | 6 +- package.json | 40 +- src/metadata/a48.json | 19 +- src/metadata/metadataManager.js | 15 +- src/metadata/v46.json | 19 +- src/metadata/v47.json | 19 +- src/metadata/v49.json | 19 +- src/metadata/v50.json | 19 +- src/metadata/v51.json | 19 +- src/metadata/v52.json | 19 +- src/metadata/v53.json | 19 +- src/metadata/v54.json | 19 +- src/metadata/v55.json | 19 +- src/metadata/v56.json | 19 +- src/metadata/v57.json | 19 +- src/service/botHandler.js | 4 +- ...{waveHandler.js => sharedFolderHandler.js} | 14 +- src/service/typeHandlerFactory.js | 7 +- yarn.lock | 1374 +++++------------ 23 files changed, 611 insertions(+), 1112 deletions(-) rename __tests__/unit/lib/service/{waveHandler.test.js => sharedFolderHandler.test.js} (81%) rename src/service/{waveHandler.js => sharedFolderHandler.js} (53%) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index cd1fd32e..af4a43ef 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -21,7 +21,8 @@ Thanks for sending a pull request! Please make sure to have a look to the contri closes # -- [ ] Jest test added to check the fix is applied. +- [ ] Jest tests added to cover the fix. +- [ ] E2E tests added to cover the fix. # Any particular element that can be tested locally diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index bbfb35ae..de32fc2d 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -55,11 +55,9 @@ jobs: - name: Check outdated dependencies run: yarn outdated - continue-on-error: true - name: Audit dependencies run: yarn audit - continue-on-error: true megalinter: runs-on: ubuntu-latest diff --git a/__tests__/integration/services.test.js b/__tests__/integration/services.test.js index f8659c80..6f7f011e 100644 --- a/__tests__/integration/services.test.js +++ b/__tests__/integration/services.test.js @@ -306,6 +306,16 @@ const testContext = [ new Set(['EU.France']), 'Territory2', ], + [ + 'force-app/main/default/moderation/site.block.rule-meta.xml', + new Set(['site.block']), + 'ModerationRule', + ], + [ + 'force-app/main/default/moderation/site.block.keywords-meta.xml', + new Set(['site.block']), + 'KeywordList', + ], [ 'force-app/main/default/discovery/DiscoveryAIModelTest.model', new Set(['DiscoveryAIModelTest']), diff --git a/__tests__/unit/lib/metadata/metadataManager.test.js b/__tests__/unit/lib/metadata/metadataManager.test.js index dd3a42ed..981abb0f 100644 --- a/__tests__/unit/lib/metadata/metadataManager.test.js +++ b/__tests__/unit/lib/metadata/metadataManager.test.js @@ -3,7 +3,7 @@ const { getDefinition, getInFileAttributes, getLatestSupportedVersion, - getWaveMetadata, + getSharedFolderMetadata, isVersionSupported, } = require('../../../../src/metadata/metadataManager') @@ -106,7 +106,7 @@ describe(`test if metadata`, () => { expect(otherInFileAttributes).toBe(inFileAttributes) }) - test('getWaveMetadata', async () => { + test('getSharedFolderMetadata', async () => { // Arrange const metadata = new Map([ [ @@ -139,19 +139,19 @@ describe(`test if metadata`, () => { ]) // Act - let waveMetadata = getWaveMetadata(metadata) + let sharedFolderMetadata = getSharedFolderMetadata(metadata) // Assert - expect(waveMetadata.has('discovery')).toBe(false) - expect(waveMetadata.has('goal')).toBe(true) - expect(waveMetadata.has('model')).toBe(true) - expect(waveMetadata.get('goal')).toEqual('DiscoveryGoal') - expect(waveMetadata.get('model')).toEqual('DiscoveryAIModel') + expect(sharedFolderMetadata.has('discovery')).toBe(false) + expect(sharedFolderMetadata.has('goal')).toBe(true) + expect(sharedFolderMetadata.has('model')).toBe(true) + expect(sharedFolderMetadata.get('goal')).toEqual('DiscoveryGoal') + expect(sharedFolderMetadata.get('model')).toEqual('DiscoveryAIModel') // Act - let otherWaveMetadata = getWaveMetadata(metadata) + let otherSharedFolderMetadata = getSharedFolderMetadata(metadata) // Assert - expect(otherWaveMetadata).toBe(waveMetadata) + expect(otherSharedFolderMetadata).toBe(sharedFolderMetadata) }) }) diff --git a/__tests__/unit/lib/service/waveHandler.test.js b/__tests__/unit/lib/service/sharedFolderHandler.test.js similarity index 81% rename from __tests__/unit/lib/service/waveHandler.test.js rename to __tests__/unit/lib/service/sharedFolderHandler.test.js index b704d575..7aa38f93 100644 --- a/__tests__/unit/lib/service/waveHandler.test.js +++ b/__tests__/unit/lib/service/sharedFolderHandler.test.js @@ -1,5 +1,5 @@ 'use strict' -const WaveHandler = require('../../../../src/service/waveHandler') +const SharedFolderHandler = require('../../../../src/service/sharedFolderHandler') const objectType = 'discovery' const entityName = 'DiscoveryAIModelTest' @@ -16,7 +16,7 @@ beforeEach(() => { } }) -describe('Wavehandler', () => { +describe('SharedFolderHandler', () => { let globalMetadata beforeAll(async () => { // eslint-disable-next-line no-undef @@ -25,7 +25,7 @@ describe('Wavehandler', () => { it('should add the metadata component under the right type to the package', async () => { // Arrange - const sut = new WaveHandler(line, objectType, work, globalMetadata) + const sut = new SharedFolderHandler(line, objectType, work, globalMetadata) // Act await sut.handleAddition() diff --git a/package.json b/package.json index 4a4339c5..bbb455b5 100644 --- a/package.json +++ b/package.json @@ -25,19 +25,19 @@ }, "author": "Sebastien Colladon ", "dependencies": { - "@oclif/command": "^1.8.23", + "@oclif/command": "^1.8.24", "@oclif/config": "^1.18.8", - "@oclif/core": "^2.8.2", + "@oclif/core": "^2.8.5", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.3.5", - "@salesforce/core": "^3.34.7", + "@salesforce/command": "^5.3.7", + "@salesforce/core": "^3.36.0", "fast-xml-parser": "^4.2.2", "fs-extra": "^11.1.1", "ignore": "^5.2.4", "lodash": "^4.17.21", "micromatch": "^4.0.5", "tslib": "^2.5.0", - "xmlbuilder2": "^3.0.2" + "xmlbuilder2": "^3.1.1" }, "license": "MIT", "bugs": { @@ -70,36 +70,34 @@ "upgrade:dependencies": "yarn yarn-upgrade-all" }, "devDependencies": { - "@commitlint/cli": "^17.6.1", - "@commitlint/config-conventional": "^17.6.1", - "@commitlint/prompt-cli": "^17.6.1", + "@commitlint/cli": "^17.6.3", + "@commitlint/config-conventional": "^17.6.3", + "@commitlint/prompt-cli": "^17.6.3", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.9", - "@oclif/test": "^2.3.16", - "@salesforce/cli-plugins-testkit": "^3.3.3", - "@salesforce/dev-config": "^3.1.0", + "@oclif/test": "^2.3.19", + "@salesforce/cli-plugins-testkit": "^3.3.6", + "@salesforce/dev-config": "^4.0.1", "@salesforce/ts-sinon": "^1.4.6", "@stryker-mutator/core": "^6.4.2", "@stryker-mutator/jest-runner": "^6.4.2", - "@swc/core": "^1.3.53", - "@types/chai": "^4.3.4", + "@swc/core": "^1.3.57", + "@types/chai": "^4.3.5", "@types/mocha": "^10.0.1", - "@types/node": "^18.15.13", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", + "@types/node": "^20.1.2", + "@typescript-eslint/eslint-plugin": "^5.59.5", + "@typescript-eslint/parser": "^5.59.5", "chai": "^4.3.7", - "eslint": "^8.38.0", + "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-config-salesforce-typescript": "^1.1.1", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsdoc": "^43.0.7", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jest": "^29.5.0", - "lint-staged": "^13.2.1", + "lint-staged": "^13.2.2", "mocha": "^10.2.0", "nyc": "^15.1.0", - "prettier": "^2.8.7", + "prettier": "^2.8.8", "prettier-eslint": "^15.0.1", "shx": "^0.3.4", "sinon": "^15.0.4", diff --git a/src/metadata/a48.json b/src/metadata/a48.json index 562bc178..cac6ee37 100644 --- a/src/metadata/a48.json +++ b/src/metadata/a48.json @@ -862,13 +862,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -880,8 +873,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/metadataManager.js b/src/metadata/metadataManager.js index b7bce054..0d3ae6e0 100644 --- a/src/metadata/metadataManager.js +++ b/src/metadata/metadataManager.js @@ -6,7 +6,7 @@ const _apiMap = new Map() let _latestVersion = null const describeMetadata = new Map() const inFileMetadata = new Map() -const waveMetadata = new Map() +const sharedFolderMetadata = new Map() const buildAPIMap = async () => { if (_apiMap.size === 0) { @@ -66,17 +66,20 @@ const getInFileAttributes = metadata => inFileMetadata ) -const getWaveMetadata = metadata => - waveMetadata.size - ? waveMetadata +const getSharedFolderMetadata = metadata => + sharedFolderMetadata.size + ? sharedFolderMetadata : Array.from(metadata.values()) .filter(meta => meta.content) .flatMap(elem => elem.content) - .reduce((acc, val) => acc.set(val.suffix, val.xmlName), waveMetadata) + .reduce( + (acc, val) => acc.set(val.suffix, val.xmlName), + sharedFolderMetadata + ) module.exports.getDefinition = getDefinition module.exports.getInFileAttributes = getInFileAttributes module.exports.getLatestSupportedVersion = getLatestSupportedVersion -module.exports.getWaveMetadata = getWaveMetadata +module.exports.getSharedFolderMetadata = getSharedFolderMetadata module.exports.isPackable = isPackable module.exports.isVersionSupported = isVersionSupported diff --git a/src/metadata/v46.json b/src/metadata/v46.json index 006c6b2a..0837f79a 100644 --- a/src/metadata/v46.json +++ b/src/metadata/v46.json @@ -672,13 +672,6 @@ "suffix": "accountRelationshipShareRule", "xmlName": "AccountRelationshipShareRule" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -690,8 +683,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v47.json b/src/metadata/v47.json index 7ec5d796..baf805cd 100644 --- a/src/metadata/v47.json +++ b/src/metadata/v47.json @@ -841,13 +841,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -859,8 +852,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v49.json b/src/metadata/v49.json index 48e15012..72341c08 100644 --- a/src/metadata/v49.json +++ b/src/metadata/v49.json @@ -855,13 +855,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -873,8 +866,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v50.json b/src/metadata/v50.json index 48e15012..72341c08 100644 --- a/src/metadata/v50.json +++ b/src/metadata/v50.json @@ -855,13 +855,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -873,8 +866,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v51.json b/src/metadata/v51.json index 682499e9..9433fad5 100644 --- a/src/metadata/v51.json +++ b/src/metadata/v51.json @@ -925,13 +925,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -943,8 +936,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v52.json b/src/metadata/v52.json index cc9f7db1..2c92e40f 100644 --- a/src/metadata/v52.json +++ b/src/metadata/v52.json @@ -925,13 +925,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -943,8 +936,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v53.json b/src/metadata/v53.json index cc9f7db1..2c92e40f 100644 --- a/src/metadata/v53.json +++ b/src/metadata/v53.json @@ -925,13 +925,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -943,8 +936,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v54.json b/src/metadata/v54.json index cc9f7db1..2c92e40f 100644 --- a/src/metadata/v54.json +++ b/src/metadata/v54.json @@ -925,13 +925,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -943,8 +936,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 1319766e..89063d18 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1009,13 +1009,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -1027,8 +1020,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 5eb762a2..6174a63b 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1030,13 +1030,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -1048,8 +1041,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/metadata/v57.json b/src/metadata/v57.json index 5eb762a2..6174a63b 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -1030,13 +1030,6 @@ "suffix": "managedTopics", "xmlName": "ManagedTopics" }, - { - "directoryName": "moderation", - "inFolder": false, - "metaFile": false, - "suffix": "keywords", - "xmlName": "KeywordList" - }, { "directoryName": "userCriteria", "inFolder": false, @@ -1048,8 +1041,16 @@ "directoryName": "moderation", "inFolder": false, "metaFile": false, - "suffix": "rule", - "xmlName": "ModerationRule" + "content": [ + { + "suffix": "keywords", + "xmlName": "KeywordList" + }, + { + "suffix": "rule", + "xmlName": "ModerationRule" + } + ] }, { "directoryName": "cmsConnectSource", diff --git a/src/service/botHandler.js b/src/service/botHandler.js index ec4544e9..6c5249cd 100644 --- a/src/service/botHandler.js +++ b/src/service/botHandler.js @@ -1,12 +1,12 @@ 'use strict' -const WaveHandler = require('./waveHandler') +const ShareFolderHandler = require('./sharedFolderHandler') const { fillPackageWithParameter } = require('../utils/packageHelper') const { parse, sep } = require('path') const BOT_TYPE = 'Bot' const BOT_EXTENSION = 'bot' -class BotHandler extends WaveHandler { +class BotHandler extends ShareFolderHandler { _getElementName() { const parsedPath = this._getParsedPath() const elementName = new Set([ diff --git a/src/service/waveHandler.js b/src/service/sharedFolderHandler.js similarity index 53% rename from src/service/waveHandler.js rename to src/service/sharedFolderHandler.js index ccd4d2d4..3ad1f261 100644 --- a/src/service/waveHandler.js +++ b/src/service/sharedFolderHandler.js @@ -1,19 +1,19 @@ 'use strict' const StandardHandler = require('./standardHandler') const { fillPackageWithParameter } = require('../utils/packageHelper') -const { getWaveMetadata } = require('../metadata/metadataManager') +const { getSharedFolderMetadata } = require('../metadata/metadataManager') -class WaveHandler extends StandardHandler { - waveMetadata +class SharedFolderHandler extends StandardHandler { + sharedFolderMetadata constructor(line, type, work, metadata) { super(line, type, work, metadata) this.suffixRegex = new RegExp(`\\.${this.ext}$`) - this.waveMetadata = getWaveMetadata(this.metadata) + this.sharedFolderMetadata = getSharedFolderMetadata(this.metadata) } _fillPackage(store) { - const type = this.waveMetadata.get(this.ext) + const type = this.sharedFolderMetadata.get(this.ext) fillPackageWithParameter({ store, type: type, @@ -22,8 +22,8 @@ class WaveHandler extends StandardHandler { } _isProcessable() { - return super._isProcessable() || this.waveMetadata.has(this.ext) + return super._isProcessable() || this.sharedFolderMetadata.has(this.ext) } } -module.exports = WaveHandler +module.exports = SharedFolderHandler diff --git a/src/service/typeHandlerFactory.js b/src/service/typeHandlerFactory.js index 8f77e5a4..0c2f1ccb 100644 --- a/src/service/typeHandlerFactory.js +++ b/src/service/typeHandlerFactory.js @@ -9,7 +9,7 @@ const LwcHandler = require('./lwcHandler') const Standard = require('./standardHandler') const SubCustomObject = require('./subCustomObjectHandler') const ObjectTranslation = require('./ObjectTranslationHandler') -const Wave = require('./waveHandler') +const SharedFolder = require('./sharedFolderHandler') const { getType } = require('../utils/typeUtils') @@ -22,7 +22,7 @@ const classes = { compactLayouts: SubCustomObject, dashboards: InFolder, digitalExperiences: InBundleHandler, - discovery: Wave, + discovery: SharedFolder, documents: InFolder, email: InFolder, escalationRules: InFile, @@ -35,6 +35,7 @@ const classes = { listViews: SubCustomObject, lwc: LwcHandler, matchingRules: InFile, + moderation: SharedFolder, objects: CustomObject, objectTranslations: ObjectTranslation, profiles: InFile, @@ -49,7 +50,7 @@ const classes = { territory2Models: CustomObject, translations: InFile, validationRules: SubCustomObject, - wave: Wave, + wave: SharedFolder, waveTemplates: InResource, webLinks: SubCustomObject, workflows: InFile, diff --git a/yarn.lock b/yarn.lock index 9a2eb6ea..96c1eedc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,38 +17,38 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" - integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== +"@babel/compat-data@^7.21.5": + version "7.21.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc" + integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@~7.21.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" - integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4" + integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-compilation-targets" "^7.21.4" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.4" + "@babel/generator" "^7.21.5" + "@babel/helper-compilation-targets" "^7.21.5" + "@babel/helper-module-transforms" "^7.21.5" + "@babel/helpers" "^7.21.5" + "@babel/parser" "^7.21.8" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.4" - "@babel/types" "^7.21.4" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.21.4", "@babel/generator@^7.7.2", "@babel/generator@~7.21.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" - integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== +"@babel/generator@^7.21.5", "@babel/generator@^7.7.2", "@babel/generator@~7.21.0": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.5.tgz#c0c0e5449504c7b7de8236d99338c3e2a340745f" + integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== dependencies: - "@babel/types" "^7.21.4" + "@babel/types" "^7.21.5" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -60,35 +60,36 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" - integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== +"@babel/helper-compilation-targets@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366" + integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== dependencies: - "@babel/compat-data" "^7.21.4" + "@babel/compat-data" "^7.21.5" "@babel/helper-validator-option" "^7.21.0" browserslist "^4.21.3" lru-cache "^5.1.1" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz#3a017163dc3c2ba7deb9a7950849a9586ea24c18" - integrity sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q== + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz#205b26330258625ef8869672ebca1e0dee5a0f02" + integrity sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-environment-visitor" "^7.21.5" "@babel/helper-function-name" "^7.21.0" - "@babel/helper-member-expression-to-functions" "^7.21.0" + "@babel/helper-member-expression-to-functions" "^7.21.5" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-replace-supers" "^7.21.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/helper-split-export-declaration" "^7.18.6" + semver "^6.3.0" -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== +"@babel/helper-environment-visitor@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba" + integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== "@babel/helper-function-name@^7.21.0": version "7.21.0" @@ -105,33 +106,33 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" - integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== +"@babel/helper-member-expression-to-functions@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz#3b1a009af932e586af77c1030fba9ee0bde396c0" + integrity sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg== dependencies: - "@babel/types" "^7.21.0" + "@babel/types" "^7.21.5" -"@babel/helper-module-imports@^7.18.6": +"@babel/helper-module-imports@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== dependencies: "@babel/types" "^7.21.4" -"@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== +"@babel/helper-module-transforms@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420" + integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-environment-visitor" "^7.21.5" + "@babel/helper-module-imports" "^7.21.4" + "@babel/helper-simple-access" "^7.21.5" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.19.1" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -140,29 +141,29 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56" + integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== -"@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== +"@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz#a6ad005ba1c7d9bc2973dfde05a1bba7065dde3c" + integrity sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-environment-visitor" "^7.21.5" + "@babel/helper-member-expression-to-functions" "^7.21.5" "@babel/helper-optimise-call-expression" "^7.18.6" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== +"@babel/helper-simple-access@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" + integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== dependencies: - "@babel/types" "^7.20.2" + "@babel/types" "^7.21.5" "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" @@ -178,10 +179,10 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== +"@babel/helper-string-parser@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" + integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" @@ -193,14 +194,14 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== -"@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== +"@babel/helpers@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08" + integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== dependencies: "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" "@babel/highlight@^7.18.6": version "7.18.6" @@ -211,10 +212,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@~7.21.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" - integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8", "@babel/parser@~7.21.0": + version "7.21.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8" + integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== "@babel/plugin-proposal-class-properties@~7.18.0": version "7.18.6" @@ -348,14 +349,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-modules-commonjs@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" - integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== +"@babel/plugin-transform-modules-commonjs@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc" + integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ== dependencies: - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-module-transforms" "^7.21.5" + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/helper-simple-access" "^7.21.5" "@babel/plugin-transform-typescript@^7.21.3": version "7.21.3" @@ -368,28 +369,28 @@ "@babel/plugin-syntax-typescript" "^7.20.0" "@babel/preset-typescript@~7.21.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz#b913ac8e6aa8932e47c21b01b4368d8aa239a529" - integrity sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A== + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f" + integrity sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.21.5" "@babel/helper-validator-option" "^7.21.0" "@babel/plugin-syntax-jsx" "^7.21.4" - "@babel/plugin-transform-modules-commonjs" "^7.21.2" + "@babel/plugin-transform-modules-commonjs" "^7.21.5" "@babel/plugin-transform-typescript" "^7.21.3" "@babel/runtime-corejs3@^7.12.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz#6e4939d9d9789ff63e2dc58e88f13a3913a24eba" - integrity sha512-TDD4UJzos3JJtM+tHX+w2Uc+KWj7GV+VKKFdMVd2Rx8sdA19hcc3P3AHFYd5LVOw+pYuSd5lICC3gm52B6Rwxw== + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.21.5.tgz#a6d4e132ab1cb2fae2354f02284ebb6e07b4f7d8" + integrity sha512-FRqFlFKNazWYykft5zvzuEl1YyTDGsIRrjV9rvxvYkUC7W/ueBng1X68Xd6uRMzAaJ0xMKn08/wem5YS1lpX8w== dependencies: core-js-pure "^3.25.1" regenerator-runtime "^0.13.11" "@babel/runtime@^7.12.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200" + integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q== dependencies: regenerator-runtime "^0.13.11" @@ -402,28 +403,28 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4", "@babel/traverse@^7.7.2": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" - integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== +"@babel/traverse@^7.21.5", "@babel/traverse@^7.7.2": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133" + integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== dependencies: "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-environment-visitor" "^7.18.9" + "@babel/generator" "^7.21.5" + "@babel/helper-environment-visitor" "^7.21.5" "@babel/helper-function-name" "^7.21.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.4" - "@babel/types" "^7.21.4" + "@babel/parser" "^7.21.5" + "@babel/types" "^7.21.5" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" - integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6" + integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== dependencies: - "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-string-parser" "^7.21.5" "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" @@ -432,13 +433,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.6.1": - version "17.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.6.1.tgz#571a1272a656cd316f4b601cbb0fcb2ef50bfc7a" - integrity sha512-kCnDD9LE2ySiTnj/VPaxy4/oRayRcdv4aCuVxtoum8SxIU7OADHc0nJPQfheE8bHcs3zZdWzDMWltRosuT13bg== +"@commitlint/cli@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.6.3.tgz#a02194a2bb6efe4e681eda2addd072a8d02c9497" + integrity sha512-ItSz2fd4F+CujgIbQOfNNerDF1eFlsBGEfp9QcCb1kxTYMuKTYZzA6Nu1YRRrIaaWwe2E7awUGpIMrPoZkOG3A== dependencies: "@commitlint/format" "^17.4.4" - "@commitlint/lint" "^17.6.1" + "@commitlint/lint" "^17.6.3" "@commitlint/load" "^17.5.0" "@commitlint/read" "^17.5.1" "@commitlint/types" "^17.4.4" @@ -448,10 +449,10 @@ resolve-global "1.0.0" yargs "^17.0.0" -"@commitlint/config-conventional@^17.6.1": - version "17.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.6.1.tgz#ab07c82c88f99ffee89ae321f1f49f1798127fbb" - integrity sha512-ng/ybaSLuTCH9F+7uavSOnEQ9EFMl7lHEjfAEgRh1hwmEe8SpLKpQeMo2aT1IWvHaGMuTb+gjfbzoRf2IR23NQ== +"@commitlint/config-conventional@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.6.3.tgz#21f5835235493e386effeaa98b898124230b1000" + integrity sha512-bLyHEjjRWqlLQWIgYFHmUPbEFMOOLXeF3QbUinDIJev/u9e769tkoTH9YPknEywiuIrAgZaVo+OfzAIsJP0fsw== dependencies: conventional-changelog-conventionalcommits "^5.0.0" @@ -488,20 +489,20 @@ "@commitlint/types" "^17.4.4" chalk "^4.1.0" -"@commitlint/is-ignored@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.4.tgz#82e03f1abe2de2c0c8c162a250b8d466225e922b" - integrity sha512-Y3eo1SFJ2JQDik4rWkBC4tlRIxlXEFrRWxcyrzb1PUT2k3kZ/XGNuCDfk/u0bU2/yS0tOA/mTjFsV+C4qyACHw== +"@commitlint/is-ignored@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.6.3.tgz#8e21046558a0339fbf2a33ef0ad7d5a9ae7ff6bc" + integrity sha512-LQbNdnPbxrpbcrVKR5yf51SvquqktpyZJwqXx3lUMF6+nT9PHB8xn3wLy8pi2EQv5Zwba484JnUwDE1ygVYNQA== dependencies: "@commitlint/types" "^17.4.4" - semver "7.3.8" + semver "7.5.0" -"@commitlint/lint@^17.6.1": - version "17.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.6.1.tgz#52275acc6b3d92a9ad466535331c5dd8e85b6f42" - integrity sha512-VARJ9kxH64isgwVnC+ABPafCYzqxpsWJIpDaTuI0gh8aX4GQ0i7cn9tvxtFNfJj4ER2BAJeWJ0vURdNYjK2RQQ== +"@commitlint/lint@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.6.3.tgz#2d9a88b73c44be8b97508c980198a6f289251655" + integrity sha512-fBlXwt6SHJFgm3Tz+luuo3DkydAx9HNC5y4eBqcKuDuMVqHd2ugMNr+bQtx6riv9mXFiPoKp7nE4Xn/ls3iVDA== dependencies: - "@commitlint/is-ignored" "^17.4.4" + "@commitlint/is-ignored" "^17.6.3" "@commitlint/parse" "^17.4.4" "@commitlint/rules" "^17.6.1" "@commitlint/types" "^17.4.4" @@ -540,19 +541,19 @@ conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/prompt-cli@^17.6.1": - version "17.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.6.1.tgz#da1d81f22b18d51eafe75b8ee4cb806d8a19cf3c" - integrity sha512-F5DQyBFroz/frDPe81kwe1ZuC9SUXlfiKOpgmz6H9WI4W/9sD3WDgknly14cPTJvWNMxt+yfMvYsUMUkJSkQNQ== +"@commitlint/prompt-cli@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/prompt-cli/-/prompt-cli-17.6.3.tgz#e8a4b1f917ebdd041debd947dad4174e46d35423" + integrity sha512-PRE3AfS1lOzqCqToP0oOAWs1uzpCfYoU2MDIOmucutr16+AnrEWj8B+KIZVL/quhd2kJxNLDyOcPqCZ4IIPHdg== dependencies: - "@commitlint/prompt" "^17.6.1" + "@commitlint/prompt" "^17.6.3" execa "^5.0.0" inquirer "^6.5.2" -"@commitlint/prompt@^17.6.1": - version "17.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.6.1.tgz#777a50cb66a8eadee8386ef44d6d34b0b200598e" - integrity sha512-ZYPWSTC2ypoaBdKr+v4FARBUhCJJpsv87KhKChCzy2GpAjGO+Hw1Ee8CJv5hR26KaNSBL5gmEal3GBdDuABR9g== +"@commitlint/prompt@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/prompt/-/prompt-17.6.3.tgz#c76b22fc0994ff393aafae5b3abb062aa74766ca" + integrity sha512-Z9GgLkY+VQoJXMfY9G21eL5b9dbNvM+nKo6sADJmKGC6ndLt6hTtzbSoe0u0oIJcwzn4GdlKtqu+qBnsLCUvoQ== dependencies: "@commitlint/ensure" "^17.4.4" "@commitlint/load" "^17.5.0" @@ -620,15 +621,6 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@es-joy/jsdoccomment@~0.37.1": - version "0.37.1" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz#fa32a41ba12097452693343e09ad4d26d157aedd" - integrity sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg== - dependencies: - comment-parser "1.3.1" - esquery "^1.5.0" - jsdoc-type-pratt-parser "~4.0.0" - "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -637,18 +629,18 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.4.0": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" - integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== -"@eslint/eslintrc@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" - integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== +"@eslint/eslintrc@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331" + integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.5.1" + espree "^9.5.2" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -656,10 +648,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.38.0": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892" - integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g== +"@eslint/js@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.40.0.tgz#3ba73359e11f5a7bd3e407f70b3528abfae69cec" + integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA== "@humanwhocodes/config-array@^0.11.8": version "0.11.8" @@ -959,17 +951,17 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/command@^1.8.14", "@oclif/command@^1.8.15", "@oclif/command@^1.8.23": - version "1.8.23" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.23.tgz#b27e6b35b48c692eba53a35db7be736cdf5e4411" - integrity sha512-H78+YbPKw9VankmlFizkHPP81UpoPC2x0MrTdU5/kzy0CCyTBmSGAxaUsiNi9tK7wKxMXOUbCYkk9MHr99zBaw== +"@oclif/command@^1.8.14", "@oclif/command@^1.8.15", "@oclif/command@^1.8.24": + version "1.8.24" + resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.24.tgz#203ad9e2b2dc2336c0333f100978aada50d53007" + integrity sha512-FbSChfBO2QFeC5eEeXmi8+kZvBCDzYdpEKhOMaz0sfKMerwSlKxsqWQPGWCjTHaowIUMtnMD3VZ8yfX5qE7SAQ== dependencies: "@oclif/config" "^1.18.2" "@oclif/errors" "^1.3.6" "@oclif/help" "^1.0.1" "@oclif/parser" "^3.8.10" debug "^4.1.1" - semver "^7.4.0" + semver "^7.5.0" "@oclif/config@1.18.2": version "1.18.2" @@ -1041,10 +1033,10 @@ widest-line "^3.1.0" wrap-ansi "^7.0.0" -"@oclif/core@^2.8.0", "@oclif/core@^2.8.2": - version "2.8.2" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.2.tgz#86fc31f20419dbb3cd25f89f4f1d83760c60f7c0" - integrity sha512-g50NrCdEcFlBfuwZb9RxLmxPNQ9wIaBPOiwbxlGYRkHMnsC6LNHcvVtyDnmndU8qoXrmCOZ6ocSZenOMlG+G1w== +"@oclif/core@^2.8.0", "@oclif/core@^2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.5.tgz#7964057bbee5e91dae8b35e030e767f38e50a19e" + integrity sha512-316DLfrHQDYmWDriI4Woxk9y1wVUrPN1sZdbQLHdOdlTA9v/twe7TdHpWOriEypfl6C85NWEJKc1870yuLtjrQ== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -1181,13 +1173,13 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21", "@oclif/test@^2.3.16": - version "2.3.16" - resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.16.tgz#f6a8898218dcc499e70338f715430788b6ee54c3" - integrity sha512-uL6pTh6700MAkmpXYaerADgcHuTWRhF3IFZhzY/fgSMw1E57BiUojYs+nCnLZRP+KeFsSC0gkqZWJkFYx71dIA== +"@oclif/test@^2.2.21", "@oclif/test@^2.3.19": + version "2.3.19" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.19.tgz#0c5f855c1dadeab879fd72856d21a1bff04502e3" + integrity sha512-sdGVAr2ZnONJUpNaivC+LQqIgv/vqwUXp1SbzGWz9UtoUWCOduBS/Oile/pum0nFJvXfiSGf+V8ni9jZd2xALA== dependencies: - "@oclif/core" "^2.8.2" - fancy-test "^2.0.18" + "@oclif/core" "^2.8.5" + fancy-test "^2.0.21" "@oozcitak/dom@1.15.10": version "1.15.10" @@ -1230,12 +1222,12 @@ mv "~2" safe-json-stringify "~1" -"@salesforce/cli-plugins-testkit@^3.3.3": - version "3.3.3" - resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.3.tgz#861853bd97077d888f2b6a4acd56b3cf2f202c95" - integrity sha512-BBEMPFbRd20N79PQbodUJUvzTd4L5DVSS07JfXmMmJgpbyy8fgUzQmuczfMiU7Dfs445+1UX8St1Q1JaPp8z6A== +"@salesforce/cli-plugins-testkit@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-3.3.6.tgz#89c17e87a58e1d0bd6006b65568a6883a17e7e5b" + integrity sha512-40o363ISrdX1FNyt0YLBouQMMMySXS0YLhozTqSjtZDHZn/9gfcVH1LOz9XsOUd1C4SwnVnVjHH2bdVfHzxRWA== dependencies: - "@salesforce/core" "^3.34.6" + "@salesforce/core" "^3.34.8" "@salesforce/kit" "^1.9.2" "@salesforce/ts-types" "^1.7.3" "@types/shelljs" "^0.8.12" @@ -1245,28 +1237,27 @@ strip-ansi "6.0.1" ts-retry-promise "^0.7.0" -"@salesforce/command@^5.3.5": - version "5.3.5" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.5.tgz#4a613f6312428707aa9af8d7e4944f164bea1321" - integrity sha512-RJho0j0VVHU5jf+zFWVjwx2BbBed7t5wlmFG1yyHvW4WA6Akr4JZ764qlob0olpn7ZN7L5kLw9F5xbWDtZnLYA== +"@salesforce/command@^5.3.7": + version "5.3.7" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.7.tgz#d71662c30c6b7d9524242e969c7c5d824ef33474" + integrity sha512-3bNiduvL8KvWBbUin4JfVko0DOu0zTa60W4TddGWFF962V9cQMFpciHhNrL8g/QLgKRsbo3/KcavUptMaJxSKg== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.34.6" + "@salesforce/core" "^3.36.0" "@salesforce/kit" "^1.8.5" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.34.6", "@salesforce/core@^3.34.7": - version "3.34.7" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.34.7.tgz#445efe5c76fbab53e6c891563aa9b0dc5dd24179" - integrity sha512-C4zyXzLAV5ITMChC8dCP+6Kk3t5vloyP2eXpqBOw96OzF5OaCiN5/TayNN8YJl64pvFFny7FgAQPKk7omFXNSA== +"@salesforce/core@^3.34.8", "@salesforce/core@^3.36.0": + version "3.36.0" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.36.0.tgz#cbff147d888eee0b921e368c1fdc1a1a3c2eacab" + integrity sha512-LOeSJgozf5B1S8C98/K3afewRsathfEm+HrXxaFXJjITFfIhxqcIDB5xC1cw0VikfRUlq7dQocmVsvezcK0Ghw== dependencies: "@salesforce/bunyan" "^2.0.0" "@salesforce/kit" "^1.9.2" "@salesforce/schemas" "^1.5.1" "@salesforce/ts-types" "^1.7.2" - "@types/graceful-fs" "^4.1.6" "@types/semver" "^7.3.13" ajv "^8.12.0" archiver "^5.3.0" @@ -1274,16 +1265,15 @@ debug "^3.2.7" faye "^1.4.0" form-data "^4.0.0" - graceful-fs "^4.2.11" js2xmlparser "^4.0.1" jsforce "^2.0.0-beta.21" jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" -"@salesforce/dev-config@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-3.1.0.tgz#8eb5b35860ff60d1c1dc3fd9329b01a28475d5b9" - integrity sha512-cPph7ibj3DeSzWDFLcLtxOh5fmUlDUY2Ezq43n0V6auVP+l8orxRHjCExHS86SB3QKVgXkC8yYhryXiS8KF7Zw== +"@salesforce/dev-config@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.0.1.tgz#662ffaa4409713553aaf68eed93e7d2429c3ff0e" + integrity sha512-0zMjXG4Vjlu/mB7zbuKSXfXiP7CEZBwsPtYqNgburk/wZIU9KcMspLwVBDUxmUj9ltRksD9o1ubRUblN5M3Z0g== "@salesforce/kit@^1.8.5", "@salesforce/kit@^1.9.2": version "1.9.2" @@ -1465,71 +1455,71 @@ dependencies: lodash.flatmap "~4.5.0" -"@swc/core-darwin-arm64@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.53.tgz#0dabb2ecfeea3aea8e66f5cbf9736128169e7055" - integrity sha512-JvWwV/duzdQ60iwWYceDhDk75LmdrLoPC7myX3Src3gl/bJtETMq7uHS9uY8m0GQOqbct7XGR3q5Ff21YxkSzg== - -"@swc/core-darwin-x64@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.53.tgz#01ef02573d2743478a5400a1f7b397901a13202a" - integrity sha512-UuIGZtCfUPJM2Q01bRIFzmucOMg8UZ+mY3kh5xB8kl/VrLltBlraSWGjjJzYmUeUxiF8+CtMfeSYav5QfU2v3g== - -"@swc/core-linux-arm-gnueabihf@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.53.tgz#d76fdcf34e835244f670b1696b320287187da80f" - integrity sha512-LupAjTErteyLmowYIfiQeTz3uVh7/SPYv/EuG1PYrajNoUYomt7WA0rQUoyglF9VtwVyNqxptWEO5So32ApTHA== - -"@swc/core-linux-arm64-gnu@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.53.tgz#00713c4477249192b23a39b30666043b47079eff" - integrity sha512-kREfZdiJH/O8GtJJ22wVN9DVzz/+CPAkw5Mn5te2KQg0xJHMWaESU5XeYMWvtwyOQVmb31b6zCGFy3pnBWWfGw== - -"@swc/core-linux-arm64-musl@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.53.tgz#f310ec81dc566f039520fe1dd583ce1c5a6ec636" - integrity sha512-VeAgomBr6BVuBRjZjRHmvp5gKp1nZgbbd441ca1AvsPd2c+ZyhyHLxTWeHOzBDa/vYnmi9BCwx3QJzFqbAFPVw== - -"@swc/core-linux-x64-gnu@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.53.tgz#a5e7113fbc778019960ca7276f104085adefd513" - integrity sha512-LFX5+QpQkESPkmx860C40pIiYf1utEqoA+WDtmKnUz3DucYvw3eGlXCBdyklP7UBWwJktKIcPlIqr7yROY5VlQ== - -"@swc/core-linux-x64-musl@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.53.tgz#dacc29541f983e9b2d801bf80b1b9e9ac81d5673" - integrity sha512-O0lbJgeaM0VEsG8wFYvpF+Iuf0IENv+LnXHoygkAsv67sVW54+gFxav2sEdkftD5qYe9ku4tmtTVYRZlFgC84Q== - -"@swc/core-win32-arm64-msvc@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.53.tgz#8d0b4cc7530512d9d390f6f90faecba8f4c93ada" - integrity sha512-7PgvPl0aNLaFZSK+rIi4DB1g0aW2qOsTIJQSJGRszsCP8pze/traXymyuSG2I3y9Hx7Z+bP5ycJydyAgCw88WA== - -"@swc/core-win32-ia32-msvc@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.53.tgz#88fc90d99620bd2f18ccb2bc6ee36bcee6dcee44" - integrity sha512-T+OacGm69t8+1mt1sHlwhREiFiFgSeIGL3h11FIs8o2zKnOr5z2H9myzR432X8WuHGVQAOCMvDu53LCMBD0ZzQ== - -"@swc/core-win32-x64-msvc@1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.53.tgz#6dda89cdaa5fad14a25a8e2ed0076497ba3a8906" - integrity sha512-uV1/GhROJ/SXzj+f+kKcVtR2GuAiggvbqepzZS46+G47okf6229hr2T1fjmiwYyA75w9R3Bj/wil4UhodohOLg== - -"@swc/core@^1.3.53": - version "1.3.53" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.53.tgz#22c20bbd328e4a091eb015285aeffca4c66fd32c" - integrity sha512-OM5nCfKDZXr1HjxD072Jlx5463tPX7xeY7NDSRE3X4KFlkRDFdyMWAyV3pet1oouOfUNrzzoVTAR4XSU8ytO6Q== +"@swc/core-darwin-arm64@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.57.tgz#6af39458bf4ae58c8e4d12be2f2d69563b5a932a" + integrity sha512-lhAK9kF/ppZdNTdaxJl2gE0bXubzQXTgxB2Xojme/1sbOipaLTskBbJ3FLySChpmVOzD0QSCTiW8w/dmQxqNIQ== + +"@swc/core-darwin-x64@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.57.tgz#e7133f88e1aa166ad7e5966302df495551c3505c" + integrity sha512-jsTDH8Et/xdOM/ZCNvtrT6J8FT255OrMhEDvHZQZTgoky4oW/3FHUfji4J2FE97gitJqNJI8MuNuiGq81pIJRw== + +"@swc/core-linux-arm-gnueabihf@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.57.tgz#f8d95c8a9e03d1cccbb85d214fe24ca95940852a" + integrity sha512-MZv3fwcCmppbwfCWaE8cZvzbXOjX7n5SEC1hF2lgItTqp4S04dFk1iX50jKr6xS6xSLlRBPqDxwZH0sBpHaEuA== + +"@swc/core-linux-arm64-gnu@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.57.tgz#66fb53f081f43a652de79374d8b7c78b10469ef8" + integrity sha512-wUeqa/qbkOEGl6TaDQZZL7txrQXs1vL7ERjPYhi9El+ywacFY/rTW2pK5DqaNk2eulVnLhbbNjsE1OMGSEWGkQ== + +"@swc/core-linux-arm64-musl@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.57.tgz#28709d982d2eeb55b173c79a7d5feed1a2cc065d" + integrity sha512-pZfp1B9XfH7ZhDKFjr4qbyM093zU2Ri0IZq2M2A4W9q92+Ivy8oEIqw+gSRO3jwMDqRMEtFD49YuFhkJQakxdA== + +"@swc/core-linux-x64-gnu@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.57.tgz#3bea8b7d115fc2bf65a7b4b6930dd878f434034f" + integrity sha512-dvtQnv07NikV+CJ+9PYJ3fqphSigzfvSUH6wRCmb5OzLDDLFnPLMrEO0pGeURvdIWCOhngcHF252C1Hl5uFSzA== + +"@swc/core-linux-x64-musl@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.57.tgz#40bf395ac8971d561e38ef2af54b72d3705c199e" + integrity sha512-1TKCSngyQxpzwBYDzF5MrEfYRDhlzt/GN1ZqlSnsJIPGkABOWZxYDvWJuMrkASdIztn3jSTPU2ih7rR7YQ8IIw== + +"@swc/core-win32-arm64-msvc@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.57.tgz#5edf457fb86c455b6cecb89e4fa29a8dfa47910b" + integrity sha512-HvBYFyf4uBua/jyTrcFLKcq8SIbKVYfz2qWsbgSAZvuQPZvDC1XhN5EDH2tPZmT97F0CJx3fltH5nli6XY1/EQ== + +"@swc/core-win32-ia32-msvc@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.57.tgz#0d9d4b851f5380dce04094412ecae8ac538f5dc8" + integrity sha512-PS8AtK9e6Rp97S0ek9W5VCZNCbDaHBUasiJUmaYqRVCq/Mn6S7eQlhd0iUDnjsagigQtoCRgMUzkVknd1tarsQ== + +"@swc/core-win32-x64-msvc@1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.57.tgz#4923a71e9bd3a1bae3ab3a1c6e07a31973d45f61" + integrity sha512-A6aX/Rpp0v3g7Spf3LSwR+ivviH8x+1xla612KLZmlc0yymWt9BMd3CmBkzyRBr2e41zGCrkf6tra6wgtCbAwA== + +"@swc/core@^1.3.57": + version "1.3.57" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.57.tgz#a6c2c04ad72668a3144661fee27508556fff3fed" + integrity sha512-gAT80hOVeK5qoi+BRlgXWgJYI9cbQn2oi05A09Tvb6vjFgBsr9SlQGNZB9uMlcXRXspkZFf9l3yyWRtT4we3Yw== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.53" - "@swc/core-darwin-x64" "1.3.53" - "@swc/core-linux-arm-gnueabihf" "1.3.53" - "@swc/core-linux-arm64-gnu" "1.3.53" - "@swc/core-linux-arm64-musl" "1.3.53" - "@swc/core-linux-x64-gnu" "1.3.53" - "@swc/core-linux-x64-musl" "1.3.53" - "@swc/core-win32-arm64-msvc" "1.3.53" - "@swc/core-win32-ia32-msvc" "1.3.53" - "@swc/core-win32-x64-msvc" "1.3.53" + "@swc/core-darwin-arm64" "1.3.57" + "@swc/core-darwin-x64" "1.3.57" + "@swc/core-linux-arm-gnueabihf" "1.3.57" + "@swc/core-linux-arm64-gnu" "1.3.57" + "@swc/core-linux-arm64-musl" "1.3.57" + "@swc/core-linux-x64-gnu" "1.3.57" + "@swc/core-linux-x64-musl" "1.3.57" + "@swc/core-win32-arm64-msvc" "1.3.57" + "@swc/core-win32-ia32-msvc" "1.3.57" + "@swc/core-win32-x64-msvc" "1.3.57" "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -1578,16 +1568,16 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.5.tgz#c107216842905afafd3b6e774f6f935da6f5db80" + integrity sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q== dependencies: "@babel/types" "^7.3.0" -"@types/chai@*", "@types/chai@^4.3.4": - version "4.3.4" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" - integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== +"@types/chai@*", "@types/chai@^4.3.5": + version "4.3.5" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.5.tgz#ae69bcbb1bebb68c4ac0b11e9d8ed04526b3562b" + integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng== "@types/cli-progress@^3.11.0": version "3.11.0" @@ -1617,7 +1607,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.3", "@types/graceful-fs@^4.1.6": +"@types/graceful-fs@^4.1.3": version "4.1.6" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== @@ -1648,11 +1638,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - "@types/lodash@*": version "4.14.194" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" @@ -1673,21 +1658,16 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*": - version "18.15.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" - integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== +"@types/node@*", "@types/node@^20.1.2": + version "20.1.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.2.tgz#8fd63447e3f99aba6c3168fd2ec4580d5b97886f" + integrity sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g== "@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@^18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - "@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" @@ -1699,9 +1679,9 @@ integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== "@types/semver@^7.3.12", "@types/semver@^7.3.13": - version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== "@types/shelljs@^0.8.12": version "0.8.12" @@ -1740,15 +1720,15 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz#c0e10eeb936debe5d1c3433cf36206a95befefd0" - integrity sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw== +"@typescript-eslint/eslint-plugin@^5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.5.tgz#f156827610a3f8cefc56baeaa93cd4a5f32966b4" + integrity sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.59.0" - "@typescript-eslint/type-utils" "5.59.0" - "@typescript-eslint/utils" "5.59.0" + "@typescript-eslint/scope-manager" "5.59.5" + "@typescript-eslint/type-utils" "5.59.5" + "@typescript-eslint/utils" "5.59.5" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1756,72 +1736,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.0.tgz#0ad7cd019346cc5d150363f64869eca10ca9977c" - integrity sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w== +"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.5.tgz#63064f5eafbdbfb5f9dfbf5c4503cdf949852981" + integrity sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw== dependencies: - "@typescript-eslint/scope-manager" "5.59.0" - "@typescript-eslint/types" "5.59.0" - "@typescript-eslint/typescript-estree" "5.59.0" + "@typescript-eslint/scope-manager" "5.59.5" + "@typescript-eslint/types" "5.59.5" + "@typescript-eslint/typescript-estree" "5.59.5" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz#86501d7a17885710b6716a23be2e93fc54a4fe8c" - integrity sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ== +"@typescript-eslint/scope-manager@5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz#33ffc7e8663f42cfaac873de65ebf65d2bce674d" + integrity sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A== dependencies: - "@typescript-eslint/types" "5.59.0" - "@typescript-eslint/visitor-keys" "5.59.0" + "@typescript-eslint/types" "5.59.5" + "@typescript-eslint/visitor-keys" "5.59.5" -"@typescript-eslint/type-utils@5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz#8e8d1420fc2265989fa3a0d897bde37f3851e8c9" - integrity sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA== +"@typescript-eslint/type-utils@5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.5.tgz#485b0e2c5b923460bc2ea6b338c595343f06fc9b" + integrity sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg== dependencies: - "@typescript-eslint/typescript-estree" "5.59.0" - "@typescript-eslint/utils" "5.59.0" + "@typescript-eslint/typescript-estree" "5.59.5" + "@typescript-eslint/utils" "5.59.5" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.0.tgz#3fcdac7dbf923ec5251545acdd9f1d42d7c4fe32" - integrity sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA== +"@typescript-eslint/types@5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.5.tgz#e63c5952532306d97c6ea432cee0981f6d2258c7" + integrity sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w== -"@typescript-eslint/typescript-estree@5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz#8869156ee1dcfc5a95be3ed0e2809969ea28e965" - integrity sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg== +"@typescript-eslint/typescript-estree@5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz#9b252ce55dd765e972a7a2f99233c439c5101e42" + integrity sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg== dependencies: - "@typescript-eslint/types" "5.59.0" - "@typescript-eslint/visitor-keys" "5.59.0" + "@typescript-eslint/types" "5.59.5" + "@typescript-eslint/visitor-keys" "5.59.5" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.0.tgz#063d066b3bc4850c18872649ed0da9ee72d833d5" - integrity sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA== +"@typescript-eslint/utils@5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.5.tgz#15b3eb619bb223302e60413adb0accd29c32bcae" + integrity sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.0" - "@typescript-eslint/types" "5.59.0" - "@typescript-eslint/typescript-estree" "5.59.0" + "@typescript-eslint/scope-manager" "5.59.5" + "@typescript-eslint/types" "5.59.5" + "@typescript-eslint/typescript-estree" "5.59.5" eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.59.0": - version "5.59.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz#a59913f2bf0baeb61b5cfcb6135d3926c3854365" - integrity sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA== +"@typescript-eslint/visitor-keys@5.59.5": + version "5.59.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz#ba5b8d6791a13cf9fea6716af1e7626434b29b9b" + integrity sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA== dependencies: - "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/types" "5.59.5" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.4: @@ -1914,9 +1894,9 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.2: type-fest "^0.21.3" ansi-escapes@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.1.0.tgz#f2912cdaa10785f3f51f4b562a2497b885aadc5e" - integrity sha512-bQyg9bzRntwR/8b89DOEhGwctcwCrbWW/TuqTQnpqpy5Fz3aovcOTj5i8NJV6AHc8OGNdMaqdxAWww8pz2kiKg== + version "6.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947" + integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== dependencies: type-fest "^3.0.0" @@ -2028,11 +2008,6 @@ archy@^1.0.0: resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== -are-docs-informative@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" - integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -2050,14 +2025,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - array-from@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" @@ -2068,42 +2035,11 @@ 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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - array-union@^2.1.0: version "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.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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - 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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -2139,11 +2075,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - babel-jest@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5" @@ -2327,7 +2258,7 @@ 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: +call-bind@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -2368,9 +2299,9 @@ camelcase@^6.0.0, camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001480" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz#9bbd35ee44c2480a1e3a3b9f4496f5066817164a" - integrity sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ== + version "1.0.30001486" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz#56a08885228edf62cbe1ac8980f2b5dae159997e" + integrity sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg== capital-case@^1.0.4: version "1.0.4" @@ -2539,9 +2470,9 @@ cli-progress@^3.10.0, cli-progress@^3.12.0, cli-progress@^3.4.0: string-width "^4.2.3" cli-spinners@^2.6.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.8.0.tgz#e97a3e2bd00e6d85aa0c13d7f9e3ce236f7787fc" - integrity sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ== + version "2.9.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== cli-truncate@^2.1.0: version "2.1.0" @@ -2694,11 +2625,6 @@ 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== - common-tags@^1.4.0: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" @@ -2786,14 +2712,14 @@ convert-source-map@^2.0.0: integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== core-js-pure@^3.25.1: - version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.1.tgz#7d93dc89e7d47b8ef05d7e79f507b0e99ea77eec" - integrity sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg== + version "3.30.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.2.tgz#005a82551f4af3250dcfb46ed360fad32ced114e" + integrity sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg== core-js@^3.6.4: - version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" - integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== + version "3.30.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.2.tgz#6528abfda65e5ad728143ea23f7a14f0dcf503fc" + integrity sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg== core-util-is@~1.0.0: version "1.0.3" @@ -2958,14 +2884,6 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -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" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -3023,13 +2941,6 @@ dlv@^1.1.0: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -3079,9 +2990,9 @@ ejs@^3.1.6, ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.4.284: - version "1.4.368" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz#75901f97d3e23da2e66feb1e61fbb8e70ac96430" - integrity sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw== + version "1.4.391" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.391.tgz#197994210792e29e39baf3ce807df42f66e9b5f8" + integrity sha512-GqydVV1+kUWY5qlEzaw34/hyWTApuQrHiGrcGA2Kk/56nEK44i+YUW45VH43JuZT0Oo7uY8aVtpPhBBZXEWtSA== emittery@^0.13.1: version "0.13.1" @@ -3117,71 +3028,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" - integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== - dependencies: - array-buffer-byte-length "^1.0.0" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" - 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" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.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-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - es6-error@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" @@ -3222,57 +3068,6 @@ eslint-config-salesforce-typescript@^1.1.1: resolved "https://registry.yarnpkg.com/eslint-config-salesforce-typescript/-/eslint-config-salesforce-typescript-1.1.1.tgz#fb038f6423c5472d6439e9f780184b00ebcd2685" integrity sha512-cjj2tU5wkushOUynecjg0JQtb/y61pWSjtOKKnNzWEdtbZEs7pe1/w5hsaZ79urdeFFUHQW2mr3qpzsWzUjgxQ== -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== - dependencies: - debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" - -eslint-module-utils@^2.7.4: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@^2.27.5: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jsdoc@^43.0.7: - version "43.0.7" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-43.0.7.tgz#e15acd04d702e089867c78391ae172e34bac8364" - integrity sha512-32Sx5I9VzO/bqbtslCu3L1GHIPo+QEliwqwjWq+qzbUv76wrkH6ifUEE0EbkuNEn+cHlSIOrg/IJ1PGNN72QZA== - dependencies: - "@es-joy/jsdoccomment" "~0.37.1" - are-docs-informative "^0.0.2" - comment-parser "1.3.1" - debug "^4.3.4" - escape-string-regexp "^4.0.0" - esquery "^1.5.0" - semver "^7.5.0" - spdx-expression-parse "^3.0.1" - eslint-plugin-prettier@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" @@ -3288,7 +3083,7 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.0.0, eslint-scope@^7.1.1: +eslint-scope@^7.0.0, eslint-scope@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== @@ -3296,20 +3091,20 @@ eslint-scope@^7.0.0, eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" - integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== +eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== -eslint@^8.38.0, eslint@^8.7.0: - version "8.38.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a" - integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg== +eslint@^8.40.0, eslint@^8.7.0: + version "8.40.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.40.0.tgz#a564cd0099f38542c4e9a2f630fa45bf33bc42a4" + integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.2" - "@eslint/js" "8.38.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.40.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -3319,9 +3114,9 @@ eslint@^8.38.0, eslint@^8.7.0: debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-visitor-keys "^3.4.0" - espree "^9.5.1" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -3347,21 +3142,21 @@ eslint@^8.38.0, eslint@^8.7.0: strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.0.0, espree@^9.5.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" - integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== +espree@^9.0.0, espree@^9.5.2: + version "9.5.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" + integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.0" + eslint-visitor-keys "^3.4.1" esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0, esquery@^1.4.2, esquery@^1.5.0: +esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -3468,10 +3263,10 @@ extract-stack@^2.0.0: resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== -fancy-test@^2.0.18: - version "2.0.19" - resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.19.tgz#f30251ef89ec135df6dffffa7445b5ca4b366a2b" - integrity sha512-Zlj9GadzSXMLT11227FvkPOlM7wtzElRRJnUbwmC4tScbRUZx04PrS30fSuQCGT4hjaT8ZHQrEGea8S3xYrwsg== +fancy-test@^2.0.21: + version "2.0.22" + resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.22.tgz#f3ff137a8282b3e27561fea3c3c6e22798c25470" + integrity sha512-8b0hMMQpsUW8XSp2N3BLHcB3dsZrvLW+doUeaaWJ3KAJ20plat06tH2DNLkGSZiofLIoZFeF6hgGEroogTKBOg== dependencies: "@types/chai" "*" "@types/lodash" "*" @@ -3479,7 +3274,7 @@ fancy-test@^2.0.18: "@types/sinon" "*" lodash "^4.17.13" mock-stdin "^1.0.0" - nock "^13.3.0" + nock "^13.3.1" stdout-stderr "^0.1.9" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: @@ -3651,13 +3446,6 @@ flatted@^3.1.0, flatted@^3.2.7: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -3737,21 +3525,6 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2, 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== - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -3767,7 +3540,7 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: +get-intrinsic@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== @@ -3803,14 +3576,6 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - git-raw-commits@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" @@ -3905,13 +3670,6 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - globby@^10.0.1: version "10.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" @@ -3938,14 +3696,7 @@ globby@^11.0.1, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.9: +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -3967,11 +3718,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -3982,30 +3728,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -4216,41 +3943,16 @@ inquirer@~9.1.0: through "^2.3.6" wrap-ansi "^8.1.0" -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -4258,19 +3960,6 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.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.5.0: version "2.12.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" @@ -4278,13 +3967,6 @@ is-core-module@^2.11.0, is-core-module@^2.5.0: dependencies: has "^1.0.3" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" @@ -4327,18 +4009,6 @@ is-interactive@^2.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -4364,26 +4034,11 @@ is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-retry-allowed@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -4399,20 +4054,6 @@ is-stream@^3.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" @@ -4420,17 +4061,6 @@ 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== - 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" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -4446,13 +4076,6 @@ is-unicode-supported@^1.1.0, is-unicode-supported@^1.2.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -4932,10 +4555,10 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@3.14.1, js-yaml@^3.13.1, js-yaml@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -4947,14 +4570,6 @@ js-yaml@4.1.0, js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -js-yaml@^3.13.1, js-yaml@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js2xmlparser@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a" @@ -4962,11 +4577,6 @@ js2xmlparser@^4.0.1: dependencies: xmlcreate "^2.0.4" -jsdoc-type-pratt-parser@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" - integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -5028,13 +4638,6 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - json5@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" @@ -5133,10 +4736,10 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.2.1: - version "13.2.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.1.tgz#9d30a14e3e42897ef417bc98556fb757f75cae87" - integrity sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw== +lint-staged@^13.2.2: + version "13.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.2.tgz#5e711d3139c234f73402177be2f8dd312e6508ca" + integrity sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA== dependencies: chalk "5.2.0" cli-truncate "^3.1.0" @@ -5150,7 +4753,7 @@ lint-staged@^13.2.1: object-inspect "^1.12.3" pidtree "^0.6.0" string-argv "^0.3.1" - yaml "^2.2.1" + yaml "^2.2.2" listr2@^5.0.7: version "5.0.8" @@ -5375,10 +4978,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.0.tgz#19efafa9d08d1c08eb8efd78876075f0b8b1b07b" - integrity sha512-qFXQEwchrZcMVen2uIDceR8Tii6kCJak5rzDStfEM0qA3YLMswaxIEZO0DhIbJ3aqaJiDjt+3crlplOb0tDtKQ== +lru-cache@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1" + integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A== make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" @@ -5520,7 +5123,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: +minimist@^1.2.3, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -5703,10 +5306,10 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -nock@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.0.tgz#b13069c1a03f1ad63120f994b04bfd2556925768" - integrity sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg== +nock@^13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.1.tgz#f22d4d661f7a05ebd9368edae1b5dc0a62d758fc" + integrity sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw== dependencies: debug "^4.1.0" json-stringify-safe "^5.0.1" @@ -5714,9 +5317,9 @@ nock@^13.3.0: propagate "^2.0.0" 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.6.11" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" + integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== dependencies: whatwg-url "^5.0.0" @@ -5821,35 +5424,11 @@ object-inspect@^1.12.3, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - object-treeify@^1.1.33, object-treeify@^1.1.4: version "1.1.33" resolved "https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40" integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -6068,11 +5647,11 @@ path-parse@^1.0.7: integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.7.0.tgz#99c741a2cfbce782294a39994d63748b5a24f6db" - integrity sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg== + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.8.0.tgz#809e09690c63817c76d0183f19a5b21b530ff7d2" + integrity sha512-IjTrKseM404/UAWA8bBbL3Qp6O2wXkanuIE3seCxBH7ctRuvH1QRawy1N3nVDHGkdeZsjOsSe/8AQBL/VQCy2g== dependencies: - lru-cache "^9.0.0" + lru-cache "^9.1.1" minipass "^5.0.0" path-to-regexp@^1.7.0: @@ -6151,10 +5730,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.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.5.1, 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-format@^23.0.1: version "23.6.0" @@ -6222,9 +5801,9 @@ punycode@^2.1.0, punycode@^2.1.1: integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== pure-rand@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.1.tgz#31207dddd15d43f299fdcdb2f572df65030c19af" - integrity sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306" + integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== q@^1.5.1: version "1.5.1" @@ -6366,15 +5945,6 @@ regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.3: 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.4.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - release-zalgo@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" @@ -6436,7 +6006,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: version "1.22.2" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== @@ -6527,9 +6097,9 @@ rxjs@^6.4.0, rxjs@^6.6.0: tslib "^1.9.0" rxjs@^7.8.0, rxjs@~7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" @@ -6548,15 +6118,6 @@ safe-json-stringify@~1: resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -6577,10 +6138,10 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.8, semver@~7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@7.5.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== dependencies: lru-cache "^6.0.0" @@ -6589,10 +6150,10 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.4.0, semver@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" - integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== +semver@~7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" @@ -6796,7 +6357,7 @@ spdx-exceptions@^2.1.0: resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: +spdx-expression-parse@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -6853,9 +6414,9 @@ streamroller@^3.1.5: fs-extra "^8.1.0" string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-length@^4.0.1: version "4.0.2" @@ -6891,33 +6452,6 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -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== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -6967,11 +6501,6 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" @@ -7180,16 +6709,6 @@ ts-retry-promise@^0.7.0: resolved "https://registry.yarnpkg.com/ts-retry-promise/-/ts-retry-promise-0.7.0.tgz#08f2dcbbf5d2981495841cb63389a268324e8147" integrity sha512-x6yWZXC4BfXy4UyMweOFvbS1yJ/Y5biSz/mEPiILtJZLrqD3ZxIpzVOGGgifHHdaSe3WxzFRtsRbychI6zofOg== -tsconfig-paths@^3.14.1: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -7257,18 +6776,9 @@ type-fest@^0.8.0, type-fest@^0.8.1: integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-fest@^3.0.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.8.0.tgz#ce80d1ca7c7d11c5540560999cbd410cb5b3a385" - integrity sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q== - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" + version "3.10.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.10.0.tgz#d75f17a22be8816aea6315ab2739fe1c0c211863" + integrity sha512-hmAPf1datm+gt3c2mvu0sJyhFy6lTkIGf0GzyaZWxRLnabQfPUqg6tF95RPg6sLxKI7nFLGdFxBcf2/7+GXI+A== typed-inject@~3.0.0: version "3.0.1" @@ -7301,16 +6811,6 @@ typescript@^4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - underscore@^1.12.1: version "1.13.6" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" @@ -7459,33 +6959,10 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - which-module@^2.0.0: - version "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.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - 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" - is-typed-array "^1.1.10" + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== which@^1.2.9: version "1.3.1" @@ -7593,16 +7070,15 @@ xml2js@^0.5.0: sax ">=0.6.0" xmlbuilder "~11.0.0" -xmlbuilder2@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/xmlbuilder2/-/xmlbuilder2-3.0.2.tgz#fc499688b35a916f269e7b459c2fa02bb5c0822a" - integrity sha512-h4MUawGY21CTdhV4xm3DG9dgsqyhDkZvVJBx88beqX8wJs3VgyGQgAn5VreHuae6unTQxh115aMK5InCVmOIKw== +xmlbuilder2@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz#b977ef8a6fb27a1ea7ffa7d850d2c007ff343bc0" + integrity sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw== dependencies: "@oozcitak/dom" "1.15.10" "@oozcitak/infra" "1.0.8" "@oozcitak/util" "8.3.8" - "@types/node" "*" - js-yaml "3.14.0" + js-yaml "3.14.1" xmlbuilder@~11.0.0: version "11.0.1" @@ -7634,10 +7110,10 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" - integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== +yaml@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" + integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== yargs-parser@20.2.4: version "20.2.4" @@ -7703,9 +7179,9 @@ yargs@^15.0.2: yargs-parser "^18.1.2" yargs@^17.0.0, yargs@^17.3.1: - version "17.7.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" - integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" escalade "^3.1.1" From 9f4632586692a14212eef0f8d0cd28890fb0c514 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Thu, 11 May 2023 09:53:21 +0200 Subject: [PATCH 58/63] chore(main): release 5.18.1 (#596) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aad42094..1f90d651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.18.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.18.0...v5.18.1) (2023-05-11) + + +### Bug Fixes + +* handle `ModerationRule` and `KeywordList` with shared folder type ([#594](https://github.com/scolladon/sfdx-git-delta/issues/594)) ([770b1ba](https://github.com/scolladon/sfdx-git-delta/commit/770b1bab2a3cfcbcfb84223d427ac3679e851035)) + ## [5.18.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.17.1...v5.18.0) (2023-04-21) diff --git a/package.json b/package.json index bbb455b5..6d18e229 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.18.0", + "version": "5.18.1", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From 5970905779d31911267ecb68e7c4afc9ede1e334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Colladon?= Date: Mon, 15 May 2023 17:06:24 +0200 Subject: [PATCH 59/63] feat: add `LoyaltyProgramSetup` metadata (#605) --- .github/workflows/on-pull-request.yml | 1 + package.json | 12 +- src/metadata/v54.json | 7 + src/metadata/v55.json | 7 + src/metadata/v56.json | 7 + src/metadata/v57.json | 7 + yarn.lock | 213 +++++++++++++++++--------- 7 files changed, 175 insertions(+), 79 deletions(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index de32fc2d..11014b8b 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -122,6 +122,7 @@ jobs: e2e-check: needs: [build, megalinter] strategy: + fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] node: [14, 16, 18] diff --git a/package.json b/package.json index 6d18e229..41e8f9fb 100644 --- a/package.json +++ b/package.json @@ -25,12 +25,12 @@ }, "author": "Sebastien Colladon ", "dependencies": { - "@oclif/command": "^1.8.24", + "@oclif/command": "^1.8.25", "@oclif/config": "^1.18.8", "@oclif/core": "^2.8.5", "@oclif/errors": "^1.3.6", - "@salesforce/command": "^5.3.7", - "@salesforce/core": "^3.36.0", + "@salesforce/command": "^5.3.8", + "@salesforce/core": "^3.36.1", "fast-xml-parser": "^4.2.2", "fs-extra": "^11.1.1", "ignore": "^5.2.4", @@ -75,16 +75,16 @@ "@commitlint/prompt-cli": "^17.6.3", "@oclif/dev-cli": "^1.26.10", "@oclif/plugin-help": "^5.2.9", - "@oclif/test": "^2.3.19", + "@oclif/test": "^2.3.20", "@salesforce/cli-plugins-testkit": "^3.3.6", "@salesforce/dev-config": "^4.0.1", "@salesforce/ts-sinon": "^1.4.6", "@stryker-mutator/core": "^6.4.2", "@stryker-mutator/jest-runner": "^6.4.2", - "@swc/core": "^1.3.57", + "@swc/core": "^1.3.58", "@types/chai": "^4.3.5", "@types/mocha": "^10.0.1", - "@types/node": "^20.1.2", + "@types/node": "^20.1.4", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "chai": "^4.3.7", diff --git a/src/metadata/v54.json b/src/metadata/v54.json index 2c92e40f..7538291b 100644 --- a/src/metadata/v54.json +++ b/src/metadata/v54.json @@ -1,4 +1,11 @@ [ + { + "directoryName": "loyaltyProgramSetups", + "inFolder": false, + "metaFile": false, + "suffix": "loyaltyProgramSetup", + "xmlName": "LoyaltyProgramSetup" + }, { "directoryName": "decisionTables", "inFolder": false, diff --git a/src/metadata/v55.json b/src/metadata/v55.json index 89063d18..f824ee5e 100644 --- a/src/metadata/v55.json +++ b/src/metadata/v55.json @@ -1,4 +1,11 @@ [ + { + "directoryName": "loyaltyProgramSetups", + "inFolder": false, + "metaFile": false, + "suffix": "loyaltyProgramSetup", + "xmlName": "LoyaltyProgramSetup" + }, { "directoryName": "AssessmentQuestions", "inFolder": false, diff --git a/src/metadata/v56.json b/src/metadata/v56.json index 6174a63b..4cba59c5 100644 --- a/src/metadata/v56.json +++ b/src/metadata/v56.json @@ -1,4 +1,11 @@ [ + { + "directoryName": "loyaltyProgramSetups", + "inFolder": false, + "metaFile": false, + "suffix": "loyaltyProgramSetup", + "xmlName": "LoyaltyProgramSetup" + }, { "directoryName": "AssessmentQuestions", "inFolder": false, diff --git a/src/metadata/v57.json b/src/metadata/v57.json index 6174a63b..4cba59c5 100644 --- a/src/metadata/v57.json +++ b/src/metadata/v57.json @@ -1,4 +1,11 @@ [ + { + "directoryName": "loyaltyProgramSetups", + "inFolder": false, + "metaFile": false, + "suffix": "loyaltyProgramSetup", + "xmlName": "LoyaltyProgramSetup" + }, { "directoryName": "AssessmentQuestions", "inFolder": false, diff --git a/yarn.lock b/yarn.lock index 96c1eedc..538b9754 100644 --- a/yarn.lock +++ b/yarn.lock @@ -951,7 +951,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/command@^1.8.14", "@oclif/command@^1.8.15", "@oclif/command@^1.8.24": +"@oclif/command@^1.8.14", "@oclif/command@^1.8.15": version "1.8.24" resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.24.tgz#203ad9e2b2dc2336c0333f100978aada50d53007" integrity sha512-FbSChfBO2QFeC5eEeXmi8+kZvBCDzYdpEKhOMaz0sfKMerwSlKxsqWQPGWCjTHaowIUMtnMD3VZ8yfX5qE7SAQ== @@ -963,6 +963,18 @@ debug "^4.1.1" semver "^7.5.0" +"@oclif/command@^1.8.25": + version "1.8.25" + resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.25.tgz#9bc7fea9d03320837ca82d851b43b1f089d7b7b9" + integrity sha512-teCfKH6GNF46fiCn/P5EMHX93RE3KJAW4i0sq3X9phrzs6807WRauhythdc8OKINxd+LpqwQ1i5bnaCKvLZRcQ== + dependencies: + "@oclif/config" "^1.18.2" + "@oclif/errors" "^1.3.6" + "@oclif/help" "^1.0.1" + "@oclif/parser" "^3.8.10" + debug "^4.1.1" + semver "^7.5.1" + "@oclif/config@1.18.2": version "1.18.2" resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.2.tgz#5bfe74a9ba6a8ca3dceb314a81bd9ce2e15ebbfe" @@ -1173,7 +1185,7 @@ resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== -"@oclif/test@^2.2.21", "@oclif/test@^2.3.19": +"@oclif/test@^2.2.21": version "2.3.19" resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.19.tgz#0c5f855c1dadeab879fd72856d21a1bff04502e3" integrity sha512-sdGVAr2ZnONJUpNaivC+LQqIgv/vqwUXp1SbzGWz9UtoUWCOduBS/Oile/pum0nFJvXfiSGf+V8ni9jZd2xALA== @@ -1181,6 +1193,14 @@ "@oclif/core" "^2.8.5" fancy-test "^2.0.21" +"@oclif/test@^2.3.20": + version "2.3.20" + resolved "https://registry.yarnpkg.com/@oclif/test/-/test-2.3.20.tgz#b9bb3ee390937be5036ff96a6cfe83b776be805a" + integrity sha512-Ig85O70K7Cm3HS6Zkn8xygQZgbVvbtQqNyu8meZoHcIBLikAEvrWUhRmv70yxL1WQxIkbW2SQol6X5JdGLYfyA== + dependencies: + "@oclif/core" "^2.8.5" + fancy-test "^2.0.22" + "@oozcitak/dom@1.15.10": version "1.15.10" resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-1.15.10.tgz#dca7289f2b292cff2a901ea4fbbcc0a1ab0b05c2" @@ -1237,19 +1257,19 @@ strip-ansi "6.0.1" ts-retry-promise "^0.7.0" -"@salesforce/command@^5.3.7": - version "5.3.7" - resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.7.tgz#d71662c30c6b7d9524242e969c7c5d824ef33474" - integrity sha512-3bNiduvL8KvWBbUin4JfVko0DOu0zTa60W4TddGWFF962V9cQMFpciHhNrL8g/QLgKRsbo3/KcavUptMaJxSKg== +"@salesforce/command@^5.3.8": + version "5.3.8" + resolved "https://registry.yarnpkg.com/@salesforce/command/-/command-5.3.8.tgz#cd834b3d1223ca424572d36a88028bd41ca3c3a8" + integrity sha512-6kStt6Fby9sjAFBMxK1Gx7Un7VVI5pihfpP4anX+he7x6bsiOAPAyMDw9XazdXiIgK1C/JJqYqOZRwlwAdVGRQ== dependencies: "@oclif/core" "^1.25.0" "@oclif/test" "^2.2.21" - "@salesforce/core" "^3.36.0" + "@salesforce/core" "^3.36.1" "@salesforce/kit" "^1.8.5" "@salesforce/ts-types" "^1.7.1" chalk "^2.4.2" -"@salesforce/core@^3.34.8", "@salesforce/core@^3.36.0": +"@salesforce/core@^3.34.8": version "3.36.0" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.36.0.tgz#cbff147d888eee0b921e368c1fdc1a1a3c2eacab" integrity sha512-LOeSJgozf5B1S8C98/K3afewRsathfEm+HrXxaFXJjITFfIhxqcIDB5xC1cw0VikfRUlq7dQocmVsvezcK0Ghw== @@ -1270,6 +1290,27 @@ jsonwebtoken "9.0.0" ts-retry-promise "^0.7.0" +"@salesforce/core@^3.36.1": + version "3.36.1" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-3.36.1.tgz#053a5e1079b9749b62e461e6ac3e630b5689694a" + integrity sha512-kcjyr9bj35nnL8Bqv8U39xeho3CrZYXJiS/X5X1eEHVNZLd9zckrmKrh1V7z8ElCFpsJrewT989SJsdvi9kE8w== + dependencies: + "@salesforce/bunyan" "^2.0.0" + "@salesforce/kit" "^1.9.2" + "@salesforce/schemas" "^1.5.1" + "@salesforce/ts-types" "^1.7.2" + "@types/semver" "^7.3.13" + ajv "^8.12.0" + archiver "^5.3.0" + change-case "^4.1.2" + debug "^3.2.7" + faye "^1.4.0" + form-data "^4.0.0" + js2xmlparser "^4.0.1" + jsforce "^2.0.0-beta.21" + jsonwebtoken "9.0.0" + ts-retry-promise "^0.7.0" + "@salesforce/dev-config@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.0.1.tgz#662ffaa4409713553aaf68eed93e7d2429c3ff0e" @@ -1455,71 +1496,71 @@ dependencies: lodash.flatmap "~4.5.0" -"@swc/core-darwin-arm64@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.57.tgz#6af39458bf4ae58c8e4d12be2f2d69563b5a932a" - integrity sha512-lhAK9kF/ppZdNTdaxJl2gE0bXubzQXTgxB2Xojme/1sbOipaLTskBbJ3FLySChpmVOzD0QSCTiW8w/dmQxqNIQ== - -"@swc/core-darwin-x64@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.57.tgz#e7133f88e1aa166ad7e5966302df495551c3505c" - integrity sha512-jsTDH8Et/xdOM/ZCNvtrT6J8FT255OrMhEDvHZQZTgoky4oW/3FHUfji4J2FE97gitJqNJI8MuNuiGq81pIJRw== - -"@swc/core-linux-arm-gnueabihf@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.57.tgz#f8d95c8a9e03d1cccbb85d214fe24ca95940852a" - integrity sha512-MZv3fwcCmppbwfCWaE8cZvzbXOjX7n5SEC1hF2lgItTqp4S04dFk1iX50jKr6xS6xSLlRBPqDxwZH0sBpHaEuA== - -"@swc/core-linux-arm64-gnu@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.57.tgz#66fb53f081f43a652de79374d8b7c78b10469ef8" - integrity sha512-wUeqa/qbkOEGl6TaDQZZL7txrQXs1vL7ERjPYhi9El+ywacFY/rTW2pK5DqaNk2eulVnLhbbNjsE1OMGSEWGkQ== - -"@swc/core-linux-arm64-musl@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.57.tgz#28709d982d2eeb55b173c79a7d5feed1a2cc065d" - integrity sha512-pZfp1B9XfH7ZhDKFjr4qbyM093zU2Ri0IZq2M2A4W9q92+Ivy8oEIqw+gSRO3jwMDqRMEtFD49YuFhkJQakxdA== - -"@swc/core-linux-x64-gnu@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.57.tgz#3bea8b7d115fc2bf65a7b4b6930dd878f434034f" - integrity sha512-dvtQnv07NikV+CJ+9PYJ3fqphSigzfvSUH6wRCmb5OzLDDLFnPLMrEO0pGeURvdIWCOhngcHF252C1Hl5uFSzA== - -"@swc/core-linux-x64-musl@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.57.tgz#40bf395ac8971d561e38ef2af54b72d3705c199e" - integrity sha512-1TKCSngyQxpzwBYDzF5MrEfYRDhlzt/GN1ZqlSnsJIPGkABOWZxYDvWJuMrkASdIztn3jSTPU2ih7rR7YQ8IIw== - -"@swc/core-win32-arm64-msvc@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.57.tgz#5edf457fb86c455b6cecb89e4fa29a8dfa47910b" - integrity sha512-HvBYFyf4uBua/jyTrcFLKcq8SIbKVYfz2qWsbgSAZvuQPZvDC1XhN5EDH2tPZmT97F0CJx3fltH5nli6XY1/EQ== - -"@swc/core-win32-ia32-msvc@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.57.tgz#0d9d4b851f5380dce04094412ecae8ac538f5dc8" - integrity sha512-PS8AtK9e6Rp97S0ek9W5VCZNCbDaHBUasiJUmaYqRVCq/Mn6S7eQlhd0iUDnjsagigQtoCRgMUzkVknd1tarsQ== - -"@swc/core-win32-x64-msvc@1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.57.tgz#4923a71e9bd3a1bae3ab3a1c6e07a31973d45f61" - integrity sha512-A6aX/Rpp0v3g7Spf3LSwR+ivviH8x+1xla612KLZmlc0yymWt9BMd3CmBkzyRBr2e41zGCrkf6tra6wgtCbAwA== - -"@swc/core@^1.3.57": - version "1.3.57" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.57.tgz#a6c2c04ad72668a3144661fee27508556fff3fed" - integrity sha512-gAT80hOVeK5qoi+BRlgXWgJYI9cbQn2oi05A09Tvb6vjFgBsr9SlQGNZB9uMlcXRXspkZFf9l3yyWRtT4we3Yw== +"@swc/core-darwin-arm64@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.58.tgz#0d87c46a0d18ded014a8b3c212cc3303f0f9f44a" + integrity sha512-NwX9768gcM4HjBEE+2VCMB+h/5bwNDF4DngOTJa9w02l3AwGZXWE66X4ulJQ3Oxv8EAz1nzWb8lbi3XT+WCtmQ== + +"@swc/core-darwin-x64@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.58.tgz#5c2a73e0e688e3e4d71477994b7aec92ce1ee8fe" + integrity sha512-XUdKXRIu8S7N5kmrtd0Nxf3uPIgZhQbgVHPhkvYH+Qwb+uXsdltKPiRwhvLI9M0yF3fvIrKtGJ8qUJdH5ih4zw== + +"@swc/core-linux-arm-gnueabihf@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.58.tgz#0c03afc6cf279562bd53a53e5191ed6608ae4779" + integrity sha512-9M3/5RzjCXnz94a1kxb+0eBzqyZkxzeYTMmvcjIJSy7MVvWNuy0wHuh+x96X/6197g40P9LkzAiZ7q0DvxSPQQ== + +"@swc/core-linux-arm64-gnu@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.58.tgz#79797b0ede57803781146ecaa1cf521b979de2e4" + integrity sha512-hRjJIJdnYUAZlUi9ACCrsfS/hSFP4MmZRaUVOlQOif578Rw4kQlxsxFd1Rh1bhzUCid0KyZOyCvRzHSD/2ONgw== + +"@swc/core-linux-arm64-musl@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.58.tgz#4de5e07f1a16c0bcd789bf080fe74c164b499ad0" + integrity sha512-3wrqZbRhbTKtxcQebMAMGKtyypL6BQU0OwqzAk4dBIgm9GaH45xu7sH2OekfHMp3vuj4uWuere+tYtr9HU7xcQ== + +"@swc/core-linux-x64-gnu@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.58.tgz#a924eecc77ef2035c6ff2d58e9631efd28b54027" + integrity sha512-yOI5ucB+8g+gtp4L2AydPBThobZ2I3WR/dU2T+x2DFIE5Qpe/fqt6HPTFb02qmvqvOw36TLT45pRwAe4cY5LAw== + +"@swc/core-linux-x64-musl@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.58.tgz#b5d04049d3b404035cc0a261754d95a938f10323" + integrity sha512-xPwxgPLxSWXsK9Yf792SsUmLKISdShAI9o/Kk6jjv0r7PRBS25hZ5FyOjAb/rMbAzDcmyGKHevKc3TMUPSMjwg== + +"@swc/core-win32-arm64-msvc@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.58.tgz#cb75b087b8a85eca6ef7a9fe22be8e13d91fcb1c" + integrity sha512-HW61trwkYGiaFprc+fJay6IKJ3scdquSdJaXsyumGF+jc/5kokQzNfY+JH6RWpk0/8zHnUWI4e+iNGuMYxYGeA== + +"@swc/core-win32-ia32-msvc@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.58.tgz#f2cc7a0b451dd283110a7b1f57d3f1675b9f045a" + integrity sha512-nODSJgHCY8GU6qHR9ieoxshaFD5GYGrPen/6VUvQkGwnV/yMI2Yvecgd1vLSUV4v67ZruPhIkP9OJruD+Juwhg== + +"@swc/core-win32-x64-msvc@1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.58.tgz#5fb1c9a7b529fbb906868bb48a5545ed444b9ad9" + integrity sha512-If/uQ3MW6Pdtah2FHhfBY2xBdBXBJzOusXpFQAkwNbaxnrJgpqIIxpYphwsJMDQp6ooSS3U90YizW7mJNxb6UA== + +"@swc/core@^1.3.58": + version "1.3.58" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.58.tgz#3371c6c660694124c2f1cc60ce6b99fd3df3f8c3" + integrity sha512-tSDcHXMBQIo2ohQ/0ryZnUA+0mBrVhe49+cR+QsFru+XEhCok1BLqdE6cZ2a+sgZ1I+Dmw8aTxYm8Ox64PSKPQ== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.57" - "@swc/core-darwin-x64" "1.3.57" - "@swc/core-linux-arm-gnueabihf" "1.3.57" - "@swc/core-linux-arm64-gnu" "1.3.57" - "@swc/core-linux-arm64-musl" "1.3.57" - "@swc/core-linux-x64-gnu" "1.3.57" - "@swc/core-linux-x64-musl" "1.3.57" - "@swc/core-win32-arm64-msvc" "1.3.57" - "@swc/core-win32-ia32-msvc" "1.3.57" - "@swc/core-win32-x64-msvc" "1.3.57" + "@swc/core-darwin-arm64" "1.3.58" + "@swc/core-darwin-x64" "1.3.58" + "@swc/core-linux-arm-gnueabihf" "1.3.58" + "@swc/core-linux-arm64-gnu" "1.3.58" + "@swc/core-linux-arm64-musl" "1.3.58" + "@swc/core-linux-x64-gnu" "1.3.58" + "@swc/core-linux-x64-musl" "1.3.58" + "@swc/core-win32-arm64-msvc" "1.3.58" + "@swc/core-win32-ia32-msvc" "1.3.58" + "@swc/core-win32-x64-msvc" "1.3.58" "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -1658,7 +1699,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*", "@types/node@^20.1.2": +"@types/node@*": version "20.1.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.2.tgz#8fd63447e3f99aba6c3168fd2ec4580d5b97886f" integrity sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g== @@ -1668,6 +1709,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^20.1.4": + version "20.1.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.4.tgz#83f148d2d1f5fe6add4c53358ba00d97fc4cdb71" + integrity sha512-At4pvmIOki8yuwLtd7BNHl3CiWNbtclUbNtScGx4OHfBd4/oWoJC8KRCIxXwkdndzhxOsPXihrsOoydxBjlE9Q== + "@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" @@ -3277,6 +3323,20 @@ fancy-test@^2.0.21: nock "^13.3.1" stdout-stderr "^0.1.9" +fancy-test@^2.0.22: + version "2.0.23" + resolved "https://registry.yarnpkg.com/fancy-test/-/fancy-test-2.0.23.tgz#f5e3232b256071ae8f0d2ef9c59ebae0a7c3d45f" + integrity sha512-RPX4iAzAioH9nxkqk2yrcunBLBmnMLxtIsw3Pjgj2PGPHTdT3wZ6asKv9U332+UQyZwZWWc4bP64JOa6DcVhnQ== + dependencies: + "@types/chai" "*" + "@types/lodash" "*" + "@types/node" "*" + "@types/sinon" "*" + lodash "^4.17.13" + mock-stdin "^1.0.0" + nock "^13.3.1" + stdout-stderr "^0.1.9" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -6150,6 +6210,13 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.5.1: + version "7.5.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec" + integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw== + dependencies: + lru-cache "^6.0.0" + semver@~7.3.7: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" From 1da193ef4afbc14d7432253cbef6dd06b6e48235 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 16 May 2023 09:33:53 +0200 Subject: [PATCH 60/63] chore(main): release 5.19.0 (#606) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f90d651..291e1ca5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [5.19.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.18.1...v5.19.0) (2023-05-15) + + +### Features + +* add `LoyaltyProgramSetup` metadata ([#605](https://github.com/scolladon/sfdx-git-delta/issues/605)) ([5970905](https://github.com/scolladon/sfdx-git-delta/commit/5970905779d31911267ecb68e7c4afc9ede1e334)) + ## [5.18.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.18.0...v5.18.1) (2023-05-11) diff --git a/package.json b/package.json index 41e8f9fb..b8ad9be2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sfdx-git-delta", - "version": "5.18.1", + "version": "5.19.0", "description": "Generate the sfdx content in source format and destructive change from two git commits", "keyword": [ "salesforce", From a362752d0067552ded08158037617b4a13562abd Mon Sep 17 00:00:00 2001 From: Sebastien Date: Tue, 16 May 2023 18:21:21 +0200 Subject: [PATCH 61/63] ci: add matrix testing for `test-release` (#607) --- .github/workflows/on-main-push.yml | 9 ++- .github/workflows/on-pull-request.yml | 2 +- package.json | 6 +- yarn.lock | 94 ++++++++++++++++++++------- 4 files changed, 80 insertions(+), 31 deletions(-) diff --git a/.github/workflows/on-main-push.yml b/.github/workflows/on-main-push.yml index e7233635..9d0d8128 100644 --- a/.github/workflows/on-main-push.yml +++ b/.github/workflows/on-main-push.yml @@ -52,7 +52,12 @@ jobs: test-release: needs: [prepare-release, release] - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + os: [macos-latest, windows-latest, ubuntu-latest] + node: [14, 16, 18] + runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v3 @@ -63,7 +68,7 @@ jobs: - name: Setup node uses: actions/setup-node@v3 with: - node-version: 16 + node-version: ${{ matrix.node }} registry-url: https://registry.npmjs.org/ - name: Install sfdx-cli diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 11014b8b..e2f304a1 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -120,7 +120,7 @@ jobs: secrets: inherit e2e-check: - needs: [build, megalinter] + needs: [build] strategy: fail-fast: false matrix: diff --git a/package.json b/package.json index b8ad9be2..1b4ad4a1 100644 --- a/package.json +++ b/package.json @@ -84,9 +84,9 @@ "@swc/core": "^1.3.58", "@types/chai": "^4.3.5", "@types/mocha": "^10.0.1", - "@types/node": "^20.1.4", - "@typescript-eslint/eslint-plugin": "^5.59.5", - "@typescript-eslint/parser": "^5.59.5", + "@types/node": "^20.1.5", + "@typescript-eslint/eslint-plugin": "^5.59.6", + "@typescript-eslint/parser": "^5.59.6", "chai": "^4.3.7", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", diff --git a/yarn.lock b/yarn.lock index 538b9754..ff6677d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1709,10 +1709,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^20.1.4": - version "20.1.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.4.tgz#83f148d2d1f5fe6add4c53358ba00d97fc4cdb71" - integrity sha512-At4pvmIOki8yuwLtd7BNHl3CiWNbtclUbNtScGx4OHfBd4/oWoJC8KRCIxXwkdndzhxOsPXihrsOoydxBjlE9Q== +"@types/node@^20.1.5": + version "20.1.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.5.tgz#e94b604c67fc408f215fcbf3bd84d4743bf7f710" + integrity sha512-IvGD1CD/nego63ySR7vrAKEX3AJTcmrAN2kn+/sDNLi1Ff5kBzDeEdqWDplK+0HAEoLYej137Sk0cUU8OLOlMg== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1766,15 +1766,15 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.59.5": - version "5.59.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.5.tgz#f156827610a3f8cefc56baeaa93cd4a5f32966b4" - integrity sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg== +"@typescript-eslint/eslint-plugin@^5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz#a350faef1baa1e961698240f922d8de1761a9e2b" + integrity sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.59.5" - "@typescript-eslint/type-utils" "5.59.5" - "@typescript-eslint/utils" "5.59.5" + "@typescript-eslint/scope-manager" "5.59.6" + "@typescript-eslint/type-utils" "5.59.6" + "@typescript-eslint/utils" "5.59.6" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -1782,7 +1782,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.10.0", "@typescript-eslint/parser@^5.59.5": +"@typescript-eslint/parser@^5.10.0": version "5.59.5" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.5.tgz#63064f5eafbdbfb5f9dfbf5c4503cdf949852981" integrity sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw== @@ -1792,6 +1792,16 @@ "@typescript-eslint/typescript-estree" "5.59.5" debug "^4.3.4" +"@typescript-eslint/parser@^5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.6.tgz#bd36f71f5a529f828e20b627078d3ed6738dbb40" + integrity sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA== + dependencies: + "@typescript-eslint/scope-manager" "5.59.6" + "@typescript-eslint/types" "5.59.6" + "@typescript-eslint/typescript-estree" "5.59.6" + debug "^4.3.4" + "@typescript-eslint/scope-manager@5.59.5": version "5.59.5" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz#33ffc7e8663f42cfaac873de65ebf65d2bce674d" @@ -1800,13 +1810,21 @@ "@typescript-eslint/types" "5.59.5" "@typescript-eslint/visitor-keys" "5.59.5" -"@typescript-eslint/type-utils@5.59.5": - version "5.59.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.5.tgz#485b0e2c5b923460bc2ea6b338c595343f06fc9b" - integrity sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg== +"@typescript-eslint/scope-manager@5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz#d43a3687aa4433868527cfe797eb267c6be35f19" + integrity sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ== dependencies: - "@typescript-eslint/typescript-estree" "5.59.5" - "@typescript-eslint/utils" "5.59.5" + "@typescript-eslint/types" "5.59.6" + "@typescript-eslint/visitor-keys" "5.59.6" + +"@typescript-eslint/type-utils@5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz#37c51d2ae36127d8b81f32a0a4d2efae19277c48" + integrity sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ== + dependencies: + "@typescript-eslint/typescript-estree" "5.59.6" + "@typescript-eslint/utils" "5.59.6" debug "^4.3.4" tsutils "^3.21.0" @@ -1815,6 +1833,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.5.tgz#e63c5952532306d97c6ea432cee0981f6d2258c7" integrity sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w== +"@typescript-eslint/types@5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.6.tgz#5a6557a772af044afe890d77c6a07e8c23c2460b" + integrity sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA== + "@typescript-eslint/typescript-estree@5.59.5": version "5.59.5" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz#9b252ce55dd765e972a7a2f99233c439c5101e42" @@ -1828,17 +1851,30 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.59.5": - version "5.59.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.5.tgz#15b3eb619bb223302e60413adb0accd29c32bcae" - integrity sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA== +"@typescript-eslint/typescript-estree@5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz#2fb80522687bd3825504925ea7e1b8de7bb6251b" + integrity sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA== + dependencies: + "@typescript-eslint/types" "5.59.6" + "@typescript-eslint/visitor-keys" "5.59.6" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.6.tgz#82960fe23788113fc3b1f9d4663d6773b7907839" + integrity sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.5" - "@typescript-eslint/types" "5.59.5" - "@typescript-eslint/typescript-estree" "5.59.5" + "@typescript-eslint/scope-manager" "5.59.6" + "@typescript-eslint/types" "5.59.6" + "@typescript-eslint/typescript-estree" "5.59.6" eslint-scope "^5.1.1" semver "^7.3.7" @@ -1850,6 +1886,14 @@ "@typescript-eslint/types" "5.59.5" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.59.6": + version "5.59.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz#673fccabf28943847d0c8e9e8d008e3ada7be6bb" + integrity sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q== + dependencies: + "@typescript-eslint/types" "5.59.6" + eslint-visitor-keys "^3.3.0" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" From 27de24503502af87c169169320639f53065c0044 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Wed, 17 May 2023 10:05:22 +0200 Subject: [PATCH 62/63] build: migrate to yarn v3 (#597) --- .github/actions/install/action.yml | 52 +- .github/linters/.cspell.json | 11 +- .github/workflows/on-pull-request.yml | 15 +- .gitignore | 5 +- .husky/pre-push | 2 +- .../@yarnpkg/plugin-workspace-tools.cjs | 28 + .yarn/releases/yarn-3.5.1.cjs | 873 + .yarnrc.yml | 7 + package.json | 5 +- yarn.lock | 17550 +++++++++------- 10 files changed, 11203 insertions(+), 7345 deletions(-) create mode 100644 .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs create mode 100755 .yarn/releases/yarn-3.5.1.cjs create mode 100644 .yarnrc.yml diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 02972a98..d5ef2414 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -11,23 +11,61 @@ inputs: runs: using: composite steps: + - name: ⚙️ Enable Corepack + run: corepack enable + shell: bash + - name: Cache prep - id: yarn-cache-dir-path - run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + id: yarn-config + run: | + echo "CACHE_FOLDER=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT + echo "node-version="node-$(node --version)"" >> $GITHUB_OUTPUT shell: bash + env: + YARN_ENABLE_GLOBAL_CACHE: 'false' + + - name: Restore yarn cache + uses: actions/cache@v3 + with: + path: ${{ steps.yarn-config.outputs.CACHE_FOLDER }} + key: yarn-download-cache-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} + restore-keys: | + yarn-download-cache- + + - name: Restore node_modules + id: yarn-nm-cache + uses: actions/cache@v3 + with: + path: node_modules + key: yarn-nm-cache-${{ runner.os }}-${{ steps.yarn-config.outputs.node-version }}-${{ github.ref }}-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} - - name: Cache yarn + - name: Restore yarn install state + id: yarn-install-state-cache uses: actions/cache@v3 with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: cache-${{ inputs.node-version }}-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} + path: .yarn/ + key: yarn-install-state-cache-${{ runner.os }}-${{ steps.yarn-config.outputs.node-version }}-${{ github.ref }}-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} - name: Install dependencies in production mode if: ${{ inputs.prod-context == 'true' }} - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod + run: yarn install --immutable --check-cache --prod shell: bash + env: + # Overrides/align yarnrc.yml options (v3, v4) for a CI context + YARN_ENABLE_GLOBAL_CACHE: 'false' # Use local cache folder to keep downloaded archives + YARN_NM_MODE: 'hardlinks-local' # Reduce node_modules size + YARN_INSTALL_STATE_PATH: '.yarn/install-state.gz' # Might speed up resolution step when node_modules present + # Other environment variables + HUSKY: '0' # By default do not run HUSKY install - name: Install dependencies in integration mode if: ${{ inputs.prod-context == 'false' }} - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile + run: yarn install --immutable --check-cache shell: bash + env: + # Overrides/align yarnrc.yml options (v3, v4) for a CI context + YARN_ENABLE_GLOBAL_CACHE: 'false' # Use local cache folder to keep downloaded archives + YARN_NM_MODE: 'hardlinks-local' # Reduce node_modules size + YARN_INSTALL_STATE_PATH: '.yarn/install-state.gz' # Might speed up resolution step when node_modules present + # Other environment variables + HUSKY: '0' # By default do not run HUSKY install diff --git a/.github/linters/.cspell.json b/.github/linters/.cspell.json index 1292a1ef..79590ff5 100644 --- a/.github/linters/.cspell.json +++ b/.github/linters/.cspell.json @@ -1,12 +1,11 @@ { "ignorePaths": [ - "CHANGELOG.md", + "CHANGELOG.md", "**/node_modules/**", "**/.git/**", - ".vscode", "megalinter", - "yarn.lock", - "report" + "**/yarn.lock", + "**/.yarnrc.yml" ], "language": "en", "noConfigSearch": true, @@ -18,10 +17,13 @@ "Cherfaoui", "Colladon", "Commitlint", + "Corepack", + "corepack", "FORCEIGNORE", "FORCEINCLUDE", "FULLNAME", "Flexi", + "hardlinks", "Iframe", "METAFILE", "Mehdi", @@ -141,6 +143,7 @@ "weblinks", "wlens", "xmlbuilder", + "yarnrc", "\u00c0gain" ] } \ No newline at end of file diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index e2f304a1..bb4c8af3 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -25,6 +25,11 @@ jobs: fetch-depth: 0 - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Setup dependencies, cache and install uses: ./.github/actions/install - name: Lint commits @@ -53,11 +58,14 @@ jobs: node-version: 16 registry-url: https://registry.npmjs.org/ + - name: Setup dependencies, cache and install + uses: ./.github/actions/install + - name: Check outdated dependencies - run: yarn outdated + run: npm outdated - name: Audit dependencies - run: yarn audit + run: yarn npm audit megalinter: runs-on: ubuntu-latest @@ -147,7 +155,7 @@ jobs: - name: Install dependencies in production mode working-directory: ./plugin - run: yarn install --immutable --immutable-cache --check-cache --frozen-lockfile --prod + run: yarn workspaces focus --all --production shell: bash - name: Install build dependencies @@ -164,6 +172,7 @@ jobs: - name: Install plugin working-directory: ./plugin run: | + yarn set version classic sfdx plugins:link . sfdx plugins diff --git a/.gitignore b/.gitignore index c8264479..3d432025 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,13 @@ /node_modules /reports /lib +/.nyc_output +/.yarn/cache +install-state.gz *-debug.log *-error.log sfdx-git-delta-*.tgz -/.nyc_output +package.tgz stderr*.txt stdout*.txt # stryker temp files diff --git a/.husky/pre-push b/.husky/pre-push index a890025b..723312e2 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -6,4 +6,4 @@ yarn pack yarn test:unit:coverage yarn test:nut yarn analysis force-app -yarn outdated || true +npm outdated || true diff --git a/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs new file mode 100644 index 00000000..4e89c7c3 --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs @@ -0,0 +1,28 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-workspace-tools", +factory: function (require) { +var plugin=(()=>{var yr=Object.create;var we=Object.defineProperty;var _r=Object.getOwnPropertyDescriptor;var Er=Object.getOwnPropertyNames;var br=Object.getPrototypeOf,xr=Object.prototype.hasOwnProperty;var W=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var q=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Cr=(e,r)=>{for(var t in r)we(e,t,{get:r[t],enumerable:!0})},Je=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Er(r))!xr.call(e,s)&&s!==t&&we(e,s,{get:()=>r[s],enumerable:!(n=_r(r,s))||n.enumerable});return e};var Be=(e,r,t)=>(t=e!=null?yr(br(e)):{},Je(r||!e||!e.__esModule?we(t,"default",{value:e,enumerable:!0}):t,e)),wr=e=>Je(we({},"__esModule",{value:!0}),e);var ve=q(ee=>{"use strict";ee.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;ee.find=(e,r)=>e.nodes.find(t=>t.type===r);ee.exceedsLimit=(e,r,t=1,n)=>n===!1||!ee.isInteger(e)||!ee.isInteger(r)?!1:(Number(r)-Number(e))/Number(t)>=n;ee.escapeNode=(e,r=0,t)=>{let n=e.nodes[r];!n||(t&&n.type===t||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};ee.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1;ee.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;ee.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;ee.reduce=e=>e.reduce((r,t)=>(t.type==="text"&&r.push(t.value),t.type==="range"&&(t.type="text"),r),[]);ee.flatten=(...e)=>{let r=[],t=n=>{for(let s=0;s{"use strict";var tt=ve();rt.exports=(e,r={})=>{let t=(n,s={})=>{let i=r.escapeInvalid&&tt.isInvalidBrace(s),a=n.invalid===!0&&r.escapeInvalid===!0,c="";if(n.value)return(i||a)&&tt.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let p of n.nodes)c+=t(p);return c};return t(e)}});var st=q((Vn,nt)=>{"use strict";nt.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var ht=q((Jn,pt)=>{"use strict";var at=st(),le=(e,r,t)=>{if(at(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(r===void 0||e===r)return String(e);if(at(r)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...t};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let s=String(n.relaxZeros),i=String(n.shorthand),a=String(n.capture),c=String(n.wrap),p=e+":"+r+"="+s+i+a+c;if(le.cache.hasOwnProperty(p))return le.cache[p].result;let m=Math.min(e,r),h=Math.max(e,r);if(Math.abs(m-h)===1){let y=e+"|"+r;return n.capture?`(${y})`:n.wrap===!1?y:`(?:${y})`}let R=ft(e)||ft(r),f={min:e,max:r,a:m,b:h},$=[],_=[];if(R&&(f.isPadded=R,f.maxLen=String(f.max).length),m<0){let y=h<0?Math.abs(h):1;_=it(y,Math.abs(m),f,n),m=f.a=0}return h>=0&&($=it(m,h,f,n)),f.negatives=_,f.positives=$,f.result=Sr(_,$,n),n.capture===!0?f.result=`(${f.result})`:n.wrap!==!1&&$.length+_.length>1&&(f.result=`(?:${f.result})`),le.cache[p]=f,f.result};function Sr(e,r,t){let n=Pe(e,r,"-",!1,t)||[],s=Pe(r,e,"",!1,t)||[],i=Pe(e,r,"-?",!0,t)||[];return n.concat(i).concat(s).join("|")}function vr(e,r){let t=1,n=1,s=ut(e,t),i=new Set([r]);for(;e<=s&&s<=r;)i.add(s),t+=1,s=ut(e,t);for(s=ct(r+1,n)-1;e1&&c.count.pop(),c.count.push(h.count[0]),c.string=c.pattern+lt(c.count),a=m+1;continue}t.isPadded&&(R=Lr(m,t,n)),h.string=R+h.pattern+lt(h.count),i.push(h),a=m+1,c=h}return i}function Pe(e,r,t,n,s){let i=[];for(let a of e){let{string:c}=a;!n&&!ot(r,"string",c)&&i.push(t+c),n&&ot(r,"string",c)&&i.push(t+c)}return i}function $r(e,r){let t=[];for(let n=0;nr?1:r>e?-1:0}function ot(e,r,t){return e.some(n=>n[r]===t)}function ut(e,r){return Number(String(e).slice(0,-r)+"9".repeat(r))}function ct(e,r){return e-e%Math.pow(10,r)}function lt(e){let[r=0,t=""]=e;return t||r>1?`{${r+(t?","+t:"")}}`:""}function kr(e,r,t){return`[${e}${r-e===1?"":"-"}${r}]`}function ft(e){return/^-?(0+)\d/.test(e)}function Lr(e,r,t){if(!r.isPadded)return e;let n=Math.abs(r.maxLen-String(e).length),s=t.relaxZeros!==!1;switch(n){case 0:return"";case 1:return s?"0?":"0";case 2:return s?"0{0,2}":"00";default:return s?`0{0,${n}}`:`0{${n}}`}}le.cache={};le.clearCache=()=>le.cache={};pt.exports=le});var Ue=q((es,Et)=>{"use strict";var Or=W("util"),At=ht(),dt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Nr=e=>r=>e===!0?Number(r):String(r),Me=e=>typeof e=="number"||typeof e=="string"&&e!=="",Ae=e=>Number.isInteger(+e),De=e=>{let r=`${e}`,t=-1;if(r[0]==="-"&&(r=r.slice(1)),r==="0")return!1;for(;r[++t]==="0";);return t>0},Ir=(e,r,t)=>typeof e=="string"||typeof r=="string"?!0:t.stringify===!0,Br=(e,r,t)=>{if(r>0){let n=e[0]==="-"?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?r-1:r,"0")}return t===!1?String(e):e},gt=(e,r)=>{let t=e[0]==="-"?"-":"";for(t&&(e=e.slice(1),r--);e.length{e.negatives.sort((a,c)=>ac?1:0),e.positives.sort((a,c)=>ac?1:0);let t=r.capture?"":"?:",n="",s="",i;return e.positives.length&&(n=e.positives.join("|")),e.negatives.length&&(s=`-(${t}${e.negatives.join("|")})`),n&&s?i=`${n}|${s}`:i=n||s,r.wrap?`(${t}${i})`:i},mt=(e,r,t,n)=>{if(t)return At(e,r,{wrap:!1,...n});let s=String.fromCharCode(e);if(e===r)return s;let i=String.fromCharCode(r);return`[${s}-${i}]`},Rt=(e,r,t)=>{if(Array.isArray(e)){let n=t.wrap===!0,s=t.capture?"":"?:";return n?`(${s}${e.join("|")})`:e.join("|")}return At(e,r,t)},yt=(...e)=>new RangeError("Invalid range arguments: "+Or.inspect(...e)),_t=(e,r,t)=>{if(t.strictRanges===!0)throw yt([e,r]);return[]},Mr=(e,r)=>{if(r.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Dr=(e,r,t=1,n={})=>{let s=Number(e),i=Number(r);if(!Number.isInteger(s)||!Number.isInteger(i)){if(n.strictRanges===!0)throw yt([e,r]);return[]}s===0&&(s=0),i===0&&(i=0);let a=s>i,c=String(e),p=String(r),m=String(t);t=Math.max(Math.abs(t),1);let h=De(c)||De(p)||De(m),R=h?Math.max(c.length,p.length,m.length):0,f=h===!1&&Ir(e,r,n)===!1,$=n.transform||Nr(f);if(n.toRegex&&t===1)return mt(gt(e,R),gt(r,R),!0,n);let _={negatives:[],positives:[]},y=T=>_[T<0?"negatives":"positives"].push(Math.abs(T)),E=[],S=0;for(;a?s>=i:s<=i;)n.toRegex===!0&&t>1?y(s):E.push(Br($(s,S),R,f)),s=a?s-t:s+t,S++;return n.toRegex===!0?t>1?Pr(_,n):Rt(E,null,{wrap:!1,...n}):E},Ur=(e,r,t=1,n={})=>{if(!Ae(e)&&e.length>1||!Ae(r)&&r.length>1)return _t(e,r,n);let s=n.transform||(f=>String.fromCharCode(f)),i=`${e}`.charCodeAt(0),a=`${r}`.charCodeAt(0),c=i>a,p=Math.min(i,a),m=Math.max(i,a);if(n.toRegex&&t===1)return mt(p,m,!1,n);let h=[],R=0;for(;c?i>=a:i<=a;)h.push(s(i,R)),i=c?i-t:i+t,R++;return n.toRegex===!0?Rt(h,null,{wrap:!1,options:n}):h},$e=(e,r,t,n={})=>{if(r==null&&Me(e))return[e];if(!Me(e)||!Me(r))return _t(e,r,n);if(typeof t=="function")return $e(e,r,1,{transform:t});if(dt(t))return $e(e,r,0,t);let s={...n};return s.capture===!0&&(s.wrap=!0),t=t||s.step||1,Ae(t)?Ae(e)&&Ae(r)?Dr(e,r,t,s):Ur(e,r,Math.max(Math.abs(t),1),s):t!=null&&!dt(t)?Mr(t,s):$e(e,r,1,t)};Et.exports=$e});var Ct=q((ts,xt)=>{"use strict";var Gr=Ue(),bt=ve(),qr=(e,r={})=>{let t=(n,s={})=>{let i=bt.isInvalidBrace(s),a=n.invalid===!0&&r.escapeInvalid===!0,c=i===!0||a===!0,p=r.escapeInvalid===!0?"\\":"",m="";if(n.isOpen===!0||n.isClose===!0)return p+n.value;if(n.type==="open")return c?p+n.value:"(";if(n.type==="close")return c?p+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":c?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let h=bt.reduce(n.nodes),R=Gr(...h,{...r,wrap:!1,toRegex:!0});if(R.length!==0)return h.length>1&&R.length>1?`(${R})`:R}if(n.nodes)for(let h of n.nodes)m+=t(h,n);return m};return t(e)};xt.exports=qr});var vt=q((rs,St)=>{"use strict";var Kr=Ue(),wt=He(),he=ve(),fe=(e="",r="",t=!1)=>{let n=[];if(e=[].concat(e),r=[].concat(r),!r.length)return e;if(!e.length)return t?he.flatten(r).map(s=>`{${s}}`):r;for(let s of e)if(Array.isArray(s))for(let i of s)n.push(fe(i,r,t));else for(let i of r)t===!0&&typeof i=="string"&&(i=`{${i}}`),n.push(Array.isArray(i)?fe(s,i,t):s+i);return he.flatten(n)},Wr=(e,r={})=>{let t=r.rangeLimit===void 0?1e3:r.rangeLimit,n=(s,i={})=>{s.queue=[];let a=i,c=i.queue;for(;a.type!=="brace"&&a.type!=="root"&&a.parent;)a=a.parent,c=a.queue;if(s.invalid||s.dollar){c.push(fe(c.pop(),wt(s,r)));return}if(s.type==="brace"&&s.invalid!==!0&&s.nodes.length===2){c.push(fe(c.pop(),["{}"]));return}if(s.nodes&&s.ranges>0){let R=he.reduce(s.nodes);if(he.exceedsLimit(...R,r.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=Kr(...R,r);f.length===0&&(f=wt(s,r)),c.push(fe(c.pop(),f)),s.nodes=[];return}let p=he.encloseBrace(s),m=s.queue,h=s;for(;h.type!=="brace"&&h.type!=="root"&&h.parent;)h=h.parent,m=h.queue;for(let R=0;R{"use strict";Ht.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Nt=q((ss,Ot)=>{"use strict";var jr=He(),{MAX_LENGTH:Tt,CHAR_BACKSLASH:Ge,CHAR_BACKTICK:Fr,CHAR_COMMA:Qr,CHAR_DOT:Xr,CHAR_LEFT_PARENTHESES:Zr,CHAR_RIGHT_PARENTHESES:Yr,CHAR_LEFT_CURLY_BRACE:zr,CHAR_RIGHT_CURLY_BRACE:Vr,CHAR_LEFT_SQUARE_BRACKET:kt,CHAR_RIGHT_SQUARE_BRACKET:Lt,CHAR_DOUBLE_QUOTE:Jr,CHAR_SINGLE_QUOTE:en,CHAR_NO_BREAK_SPACE:tn,CHAR_ZERO_WIDTH_NOBREAK_SPACE:rn}=$t(),nn=(e,r={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let t=r||{},n=typeof t.maxLength=="number"?Math.min(Tt,t.maxLength):Tt;if(e.length>n)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${n})`);let s={type:"root",input:e,nodes:[]},i=[s],a=s,c=s,p=0,m=e.length,h=0,R=0,f,$={},_=()=>e[h++],y=E=>{if(E.type==="text"&&c.type==="dot"&&(c.type="text"),c&&c.type==="text"&&E.type==="text"){c.value+=E.value;return}return a.nodes.push(E),E.parent=a,E.prev=c,c=E,E};for(y({type:"bos"});h0){if(a.ranges>0){a.ranges=0;let E=a.nodes.shift();a.nodes=[E,{type:"text",value:jr(a)}]}y({type:"comma",value:f}),a.commas++;continue}if(f===Xr&&R>0&&a.commas===0){let E=a.nodes;if(R===0||E.length===0){y({type:"text",value:f});continue}if(c.type==="dot"){if(a.range=[],c.value+=f,c.type="range",a.nodes.length!==3&&a.nodes.length!==5){a.invalid=!0,a.ranges=0,c.type="text";continue}a.ranges++,a.args=[];continue}if(c.type==="range"){E.pop();let S=E[E.length-1];S.value+=c.value+f,c=S,a.ranges--;continue}y({type:"dot",value:f});continue}y({type:"text",value:f})}do if(a=i.pop(),a.type!=="root"){a.nodes.forEach(T=>{T.nodes||(T.type==="open"&&(T.isOpen=!0),T.type==="close"&&(T.isClose=!0),T.nodes||(T.type="text"),T.invalid=!0)});let E=i[i.length-1],S=E.nodes.indexOf(a);E.nodes.splice(S,1,...a.nodes)}while(i.length>0);return y({type:"eos"}),s};Ot.exports=nn});var Pt=q((as,Bt)=>{"use strict";var It=He(),sn=Ct(),an=vt(),on=Nt(),Z=(e,r={})=>{let t=[];if(Array.isArray(e))for(let n of e){let s=Z.create(n,r);Array.isArray(s)?t.push(...s):t.push(s)}else t=[].concat(Z.create(e,r));return r&&r.expand===!0&&r.nodupes===!0&&(t=[...new Set(t)]),t};Z.parse=(e,r={})=>on(e,r);Z.stringify=(e,r={})=>It(typeof e=="string"?Z.parse(e,r):e,r);Z.compile=(e,r={})=>(typeof e=="string"&&(e=Z.parse(e,r)),sn(e,r));Z.expand=(e,r={})=>{typeof e=="string"&&(e=Z.parse(e,r));let t=an(e,r);return r.noempty===!0&&(t=t.filter(Boolean)),r.nodupes===!0&&(t=[...new Set(t)]),t};Z.create=(e,r={})=>e===""||e.length<3?[e]:r.expand!==!0?Z.compile(e,r):Z.expand(e,r);Bt.exports=Z});var me=q((is,qt)=>{"use strict";var un=W("path"),se="\\\\/",Mt=`[^${se}]`,ie="\\.",cn="\\+",ln="\\?",Te="\\/",fn="(?=.)",Dt="[^/]",qe=`(?:${Te}|$)`,Ut=`(?:^|${Te})`,Ke=`${ie}{1,2}${qe}`,pn=`(?!${ie})`,hn=`(?!${Ut}${Ke})`,dn=`(?!${ie}{0,1}${qe})`,gn=`(?!${Ke})`,An=`[^.${Te}]`,mn=`${Dt}*?`,Gt={DOT_LITERAL:ie,PLUS_LITERAL:cn,QMARK_LITERAL:ln,SLASH_LITERAL:Te,ONE_CHAR:fn,QMARK:Dt,END_ANCHOR:qe,DOTS_SLASH:Ke,NO_DOT:pn,NO_DOTS:hn,NO_DOT_SLASH:dn,NO_DOTS_SLASH:gn,QMARK_NO_DOT:An,STAR:mn,START_ANCHOR:Ut},Rn={...Gt,SLASH_LITERAL:`[${se}]`,QMARK:Mt,STAR:`${Mt}*?`,DOTS_SLASH:`${ie}{1,2}(?:[${se}]|$)`,NO_DOT:`(?!${ie})`,NO_DOTS:`(?!(?:^|[${se}])${ie}{1,2}(?:[${se}]|$))`,NO_DOT_SLASH:`(?!${ie}{0,1}(?:[${se}]|$))`,NO_DOTS_SLASH:`(?!${ie}{1,2}(?:[${se}]|$))`,QMARK_NO_DOT:`[^.${se}]`,START_ANCHOR:`(?:^|[${se}])`,END_ANCHOR:`(?:[${se}]|$)`},yn={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};qt.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:yn,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:un.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?Rn:Gt}}});var Re=q(Q=>{"use strict";var _n=W("path"),En=process.platform==="win32",{REGEX_BACKSLASH:bn,REGEX_REMOVE_BACKSLASH:xn,REGEX_SPECIAL_CHARS:Cn,REGEX_SPECIAL_CHARS_GLOBAL:wn}=me();Q.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);Q.hasRegexChars=e=>Cn.test(e);Q.isRegexChar=e=>e.length===1&&Q.hasRegexChars(e);Q.escapeRegex=e=>e.replace(wn,"\\$1");Q.toPosixSlashes=e=>e.replace(bn,"/");Q.removeBackslashes=e=>e.replace(xn,r=>r==="\\"?"":r);Q.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};Q.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:En===!0||_n.sep==="\\";Q.escapeLast=(e,r,t)=>{let n=e.lastIndexOf(r,t);return n===-1?e:e[n-1]==="\\"?Q.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};Q.removePrefix=(e,r={})=>{let t=e;return t.startsWith("./")&&(t=t.slice(2),r.prefix="./"),t};Q.wrapOutput=(e,r={},t={})=>{let n=t.contains?"":"^",s=t.contains?"":"$",i=`${n}(?:${e})${s}`;return r.negated===!0&&(i=`(?:^(?!${i}).*$)`),i}});var Yt=q((us,Zt)=>{"use strict";var Kt=Re(),{CHAR_ASTERISK:We,CHAR_AT:Sn,CHAR_BACKWARD_SLASH:ye,CHAR_COMMA:vn,CHAR_DOT:je,CHAR_EXCLAMATION_MARK:Fe,CHAR_FORWARD_SLASH:Xt,CHAR_LEFT_CURLY_BRACE:Qe,CHAR_LEFT_PARENTHESES:Xe,CHAR_LEFT_SQUARE_BRACKET:Hn,CHAR_PLUS:$n,CHAR_QUESTION_MARK:Wt,CHAR_RIGHT_CURLY_BRACE:Tn,CHAR_RIGHT_PARENTHESES:jt,CHAR_RIGHT_SQUARE_BRACKET:kn}=me(),Ft=e=>e===Xt||e===ye,Qt=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},Ln=(e,r)=>{let t=r||{},n=e.length-1,s=t.parts===!0||t.scanToEnd===!0,i=[],a=[],c=[],p=e,m=-1,h=0,R=0,f=!1,$=!1,_=!1,y=!1,E=!1,S=!1,T=!1,L=!1,z=!1,I=!1,re=0,K,g,v={value:"",depth:0,isGlob:!1},k=()=>m>=n,l=()=>p.charCodeAt(m+1),H=()=>(K=g,p.charCodeAt(++m));for(;m0&&(B=p.slice(0,h),p=p.slice(h),R-=h),w&&_===!0&&R>0?(w=p.slice(0,R),o=p.slice(R)):_===!0?(w="",o=p):w=p,w&&w!==""&&w!=="/"&&w!==p&&Ft(w.charCodeAt(w.length-1))&&(w=w.slice(0,-1)),t.unescape===!0&&(o&&(o=Kt.removeBackslashes(o)),w&&T===!0&&(w=Kt.removeBackslashes(w)));let u={prefix:B,input:e,start:h,base:w,glob:o,isBrace:f,isBracket:$,isGlob:_,isExtglob:y,isGlobstar:E,negated:L,negatedExtglob:z};if(t.tokens===!0&&(u.maxDepth=0,Ft(g)||a.push(v),u.tokens=a),t.parts===!0||t.tokens===!0){let P;for(let b=0;b{"use strict";var ke=me(),Y=Re(),{MAX_LENGTH:Le,POSIX_REGEX_SOURCE:On,REGEX_NON_SPECIAL_CHARS:Nn,REGEX_SPECIAL_CHARS_BACKREF:In,REPLACEMENTS:zt}=ke,Bn=(e,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...e,r);e.sort();let t=`[${e.join("-")}]`;try{new RegExp(t)}catch{return e.map(s=>Y.escapeRegex(s)).join("..")}return t},de=(e,r)=>`Missing ${e}: "${r}" - use "\\\\${r}" to match literal characters`,Vt=(e,r)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=zt[e]||e;let t={...r},n=typeof t.maxLength=="number"?Math.min(Le,t.maxLength):Le,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:t.prepend||""},a=[i],c=t.capture?"":"?:",p=Y.isWindows(r),m=ke.globChars(p),h=ke.extglobChars(m),{DOT_LITERAL:R,PLUS_LITERAL:f,SLASH_LITERAL:$,ONE_CHAR:_,DOTS_SLASH:y,NO_DOT:E,NO_DOT_SLASH:S,NO_DOTS_SLASH:T,QMARK:L,QMARK_NO_DOT:z,STAR:I,START_ANCHOR:re}=m,K=A=>`(${c}(?:(?!${re}${A.dot?y:R}).)*?)`,g=t.dot?"":E,v=t.dot?L:z,k=t.bash===!0?K(t):I;t.capture&&(k=`(${k})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let l={input:e,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};e=Y.removePrefix(e,l),s=e.length;let H=[],w=[],B=[],o=i,u,P=()=>l.index===s-1,b=l.peek=(A=1)=>e[l.index+A],V=l.advance=()=>e[++l.index]||"",J=()=>e.slice(l.index+1),X=(A="",O=0)=>{l.consumed+=A,l.index+=O},Ee=A=>{l.output+=A.output!=null?A.output:A.value,X(A.value)},mr=()=>{let A=1;for(;b()==="!"&&(b(2)!=="("||b(3)==="?");)V(),l.start++,A++;return A%2===0?!1:(l.negated=!0,l.start++,!0)},be=A=>{l[A]++,B.push(A)},oe=A=>{l[A]--,B.pop()},C=A=>{if(o.type==="globstar"){let O=l.braces>0&&(A.type==="comma"||A.type==="brace"),d=A.extglob===!0||H.length&&(A.type==="pipe"||A.type==="paren");A.type!=="slash"&&A.type!=="paren"&&!O&&!d&&(l.output=l.output.slice(0,-o.output.length),o.type="star",o.value="*",o.output=k,l.output+=o.output)}if(H.length&&A.type!=="paren"&&(H[H.length-1].inner+=A.value),(A.value||A.output)&&Ee(A),o&&o.type==="text"&&A.type==="text"){o.value+=A.value,o.output=(o.output||"")+A.value;return}A.prev=o,a.push(A),o=A},xe=(A,O)=>{let d={...h[O],conditions:1,inner:""};d.prev=o,d.parens=l.parens,d.output=l.output;let x=(t.capture?"(":"")+d.open;be("parens"),C({type:A,value:O,output:l.output?"":_}),C({type:"paren",extglob:!0,value:V(),output:x}),H.push(d)},Rr=A=>{let O=A.close+(t.capture?")":""),d;if(A.type==="negate"){let x=k;A.inner&&A.inner.length>1&&A.inner.includes("/")&&(x=K(t)),(x!==k||P()||/^\)+$/.test(J()))&&(O=A.close=`)$))${x}`),A.inner.includes("*")&&(d=J())&&/^\.[^\\/.]+$/.test(d)&&(O=A.close=`)${d})${x})`),A.prev.type==="bos"&&(l.negatedExtglob=!0)}C({type:"paren",extglob:!0,value:u,output:O}),oe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let A=!1,O=e.replace(In,(d,x,M,j,G,Ie)=>j==="\\"?(A=!0,d):j==="?"?x?x+j+(G?L.repeat(G.length):""):Ie===0?v+(G?L.repeat(G.length):""):L.repeat(M.length):j==="."?R.repeat(M.length):j==="*"?x?x+j+(G?k:""):k:x?d:`\\${d}`);return A===!0&&(t.unescape===!0?O=O.replace(/\\/g,""):O=O.replace(/\\+/g,d=>d.length%2===0?"\\\\":d?"\\":"")),O===e&&t.contains===!0?(l.output=e,l):(l.output=Y.wrapOutput(O,l,r),l)}for(;!P();){if(u=V(),u==="\0")continue;if(u==="\\"){let d=b();if(d==="/"&&t.bash!==!0||d==="."||d===";")continue;if(!d){u+="\\",C({type:"text",value:u});continue}let x=/^\\+/.exec(J()),M=0;if(x&&x[0].length>2&&(M=x[0].length,l.index+=M,M%2!==0&&(u+="\\")),t.unescape===!0?u=V():u+=V(),l.brackets===0){C({type:"text",value:u});continue}}if(l.brackets>0&&(u!=="]"||o.value==="["||o.value==="[^")){if(t.posix!==!1&&u===":"){let d=o.value.slice(1);if(d.includes("[")&&(o.posix=!0,d.includes(":"))){let x=o.value.lastIndexOf("["),M=o.value.slice(0,x),j=o.value.slice(x+2),G=On[j];if(G){o.value=M+G,l.backtrack=!0,V(),!i.output&&a.indexOf(o)===1&&(i.output=_);continue}}}(u==="["&&b()!==":"||u==="-"&&b()==="]")&&(u=`\\${u}`),u==="]"&&(o.value==="["||o.value==="[^")&&(u=`\\${u}`),t.posix===!0&&u==="!"&&o.value==="["&&(u="^"),o.value+=u,Ee({value:u});continue}if(l.quotes===1&&u!=='"'){u=Y.escapeRegex(u),o.value+=u,Ee({value:u});continue}if(u==='"'){l.quotes=l.quotes===1?0:1,t.keepQuotes===!0&&C({type:"text",value:u});continue}if(u==="("){be("parens"),C({type:"paren",value:u});continue}if(u===")"){if(l.parens===0&&t.strictBrackets===!0)throw new SyntaxError(de("opening","("));let d=H[H.length-1];if(d&&l.parens===d.parens+1){Rr(H.pop());continue}C({type:"paren",value:u,output:l.parens?")":"\\)"}),oe("parens");continue}if(u==="["){if(t.nobracket===!0||!J().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(de("closing","]"));u=`\\${u}`}else be("brackets");C({type:"bracket",value:u});continue}if(u==="]"){if(t.nobracket===!0||o&&o.type==="bracket"&&o.value.length===1){C({type:"text",value:u,output:`\\${u}`});continue}if(l.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(de("opening","["));C({type:"text",value:u,output:`\\${u}`});continue}oe("brackets");let d=o.value.slice(1);if(o.posix!==!0&&d[0]==="^"&&!d.includes("/")&&(u=`/${u}`),o.value+=u,Ee({value:u}),t.literalBrackets===!1||Y.hasRegexChars(d))continue;let x=Y.escapeRegex(o.value);if(l.output=l.output.slice(0,-o.value.length),t.literalBrackets===!0){l.output+=x,o.value=x;continue}o.value=`(${c}${x}|${o.value})`,l.output+=o.value;continue}if(u==="{"&&t.nobrace!==!0){be("braces");let d={type:"brace",value:u,output:"(",outputIndex:l.output.length,tokensIndex:l.tokens.length};w.push(d),C(d);continue}if(u==="}"){let d=w[w.length-1];if(t.nobrace===!0||!d){C({type:"text",value:u,output:u});continue}let x=")";if(d.dots===!0){let M=a.slice(),j=[];for(let G=M.length-1;G>=0&&(a.pop(),M[G].type!=="brace");G--)M[G].type!=="dots"&&j.unshift(M[G].value);x=Bn(j,t),l.backtrack=!0}if(d.comma!==!0&&d.dots!==!0){let M=l.output.slice(0,d.outputIndex),j=l.tokens.slice(d.tokensIndex);d.value=d.output="\\{",u=x="\\}",l.output=M;for(let G of j)l.output+=G.output||G.value}C({type:"brace",value:u,output:x}),oe("braces"),w.pop();continue}if(u==="|"){H.length>0&&H[H.length-1].conditions++,C({type:"text",value:u});continue}if(u===","){let d=u,x=w[w.length-1];x&&B[B.length-1]==="braces"&&(x.comma=!0,d="|"),C({type:"comma",value:u,output:d});continue}if(u==="/"){if(o.type==="dot"&&l.index===l.start+1){l.start=l.index+1,l.consumed="",l.output="",a.pop(),o=i;continue}C({type:"slash",value:u,output:$});continue}if(u==="."){if(l.braces>0&&o.type==="dot"){o.value==="."&&(o.output=R);let d=w[w.length-1];o.type="dots",o.output+=u,o.value+=u,d.dots=!0;continue}if(l.braces+l.parens===0&&o.type!=="bos"&&o.type!=="slash"){C({type:"text",value:u,output:R});continue}C({type:"dot",value:u,output:R});continue}if(u==="?"){if(!(o&&o.value==="(")&&t.noextglob!==!0&&b()==="("&&b(2)!=="?"){xe("qmark",u);continue}if(o&&o.type==="paren"){let x=b(),M=u;if(x==="<"&&!Y.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(o.value==="("&&!/[!=<:]/.test(x)||x==="<"&&!/<([!=]|\w+>)/.test(J()))&&(M=`\\${u}`),C({type:"text",value:u,output:M});continue}if(t.dot!==!0&&(o.type==="slash"||o.type==="bos")){C({type:"qmark",value:u,output:z});continue}C({type:"qmark",value:u,output:L});continue}if(u==="!"){if(t.noextglob!==!0&&b()==="("&&(b(2)!=="?"||!/[!=<:]/.test(b(3)))){xe("negate",u);continue}if(t.nonegate!==!0&&l.index===0){mr();continue}}if(u==="+"){if(t.noextglob!==!0&&b()==="("&&b(2)!=="?"){xe("plus",u);continue}if(o&&o.value==="("||t.regex===!1){C({type:"plus",value:u,output:f});continue}if(o&&(o.type==="bracket"||o.type==="paren"||o.type==="brace")||l.parens>0){C({type:"plus",value:u});continue}C({type:"plus",value:f});continue}if(u==="@"){if(t.noextglob!==!0&&b()==="("&&b(2)!=="?"){C({type:"at",extglob:!0,value:u,output:""});continue}C({type:"text",value:u});continue}if(u!=="*"){(u==="$"||u==="^")&&(u=`\\${u}`);let d=Nn.exec(J());d&&(u+=d[0],l.index+=d[0].length),C({type:"text",value:u});continue}if(o&&(o.type==="globstar"||o.star===!0)){o.type="star",o.star=!0,o.value+=u,o.output=k,l.backtrack=!0,l.globstar=!0,X(u);continue}let A=J();if(t.noextglob!==!0&&/^\([^?]/.test(A)){xe("star",u);continue}if(o.type==="star"){if(t.noglobstar===!0){X(u);continue}let d=o.prev,x=d.prev,M=d.type==="slash"||d.type==="bos",j=x&&(x.type==="star"||x.type==="globstar");if(t.bash===!0&&(!M||A[0]&&A[0]!=="/")){C({type:"star",value:u,output:""});continue}let G=l.braces>0&&(d.type==="comma"||d.type==="brace"),Ie=H.length&&(d.type==="pipe"||d.type==="paren");if(!M&&d.type!=="paren"&&!G&&!Ie){C({type:"star",value:u,output:""});continue}for(;A.slice(0,3)==="/**";){let Ce=e[l.index+4];if(Ce&&Ce!=="/")break;A=A.slice(3),X("/**",3)}if(d.type==="bos"&&P()){o.type="globstar",o.value+=u,o.output=K(t),l.output=o.output,l.globstar=!0,X(u);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&!j&&P()){l.output=l.output.slice(0,-(d.output+o.output).length),d.output=`(?:${d.output}`,o.type="globstar",o.output=K(t)+(t.strictSlashes?")":"|$)"),o.value+=u,l.globstar=!0,l.output+=d.output+o.output,X(u);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&A[0]==="/"){let Ce=A[1]!==void 0?"|$":"";l.output=l.output.slice(0,-(d.output+o.output).length),d.output=`(?:${d.output}`,o.type="globstar",o.output=`${K(t)}${$}|${$}${Ce})`,o.value+=u,l.output+=d.output+o.output,l.globstar=!0,X(u+V()),C({type:"slash",value:"/",output:""});continue}if(d.type==="bos"&&A[0]==="/"){o.type="globstar",o.value+=u,o.output=`(?:^|${$}|${K(t)}${$})`,l.output=o.output,l.globstar=!0,X(u+V()),C({type:"slash",value:"/",output:""});continue}l.output=l.output.slice(0,-o.output.length),o.type="globstar",o.output=K(t),o.value+=u,l.output+=o.output,l.globstar=!0,X(u);continue}let O={type:"star",value:u,output:k};if(t.bash===!0){O.output=".*?",(o.type==="bos"||o.type==="slash")&&(O.output=g+O.output),C(O);continue}if(o&&(o.type==="bracket"||o.type==="paren")&&t.regex===!0){O.output=u,C(O);continue}(l.index===l.start||o.type==="slash"||o.type==="dot")&&(o.type==="dot"?(l.output+=S,o.output+=S):t.dot===!0?(l.output+=T,o.output+=T):(l.output+=g,o.output+=g),b()!=="*"&&(l.output+=_,o.output+=_)),C(O)}for(;l.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(de("closing","]"));l.output=Y.escapeLast(l.output,"["),oe("brackets")}for(;l.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(de("closing",")"));l.output=Y.escapeLast(l.output,"("),oe("parens")}for(;l.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(de("closing","}"));l.output=Y.escapeLast(l.output,"{"),oe("braces")}if(t.strictSlashes!==!0&&(o.type==="star"||o.type==="bracket")&&C({type:"maybe_slash",value:"",output:`${$}?`}),l.backtrack===!0){l.output="";for(let A of l.tokens)l.output+=A.output!=null?A.output:A.value,A.suffix&&(l.output+=A.suffix)}return l};Vt.fastpaths=(e,r)=>{let t={...r},n=typeof t.maxLength=="number"?Math.min(Le,t.maxLength):Le,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);e=zt[e]||e;let i=Y.isWindows(r),{DOT_LITERAL:a,SLASH_LITERAL:c,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:h,NO_DOTS:R,NO_DOTS_SLASH:f,STAR:$,START_ANCHOR:_}=ke.globChars(i),y=t.dot?R:h,E=t.dot?f:h,S=t.capture?"":"?:",T={negated:!1,prefix:""},L=t.bash===!0?".*?":$;t.capture&&(L=`(${L})`);let z=g=>g.noglobstar===!0?L:`(${S}(?:(?!${_}${g.dot?m:a}).)*?)`,I=g=>{switch(g){case"*":return`${y}${p}${L}`;case".*":return`${a}${p}${L}`;case"*.*":return`${y}${L}${a}${p}${L}`;case"*/*":return`${y}${L}${c}${p}${E}${L}`;case"**":return y+z(t);case"**/*":return`(?:${y}${z(t)}${c})?${E}${p}${L}`;case"**/*.*":return`(?:${y}${z(t)}${c})?${E}${L}${a}${p}${L}`;case"**/.*":return`(?:${y}${z(t)}${c})?${a}${p}${L}`;default:{let v=/^(.*?)\.(\w+)$/.exec(g);if(!v)return;let k=I(v[1]);return k?k+a+v[2]:void 0}}},re=Y.removePrefix(e,T),K=I(re);return K&&t.strictSlashes!==!0&&(K+=`${c}?`),K};Jt.exports=Vt});var rr=q((ls,tr)=>{"use strict";var Pn=W("path"),Mn=Yt(),Ze=er(),Ye=Re(),Dn=me(),Un=e=>e&&typeof e=="object"&&!Array.isArray(e),D=(e,r,t=!1)=>{if(Array.isArray(e)){let h=e.map(f=>D(f,r,t));return f=>{for(let $ of h){let _=$(f);if(_)return _}return!1}}let n=Un(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let s=r||{},i=Ye.isWindows(r),a=n?D.compileRe(e,r):D.makeRe(e,r,!1,!0),c=a.state;delete a.state;let p=()=>!1;if(s.ignore){let h={...r,ignore:null,onMatch:null,onResult:null};p=D(s.ignore,h,t)}let m=(h,R=!1)=>{let{isMatch:f,match:$,output:_}=D.test(h,a,r,{glob:e,posix:i}),y={glob:e,state:c,regex:a,posix:i,input:h,output:_,match:$,isMatch:f};return typeof s.onResult=="function"&&s.onResult(y),f===!1?(y.isMatch=!1,R?y:!1):p(h)?(typeof s.onIgnore=="function"&&s.onIgnore(y),y.isMatch=!1,R?y:!1):(typeof s.onMatch=="function"&&s.onMatch(y),R?y:!0)};return t&&(m.state=c),m};D.test=(e,r,t,{glob:n,posix:s}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let i=t||{},a=i.format||(s?Ye.toPosixSlashes:null),c=e===n,p=c&&a?a(e):e;return c===!1&&(p=a?a(e):e,c=p===n),(c===!1||i.capture===!0)&&(i.matchBase===!0||i.basename===!0?c=D.matchBase(e,r,t,s):c=r.exec(p)),{isMatch:Boolean(c),match:c,output:p}};D.matchBase=(e,r,t,n=Ye.isWindows(t))=>(r instanceof RegExp?r:D.makeRe(r,t)).test(Pn.basename(e));D.isMatch=(e,r,t)=>D(r,t)(e);D.parse=(e,r)=>Array.isArray(e)?e.map(t=>D.parse(t,r)):Ze(e,{...r,fastpaths:!1});D.scan=(e,r)=>Mn(e,r);D.compileRe=(e,r,t=!1,n=!1)=>{if(t===!0)return e.output;let s=r||{},i=s.contains?"":"^",a=s.contains?"":"$",c=`${i}(?:${e.output})${a}`;e&&e.negated===!0&&(c=`^(?!${c}).*$`);let p=D.toRegex(c,r);return n===!0&&(p.state=e),p};D.makeRe=(e,r={},t=!1,n=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let s={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(s.output=Ze.fastpaths(e,r)),s.output||(s=Ze(e,r)),D.compileRe(s,r,t,n)};D.toRegex=(e,r)=>{try{let t=r||{};return new RegExp(e,t.flags||(t.nocase?"i":""))}catch(t){if(r&&r.debug===!0)throw t;return/$^/}};D.constants=Dn;tr.exports=D});var sr=q((fs,nr)=>{"use strict";nr.exports=rr()});var cr=q((ps,ur)=>{"use strict";var ir=W("util"),or=Pt(),ae=sr(),ze=Re(),ar=e=>e===""||e==="./",N=(e,r,t)=>{r=[].concat(r),e=[].concat(e);let n=new Set,s=new Set,i=new Set,a=0,c=h=>{i.add(h.output),t&&t.onResult&&t.onResult(h)};for(let h=0;h!n.has(h));if(t&&m.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${r.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?r.map(h=>h.replace(/\\/g,"")):r}return m};N.match=N;N.matcher=(e,r)=>ae(e,r);N.isMatch=(e,r,t)=>ae(r,t)(e);N.any=N.isMatch;N.not=(e,r,t={})=>{r=[].concat(r).map(String);let n=new Set,s=[],a=N(e,r,{...t,onResult:c=>{t.onResult&&t.onResult(c),s.push(c.output)}});for(let c of s)a.includes(c)||n.add(c);return[...n]};N.contains=(e,r,t)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${ir.inspect(e)}"`);if(Array.isArray(r))return r.some(n=>N.contains(e,n,t));if(typeof r=="string"){if(ar(e)||ar(r))return!1;if(e.includes(r)||e.startsWith("./")&&e.slice(2).includes(r))return!0}return N.isMatch(e,r,{...t,contains:!0})};N.matchKeys=(e,r,t)=>{if(!ze.isObject(e))throw new TypeError("Expected the first argument to be an object");let n=N(Object.keys(e),r,t),s={};for(let i of n)s[i]=e[i];return s};N.some=(e,r,t)=>{let n=[].concat(e);for(let s of[].concat(r)){let i=ae(String(s),t);if(n.some(a=>i(a)))return!0}return!1};N.every=(e,r,t)=>{let n=[].concat(e);for(let s of[].concat(r)){let i=ae(String(s),t);if(!n.every(a=>i(a)))return!1}return!0};N.all=(e,r,t)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${ir.inspect(e)}"`);return[].concat(r).every(n=>ae(n,t)(e))};N.capture=(e,r,t)=>{let n=ze.isWindows(t),i=ae.makeRe(String(e),{...t,capture:!0}).exec(n?ze.toPosixSlashes(r):r);if(i)return i.slice(1).map(a=>a===void 0?"":a)};N.makeRe=(...e)=>ae.makeRe(...e);N.scan=(...e)=>ae.scan(...e);N.parse=(e,r)=>{let t=[];for(let n of[].concat(e||[]))for(let s of or(String(n),r))t.push(ae.parse(s,r));return t};N.braces=(e,r)=>{if(typeof e!="string")throw new TypeError("Expected a string");return r&&r.nobrace===!0||!/\{.*\}/.test(e)?[e]:or(e,r)};N.braceExpand=(e,r)=>{if(typeof e!="string")throw new TypeError("Expected a string");return N.braces(e,{...r,expand:!0})};ur.exports=N});var fr=q((hs,lr)=>{"use strict";lr.exports=(e,...r)=>new Promise(t=>{t(e(...r))})});var hr=q((ds,Ve)=>{"use strict";var Gn=fr(),pr=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let r=[],t=0,n=()=>{t--,r.length>0&&r.shift()()},s=(c,p,...m)=>{t++;let h=Gn(c,...m);p(h),h.then(n,n)},i=(c,p,...m)=>{tnew Promise(m=>i(c,m,...p));return Object.defineProperties(a,{activeCount:{get:()=>t},pendingCount:{get:()=>r.length}}),a};Ve.exports=pr;Ve.exports.default=pr});var jn={};Cr(jn,{default:()=>Wn});var Se=W("@yarnpkg/cli"),ne=W("@yarnpkg/core"),et=W("@yarnpkg/core"),ue=W("clipanion"),ce=class extends Se.BaseCommand{constructor(){super(...arguments);this.json=ue.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=ue.Option.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=ue.Option.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=ue.Option.Rest()}async execute(){let t=await ne.Configuration.find(this.context.cwd,this.context.plugins),{project:n,workspace:s}=await ne.Project.find(t,this.context.cwd),i=await ne.Cache.find(t);await n.restoreInstallState({restoreResolutions:!1});let a;if(this.all)a=new Set(n.workspaces);else if(this.workspaces.length===0){if(!s)throw new Se.WorkspaceRequiredError(n.cwd,this.context.cwd);a=new Set([s])}else a=new Set(this.workspaces.map(p=>n.getWorkspaceByIdent(et.structUtils.parseIdent(p))));for(let p of a)for(let m of this.production?["dependencies"]:ne.Manifest.hardDependencies)for(let h of p.manifest.getForScope(m).values()){let R=n.tryWorkspaceByDescriptor(h);R!==null&&a.add(R)}for(let p of n.workspaces)a.has(p)?this.production&&p.manifest.devDependencies.clear():(p.manifest.installConfig=p.manifest.installConfig||{},p.manifest.installConfig.selfReferences=!1,p.manifest.dependencies.clear(),p.manifest.devDependencies.clear(),p.manifest.peerDependencies.clear(),p.manifest.scripts.clear());return(await ne.StreamReport.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async p=>{await n.install({cache:i,report:p,persistProject:!1})})).exitCode()}};ce.paths=[["workspaces","focus"]],ce.usage=ue.Command.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});var Ne=W("@yarnpkg/cli"),ge=W("@yarnpkg/core"),_e=W("@yarnpkg/core"),F=W("@yarnpkg/core"),gr=W("@yarnpkg/plugin-git"),U=W("clipanion"),Oe=Be(cr()),Ar=Be(hr()),te=Be(W("typanion")),pe=class extends Ne.BaseCommand{constructor(){super(...arguments);this.recursive=U.Option.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=U.Option.Array("--from",[],{description:"An array of glob pattern idents from which to base any recursion"});this.all=U.Option.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=U.Option.Boolean("-v,--verbose",!1,{description:"Prefix each output line with the name of the originating workspace"});this.parallel=U.Option.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=U.Option.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=U.Option.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:te.isOneOf([te.isEnum(["unlimited"]),te.applyCascade(te.isNumber(),[te.isInteger(),te.isAtLeast(1)])])});this.topological=U.Option.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=U.Option.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=U.Option.Array("--include",[],{description:"An array of glob pattern idents; only matching workspaces will be traversed"});this.exclude=U.Option.Array("--exclude",[],{description:"An array of glob pattern idents; matching workspaces won't be traversed"});this.publicOnly=U.Option.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=U.Option.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.commandName=U.Option.String();this.args=U.Option.Proxy()}async execute(){let t=await ge.Configuration.find(this.context.cwd,this.context.plugins),{project:n,workspace:s}=await ge.Project.find(t,this.context.cwd);if(!this.all&&!s)throw new Ne.WorkspaceRequiredError(n.cwd,this.context.cwd);await n.restoreInstallState();let i=this.cli.process([this.commandName,...this.args]),a=i.path.length===1&&i.path[0]==="run"&&typeof i.scriptName<"u"?i.scriptName:null;if(i.path.length===0)throw new U.UsageError("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let c=this.all?n.topLevelWorkspace:s,p=this.since?Array.from(await gr.gitUtils.fetchChangedWorkspaces({ref:this.since,project:n})):[c,...this.from.length>0?c.getRecursiveWorkspaceChildren():[]],m=g=>Oe.default.isMatch(F.structUtils.stringifyIdent(g.locator),this.from),h=this.from.length>0?p.filter(m):p,R=new Set([...h,...h.map(g=>[...this.recursive?this.since?g.getRecursiveWorkspaceDependents():g.getRecursiveWorkspaceDependencies():g.getRecursiveWorkspaceChildren()]).flat()]),f=[],$=!1;if(a!=null&&a.includes(":")){for(let g of n.workspaces)if(g.manifest.scripts.has(a)&&($=!$,$===!1))break}for(let g of R)a&&!g.manifest.scripts.has(a)&&!$&&!(await ge.scriptUtils.getWorkspaceAccessibleBinaries(g)).has(a)||a===process.env.npm_lifecycle_event&&g.cwd===s.cwd||this.include.length>0&&!Oe.default.isMatch(F.structUtils.stringifyIdent(g.locator),this.include)||this.exclude.length>0&&Oe.default.isMatch(F.structUtils.stringifyIdent(g.locator),this.exclude)||this.publicOnly&&g.manifest.private===!0||f.push(g);let _=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(F.nodeUtils.availableParallelism()/2):1,y=_===1?!1:this.parallel,E=y?this.interlaced:!0,S=(0,Ar.default)(_),T=new Map,L=new Set,z=0,I=null,re=!1,K=await _e.StreamReport.start({configuration:t,stdout:this.context.stdout,includePrefix:!1},async g=>{let v=async(k,{commandIndex:l})=>{if(re)return-1;!y&&this.verbose&&l>1&&g.reportSeparator();let H=qn(k,{configuration:t,verbose:this.verbose,commandIndex:l}),[w,B]=dr(g,{prefix:H,interlaced:E}),[o,u]=dr(g,{prefix:H,interlaced:E});try{this.verbose&&g.reportInfo(null,`${H} Process started`);let P=Date.now(),b=await this.cli.run([this.commandName,...this.args],{cwd:k.cwd,stdout:w,stderr:o})||0;w.end(),o.end(),await B,await u;let V=Date.now();if(this.verbose){let J=t.get("enableTimers")?`, completed in ${F.formatUtils.pretty(t,V-P,F.formatUtils.Type.DURATION)}`:"";g.reportInfo(null,`${H} Process exited (exit code ${b})${J}`)}return b===130&&(re=!0,I=b),b}catch(P){throw w.end(),o.end(),await B,await u,P}};for(let k of f)T.set(k.anchoredLocator.locatorHash,k);for(;T.size>0&&!g.hasErrors();){let k=[];for(let[w,B]of T){if(L.has(B.anchoredDescriptor.descriptorHash))continue;let o=!0;if(this.topological||this.topologicalDev){let u=this.topologicalDev?new Map([...B.manifest.dependencies,...B.manifest.devDependencies]):B.manifest.dependencies;for(let P of u.values()){let b=n.tryWorkspaceByDescriptor(P);if(o=b===null||!T.has(b.anchoredLocator.locatorHash),!o)break}}if(!!o&&(L.add(B.anchoredDescriptor.descriptorHash),k.push(S(async()=>{let u=await v(B,{commandIndex:++z});return T.delete(w),L.delete(B.anchoredDescriptor.descriptorHash),u})),!y))break}if(k.length===0){let w=Array.from(T.values()).map(B=>F.structUtils.prettyLocator(t,B.anchoredLocator)).join(", ");g.reportError(_e.MessageName.CYCLIC_DEPENDENCIES,`Dependency cycle detected (${w})`);return}let H=(await Promise.all(k)).find(w=>w!==0);I===null&&(I=typeof H<"u"?1:I),(this.topological||this.topologicalDev)&&typeof H<"u"&&g.reportError(_e.MessageName.UNNAMED,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return I!==null?I:K.exitCode()}};pe.paths=[["workspaces","foreach"]],pe.usage=U.Command.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});function dr(e,{prefix:r,interlaced:t}){let n=e.createStreamReporter(r),s=new F.miscUtils.DefaultStream;s.pipe(n,{end:!1}),s.on("finish",()=>{n.end()});let i=new Promise(c=>{n.on("finish",()=>{c(s.active)})});if(t)return[s,i];let a=new F.miscUtils.BufferStream;return a.pipe(s,{end:!1}),a.on("finish",()=>{s.end()}),[a,i]}function qn(e,{configuration:r,commandIndex:t,verbose:n}){if(!n)return null;let i=`[${F.structUtils.stringifyIdent(e.locator)}]:`,a=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],c=a[t%a.length];return F.formatUtils.pretty(r,i,c)}var Kn={commands:[ce,pe]},Wn=Kn;return wr(jn);})(); +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ +return plugin; +} +}; diff --git a/.yarn/releases/yarn-3.5.1.cjs b/.yarn/releases/yarn-3.5.1.cjs new file mode 100755 index 00000000..97eed758 --- /dev/null +++ b/.yarn/releases/yarn-3.5.1.cjs @@ -0,0 +1,873 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Sge=Object.create;var lS=Object.defineProperty;var vge=Object.getOwnPropertyDescriptor;var xge=Object.getOwnPropertyNames;var Pge=Object.getPrototypeOf,Dge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var kge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Rge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of xge(e))!Dge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=vge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Sge(Pge(r)):{},Rge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var vU=w((j7e,SU)=>{SU.exports=bU;bU.sync=$ge;var BU=J("fs");function _ge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{kU.exports=PU;PU.sync=efe;var xU=J("fs");function PU(r,e,t){xU.stat(r,function(i,n){t(i,i?!1:DU(n,e))})}function efe(r,e){return DU(xU.statSync(r),e)}function DU(r,e){return r.isFile()&&tfe(r,e)}function tfe(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var NU=w((W7e,FU)=>{var J7e=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=vU():lI=RU();FU.exports=SS;SS.sync=rfe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function rfe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var HU=w((z7e,KU)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",LU=J("path"),ife=Dg?";":":",TU=NU(),OU=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),MU=(r,e)=>{let t=e.colon||ife,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},UU=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=MU(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(OU(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=LU.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];TU(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},nfe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=MU(r,e),s=[];for(let o=0;o{"use strict";var GU=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=GU;vS.exports.default=GU});var WU=w((X7e,JU)=>{"use strict";var jU=J("path"),sfe=HU(),ofe=YU();function qU(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=sfe.sync(r.command,{path:t[ofe({env:t})],pathExt:e?jU.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=jU.resolve(n?r.options.cwd:"",o)),o}function afe(r){return qU(r)||qU(r,!0)}JU.exports=afe});var zU=w((Z7e,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function Afe(r){return r=r.replace(xS,"^$1"),r}function lfe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=Afe;PS.exports.argument=lfe});var XU=w((_7e,VU)=>{"use strict";VU.exports=/^#!(.*)/});var _U=w(($7e,ZU)=>{"use strict";var cfe=XU();ZU.exports=(r="")=>{let e=r.match(cfe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var eK=w((eZe,$U)=>{"use strict";var DS=J("fs"),ufe=_U();function gfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return ufe(t.toString())}$U.exports=gfe});var nK=w((tZe,iK)=>{"use strict";var ffe=J("path"),tK=WU(),rK=zU(),hfe=eK(),pfe=process.platform==="win32",dfe=/\.(?:com|exe)$/i,Cfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function mfe(r){r.file=tK(r);let e=r.file&&hfe(r.file);return e?(r.args.unshift(r.file),r.command=e,tK(r)):r.file}function Efe(r){if(!pfe)return r;let e=mfe(r),t=!dfe.test(e);if(r.options.forceShell||t){let i=Cfe.test(e);r.command=ffe.normalize(r.command),r.command=rK.command(r.command),r.args=r.args.map(s=>rK.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function Ife(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Efe(i)}iK.exports=Ife});var aK=w((rZe,oK)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function yfe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=sK(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function sK(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function wfe(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}oK.exports={hookChildProcess:yfe,verifyENOENT:sK,verifyENOENTSync:wfe,notFoundError:RS}});var LS=w((iZe,kg)=>{"use strict";var AK=J("child_process"),FS=nK(),NS=aK();function lK(r,e,t){let i=FS(r,e,t),n=AK.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function Bfe(r,e,t){let i=FS(r,e,t),n=AK.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}kg.exports=lK;kg.exports.spawn=lK;kg.exports.sync=Bfe;kg.exports._parse=FS;kg.exports._enoent=NS});var uK=w((nZe,cK)=>{"use strict";function Qfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zl)}Qfe(Zl,Error);Zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Or="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Us=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",rs=me("$'",!1),ga="'",dA=me("'",!1),cg=function(m){return[{type:"text",text:m}]},is='""',CA=me('""',!1),fa=function(){return{type:"text",text:""}},wp='"',mA=me('"',!1),EA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Ll=function(m){return{type:"shell",shell:m,quoted:!0}},ug=function(m){return{type:"variable",...m,quoted:!0}},Io=function(m){return{type:"text",text:m}},gg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Bp=function(m){return{type:"shell",shell:m,quoted:!1}},Qp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,yo=Je(["'"],!0,!1),Rn=function(m){return m.join("")},fg=/^[^$"]/,Qt=Je(["$",'"'],!0,!1),Tl=`\\ +`,Fn=me(`\\ +`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),wo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),An=function(m){return m},S="\\a",Tt=me("\\a",!1),hg=function(){return"a"},Ol="\\b",bp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),IA=function(){return"\f"},Wi="\\n",Ml=me("\\n",!1),Xe=function(){return` +`},ha="\\r",pg=me("\\r",!1),OE=function(){return"\r"},Dp="\\t",ME=me("\\t",!1),ar=function(){return" "},Nn="\\v",Ul=me("\\v",!1),kp=function(){return"\v"},Ks=/^[\\'"?]/,pa=Je(["\\","'",'"',"?"],!1,!1),ln=function(m){return String.fromCharCode(parseInt(m,16))},Te="\\x",dg=me("\\x",!1),Kl="\\u",Hs=me("\\u",!1),Hl="\\U",yA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,da=Je([["0","7"]],!1,!1),Ca=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Bo=nt(),wA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),UE=".",Rp=me(".",!1),Eg=function(m,b,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(b.join("")+"."+N.join(""))}},Fp=function(m,b){return{type:"number",value:(m==="-"?-1:1)*parseInt(b.join(""))}},KE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",BA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,b,N){return{type:b==="*"?"multiplication":"division",right:N}},js=function(m,b){return b.reduce((N,K)=>({left:N,...K}),m)},yg=function(m,b,N){return{type:b==="+"?"addition":"subtraction",right:N}},QA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ue=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),Jb=":-",P1=me(":-",!1),D1=function(m,b){return{name:m,defaultValue:b}},Wb=":-}",k1=me(":-}",!1),R1=function(m){return{name:m,defaultValue:[]}},zb=":+",F1=me(":+",!1),N1=function(m,b){return{name:m,alternativeValue:b}},Vb=":+}",L1=me(":+}",!1),T1=function(m){return{name:m,alternativeValue:[]}},Xb=function(m){return{name:m}},O1="$",M1=me("$",!1),U1=function(m){return e.isGlobPattern(m)},K1=function(m){return m},Zb=/^[a-zA-Z0-9_]/,_b=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$b=function(){return T()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),H1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),Q=0,Me=0,bA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function T(){return r.substring(Me,Q)}function Z(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),Ri([lt(m)],r.substring(Me,Q),b)}function we(m,b){throw b=b!==void 0?b:Et(Me,Q),Tn(m,b)}function me(m,b){return{type:"literal",text:m,ignoreCase:b}}function Je(m,b,N){return{type:"class",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var b=bA[m],N;if(b)return b;for(N=m-1;!bA[N];)N--;for(b=bA[N],b={line:b.line,column:b.column};Nd&&(d=Q,E=[]),E.push(m))}function Tn(m,b){return new Zl(m,null,null,b)}function Ri(m,b,N){return new Zl(Zl.buildMessage(m,b),m,b,N)}function SA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,K,ce;if(m=Q,b=Ur(),b!==t){for(N=[],K=He();K!==t;)N.push(K),K=He();N!==t?(K=ma(),K!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,K,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Ur(),b!==t){for(N=[],K=He();K!==t;)N.push(K),K=He();N!==t?(K=ma(),K===t&&(K=null),K!==t?(Me=m,b=a(b,K),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function os(){var m,b,N,K,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();K!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function ma(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Ur(){var m,b,N;return m=Q,b=G1(),b!==t?(N=lge(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function lge(){var m,b,N,K,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=cge(),N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();if(K!==t)if(ce=Ur(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function cge(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function G1(){var m,b,N;return m=Q,b=fge(),b!==t?(N=uge(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function uge(){var m,b,N,K,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=gge(),N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();if(K!==t)if(ce=G1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=L(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function gge(){var m;return r.substr(Q,2)===H?(m=H,Q+=2):(m=t,I===0&&Qe(j)),m===t&&(r.charCodeAt(Q)===124?(m=$,Q++):(m=t,I===0&&Qe(V))),m}function qE(){var m,b,N,K,ce,Se;if(m=Q,b=eU(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(_)),N!==t)if(K=q1(),K!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,b=A(b,K),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;else Q=m,m=t;if(m===t)if(m=Q,b=eU(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(_)),N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();K!==t?(Me=m,b=Ae(b),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function fge(){var m,b,N,K,ce,Se,ht,Bt,Jr,hi,as;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===40?(N=ge,Q++):(N=t,I===0&&Qe(re)),N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();if(K!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===41?(ht=O,Q++):(ht=t,I===0&&Qe(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Np();hi!==t;)Jr.push(hi),hi=Np();if(Jr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Me=m,b=ue(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===123?(N=pe,Q++):(N=t,I===0&&Qe(ke)),N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();if(K!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===125?(ht=Fe,Q++):(ht=t,I===0&&Qe(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Np();hi!==t;)Jr.push(hi),hi=Np();if(Jr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Me=m,b=oe(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){for(N=[],K=qE();K!==t;)N.push(K),K=qE();if(N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();if(K!==t){if(ce=[],Se=j1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=j1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=le(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],K=qE(),K!==t)for(;K!==t;)N.push(K),K=qE();else N=t;if(N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();K!==t?(Me=m,b=Be(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}}}return m}function Y1(){var m,b,N,K,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],K=JE(),K!==t)for(;K!==t;)N.push(K),K=JE();else N=t;if(N!==t){for(K=[],ce=He();ce!==t;)K.push(ce),ce=He();K!==t?(Me=m,b=fe(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t;return m}function j1(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t?(N=Np(),N!==t?(Me=m,b=ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();b!==t?(N=JE(),N!==t?(Me=m,b=ae(N),m=b):(Q=m,m=t)):(Q=m,m=t)}return m}function Np(){var m,b,N,K,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(qe.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ne)),N===t&&(N=null),N!==t?(K=hge(),K!==t?(ce=JE(),ce!==t?(Me=m,b=Y(N,K,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function hge(){var m;return r.substr(Q,2)===he?(m=he,Q+=2):(m=t,I===0&&Qe(ie)),m===t&&(r.substr(Q,2)===de?(m=de,Q+=2):(m=t,I===0&&Qe(_e)),m===t&&(r.charCodeAt(Q)===62?(m=Pt,Q++):(m=t,I===0&&Qe(It)),m===t&&(r.substr(Q,3)===Or?(m=Or,Q+=3):(m=t,I===0&&Qe(ii)),m===t&&(r.substr(Q,2)===gi?(m=gi,Q+=2):(m=t,I===0&&Qe(hr)),m===t&&(r.charCodeAt(Q)===60?(m=fi,Q++):(m=t,I===0&&Qe(ni))))))),m}function JE(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(N=q1(),N!==t?(Me=m,b=ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function q1(){var m,b,N;if(m=Q,b=[],N=J1(),N!==t)for(;N!==t;)b.push(N),N=J1();else b=t;return b!==t&&(Me=m,b=Us(b)),m=b,m}function J1(){var m,b;return m=Q,b=pge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=dge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Cge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=mge(),b!==t&&(Me=m,b=pr(b)),m=b))),m}function pge(){var m,b,N,K;return m=Q,r.substr(Q,2)===Ii?(b=Ii,Q+=2):(b=t,I===0&&Qe(rs)),b!==t?(N=yge(),N!==t?(r.charCodeAt(Q)===39?(K=ga,Q++):(K=t,I===0&&Qe(dA)),K!==t?(Me=m,b=cg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function dge(){var m,b,N,K;return m=Q,r.charCodeAt(Q)===39?(b=ga,Q++):(b=t,I===0&&Qe(dA)),b!==t?(N=Ege(),N!==t?(r.charCodeAt(Q)===39?(K=ga,Q++):(K=t,I===0&&Qe(dA)),K!==t?(Me=m,b=cg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Cge(){var m,b,N,K;if(m=Q,r.substr(Q,2)===is?(b=is,Q+=2):(b=t,I===0&&Qe(CA)),b!==t&&(Me=m,b=fa()),m=b,m===t)if(m=Q,r.charCodeAt(Q)===34?(b=wp,Q++):(b=t,I===0&&Qe(mA)),b!==t){for(N=[],K=W1();K!==t;)N.push(K),K=W1();N!==t?(r.charCodeAt(Q)===34?(K=wp,Q++):(K=t,I===0&&Qe(mA)),K!==t?(Me=m,b=EA(N),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function mge(){var m,b,N;if(m=Q,b=[],N=z1(),N!==t)for(;N!==t;)b.push(N),N=z1();else b=t;return b!==t&&(Me=m,b=EA(b)),m=b,m}function W1(){var m,b;return m=Q,b=_1(),b!==t&&(Me=m,b=wr(b)),m=b,m===t&&(m=Q,b=$1(),b!==t&&(Me=m,b=Ll(b)),m=b,m===t&&(m=Q,b=aS(),b!==t&&(Me=m,b=ug(b)),m=b,m===t&&(m=Q,b=Ige(),b!==t&&(Me=m,b=Io(b)),m=b))),m}function z1(){var m,b;return m=Q,b=_1(),b!==t&&(Me=m,b=gg(b)),m=b,m===t&&(m=Q,b=$1(),b!==t&&(Me=m,b=Bp(b)),m=b,m===t&&(m=Q,b=aS(),b!==t&&(Me=m,b=Qp(b)),m=b,m===t&&(m=Q,b=Qge(),b!==t&&(Me=m,b=vr(b)),m=b,m===t&&(m=Q,b=Bge(),b!==t&&(Me=m,b=Io(b)),m=b)))),m}function Ege(){var m,b,N;for(m=Q,b=[],se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo));N!==t;)b.push(N),se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo));return b!==t&&(Me=m,b=Rn(b)),m=b,m}function Ige(){var m,b,N;if(m=Q,b=[],N=V1(),N===t&&(fg.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt))),N!==t)for(;N!==t;)b.push(N),N=V1(),N===t&&(fg.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt)));else b=t;return b!==t&&(Me=m,b=Rn(b)),m=b,m}function V1(){var m,b,N;return m=Q,r.substr(Q,2)===Tl?(b=Tl,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t&&(Me=m,b=ns()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=ss,Q++):(b=t,I===0&&Qe(gt)),b!==t?(wo.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(At)),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t)),m}function yge(){var m,b,N;for(m=Q,b=[],N=X1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo)));N!==t;)b.push(N),N=X1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo)));return b!==t&&(Me=m,b=Rn(b)),m=b,m}function X1(){var m,b,N;return m=Q,r.substr(Q,2)===S?(b=S,Q+=2):(b=t,I===0&&Qe(Tt)),b!==t&&(Me=m,b=hg()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ol?(b=Ol,Q+=2):(b=t,I===0&&Qe(bp)),b!==t&&(Me=m,b=Sp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=ss,Q++):(b=t,I===0&&Qe(gt)),b!==t?(vp.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(xp)),N!==t?(Me=m,b=Pp(),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===G?(b=G,Q+=2):(b=t,I===0&&Qe(yt)),b!==t&&(Me=m,b=IA()),m=b,m===t&&(m=Q,r.substr(Q,2)===Wi?(b=Wi,Q+=2):(b=t,I===0&&Qe(Ml)),b!==t&&(Me=m,b=Xe()),m=b,m===t&&(m=Q,r.substr(Q,2)===ha?(b=ha,Q+=2):(b=t,I===0&&Qe(pg)),b!==t&&(Me=m,b=OE()),m=b,m===t&&(m=Q,r.substr(Q,2)===Dp?(b=Dp,Q+=2):(b=t,I===0&&Qe(ME)),b!==t&&(Me=m,b=ar()),m=b,m===t&&(m=Q,r.substr(Q,2)===Nn?(b=Nn,Q+=2):(b=t,I===0&&Qe(Ul)),b!==t&&(Me=m,b=kp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=ss,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Ks.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(pa)),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=wge()))))))))),m}function wge(){var m,b,N,K,ce,Se,ht,Bt,Jr,hi,as,AS;return m=Q,r.charCodeAt(Q)===92?(b=ss,Q++):(b=t,I===0&&Qe(gt)),b!==t?(N=nS(),N!==t?(Me=m,b=ln(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Te?(b=Te,Q+=2):(b=t,I===0&&Qe(dg)),b!==t?(N=Q,K=Q,ce=nS(),ce!==t?(Se=On(),Se!==t?(ce=[ce,Se],K=ce):(Q=K,K=t)):(Q=K,K=t),K===t&&(K=nS()),K!==t?N=r.substring(N,Q):N=K,N!==t?(Me=m,b=ln(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Kl?(b=Kl,Q+=2):(b=t,I===0&&Qe(Hs)),b!==t?(N=Q,K=Q,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(ce=[ce,Se,ht,Bt],K=ce):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t),K!==t?N=r.substring(N,Q):N=K,N!==t?(Me=m,b=ln(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Hl?(b=Hl,Q+=2):(b=t,I===0&&Qe(yA)),b!==t?(N=Q,K=Q,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(Jr=On(),Jr!==t?(hi=On(),hi!==t?(as=On(),as!==t?(AS=On(),AS!==t?(ce=[ce,Se,ht,Bt,Jr,hi,as,AS],K=ce):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t)):(Q=K,K=t),K!==t?N=r.substring(N,Q):N=K,N!==t?(Me=m,b=Cg(N),m=b):(Q=m,m=t)):(Q=m,m=t)))),m}function nS(){var m;return mg.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(da)),m}function On(){var m;return Ca.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rt)),m}function Bge(){var m,b,N,K,ce;if(m=Q,b=[],N=Q,r.charCodeAt(Q)===92?(K=ss,Q++):(K=t,I===0&&Qe(gt)),K!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,K=An(ce),N=K):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,K=Q,I++,ce=tU(),I--,ce===t?K=void 0:(Q=K,K=t),K!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,K=An(ce),N=K):(Q=N,N=t)):(Q=N,N=t)),N!==t)for(;N!==t;)b.push(N),N=Q,r.charCodeAt(Q)===92?(K=ss,Q++):(K=t,I===0&&Qe(gt)),K!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,K=An(ce),N=K):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,K=Q,I++,ce=tU(),I--,ce===t?K=void 0:(Q=K,K=t),K!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,K=An(ce),N=K):(Q=N,N=t)):(Q=N,N=t));else b=t;return b!==t&&(Me=m,b=Rn(b)),m=b,m}function sS(){var m,b,N,K,ce,Se;if(m=Q,r.charCodeAt(Q)===45?(b=wA,Q++):(b=t,I===0&&Qe(Gl)),b===t&&(r.charCodeAt(Q)===43?(b=Gs,Q++):(b=t,I===0&&Qe(Yl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(K=r.charAt(Q),Q++):(K=t,I===0&&Qe(ne)),K!==t)for(;K!==t;)N.push(K),qe.test(r.charAt(Q))?(K=r.charAt(Q),Q++):(K=t,I===0&&Qe(ne));else N=t;if(N!==t)if(r.charCodeAt(Q)===46?(K=UE,Q++):(K=t,I===0&&Qe(Rp)),K!==t){if(ce=[],qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne));else ce=t;ce!==t?(Me=m,b=Eg(b,N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;if(m===t){if(m=Q,r.charCodeAt(Q)===45?(b=wA,Q++):(b=t,I===0&&Qe(Gl)),b===t&&(r.charCodeAt(Q)===43?(b=Gs,Q++):(b=t,I===0&&Qe(Yl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(K=r.charAt(Q),Q++):(K=t,I===0&&Qe(ne)),K!==t)for(;K!==t;)N.push(K),qe.test(r.charAt(Q))?(K=r.charAt(Q),Q++):(K=t,I===0&&Qe(ne));else N=t;N!==t?(Me=m,b=Fp(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;if(m===t&&(m=Q,b=aS(),b!==t&&(Me=m,b=KE(b)),m=b,m===t&&(m=Q,b=ql(),b!==t&&(Me=m,b=jl(b)),m=b,m===t)))if(m=Q,r.charCodeAt(Q)===40?(b=ge,Q++):(b=t,I===0&&Qe(re)),b!==t){for(N=[],K=He();K!==t;)N.push(K),K=He();if(N!==t)if(K=Z1(),K!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(Q)===41?(Se=O,Q++):(Se=t,I===0&&Qe(F)),Se!==t?(Me=m,b=HE(K),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t}return m}function oS(){var m,b,N,K,ce,Se,ht,Bt;if(m=Q,b=sS(),b!==t){for(N=[],K=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=Ig,Q++):(Se=t,I===0&&Qe(BA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=K,ce=Ys(b,Se,Bt),K=ce):(Q=K,K=t)):(Q=K,K=t)}else Q=K,K=t;else Q=K,K=t;for(;K!==t;){for(N.push(K),K=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=Ig,Q++):(Se=t,I===0&&Qe(BA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=K,ce=Ys(b,Se,Bt),K=ce):(Q=K,K=t)):(Q=K,K=t)}else Q=K,K=t;else Q=K,K=t}N!==t?(Me=m,b=js(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function Z1(){var m,b,N,K,ce,Se,ht,Bt;if(m=Q,b=oS(),b!==t){for(N=[],K=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Gs,Q++):(Se=t,I===0&&Qe(Yl)),Se===t&&(r.charCodeAt(Q)===45?(Se=wA,Q++):(Se=t,I===0&&Qe(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Me=K,ce=yg(b,Se,Bt),K=ce):(Q=K,K=t)):(Q=K,K=t)}else Q=K,K=t;else Q=K,K=t;for(;K!==t;){for(N.push(K),K=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Gs,Q++):(Se=t,I===0&&Qe(Yl)),Se===t&&(r.charCodeAt(Q)===45?(Se=wA,Q++):(Se=t,I===0&&Qe(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Me=K,ce=yg(b,Se,Bt),K=ce):(Q=K,K=t)):(Q=K,K=t)}else Q=K,K=t;else Q=K,K=t}N!==t?(Me=m,b=js(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function _1(){var m,b,N,K,ce,Se;if(m=Q,r.substr(Q,3)===QA?(b=QA,Q+=3):(b=t,I===0&&Qe(R)),b!==t){for(N=[],K=He();K!==t;)N.push(K),K=He();if(N!==t)if(K=Z1(),K!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(Q,2)===q?(Se=q,Q+=2):(Se=t,I===0&&Qe(Ce)),Se!==t?(Me=m,b=Ue(K),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;return m}function $1(){var m,b,N,K;return m=Q,r.substr(Q,2)===Re?(b=Re,Q+=2):(b=t,I===0&&Qe(ze)),b!==t?(N=Mr(),N!==t?(r.charCodeAt(Q)===41?(K=O,Q++):(K=t,I===0&&Qe(F)),K!==t?(Me=m,b=dt(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function aS(){var m,b,N,K,ce,Se;return m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Ln)),b!==t?(N=ql(),N!==t?(r.substr(Q,2)===Jb?(K=Jb,Q+=2):(K=t,I===0&&Qe(P1)),K!==t?(ce=Y1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=D1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Ln)),b!==t?(N=ql(),N!==t?(r.substr(Q,3)===Wb?(K=Wb,Q+=3):(K=t,I===0&&Qe(k1)),K!==t?(Me=m,b=R1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Ln)),b!==t?(N=ql(),N!==t?(r.substr(Q,2)===zb?(K=zb,Q+=2):(K=t,I===0&&Qe(F1)),K!==t?(ce=Y1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=N1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Ln)),b!==t?(N=ql(),N!==t?(r.substr(Q,3)===Vb?(K=Vb,Q+=3):(K=t,I===0&&Qe(L1)),K!==t?(Me=m,b=T1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Ln)),b!==t?(N=ql(),N!==t?(r.charCodeAt(Q)===125?(K=Fe,Q++):(K=t,I===0&&Qe(Ne)),K!==t?(Me=m,b=Xb(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.charCodeAt(Q)===36?(b=O1,Q++):(b=t,I===0&&Qe(M1)),b!==t?(N=ql(),N!==t?(Me=m,b=Xb(N),m=b):(Q=m,m=t)):(Q=m,m=t)))))),m}function Qge(){var m,b,N;return m=Q,b=bge(),b!==t?(Me=Q,N=U1(b),N?N=void 0:N=t,N!==t?(Me=m,b=K1(b),m=b):(Q=m,m=t)):(Q=m,m=t),m}function bge(){var m,b,N,K,ce;if(m=Q,b=[],N=Q,K=Q,I++,ce=rU(),I--,ce===t?K=void 0:(Q=K,K=t),K!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,K=An(ce),N=K):(Q=N,N=t)):(Q=N,N=t),N!==t)for(;N!==t;)b.push(N),N=Q,K=Q,I++,ce=rU(),I--,ce===t?K=void 0:(Q=K,K=t),K!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,K=An(ce),N=K):(Q=N,N=t)):(Q=N,N=t);else b=t;return b!==t&&(Me=m,b=Rn(b)),m=b,m}function eU(){var m,b,N;if(m=Q,b=[],Zb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(_b)),N!==t)for(;N!==t;)b.push(N),Zb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(_b));else b=t;return b!==t&&(Me=m,b=$b()),m=b,m}function ql(){var m,b,N;if(m=Q,b=[],eS.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(tS)),N!==t)for(;N!==t;)b.push(N),eS.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(tS));else b=t;return b!==t&&(Me=m,b=$b()),m=b,m}function tU(){var m;return H1.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(wg)),m}function rU(){var m;return rS.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(iS)),m}function He(){var m,b;if(m=[],YE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(jE)),b!==t)for(;b!==t;)m.push(b),YE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(jE));else m=t;return m}if(k=n(),k!==t&&Q===r.length)return k;throw k!==t&&Q{"use strict";function Sfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function $l(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$l)}Sfe($l,Error);$l.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new $l(ne,null,null,Y)}function oe(ne,Y,he){return new $l($l.buildMessage(ne,Y),ne,Y,he)}function le(){var ne,Y,he,ie;return ne=v,Y=Be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Fe(o)),he!==t?(ie=Be(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Be(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function Be(){var ne,Y,he,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Fe(u)),he!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,he,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(he=ae(),he!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function ae(){var ne,Y,he;if(ne=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,he;if(ne=v,Y=[],y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B)),he!==t)for(;he!==t;)Y.push(he),y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function dK(r){return typeof r>"u"||r===null}function xfe(r){return typeof r=="object"&&r!==null}function Pfe(r){return Array.isArray(r)?r:dK(r)?[]:[r]}function Dfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Vp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Vp.prototype=Object.create(Error.prototype);Vp.prototype.constructor=Vp;Vp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};CK.exports=Vp});var IK=w((wZe,EK)=>{"use strict";var mK=tc();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),mK.repeat(" ",e)+i+a+s+` +`+mK.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: +`+t)),i};EK.exports=HS});var si=w((BZe,wK)=>{"use strict";var yK=Ng(),Ffe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Nfe=["scalar","sequence","mapping"];function Lfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Tfe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Ffe.indexOf(t)===-1)throw new yK('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Lfe(e.styleAliases||null),Nfe.indexOf(this.kind)===-1)throw new yK('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}wK.exports=Tfe});var rc=w((QZe,QK)=>{"use strict";var BK=tc(),dI=Ng(),Ofe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Mfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Ufe=si();bK.exports=new Ufe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var xK=w((SZe,vK)=>{"use strict";var Kfe=si();vK.exports=new Kfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var DK=w((vZe,PK)=>{"use strict";var Hfe=si();PK.exports=new Hfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((xZe,kK)=>{"use strict";var Gfe=rc();kK.exports=new Gfe({explicit:[SK(),xK(),DK()]})});var FK=w((PZe,RK)=>{"use strict";var Yfe=si();function jfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function qfe(){return null}function Jfe(r){return r===null}RK.exports=new Yfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:jfe,construct:qfe,predicate:Jfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var LK=w((DZe,NK)=>{"use strict";var Wfe=si();function zfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Vfe(r){return r==="true"||r==="True"||r==="TRUE"}function Xfe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}NK.exports=new Wfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:zfe,construct:Vfe,predicate:Xfe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var OK=w((kZe,TK)=>{"use strict";var Zfe=tc(),_fe=si();function $fe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function ehe(r){return 48<=r&&r<=55}function the(r){return 48<=r&&r<=57}function rhe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var KK=w((RZe,UK)=>{"use strict";var MK=tc(),she=si(),ohe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ahe(r){return!(r===null||!ohe.test(r)||r[r.length-1]==="_")}function Ahe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var lhe=/^[-+]?[0-9]+e/;function che(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(MK.isNegativeZero(r))return"-0.0";return t=r.toString(10),lhe.test(t)?t.replace("e",".e"):t}function uhe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||MK.isNegativeZero(r))}UK.exports=new she("tag:yaml.org,2002:float",{kind:"scalar",resolve:ahe,construct:Ahe,predicate:uhe,represent:che,defaultStyle:"lowercase"})});var YS=w((FZe,HK)=>{"use strict";var ghe=rc();HK.exports=new ghe({include:[CI()],implicit:[FK(),LK(),OK(),KK()]})});var jS=w((NZe,GK)=>{"use strict";var fhe=rc();GK.exports=new fhe({include:[YS()]})});var JK=w((LZe,qK)=>{"use strict";var hhe=si(),YK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),jK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function phe(r){return r===null?!1:YK.exec(r)!==null||jK.exec(r)!==null}function dhe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=YK.exec(r),e===null&&(e=jK.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Che(r){return r.toISOString()}qK.exports=new hhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:phe,construct:dhe,instanceOf:Date,represent:Che})});var zK=w((TZe,WK)=>{"use strict";var mhe=si();function Ehe(r){return r==="<<"||r===null}WK.exports=new mhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Ehe})});var ZK=w((OZe,XK)=>{"use strict";var ic;try{VK=J,ic=VK("buffer").Buffer}catch{}var VK,Ihe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function yhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function whe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function Bhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function Qhe(r){return ic&&ic.isBuffer(r)}XK.exports=new Ihe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:yhe,construct:whe,predicate:Qhe,represent:Bhe})});var $K=w((UZe,_K)=>{"use strict";var bhe=si(),She=Object.prototype.hasOwnProperty,vhe=Object.prototype.toString;function xhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Dhe=si(),khe=Object.prototype.toString;function Rhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Nhe=si(),Lhe=Object.prototype.hasOwnProperty;function The(r){if(r===null)return!0;var e,t=r;for(e in t)if(Lhe.call(t,e)&&t[e]!==null)return!1;return!0}function Ohe(r){return r!==null?r:{}}r2.exports=new Nhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:The,construct:Ohe})});var Tg=w((GZe,n2)=>{"use strict";var Mhe=rc();n2.exports=new Mhe({include:[jS()],implicit:[JK(),zK()],explicit:[ZK(),$K(),t2(),i2()]})});var o2=w((YZe,s2)=>{"use strict";var Uhe=si();function Khe(){return!0}function Hhe(){}function Ghe(){return""}function Yhe(r){return typeof r>"u"}s2.exports=new Uhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Khe,construct:Hhe,predicate:Yhe,represent:Ghe})});var A2=w((jZe,a2)=>{"use strict";var jhe=si();function qhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Jhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Whe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function zhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}a2.exports=new jhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:qhe,construct:Jhe,predicate:zhe,represent:Whe})});var u2=w((qZe,c2)=>{"use strict";var mI;try{l2=J,mI=l2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var l2,Vhe=si();function Xhe(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Zhe(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function _he(r){return r.toString()}function $he(r){return Object.prototype.toString.call(r)==="[object Function]"}c2.exports=new Vhe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Xhe,construct:Zhe,predicate:$he,represent:_he})});var Xp=w((WZe,f2)=>{"use strict";var g2=rc();f2.exports=g2.DEFAULT=new g2({include:[Tg()],explicit:[o2(),A2(),u2()]})});var R2=w((zZe,Zp)=>{"use strict";var wa=tc(),I2=Ng(),epe=IK(),y2=Tg(),tpe=Xp(),kA=Object.prototype.hasOwnProperty,EI=1,w2=2,B2=3,II=4,JS=1,rpe=2,h2=3,ipe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,npe=/[\x85\u2028\u2029]/,spe=/[,\[\]\{\}]/,Q2=/^(?:!|!!|![a-z\-]+!)$/i,b2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function p2(r){return Object.prototype.toString.call(r)}function vo(r){return r===10||r===13}function sc(r){return r===9||r===32}function gn(r){return r===9||r===32||r===10||r===13}function Og(r){return r===44||r===91||r===93||r===123||r===125}function ope(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function ape(r){return r===120?2:r===117?4:r===85?8:0}function Ape(r){return 48<=r&&r<=57?r-48:-1}function d2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` +`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function lpe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var S2=new Array(256),v2=new Array(256);for(nc=0;nc<256;nc++)S2[nc]=d2(nc)?1:0,v2[nc]=d2(nc);var nc;function cpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||tpe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function x2(r,e){return new I2(e,new epe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw x2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,x2(r,e))}var C2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Q2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),kA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),b2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function DA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=wa.repeat(` +`,e-1))}function upe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),gn(h)||Og(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),gn(n)||t&&Og(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),gn(n)||t&&Og(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),gn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Og(h))break;if(vo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(DA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return DA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function gpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(DA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else vo(t)?(DA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function fpe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return DA(r,t,r.position,!0),r.position++,!0;if(a===92){if(DA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),vo(a))zr(r,!1,e);else if(a<256&&S2[a])r.result+=v2[a],r.position++;else if((o=ape(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=ope(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=lpe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else vo(a)?(DA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function hpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),gn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Ug(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Ug(r,e,EI,!1,!0),C=r.result),g?Mg(r,s,f,p,h,C):c?s.push(Mg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function ppe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?h2:rpe:ft(r,"repeat of a chomping mode identifier");else if((u=Ape(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!vo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),vo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Ug(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Mg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function Ipe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!gn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;sc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!vo(o));break}if(vo(o))break;for(t=r.position;o!==0&&!gn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),kA.call(C2,i)?C2[i](r,i,n):yI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Ug(r,r.lineIndent-1,II,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&npe.test(r.input.slice(e,r.position))&&yI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&wI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=P2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),D2(r,e,wa.extend({schema:y2},t))}function wpe(r,e){return k2(r,wa.extend({schema:y2},e))}Zp.exports.loadAll=D2;Zp.exports.load=k2;Zp.exports.safeLoadAll=ype;Zp.exports.safeLoad=wpe});var tH=w((VZe,_S)=>{"use strict";var $p=tc(),ed=Ng(),Bpe=Xp(),Qpe=Tg(),K2=Object.prototype.toString,H2=Object.prototype.hasOwnProperty,bpe=9,_p=10,Spe=13,vpe=32,xpe=33,Ppe=34,G2=35,Dpe=37,kpe=38,Rpe=39,Fpe=42,Y2=44,Npe=45,j2=58,Lpe=61,Tpe=62,Ope=63,Mpe=64,q2=91,J2=93,Upe=96,W2=123,Kpe=124,z2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var Hpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Gpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&L2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Kg(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&L2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?X2:Z2:t>9&&V2(r)?BI:c?$2:_2}function zpe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Hpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return jpe(r,l)}switch(Wpe(e,o,r.indent,s,a)){case X2:return e;case Z2:return"'"+e.replace(/'/g,"''")+"'";case _2:return"|"+T2(e,r.indent)+O2(N2(e,n));case $2:return">"+T2(e,r.indent)+O2(N2(Vpe(e,s),n));case BI:return'"'+Xpe(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function T2(r,e){var t=V2(r)?String(e):"",i=r[r.length-1]===` +`,n=i&&(r[r.length-2]===` +`||r===` +`),s=n?"+":i?"":"-";return t+s+` +`}function O2(r){return r[r.length-1]===` +`?r.slice(0,-1):r}function Vpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` +`);return c=c!==-1?c:r.length,t.lastIndex=c,M2(r.slice(0,c),e)}(),n=r[0]===` +`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+M2(l,e),n=s}return i}function M2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+r.slice(n,s),n=s+1),o=a;return l+=` +`,r.length-n>e&&o>n?l+=r.slice(n,o)+` +`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Xpe(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=F2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Kg(t)?r[s]:n||F2(t)}return e}function Zpe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),oc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function ede(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new ed("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&_p===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),oc(r,e+1,u,!0,g)&&(r.dump&&_p===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function U2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function oc(r,e,t,i,n,s){r.tag=null,r.dump=t,U2(r,t,!1)||U2(r,t,!0);var o=K2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(ede(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):($pe(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(_pe(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Zpe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&zpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new ed("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function tde(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var QI=R2(),rH=tH();function bI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Tg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=QI.load;Fr.exports.loadAll=QI.loadAll;Fr.exports.safeLoad=QI.safeLoad;Fr.exports.safeLoadAll=QI.safeLoadAll;Fr.exports.dump=rH.dump;Fr.exports.safeDump=rH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Tg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=bI("scan");Fr.exports.parse=bI("parse");Fr.exports.compose=bI("compose");Fr.exports.addConstructor=bI("addConstructor")});var sH=w((ZZe,nH)=>{"use strict";var ide=iH();nH.exports=ide});var aH=w((_Ze,oH)=>{"use strict";function nde(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}nde(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ue]:Ce})))},H=function(R){return R},j=function(R){return R},$=Ks("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===QA*yg},A=function(R){return R.length===(QA+1)*yg},Ae=function(){return QA++,!0},ge=function(){return QA--,!0},re=function(){return pg()},O=Ks("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Nn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,ke=Nn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return pg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,Be=Nn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,ae=Nn(["\r",` +`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Or=Ks("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Us=/^[^"\\\0-\x1F\x7F]/,pr=Nn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),ga=function(){return'"'},dA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},CA="\\/",fa=ar("\\/",!1),wp=function(){return"/"},mA="\\b",EA=ar("\\b",!1),wr=function(){return"\b"},Ll="\\f",ug=ar("\\f",!1),Io=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),Qp=function(){return` +`},vr="\\r",se=ar("\\r",!1),yo=function(){return"\r"},Rn="\\t",fg=ar("\\t",!1),Qt=function(){return" "},Tl="\\u",Fn=ar("\\u",!1),ns=function(R,q,Ce,Ue){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ue}`))},ss=/^[0-9a-fA-F]/,gt=Nn([["0","9"],["a","f"],["A","F"]],!1,!1),wo=Ks("blank space"),At=/^[ \t]/,An=Nn([" "," "],!1,!1),S=Ks("white space"),Tt=/^[ \t\n\r]/,hg=Nn([" "," ",` +`,"\r"],!1,!1),Ol=`\r +`,bp=ar(`\r +`,!1),Sp=` +`,vp=ar(` +`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,IA=[{line:1,column:1}],Wi=0,Ml=[],Xe=0,ha;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function OE(){return ln(yt,G)}function Dp(R,q){throw q=q!==void 0?q:ln(yt,G),Kl([Ks(R)],r.substring(yt,G),q)}function ME(R,q){throw q=q!==void 0?q:ln(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Nn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Ul(){return{type:"any"}}function kp(){return{type:"end"}}function Ks(R){return{type:"other",description:R}}function pa(R){var q=IA[R],Ce;if(q)return q;for(Ce=R-1;!IA[Ce];)Ce--;for(q=IA[Ce],q={line:q.line,column:q.column};CeWi&&(Wi=G,Ml=[]),Ml.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Kl(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=yA();Ce!==t;)q.push(Ce),Ce=yA();return q!==t&&(yt=R,q=s(q)),R=q,R}function yA(){var R,q,Ce,Ue,Re;return R=G,q=Ca(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Te(a)),Ce!==t?(Ue=Rr(),Ue!==t?(Re=da(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ue,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ue=u,G++):(Ue=t,Xe===0&&Te(g)),Ue!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ue=[Ue,Re],Ce=Ue):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ue=[],Re=Ys(),Re!==t)for(;Re!==t;)Ue.push(Re),Re=Ys();else Ue=t;Ue!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=Ca(),q!==t?(Ce=Gl(),Ce!==t?(Ue=Rr(),Ue===t&&(Ue=null),Ue!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=da(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Ca(),q!==t?(Ce=Gs(),Ce!==t?(Ue=Rr(),Ue===t&&(Ue=null),Ue!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=da(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=Ca(),q!==t)if(Ce=Gs(),Ce!==t)if(Ue=Rr(),Ue!==t)if(Re=UE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=Ca(),q!==t)if(Ce=Gs(),Ce!==t){if(Ue=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ue.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ue=t;Ue!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Te(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=da(),Ft!==t?(yt=R,q=L(Ce,Ue,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function da(){var R,q,Ce,Ue,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ue=js(),Ue!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Te(a)),ze!==t?(dt=Rr(),dt!==t?(Ue=[Ue,Re,ze,dt],Ce=Ue):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ue=Bo(),Ue!==t?(Re=Hl(),Re!==t?(ze=wA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=Bo(),Ce!==t?(Ue=Cg(),Ue!==t?(Re=wA(),Re!==t?(yt=R,q=H(Ue),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ue=Ys(),Ue!==t)for(;Ue!==t;)Ce.push(Ue),Ue=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function Ca(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Te($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Bo(){var R;return yt=G,R=Ae(),R?R=void 0:R=t,R}function wA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Gl(){var R;return R=jl(),R===t&&(R=Rp()),R}function Gs(){var R,q,Ce;if(R=jl(),R===t){if(R=G,q=[],Ce=Eg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Eg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Yl(){var R;return R=Fp(),R===t&&(R=KE(),R===t&&(R=jl(),R===t&&(R=Rp()))),R}function UE(){var R;return R=Fp(),R===t&&(R=jl(),R===t&&(R=Eg())),R}function Rp(){var R,q,Ce,Ue,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ue)),q!==t){for(Ce=[],Ue=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ue=Re):(G=Ue,Ue=t)):(G=Ue,Ue=t);Ue!==t;)Ce.push(Ue),Ue=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ue=Re):(G=Ue,Ue=t)):(G=Ue,Ue=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(O)),R}function Eg(){var R,q,Ce,Ue,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Te(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Te(Be)),Ce!==t){for(Ue=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(ae));Re!==t;)Ue.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(ae));Ue!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Fp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Te(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function KE(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,Xe===0&&Te(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Te(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function jl(){var R,q,Ce,Ue;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Te(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(Ce=HE(),Ce!==t?(r.charCodeAt(G)===34?(Ue=ii,G++):(Ue=t,Xe===0&&Te(gi)),Ue!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Te(Or)),R}function HE(){var R,q,Ce;if(R=G,q=[],Ce=Ig(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Ig();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Ig(){var R,q,Ce,Ue,Re,ze;return Us.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Te(rs)),q!==t&&(yt=R,q=ga()),R=q,R===t&&(R=G,r.substr(G,2)===dA?(q=dA,G+=2):(q=t,Xe===0&&Te(cg)),q!==t&&(yt=R,q=is()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Te(fa)),q!==t&&(yt=R,q=wp()),R=q,R===t&&(R=G,r.substr(G,2)===mA?(q=mA,G+=2):(q=t,Xe===0&&Te(EA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===Ll?(q=Ll,G+=2):(q=t,Xe===0&&Te(ug)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===gg?(q=gg,G+=2):(q=t,Xe===0&&Te(Bp)),q!==t&&(yt=R,q=Qp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Te(se)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===Rn?(q=Rn,G+=2):(q=t,Xe===0&&Te(fg)),q!==t&&(yt=R,q=Qt()),R=q,R===t&&(R=G,r.substr(G,2)===Tl?(q=Tl,G+=2):(q=t,Xe===0&&Te(Fn)),q!==t?(Ce=BA(),Ce!==t?(Ue=BA(),Ue!==t?(Re=BA(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=ns(Ce,Ue,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function BA(){var R;return ss.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(An)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(An));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(wo)),R}function GE(){var R,q;if(Xe++,R=[],Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(hg)),q!==t)for(;q!==t;)R.push(q),Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(hg));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(S)),R}function Ys(){var R,q,Ce,Ue,Re,ze;if(R=G,q=js(),q!==t){for(Ce=[],Ue=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ue=Re):(G=Ue,Ue=t)):(G=Ue,Ue=t);Ue!==t;)Ce.push(Ue),Ue=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ue=Re):(G=Ue,Ue=t)):(G=Ue,Ue=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function js(){var R;return r.substr(G,2)===Ol?(R=Ol,G+=2):(R=t,Xe===0&&Te(bp)),R===t&&(r.charCodeAt(G)===10?(R=Sp,G++):(R=t,Xe===0&&Te(vp)),R===t&&(r.charCodeAt(G)===13?(R=xp,G++):(R=t,Xe===0&&Te(Pp)))),R}let yg=2,QA=0;if(ha=n(),ha!==t&&G===r.length)return ha;throw ha!==t&&G{"use strict";var cde=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=cde(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=gH;ev.exports.default=gH});var hH=w((n_e,ude)=>{ude.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ac=w(Un=>{"use strict";var dH=hH(),xo=process.env;Object.defineProperty(Un,"_vendors",{value:dH.map(function(r){return r.constant})});Un.name=null;Un.isPR=null;dH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return pH(i)});if(Un[r.constant]=t,t)switch(Un.name=r.name,typeof r.pr){case"string":Un.isPR=!!xo[r.pr];break;case"object":"env"in r.pr?Un.isPR=r.pr.env in xo&&xo[r.pr.env]!==r.pr.ne:"any"in r.pr?Un.isPR=r.pr.any.some(function(i){return!!xo[i]}):Un.isPR=pH(r.pr);break;default:Un.isPR=null}});Un.isCI=!!(xo.CI||xo.CONTINUOUS_INTEGRATION||xo.BUILD_NUMBER||xo.RUN_ID||Un.name);function pH(r){return typeof r=="string"?!!xo[r]:Object.keys(r).every(function(e){return xo[e]===r[e]})}});var fn={};ut(fn,{KeyRelationship:()=>lc,applyCascade:()=>od,base64RegExp:()=>yH,colorStringAlphaRegExp:()=>IH,colorStringRegExp:()=>EH,computeKey:()=>RA,getPrintable:()=>Vr,hasExactLength:()=>SH,hasForbiddenKeys:()=>Yde,hasKeyRelationship:()=>av,hasMaxLength:()=>Sde,hasMinLength:()=>bde,hasMutuallyExclusiveKeys:()=>jde,hasRequiredKeys:()=>Gde,hasUniqueItems:()=>vde,isArray:()=>Cde,isAtLeast:()=>Dde,isAtMost:()=>kde,isBase64:()=>Kde,isBoolean:()=>hde,isDate:()=>dde,isDict:()=>Ede,isEnum:()=>Xi,isHexColor:()=>Ude,isISO8601:()=>Mde,isInExclusiveRange:()=>Fde,isInInclusiveRange:()=>Rde,isInstanceOf:()=>yde,isInteger:()=>Nde,isJSON:()=>Hde,isLiteral:()=>gde,isLowerCase:()=>Lde,isNegative:()=>xde,isNullable:()=>Qde,isNumber:()=>pde,isObject:()=>Ide,isOneOf:()=>wde,isOptional:()=>Bde,isPositive:()=>Pde,isString:()=>sd,isTuple:()=>mde,isUUID4:()=>Ode,isUnknown:()=>bH,isUpperCase:()=>Tde,iso8601RegExp:()=>ov,makeCoercionFn:()=>cc,makeSetter:()=>QH,makeTrait:()=>BH,makeValidator:()=>bt,matchesRegExp:()=>ad,plural:()=>kI,pushError:()=>pt,simpleKeyRegExp:()=>mH,uuid4RegExp:()=>wH});function bt({test:r}){return BH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function RA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:mH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function cc(r,e){return t=>{let i=r[e];return r[e]=t,cc(r,e).bind(null,i)}}function QH(r,e){return t=>{r[e]=t}}function kI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function gde(r){return bt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Xi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return bt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var mH,EH,IH,yH,wH,ov,BH,bH,sd,fde,hde,pde,dde,Cde,mde,Ede,Ide,yde,wde,od,Bde,Qde,bde,Sde,SH,vde,xde,Pde,Dde,kde,Rde,Fde,Nde,ad,Lde,Tde,Ode,Mde,Ude,Kde,Hde,Gde,Yde,jde,lc,qde,av,ls=kge(()=>{mH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,EH=/^#[0-9a-f]{6}$/i,IH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,yH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,wH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,BH=r=>()=>r;bH=()=>bt({test:(r,e)=>!0});sd=()=>bt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});fde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),hde=()=>bt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=fde.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),pde=()=>bt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),dde=()=>bt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),Cde=(r,{delimiter:e}={})=>bt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=SH(r.length);return bt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;abt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return bt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:RA(n,l),coercion:cc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:QH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},yde=r=>bt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),wde=(r,{exclusive:e=!1}={})=>bt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),od=(r,e)=>bt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Bde=r=>bt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),Qde=r=>bt({test:(e,t)=>e===null?!0:r(e,t)}),bde=r=>bt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Sde=r=>bt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),SH=r=>bt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),vde=({map:r}={})=>bt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sbt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Pde=()=>bt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Dde=r=>bt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),kde=r=>bt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Rde=(r,e)=>bt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Fde=(r,e)=>bt({test:(t,i)=>t>=r&&tbt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),ad=r=>bt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Lde=()=>bt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Tde=()=>bt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Ode=()=>bt({test:(r,e)=>wH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Mde=()=>bt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Ude=({alpha:r=!1})=>bt({test:(e,t)=>(r?EH.test(e):IH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Kde=()=>bt({test:(r,e)=>yH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),Hde=(r=bH())=>bt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),Gde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Yde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},jde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(lc||(lc={}));qde={[lc.Forbids]:{expect:!1,message:"forbids using"},[lc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=qde[e];return bt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${kI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var YH=w((n$e,GH)=>{"use strict";GH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Jg=w((s$e,pv)=>{"use strict";var ACe=YH(),jH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=ACe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=jH;pv.exports.default=jH});var gd=w((a$e,qH)=>{var lCe="2.0.0",cCe=Number.MAX_SAFE_INTEGER||9007199254740991,uCe=16;qH.exports={SEMVER_SPEC_VERSION:lCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:cCe,MAX_SAFE_COMPONENT_LENGTH:uCe}});var fd=w((A$e,JH)=>{var gCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};JH.exports=gCe});var uc=w((NA,WH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=gd(),fCe=fd();NA=WH.exports={};var hCe=NA.re=[],et=NA.src=[],tt=NA.t={},pCe=0,St=(r,e,t)=>{let i=pCe++;fCe(i,e),tt[r]=i,et[i]=e,hCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);NA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);NA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);NA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var hd=w((l$e,zH)=>{var dCe=["includePrerelease","loose","rtl"],CCe=r=>r?typeof r!="object"?{loose:!0}:dCe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};zH.exports=CCe});var OI=w((c$e,ZH)=>{var VH=/^[0-9]+$/,XH=(r,e)=>{let t=VH.test(r),i=VH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rXH(e,r);ZH.exports={compareIdentifiers:XH,rcompareIdentifiers:mCe}});var Ti=w((u$e,tG)=>{var MI=fd(),{MAX_LENGTH:_H,MAX_SAFE_INTEGER:UI}=gd(),{re:$H,t:eG}=uc(),ECe=hd(),{compareIdentifiers:pd}=OI(),Gn=class{constructor(e,t){if(t=ECe(t),e instanceof Gn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>_H)throw new TypeError(`version is longer than ${_H} characters`);MI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?$H[eG.LOOSE]:$H[eG.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>UI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>UI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>UI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};tG.exports=Gn});var gc=w((g$e,sG)=>{var{MAX_LENGTH:ICe}=gd(),{re:rG,t:iG}=uc(),nG=Ti(),yCe=hd(),wCe=(r,e)=>{if(e=yCe(e),r instanceof nG)return r;if(typeof r!="string"||r.length>ICe||!(e.loose?rG[iG.LOOSE]:rG[iG.FULL]).test(r))return null;try{return new nG(r,e)}catch{return null}};sG.exports=wCe});var aG=w((f$e,oG)=>{var BCe=gc(),QCe=(r,e)=>{let t=BCe(r,e);return t?t.version:null};oG.exports=QCe});var lG=w((h$e,AG)=>{var bCe=gc(),SCe=(r,e)=>{let t=bCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};AG.exports=SCe});var uG=w((p$e,cG)=>{var vCe=Ti(),xCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new vCe(r,t).inc(e,i).version}catch{return null}};cG.exports=xCe});var cs=w((d$e,fG)=>{var gG=Ti(),PCe=(r,e,t)=>new gG(r,t).compare(new gG(e,t));fG.exports=PCe});var KI=w((C$e,hG)=>{var DCe=cs(),kCe=(r,e,t)=>DCe(r,e,t)===0;hG.exports=kCe});var CG=w((m$e,dG)=>{var pG=gc(),RCe=KI(),FCe=(r,e)=>{if(RCe(r,e))return null;{let t=pG(r),i=pG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};dG.exports=FCe});var EG=w((E$e,mG)=>{var NCe=Ti(),LCe=(r,e)=>new NCe(r,e).major;mG.exports=LCe});var yG=w((I$e,IG)=>{var TCe=Ti(),OCe=(r,e)=>new TCe(r,e).minor;IG.exports=OCe});var BG=w((y$e,wG)=>{var MCe=Ti(),UCe=(r,e)=>new MCe(r,e).patch;wG.exports=UCe});var bG=w((w$e,QG)=>{var KCe=gc(),HCe=(r,e)=>{let t=KCe(r,e);return t&&t.prerelease.length?t.prerelease:null};QG.exports=HCe});var vG=w((B$e,SG)=>{var GCe=cs(),YCe=(r,e,t)=>GCe(e,r,t);SG.exports=YCe});var PG=w((Q$e,xG)=>{var jCe=cs(),qCe=(r,e)=>jCe(r,e,!0);xG.exports=qCe});var HI=w((b$e,kG)=>{var DG=Ti(),JCe=(r,e,t)=>{let i=new DG(r,t),n=new DG(e,t);return i.compare(n)||i.compareBuild(n)};kG.exports=JCe});var FG=w((S$e,RG)=>{var WCe=HI(),zCe=(r,e)=>r.sort((t,i)=>WCe(t,i,e));RG.exports=zCe});var LG=w((v$e,NG)=>{var VCe=HI(),XCe=(r,e)=>r.sort((t,i)=>VCe(i,t,e));NG.exports=XCe});var dd=w((x$e,TG)=>{var ZCe=cs(),_Ce=(r,e,t)=>ZCe(r,e,t)>0;TG.exports=_Ce});var GI=w((P$e,OG)=>{var $Ce=cs(),eme=(r,e,t)=>$Ce(r,e,t)<0;OG.exports=eme});var Cv=w((D$e,MG)=>{var tme=cs(),rme=(r,e,t)=>tme(r,e,t)!==0;MG.exports=rme});var YI=w((k$e,UG)=>{var ime=cs(),nme=(r,e,t)=>ime(r,e,t)>=0;UG.exports=nme});var jI=w((R$e,KG)=>{var sme=cs(),ome=(r,e,t)=>sme(r,e,t)<=0;KG.exports=ome});var mv=w((F$e,HG)=>{var ame=KI(),Ame=Cv(),lme=dd(),cme=YI(),ume=GI(),gme=jI(),fme=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return ame(r,t,i);case"!=":return Ame(r,t,i);case">":return lme(r,t,i);case">=":return cme(r,t,i);case"<":return ume(r,t,i);case"<=":return gme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};HG.exports=fme});var YG=w((N$e,GG)=>{var hme=Ti(),pme=gc(),{re:qI,t:JI}=uc(),dme=(r,e)=>{if(r instanceof hme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(qI[JI.COERCE]);else{let i;for(;(i=qI[JI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),qI[JI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;qI[JI.COERCERTL].lastIndex=-1}return t===null?null:pme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};GG.exports=dme});var qG=w((L$e,jG)=>{"use strict";jG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var WI=w((T$e,JG)=>{"use strict";JG.exports=Ht;Ht.Node=fc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var Ime=WI(),hc=Symbol("max"),Sa=Symbol("length"),Wg=Symbol("lengthCalculator"),md=Symbol("allowStale"),pc=Symbol("maxAge"),ba=Symbol("dispose"),WG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Zs=Symbol("cache"),VG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[hc]=e.max||1/0,i=e.length||Ev;if(this[Wg]=typeof i!="function"?Ev:i,this[md]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[pc]=e.maxAge||0,this[ba]=e.dispose,this[WG]=e.noDisposeOnSet||!1,this[VG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[hc]=e||1/0,Cd(this)}get max(){return this[hc]}set allowStale(e){this[md]=!!e}get allowStale(){return this[md]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[pc]=e,Cd(this)}get maxAge(){return this[pc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[Wg]&&(this[Wg]=e,this[Sa]=0,this[di].forEach(t=>{t.length=this[Wg](t.value,t.key),this[Sa]+=t.length})),Cd(this)}get lengthCalculator(){return this[Wg]}get length(){return this[Sa]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;zG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;zG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[ba]&&this[di]&&this[di].length&&this[di].forEach(e=>this[ba](e.key,e.value)),this[Zs]=new Map,this[di]=new Ime,this[Sa]=0}dump(){return this[di].map(e=>zI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[pc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wg](t,e);if(this[Zs].has(e)){if(s>this[hc])return zg(this,this[Zs].get(e)),!1;let l=this[Zs].get(e).value;return this[ba]&&(this[WG]||this[ba](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Sa]+=s-l.length,l.length=s,this.get(e),Cd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[hc]?(this[ba]&&this[ba](e,t),!1):(this[Sa]+=o.length,this[di].unshift(o),this[Zs].set(e,this[di].head),Cd(this),!0)}has(e){if(!this[Zs].has(e))return!1;let t=this[Zs].get(e).value;return!zI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(zg(this,e),e.value):null}del(e){zg(this,this[Zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Zs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Zs].get(e);if(i){let n=i.value;if(zI(r,n)){if(zg(r,i),!r[md])return}else t&&(r[VG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},zI=(r,e)=>{if(!e||!e.maxAge&&!r[pc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[pc]&&t>r[pc]},Cd=r=>{if(r[Sa]>r[hc])for(let e=r[di].tail;r[Sa]>r[hc]&&e!==null;){let t=e.prev;zg(r,e),e=t}},zg=(r,e)=>{if(e){let t=e.value;r[ba]&&r[ba](t.key,t.value),r[Sa]-=t.length,r[Zs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},zG=(r,e,t,i)=>{let n=t.value;zI(r,n)&&(zg(r,t),r[md]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};XG.exports=yv});var us=w((M$e,tY)=>{var dc=class{constructor(e,t){if(t=wme(t),e instanceof dc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!$G(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&vme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=_G.get(i);if(n)return n;let s=this.options.loose,o=s?Oi[Qi.HYPHENRANGELOOSE]:Oi[Qi.HYPHENRANGE];e=e.replace(o,Ome(this.options.includePrerelease)),Gr("hyphen replace",e),e=e.replace(Oi[Qi.COMPARATORTRIM],Qme),Gr("comparator trim",e,Oi[Qi.COMPARATORTRIM]),e=e.replace(Oi[Qi.TILDETRIM],bme),e=e.replace(Oi[Qi.CARETTRIM],Sme),e=e.split(/\s+/).join(" ");let a=s?Oi[Qi.COMPARATORLOOSE]:Oi[Qi.COMPARATOR],l=e.split(" ").map(f=>xme(f,this.options)).join(" ").split(/\s+/).map(f=>Tme(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if($G(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return _G.set(i,g),g}intersects(e,t){if(!(e instanceof dc))throw new TypeError("a Range is required");return this.set.some(i=>eY(i,t)&&e.set.some(n=>eY(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Bme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",vme=r=>r.value==="",eY=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},xme=(r,e)=>(Gr("comp",r,e),r=kme(r,e),Gr("caret",r),r=Pme(r,e),Gr("tildes",r),r=Fme(r,e),Gr("xrange",r),r=Lme(r,e),Gr("stars",r),r),_i=r=>!r||r.toLowerCase()==="x"||r==="*",Pme=(r,e)=>r.trim().split(/\s+/).map(t=>Dme(t,e)).join(" "),Dme=(r,e)=>{let t=e.loose?Oi[Qi.TILDELOOSE]:Oi[Qi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr("tilde",r,i,n,s,o,a);let l;return _i(n)?l="":_i(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:_i(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr("tilde return",l),l})},kme=(r,e)=>r.trim().split(/\s+/).map(t=>Rme(t,e)).join(" "),Rme=(r,e)=>{Gr("caret",r,e);let t=e.loose?Oi[Qi.CARETLOOSE]:Oi[Qi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Gr("caret",r,n,s,o,a,l);let c;return _i(s)?c="":_i(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:_i(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr("caret return",c),c})},Fme=(r,e)=>(Gr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Nme(t,e)).join(" ")),Nme=(r,e)=>{r=r.trim();let t=e.loose?Oi[Qi.XRANGELOOSE]:Oi[Qi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr("xRange",r,i,n,s,o,a,l);let c=_i(s),u=c||_i(o),g=u||_i(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr("xRange return",i),i})},Lme=(r,e)=>(Gr("replaceStars",r,e),r.trim().replace(Oi[Qi.STAR],"")),Tme=(r,e)=>(Gr("replaceGTE0",r,e),r.trim().replace(Oi[e.includePrerelease?Qi.GTE0PRE:Qi.GTE0],"")),Ome=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(_i(i)?t="":_i(n)?t=`>=${i}.0.0${r?"-0":""}`:_i(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,_i(c)?l="":_i(u)?l=`<${+c+1}.0.0-0`:_i(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Mme=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ed=w((U$e,oY)=>{var Id=Symbol("SemVer ANY"),Vg=class{static get ANY(){return Id}constructor(e,t){if(t=Ume(t),e instanceof Vg){if(e.loose===!!t.loose)return e;e=e.value}bv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Id?this.value="":this.value=this.operator+this.semver.version,bv("comp",this)}parse(e){let t=this.options.loose?rY[iY.COMPARATORLOOSE]:rY[iY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new nY(i[2],this.options.loose):this.semver=Id}toString(){return this.value}test(e){if(bv("Comparator.test",e,this.options.loose),this.semver===Id||e===Id)return!0;if(typeof e=="string")try{e=new nY(e,this.options)}catch{return!1}return Qv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new sY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new sY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Qv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Qv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};oY.exports=Vg;var Ume=hd(),{re:rY,t:iY}=uc(),Qv=mv(),bv=fd(),nY=Ti(),sY=us()});var yd=w((K$e,aY)=>{var Kme=us(),Hme=(r,e,t)=>{try{e=new Kme(e,t)}catch{return!1}return e.test(r)};aY.exports=Hme});var lY=w((H$e,AY)=>{var Gme=us(),Yme=(r,e)=>new Gme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));AY.exports=Yme});var uY=w((G$e,cY)=>{var jme=Ti(),qme=us(),Jme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new qme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new jme(i,t))}),i};cY.exports=Jme});var fY=w((Y$e,gY)=>{var Wme=Ti(),zme=us(),Vme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new zme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Wme(i,t))}),i};gY.exports=Vme});var dY=w((j$e,pY)=>{var Sv=Ti(),Xme=us(),hY=dd(),Zme=(r,e)=>{r=new Xme(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||hY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||hY(t,s))&&(t=s)}return t&&r.test(t)?t:null};pY.exports=Zme});var mY=w((q$e,CY)=>{var _me=us(),$me=(r,e)=>{try{return new _me(r,e).range||"*"}catch{return null}};CY.exports=$me});var VI=w((J$e,wY)=>{var eEe=Ti(),yY=Ed(),{ANY:tEe}=yY,rEe=us(),iEe=yd(),EY=dd(),IY=GI(),nEe=jI(),sEe=YI(),oEe=(r,e,t,i)=>{r=new eEe(r,i),e=new rEe(e,i);let n,s,o,a,l;switch(t){case">":n=EY,s=nEe,o=IY,a=">",l=">=";break;case"<":n=IY,s=sEe,o=EY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(iEe(r,e,i))return!1;for(let c=0;c{h.semver===tEe&&(h=new yY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};wY.exports=oEe});var QY=w((W$e,BY)=>{var aEe=VI(),AEe=(r,e,t)=>aEe(r,e,">",t);BY.exports=AEe});var SY=w((z$e,bY)=>{var lEe=VI(),cEe=(r,e,t)=>lEe(r,e,"<",t);bY.exports=cEe});var PY=w((V$e,xY)=>{var vY=us(),uEe=(r,e,t)=>(r=new vY(r,t),e=new vY(e,t),r.intersects(e));xY.exports=uEe});var kY=w((X$e,DY)=>{var gEe=yd(),fEe=cs();DY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>fEe(u,g,t));for(let u of o)gEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var RY=us(),XI=Ed(),{ANY:vv}=XI,wd=yd(),xv=cs(),hEe=(r,e,t={})=>{if(r===e)return!0;r=new RY(r,t),e=new RY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=pEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},pEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new XI(">=0.0.0-0")]:r=[new XI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new XI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=FY(n,h,t):h.operator==="<"||h.operator==="<="?s=NY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wd(h,String(n),t)||s&&!wd(h,String(s),t))return null;for(let p of e)if(!wd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=FY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=NY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},FY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},NY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};LY.exports=hEe});var Xr=w((_$e,OY)=>{var Pv=uc();OY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:gd().SEMVER_SPEC_VERSION,SemVer:Ti(),compareIdentifiers:OI().compareIdentifiers,rcompareIdentifiers:OI().rcompareIdentifiers,parse:gc(),valid:aG(),clean:lG(),inc:uG(),diff:CG(),major:EG(),minor:yG(),patch:BG(),prerelease:bG(),compare:cs(),rcompare:vG(),compareLoose:PG(),compareBuild:HI(),sort:FG(),rsort:LG(),gt:dd(),lt:GI(),eq:KI(),neq:Cv(),gte:YI(),lte:jI(),cmp:mv(),coerce:YG(),Comparator:Ed(),Range:us(),satisfies:yd(),toComparators:lY(),maxSatisfying:uY(),minSatisfying:fY(),minVersion:dY(),validRange:mY(),outside:VI(),gtr:QY(),ltr:SY(),intersects:PY(),simplifyRange:kY(),subset:TY()}});var Dv=w(ZI=>{"use strict";Object.defineProperty(ZI,"__esModule",{value:!0});ZI.VERSION=void 0;ZI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof _I=="object"&&_I.exports?_I.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:MY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ty=w(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.clearRegExpParserCache=Xg.getRegExpAst=void 0;var dEe=$I(),ey={},CEe=new dEe.RegExpParser;function mEe(r){var e=r.toString();if(ey.hasOwnProperty(e))return ey[e];var t=CEe.pattern(e);return ey[e]=t,t}Xg.getRegExpAst=mEe;function EEe(){ey={}}Xg.clearRegExpParserCache=EEe});var YY=w(dn=>{"use strict";var IEe=dn&&dn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.canMatchCharCode=dn.firstCharOptimizedIndices=dn.getOptimizedStartCodesIndices=dn.failedOptimizationPrefixMsg=void 0;var KY=$I(),gs=Gt(),HY=ty(),va=Rv(),GY="Complement Sets are not supported for first char optimization";dn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function yEe(r,e){e===void 0&&(e=!1);try{var t=(0,HY.getRegExpAst)(r),i=iy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===GY)e&&(0,gs.PRINT_WARNING)(""+dn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,gs.PRINT_ERROR)(dn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+r.toString()+` > +`)+(" Using the regexp-to-ast library version: "+KY.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}dn.getOptimizedStartCodesIndices=yEe;function iy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=va.minOptimizationVal)for(var f=u.from>=va.minOptimizationVal?u.from:va.minOptimizationVal,h=u.to,p=(0,va.charCodeToOptimizedIndex)(f),C=(0,va.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":iy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,gs.values)(e)}dn.firstCharOptimizedIndices=iy;function ry(r,e,t){var i=(0,va.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&wEe(r,e)}function wEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,va.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,va.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function UY(r,e){return(0,gs.find)(r.value,function(t){if(typeof t=="number")return(0,gs.contains)(e,t);var i=t;return(0,gs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,gs.isArray)(r.value)?(0,gs.every)(r.value,kv):kv(r.value):!1}var BEe=function(r){IEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,gs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?UY(t,this.targetCharCodes)===void 0&&(this.found=!0):UY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(KY.BaseRegExpVisitor);function QEe(r,e){if(e instanceof RegExp){var t=(0,HY.getRegExpAst)(e),i=new BEe(r);return i.visit(t),i.found}else return(0,gs.find)(e,function(n){return(0,gs.contains)(r,n.charCodeAt(0))})!==void 0}dn.canMatchCharCode=QEe});var Rv=w(Ve=>{"use strict";var jY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var qY=$I(),ir=Bd(),xe=Gt(),Zg=YY(),JY=ty(),Do="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function bEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=bEe;function SEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=SEe;function vEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){OEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[Do];if((0,xe.isRegExp)(D)){var L=D.source;return L.length===1&&L!=="^"&&L!=="$"&&L!=="."&&!D.ignoreCase?L:L.length===2&&L[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],L[1])?L[1]:e.useSticky?Lv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Lv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var L=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return L}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=oj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(nj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Ov),h=(0,xe.map)(s,ij),p=(0,xe.reduce)(i,function(v,D){var L=D.GROUP;return(0,xe.isString)(L)&&L!==ir.Lexer.SKIPPED&&(v[L]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,L){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Tv(H);Fv(v,j,C[L])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Tv(_);$!==A&&($=A,Fv(v,A,C[L]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[L])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=vEe;function xEe(r,e){var t=[],i=WY(r);t=t.concat(i.errors);var n=zY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(PEe(s)),t=t.concat(ej(s)),t=t.concat(tj(s,e)),t=t.concat(rj(s)),t}Ve.validatePatterns=xEe;function PEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[Do])});return e=e.concat(VY(t)),e=e.concat(ZY(t)),e=e.concat(_Y(t)),e=e.concat($Y(t)),e=e.concat(XY(t)),e}function WY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,Do)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=WY;function zY(r){var e=(0,xe.filter)(r,function(n){var s=n[Do];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=zY;var DEe=/[^\\][\$]/;function VY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return DEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=VY;function XY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=XY;var kEe=/[^\\[][\^]|^\^/;function ZY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return kEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=ZY;function _Y(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=_Y;function $Y(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=$Y;function ej(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=ej;function tj(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=tj;function rj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&FEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=rj;function REe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function FEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Lv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Lv;function NEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition +`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition +`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist +`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=NEe;function LEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oj(t);return e&&(0,xe.forEach)(o,function(l){var c=nj(l,a);if(c!==!1){var u=sj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=LEe;function TEe(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=TEe;function Ov(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=Ov;function ij(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=ij;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+r.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=sj;function oj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Tv(r){return r255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function MEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=MEe;function UEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=UEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function KEe(r){var e=aj(r);Aj(e),cj(e),lj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=KEe;function aj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=aj;function Aj(r){(0,Zr.forEach)(r,function(e){uj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Mv(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Mv(e)||(e.CATEGORIES=[]),gj(e)||(e.categoryMatches=[]),fj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=Aj;function lj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=lj;function cj(r){(0,Zr.forEach)(r,function(e){Uv([],e)})}Nt.assignCategoriesMapProp=cj;function Uv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Uv(i,t)})}Nt.singleAssignCategoriesToksMap=Uv;function uj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=uj;function Mv(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Mv;function gj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=gj;function fj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=fj;function HEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=HEe});var Kv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),GEe=_g(),YEe=Kv(),jEe=ty(),qEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(qEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var Qd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:YEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Qd);var JEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=Qd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(Qd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Qd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=_s.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Qd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[_s.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[_s.DEFAULT_MODE]=_s.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,_s.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,GEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,_s.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(_s.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,jEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,L=e,H=L.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var ga=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&ga?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;jc.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Cc.Lexer=JEe});var LA=w(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.tokenMatcher=bi.createTokenInstance=bi.EOF=bi.createToken=bi.hasTokenLabel=bi.tokenName=bi.tokenLabel=void 0;var $s=Gt(),WEe=Bd(),Hv=_g();function zEe(r){return wj(r)?r.LABEL:r.name}bi.tokenLabel=zEe;function VEe(r){return r.name}bi.tokenName=VEe;function wj(r){return(0,$s.isString)(r.LABEL)&&r.LABEL!==""}bi.hasTokenLabel=wj;var XEe="parent",hj="categories",pj="label",dj="group",Cj="push_mode",mj="pop_mode",Ej="longer_alt",Ij="line_breaks",yj="start_chars_hint";function Bj(r){return ZEe(r)}bi.createToken=Bj;function ZEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,$s.isUndefined)(e)||(t.PATTERN=e),(0,$s.has)(r,XEe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,hj)&&(t.CATEGORIES=r[hj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,pj)&&(t.LABEL=r[pj]),(0,$s.has)(r,dj)&&(t.GROUP=r[dj]),(0,$s.has)(r,mj)&&(t.POP_MODE=r[mj]),(0,$s.has)(r,Cj)&&(t.PUSH_MODE=r[Cj]),(0,$s.has)(r,Ej)&&(t.LONGER_ALT=r[Ej]),(0,$s.has)(r,Ij)&&(t.LINE_BREAKS=r[Ij]),(0,$s.has)(r,yj)&&(t.START_CHARS_HINT=r[yj]),t}bi.EOF=Bj({name:"EOF",pattern:WEe.Lexer.NA});(0,Hv.augmentTokenTypes)([bi.EOF]);function _Ee(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}bi.createTokenInstance=_Ee;function $Ee(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}bi.tokenMatcher=$Ee});var Cn=w(zt=>{"use strict";var xa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),eIe=LA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=ko;var Qj=function(r){xa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);zt.NonTerminal=Qj;var bj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Rule=bj;var Sj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Alternative=Sj;var vj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Option=vj;var xj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatory=xj;var Pj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatoryWithSeparator=Pj;var Dj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Repetition=Dj;var kj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionWithSeparator=kj;var Rj=function(r){xa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);zt.Alternation=Rj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function tIe(r){return(0,Ar.map)(r,bd)}zt.serializeGrammar=tIe;function bd(r){function e(s){return(0,Ar.map)(s,bd)}if(r instanceof Qj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Sj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof vj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof xj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Pj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:bd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof kj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:bd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Dj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Rj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof oy){var i={type:"Terminal",name:r.terminalType.name,label:(0,eIe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof bj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=bd});var Ay=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RestWalker=void 0;var Gv=Gt(),mn=Cn(),rIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof mn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof mn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof mn.Alternative)i.walkFlat(n,o,t);else if(n instanceof mn.Option)i.walkOption(n,o,t);else if(n instanceof mn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof mn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof mn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof mn.Repetition)i.walkMany(n,o,t);else if(n instanceof mn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new mn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Fj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new mn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Fj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new mn.Alternative({definition:[o]});n.walk(a,s)})},r}();ay.RestWalker=rIe;function Fj(r,e,t){var i=[new mn.Option({definition:[new mn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var $g=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GAstVisitor=void 0;var Ro=Cn(),iIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();ly.GAstVisitor=iIe});var vd=w(Mi=>{"use strict";var nIe=Mi&&Mi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Mi,"__esModule",{value:!0});Mi.collectMethods=Mi.DslMethodsCollectorVisitor=Mi.getProductionDslName=Mi.isBranchingProd=Mi.isOptionalProd=Mi.isSequenceProd=void 0;var Sd=Gt(),Qr=Cn(),sIe=$g();function oIe(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Mi.isSequenceProd=oIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,Sd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof Qr.NonTerminal&&(0,Sd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,Sd.every)(r.definition,function(i){return Yv(i,e)})):!1}Mi.isOptionalProd=Yv;function aIe(r){return r instanceof Qr.Alternation}Mi.isBranchingProd=aIe;function AIe(r){if(r instanceof Qr.NonTerminal)return"SUBRULE";if(r instanceof Qr.Option)return"OPTION";if(r instanceof Qr.Alternation)return"OR";if(r instanceof Qr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof Qr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof Qr.Repetition)return"MANY";if(r instanceof Qr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Mi.getProductionDslName=AIe;var Nj=function(r){nIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(sIe.GAstVisitor);Mi.DslMethodsCollectorVisitor=Nj;var cy=new Nj;function lIe(r){cy.reset(),r.accept(cy);var e=cy.dslMethods;return cy.reset(),e}Mi.collectMethods=lIe});var qv=w(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var uy=Gt(),Lj=Cn(),jv=vd();function gy(r){if(r instanceof Lj.NonTerminal)return gy(r.referencedRule);if(r instanceof Lj.Terminal)return Mj(r);if((0,jv.isSequenceProd)(r))return Tj(r);if((0,jv.isBranchingProd)(r))return Oj(r);throw Error("non exhaustive match")}Fo.first=gy;function Tj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(gy(s)),i=i+1,n=t.length>i;return(0,uy.uniq)(e)}Fo.firstForSequence=Tj;function Oj(r){var e=(0,uy.map)(r.definition,function(t){return gy(t)});return(0,uy.uniq)((0,uy.flatten)(e))}Fo.firstForBranching=Oj;function Mj(r){return[r.terminalType]}Fo.firstForTerminal=Mj});var Jv=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.IN=void 0;fy.IN="_~IN~_"});var Yj=w(fs=>{"use strict";var cIe=fs&&fs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(fs,"__esModule",{value:!0});fs.buildInProdFollowPrefix=fs.buildBetweenProdsFollowPrefix=fs.computeAllProdsFollows=fs.ResyncFollowsWalker=void 0;var uIe=Ay(),gIe=qv(),Uj=Gt(),Kj=Jv(),fIe=Cn(),Hj=function(r){cIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Gj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new fIe.Alternative({definition:o}),l=(0,gIe.first)(a);this.follows[s]=l},e}(uIe.RestWalker);fs.ResyncFollowsWalker=Hj;function hIe(r){var e={};return(0,Uj.forEach)(r,function(t){var i=new Hj(t).startWalking();(0,Uj.assign)(e,i)}),e}fs.computeAllProdsFollows=hIe;function Gj(r,e){return r.name+e+Kj.IN}fs.buildBetweenProdsFollowPrefix=Gj;function pIe(r){var e=r.terminalType.name;return e+r.idx+Kj.IN}fs.buildInProdFollowPrefix=pIe});var xd=w(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.defaultGrammarValidatorErrorProvider=Pa.defaultGrammarResolverErrorProvider=Pa.defaultParserErrorProvider=void 0;var ef=LA(),dIe=Gt(),eo=Gt(),Wv=Cn(),jj=vd();Pa.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,ef.hasTokenLabel)(e),o=s?"--> "+(0,ef.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,eo.first)(t).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,eo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,eo.map)(c,function(h){return"["+(0,eo.map)(h,function(p){return(0,ef.tokenLabel)(p)}).join(", ")+"]"}),g=(0,eo.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,eo.first)(t).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,eo.map)(e,function(u){return"["+(0,eo.map)(u,function(g){return(0,ef.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Pa.defaultParserErrorProvider);Pa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+r.name+"<-";return t}};Pa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,eo.first)(e),s=n.idx,o=(0,jj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+r.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,jj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+r.topLevelRule.name+`> Rule. + has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=dIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wj=w(TA=>{"use strict";var CIe=TA&&TA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(TA,"__esModule",{value:!0});TA.GastRefResolverVisitor=TA.resolveGrammar=void 0;var mIe=Yn(),qj=Gt(),EIe=$g();function IIe(r,e){var t=new Jj(r,e);return t.resolveRefs(),t.errors}TA.resolveGrammar=IIe;var Jj=function(r){CIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qj.forEach)((0,qj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:mIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(EIe.GAstVisitor);TA.GastRefResolverVisitor=Jj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var zj=Ay(),Ut=Gt(),yIe=qv(),kt=Cn(),Vj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Vj;var wIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,yIe.first)(o),this.found=!0}},e}(Vj);Nr.NextAfterTokenWalker=wIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var BIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManyWalker=BIe;var QIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManySepWalker=QIe;var bIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneWalker=bIe;var SIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneSepWalker=SIe;function Xj(r,e,t){t===void 0&&(t=[]),t=(0,Ut.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(r,n+1))}function o(c){var u=Xj(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(xIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=vIe;function xIe(r,e,t,i){var n=(0,Ut.cloneArr)(t);n.push(r.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var kd=w(Zt=>{"use strict";var $j=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),Zj=Dd(),PIe=Ay(),hy=_g(),OA=Cn(),DIe=$g(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function kIe(r){if(r instanceof OA.Option)return oi.OPTION;if(r instanceof OA.Repetition)return oi.REPETITION;if(r instanceof OA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof OA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof OA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof OA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=kIe;function RIe(r,e,t,i,n,s){var o=tq(r,e,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=RIe;function FIe(r,e,t,i,n,s){var o=rq(r,e,n,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=FIe;function NIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),br=Gt(),No=Yn(),_v=vd(),tf=kd(),UIe=Dd(),to=Cn(),$v=$g();function KIe(r,e,t,i,n){var s=er.map(r,function(h){return HIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,br.every)(o,br.isEmpty)&&(a=(0,br.map)(r,function(h){return Aq(h,i)}),l=(0,br.map)(r,function(h){return lq(h,e,i)}),c=gq(r,e,i));var u=jIe(r,t,i),g=(0,br.map)(r,function(h){return uq(h,i)}),f=(0,br.map)(r,function(h){return aq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=KIe;function HIe(r,e){var t=new oq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,nq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=sq(l);return f&&(g.parameter=f),g});return o}function nq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+sq(r)}Vt.identifyProductionForDuplicates=nq;function sq(r){return r instanceof to.Terminal?r.terminalType.name:r instanceof to.NonTerminal?r.nonTerminalName:""}var oq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=oq;function aq(r,e,t,i){var n=[],s=(0,br.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=aq;function GIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=GIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Rd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Rd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof to.NonTerminal)e.push(t.referencedRule);else if(t instanceof to.Alternative||t instanceof to.Option||t instanceof to.RepetitionMandatory||t instanceof to.RepetitionMandatoryWithSeparator||t instanceof to.RepetitionWithSeparator||t instanceof to.Repetition)e=e.concat(Rd(t.definition));else if(t instanceof to.Alternation)e=er.flatten(er.map(t.definition,function(o){return Rd(o.definition)}));else if(!(t instanceof to.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Rd(s))}else return e}Vt.getFirstNoneTerminal=Rd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function Aq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,UIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=Aq;function lq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,br.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,tf.getLookaheadPathsForOr)(l,r,c,a),g=YIe(u,a,r,t),f=fq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=lq;var cq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=cq;function uq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=uq;function gq(r,e,t){var i=[];return(0,br.forEach)(r,function(n){var s=new cq;n.accept(s);var o=s.allProductions;(0,br.forEach)(o,function(a){var l=(0,tf.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,tf.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,br.isEmpty)((0,br.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=gq;function YIe(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,br.forEach)(l,function(u){var g=[c];(0,br.forEach)(r,function(f,h){c!==h&&(0,tf.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,tf.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,br.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function fq(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(o,a,l){var c=(0,br.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,br.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,br.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.validateGrammar=rf.resolveGrammar=void 0;var ix=Gt(),qIe=Wj(),JIe=rx(),hq=xd();function WIe(r){r=(0,ix.defaults)(r,{errMsgProvider:hq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,qIe.resolveGrammar)(e,r.errMsgProvider)}rf.resolveGrammar=WIe;function zIe(r){return r=(0,ix.defaults)(r,{errMsgProvider:hq.defaultGrammarValidatorErrorProvider}),(0,JIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}rf.validateGrammar=zIe});var nf=w(En=>{"use strict";var Fd=En&&En.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(En,"__esModule",{value:!0});En.EarlyExitException=En.NotAllInputParsedException=En.NoViableAltException=En.MismatchedTokenException=En.isRecognitionException=void 0;var VIe=Gt(),dq="MismatchedTokenException",Cq="NoViableAltException",mq="EarlyExitException",Eq="NotAllInputParsedException",Iq=[dq,Cq,mq,Eq];Object.freeze(Iq);function XIe(r){return(0,VIe.contains)(Iq,r.name)}En.isRecognitionException=XIe;var py=function(r){Fd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),ZIe=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=dq,s}return e}(py);En.MismatchedTokenException=ZIe;var _Ie=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Cq,s}return e}(py);En.NoViableAltException=_Ie;var $Ie=function(r){Fd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=Eq,n}return e}(py);En.NotAllInputParsedException=$Ie;var eye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mq,s}return e}(py);En.EarlyExitException=eye});var sx=w(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.attemptInRepetitionRecovery=Ui.Recoverable=Ui.InRuleRecoveryException=Ui.IN_RULE_RECOVERY_EXCEPTION=Ui.EOF_FOLLOW_KEY=void 0;var dy=LA(),hs=Gt(),tye=nf(),rye=Jv(),iye=Yn();Ui.EOF_FOLLOW_KEY={};Ui.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ui.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ui.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var nye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,hs.has)(e,"recoveryEnabled")?e.recoveryEnabled:iye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yq)},r.prototype.getTokenToInsert=function(e){var t=(0,dy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new tye.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,hs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,hs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,hs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,hs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,hs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ui.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,hs.map)(t,function(n,s){return s===0?Ui.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,hs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,hs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ui.EOF_FOLLOW_KEY)return[dy.EOF];var t=e.ruleName+e.idxInCallingRule+rye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,dy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,hs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,hs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,hs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ui.Recoverable=nye;function yq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=dy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ui.attemptInRepetitionRecovery=yq});var Cy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.LooksAhead=void 0;var Da=kd(),ro=Gt(),wq=Yn(),ka=Cy(),Ec=vd(),oye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,ro.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,ro.has)(e,"maxLookahead")?e.maxLookahead:wq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,ro.isES2015MapSupported)()?new Map:[],(0,ro.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,ro.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Ec.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,ro.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Ec.getProductionDslName)(g)+f,function(){var h=(0,Da.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,ka.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],ka.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,ro.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,ka.MANY_IDX,Da.PROD_TYPE.REPETITION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,ka.OPTION_IDX,Da.PROD_TYPE.OPTION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,ka.AT_LEAST_ONE_IDX,Da.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,ka.AT_LEAST_ONE_SEP_IDX,Da.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,ka.MANY_SEP_IDX,Da.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Da.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ka.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Da.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Da.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,ka.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();my.LooksAhead=oye});var Qq=w(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.addNoneTerminalToCst=Lo.addTerminalToCst=Lo.setNodeLocationFull=Lo.setNodeLocationOnlyOffset=void 0;function aye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.defineNameProp=MA.functionName=MA.classNameFromInstance=void 0;var uye=Gt();function gye(r){return Sq(r.constructor)}MA.classNameFromInstance=gye;var bq="name";function Sq(r){var e=r.name;return e||"anonymous"}MA.functionName=Sq;function fye(r,e){var t=Object.getOwnPropertyDescriptor(r,bq);return(0,uye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,bq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}MA.defineNameProp=fye});var kq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var ps=Gt(),Nd=ox();function vq(r,e){for(var t=(0,ps.keys)(r),i=t.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=hye;function pye(r,e,t){var i=function(){};(0,Nd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ps.forEach)(e,function(s){n[s]=vq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=pye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function xq(r,e){var t=Pq(r,e),i=Dq(r,e);return t.concat(i)}Si.validateVisitor=xq;function Pq(r,e){var t=(0,ps.map)(e,function(i){if(!(0,ps.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,ps.compact)(t)}Si.validateMissingCstMethods=Pq;var dye=["constructor","visit","validateVisitor"];function Dq(r,e){var t=[];for(var i in r)(0,ps.isFunction)(r[i])&&!(0,ps.contains)(dye,i)&&!(0,ps.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Dq});var Fq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=Qq(),_r=Gt(),Rq=kq(),Cye=Yn(),mye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Cye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Rq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=mye});var Lq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Nq=Yn(),Eye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Nq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Nq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Iy.LexerAdapter=Eye});var Oq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.RecognizerApi=void 0;var Tq=Gt(),Iye=nf(),Ax=Yn(),yye=xd(),wye=rx(),Bye=Cn(),Qye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Tq.contains)(this.definedRulesNames,e)){var n=yye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,wye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,Iye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,Bye.serializeGrammar)((0,Tq.values)(this.gastProductionsCache))},r}();yy.RecognizerApi=Qye});var Hq=w(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.RecognizerEngine=void 0;var Pr=Gt(),jn=Cy(),wy=nf(),Mq=kd(),of=Dd(),Uq=Yn(),bye=sx(),Kq=LA(),Ld=_g(),Sye=ox(),vye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,Sye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ld.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Ld.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Kq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Ld.tokenStructuredMatcherNoCategories:Ld.tokenStructuredMatcher,(0,Ld.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Uq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Uq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(jn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,wy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===bye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Kq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();By.RecognizerEngine=vye});var Yq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ErrorHandler=void 0;var lx=nf(),cx=Gt(),Gq=kd(),xye=Yn(),Pye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:xye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Gq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Gq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();Qy.ErrorHandler=Pye});var Jq=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.ContentAssist=void 0;var jq=Dd(),qq=Gt(),Dye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,qq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,jq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,qq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new jq.NextAfterTokenWalker(n,e).startWalking();return s},r}();by.ContentAssist=Dye});var eJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.GastRecorder=void 0;var In=Gt(),To=Cn(),kye=Bd(),Xq=_g(),Zq=LA(),Rye=Yn(),Fye=Cy(),vy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(vy);var Wq=!0,zq=Math.pow(2,Fye.BITS_FOR_OCCURRENCE_IDX)-1,_q=(0,Zq.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:kye.Lexer.NA});(0,Xq.augmentTokenTypes)([_q]);var $q=(0,Zq.createTokenInstance)(_q,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($q);var Nye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Lye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Rye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new To.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Td.call(this,To.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Td.call(this,To.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Td.call(this,To.RepetitionMandatoryWithSeparator,t,e,Wq)},r.prototype.manyInternalRecord=function(e,t){Td.call(this,To.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Td.call(this,To.RepetitionWithSeparator,t,e,Wq)},r.prototype.orInternalRecord=function(e,t){return Tye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,In.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,In.peek)(this.recordingProdStack),o=e.ruleName,a=new To.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Nye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,Xq.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,In.peek)(this.recordingProdStack),o=new To.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),$q},r}();xy.GastRecorder=Lye;function Td(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,In.peek)(this.recordingProdStack),s=(0,In.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,In.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Tye(r,e){var t=this;Sy(e);var i=(0,In.peek)(this.recordingProdStack),n=(0,In.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new To.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,In.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,In.some)(s,function(l){return(0,In.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,In.forEach)(s,function(l){var c=new To.Alternative({definition:[]});o.definition.push(c),(0,In.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,In.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Vq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>zq){var e=new Error("Invalid DSL Method idx value: <"+r+`> + `+("Idx value must be a none negative value smaller than "+(zq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var rJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var tJ=Gt(),Oye=Yn(),Mye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,tJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Oye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,tJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Mye});var iJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Uye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Uye});var Yn=w(dr=>{"use strict";var oJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var $i=Gt(),Kye=Yj(),nJ=LA(),aJ=xd(),sJ=pq(),Hye=sx(),Gye=Bq(),Yye=Fq(),jye=Lq(),qye=Oq(),Jye=Hq(),Wye=Yq(),zye=Jq(),Vye=eJ(),Xye=rJ(),Zye=iJ();dr.END_OF_FILE=(0,nJ.createTokenInstance)(nJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:aJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var _ye;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(_ye=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function $ye(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=$ye;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,$i.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,$i.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,$i.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,$i.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,sJ.resolveGrammar)({rules:(0,$i.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,$i.isEmpty)(n)&&e.skipValidations===!1){var s=(0,sJ.validateGrammar)({rules:(0,$i.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,$i.values)(e.tokensMap),errMsgProvider:aJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,$i.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Kye.computeAllProdsFollows)((0,$i.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,$i.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,$i.isEmpty)(e.definitionErrors))throw t=(0,$i.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+t.join(` +------------------------------- +`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=ky;(0,Zye.applyMixins)(ky,[Hye.Recoverable,Gye.LooksAhead,Yye.TreeBuilder,jye.LexerAdapter,Jye.RecognizerEngine,qye.RecognizerApi,Wye.ErrorHandler,zye.ContentAssist,Vye.GastRecorder,Xye.PerformanceTracer]);var ewe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,$i.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(ky);dr.CstParser=ewe;var twe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,$i.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(ky);dr.EmbeddedActionsParser=twe});var lJ=w(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});Ry.createSyntaxDiagramsCode=void 0;var AJ=Dv();function rwe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` +