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}>(.*)${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"