Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: registryCustomizations #1217

Merged
merged 191 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from 179 commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
d5d9116
chore: tsconfig for top-level await
mshanemc Dec 5, 2023
0a1c246
feat: registry variants
mshanemc Dec 5, 2023
7b492f1
feat: merge custom registry in registryAccess
mshanemc Dec 5, 2023
2ac3c60
feat: customRegistry by default via registryAccess
mshanemc Dec 6, 2023
06afe57
feat: decompose using any uniqueIdElement
mshanemc Dec 6, 2023
0c92906
Merge remote-tracking branch 'origin/main' into sm/raw-registry-variants
mshanemc Jan 16, 2024
dbef1af
chore: remove license
mshanemc Jan 16, 2024
4e5ad58
test: variants nut test fixture for permset
mshanemc Jan 17, 2024
6c82595
chore: replacement for baseName that handles dots in fullName
mshanemc Jan 17, 2024
5742bd3
refactor: handle dots for fieldPermissions
mshanemc Jan 17, 2024
1df9dbe
chore: log presence of customizations
mshanemc Jan 17, 2024
ff6e457
refactor: extract polling options logic
mshanemc Jan 17, 2024
e52ad7a
test: snapshots for custom object conversion
mshanemc Jan 18, 2024
c2154d8
test: move snapshot location
mshanemc Jan 18, 2024
e72ce10
test: snapshots for staticResource
mshanemc Jan 18, 2024
e2ee0dc
test: snapshots for both sample repos
mshanemc Jan 18, 2024
61393db
test: sample changed?
mshanemc Jan 18, 2024
9e376b8
chore: vscode setting
mshanemc Jan 18, 2024
3928c8e
test: better test labeling
mshanemc Jan 18, 2024
96d9475
test: non-dynamic mocha tests
mshanemc Jan 18, 2024
2fd812e
test: clear snaps
mshanemc Jan 18, 2024
126b789
test: improve file naming
mshanemc Jan 18, 2024
c7a82c1
test: re-commit snapshots
mshanemc Jan 18, 2024
b0a25f1
chore: no linter noise inside snapshots
mshanemc Jan 18, 2024
db465d8
style: preserve snapshot data
mshanemc Jan 18, 2024
cc1c137
style: don't change snapshots
mshanemc Jan 18, 2024
d6f7fa5
chore: prettier ignore snapshots
mshanemc Jan 18, 2024
ced74f2
chore: didn't use prettier
mshanemc Jan 18, 2024
c99be49
test: labels project, put sfdx-project where they go
mshanemc Jan 18, 2024
073dc93
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 18, 2024
5e09df4
test: snapshot for partial permSet decomposition
mshanemc Jan 18, 2024
8034c0b
test: moved to snapshots
mshanemc Jan 18, 2024
5199f46
test: include force-app or other top-level project folder
mshanemc Jan 18, 2024
7126453
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 18, 2024
789db52
feat: option to specify non-cwd projDir for CSBuilder
mshanemc Jan 18, 2024
e11e892
fix: pass registry in more places
mshanemc Jan 18, 2024
6fe75d6
test: ability to compare xml files by parsing to json
mshanemc Jan 18, 2024
7203f55
test: permissionset decomposition works
mshanemc Jan 18, 2024
1f57de0
feat: support for startEmpty/topLevel with decomposed
mshanemc Jan 18, 2024
d8c782c
test: use absolute paths to fix labels snapshot
mshanemc Jan 19, 2024
4195072
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 19, 2024
132c7c6
test: changes for or caught by UT
mshanemc Jan 19, 2024
b711b60
test: territory2 snapshots from pdr
mshanemc Jan 19, 2024
5fe05ab
test: snapshot for deb
mshanemc Jan 19, 2024
5045953
test: snapshots for folder types
mshanemc Jan 19, 2024
911bd98
test: snapshot testing docs and dir comparison utility
mshanemc Jan 19, 2024
1a7e497
test: snapsnots in CI only on linux. Run locally
mshanemc Jan 19, 2024
9045981
test: snapshots still run as part of `yarn test`
mshanemc Jan 19, 2024
268c694
ci: qa for workflows change
mshanemc Jan 19, 2024
6518b72
ci: longpaths in more places
mshanemc Jan 19, 2024
6fe9cea
ci: longpaths for windows perf test
mshanemc Jan 19, 2024
826638f
test: longpaths only for windows
mshanemc Jan 19, 2024
8379d35
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 19, 2024
bd09569
chore: script change
mshanemc Jan 19, 2024
20553e8
test: identical asserts
mshanemc Jan 19, 2024
1a1b3b8
test: snapshots for workflows
mshanemc Jan 20, 2024
8f40c33
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 22, 2024
bb5acb9
test: workflow variant
mshanemc Jan 22, 2024
e43d6f4
feat: prefer xmlElement over directory when present
mshanemc Jan 22, 2024
5274652
test: snapshot for decomposed workflow via variant
mshanemc Jan 22, 2024
48d1e13
test: p.xml in the correct location for workflow mdapi
mshanemc Jan 22, 2024
8dfa696
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 22, 2024
17c1d97
feat: presets with snapshot for PS preset
mshanemc Jan 22, 2024
4475cae
fix: handling no presets
mshanemc Jan 22, 2024
ed2aaeb
refactor: empty defaults for customization/presets
mshanemc Jan 22, 2024
b669448
fix: pass empty array for customizations
mshanemc Jan 22, 2024
b4cd6a3
test: decomposed types are mostly not addressable to keep out of p.xml
mshanemc Jan 23, 2024
040a785
feat: preset for decomposed permsets
mshanemc Jan 23, 2024
3b6ba03
test: snapshots for using permset preset
mshanemc Jan 23, 2024
2c5f26e
docs: notes about registry variants
mshanemc Jan 23, 2024
8da7ff9
test: sharingRules
mshanemc Jan 23, 2024
f71a06e
Merge branch 'sm/approval-tests' into sm/raw-registry-variants
mshanemc Jan 23, 2024
32cc215
Merge branch 'sm/approval-tests' into sm/registry-presets
mshanemc Jan 23, 2024
39068db
fix: correct parent for fieldPermissions
mshanemc Jan 23, 2024
ac0c447
chore: tsconfig for presets json
mshanemc Jan 24, 2024
13e58af
refactor: emit empty parents
mshanemc Jan 24, 2024
db359b0
feat: sharingRules presets
mshanemc Jan 24, 2024
88999eb
test: snapshot for decomposedSharingRules
mshanemc Jan 24, 2024
21a0579
test: keep empty workflow
mshanemc Jan 24, 2024
1878e2b
test: use main workflow branch
mshanemc Feb 8, 2024
5311528
Merge remote-tracking branch 'origin/main' into sm/approval-tests
mshanemc Feb 13, 2024
23ec6ff
test: snapshot for bots
mshanemc Feb 13, 2024
e4115b8
ci: longpath PR was merged, use main
mshanemc Feb 13, 2024
fd28834
chore: type-only import for jsforce
mshanemc Feb 13, 2024
c533060
chore: bump core for xnuts
mshanemc Feb 13, 2024
33ecc4f
ci: test uses main
mshanemc Feb 13, 2024
865dabd
test: refactor metadata transfer and tests using function
mshanemc Feb 13, 2024
6bc2ff7
Merge branch 'sm/raw-registry-variants' into sm/registry-presets
mshanemc Feb 13, 2024
9ed76a0
Merge remote-tracking branch 'origin/sm/approval-tests' into sm/regis…
mshanemc Feb 13, 2024
7f31e4e
test: generated xml order is determinstic and may not match original
mshanemc Feb 14, 2024
f59171f
chore: bump core
mshanemc Feb 15, 2024
a618e2a
test: snapshot fix for workflow variants
mshanemc Feb 15, 2024
af30c71
Merge remote-tracking branch 'origin/main' into sm/registry-presets
mshanemc Feb 15, 2024
1cee484
test: account workflow snapshot update
mshanemc Feb 15, 2024
f72568c
test: workflow via presets
mshanemc Feb 15, 2024
204ea73
test: snapshot for empty top-level file
mshanemc Feb 16, 2024
2e52a3a
test: decomp for labels
mshanemc Feb 16, 2024
f82f60b
refactor: restore dot-joined files (ex: FieldPermissions)
mshanemc Feb 16, 2024
daa129c
test: snapshot of top-level-only labels
mshanemc Feb 16, 2024
0a8afe4
test: ut changes for empty file behavior
mshanemc Feb 16, 2024
7825bf4
test: adjust snaps for xml ordering of recompose
mshanemc Feb 16, 2024
3dc9a15
docs: todo updates
mshanemc Feb 16, 2024
9843f13
ci: test only exclude snapshot tests
mshanemc Feb 16, 2024
88cbf26
test: dir names as const
mshanemc Feb 16, 2024
0cc8463
docs: docs for 3 presets
mshanemc Feb 16, 2024
a0a593e
test: remove toplevel workflow from source snapshot
mshanemc Feb 16, 2024
96c77d5
test: apply registryValidation tests to presets
mshanemc Feb 16, 2024
5adceab
test: dynamically load the preset folder
mshanemc Feb 16, 2024
12fae7b
refactor: import what you need
mshanemc Feb 16, 2024
5a4db80
refactor: import cleanup
mshanemc Feb 16, 2024
a68fa6f
test: remove original variant nut in favor of snapshot testing
mshanemc Feb 16, 2024
fdd4d46
test: full diff for windows debug
mshanemc Feb 16, 2024
df7fec5
docs: comments
mshanemc Feb 16, 2024
23feec6
Merge remote-tracking branch 'origin/main' into sm/raw-registry-variants
mshanemc Feb 19, 2024
525b737
feat: deterministic md recomposition order
mshanemc Feb 21, 2024
4e54820
test: export dirents
mshanemc Feb 22, 2024
3b9dab7
test: mpd project for snapshots (3 dirs)
mshanemc Feb 22, 2024
5495664
test: snapshot for recomposed mdapi
mshanemc Feb 22, 2024
522aeab
test: identical dirs must exist
mshanemc Feb 22, 2024
5487cc9
chore: snapshots for 3 original dirs after applying xml over them
mshanemc Feb 22, 2024
201d01d
test: force-app needs to go back into its original dir
mshanemc Feb 22, 2024
88ee5c9
style: use empty element, not self-closing tag
mshanemc Feb 22, 2024
4b28737
test: copy to a tmpDir
mshanemc Feb 22, 2024
292aea1
chore: compare relative paths for identical dirs
mshanemc Feb 22, 2024
cbf66f8
chore: undo snapshots for source merging
mshanemc Feb 22, 2024
4dccd40
chore: cleanup for test directories
mshanemc Feb 22, 2024
f2a3a3f
test: snapshot for the force-app dir
mshanemc Feb 22, 2024
c4d4a45
test: snapshot for dir 2
mshanemc Feb 22, 2024
3dc309e
test: snapshot for foo-bar/app
mshanemc Feb 22, 2024
43bb62a
chore: comments for unused logger fn
mshanemc Feb 22, 2024
da4b97f
docs: code comments instead of pr comments
mshanemc Feb 22, 2024
3dcd199
Merge branch 'sm/mpd-snapshots' into sm/raw-registry-variants
mshanemc Feb 22, 2024
b683b0d
test: settings suffix list
mshanemc Feb 22, 2024
251ec13
refactor: explicit return for void
mshanemc Feb 23, 2024
271ecbf
refactor: avoids void 0
mshanemc Feb 23, 2024
f3f774e
refactor: types match fs
mshanemc Feb 23, 2024
b202ebc
refactor: follow complexity rules
mshanemc Feb 26, 2024
0a2e1bf
chore: refactor test callCount
mshanemc Feb 26, 2024
4c2e5d4
fix: componentSet.map isn't like array.map
mshanemc Feb 26, 2024
830c88b
refactor: no tooling api for diagnostic utils
mshanemc Mar 4, 2024
1845e30
refactor: thinner methods
mshanemc Mar 4, 2024
be070f7
refactor: metadata resolver functions
mshanemc Mar 4, 2024
0b6864f
fix: don't save empty parent objects
mshanemc Mar 5, 2024
423b60f
refactor: fewer logic branches
mshanemc Mar 5, 2024
15c62a0
refactor: remove 2 unused props from type
mshanemc Mar 5, 2024
d72cbab
refactor: use true as only foundMerge option
mshanemc Mar 5, 2024
41cfccc
refactor: extract writeInfo logic for children, parents
mshanemc Mar 5, 2024
0110ae7
refactor: remove dangerous assertion
mshanemc Mar 5, 2024
52fd38f
test: top-level types cannot also be children
mshanemc Mar 5, 2024
71ab2be
Merge remote-tracking branch 'origin/main' into sm/raw-registry-variants
mshanemc Mar 5, 2024
280f3e8
style: jsdoc indent for windows ut
mshanemc Mar 5, 2024
2c40879
chore: cleanup old scripts and docs
mshanemc Mar 5, 2024
766e763
fix: adapter names
mshanemc Mar 5, 2024
e67cb0f
refactor: more coe cleanup
mshanemc Mar 5, 2024
2c8406e
test: ut for nondecomposed
mshanemc Mar 5, 2024
2734d67
fix: handling for wildcards matching org contents
mshanemc Mar 5, 2024
4c85de3
refactor: build metadata map only when needed
mshanemc Mar 5, 2024
b303ea1
refactor: private methods to functions
mshanemc Mar 5, 2024
70a4824
refactor: simplify partialDelete handling
mshanemc Mar 5, 2024
843f2dd
fix: handles colons in metadata names
mshanemc Mar 18, 2024
d5e5849
Merge remote-tracking branch 'origin/main' into sm/raw-registry-variants
mshanemc Mar 18, 2024
fc10422
chore: bump core
mshanemc Mar 19, 2024
0c823c9
refactor: more registries to component sets, eliminate an unneeded one
mshanemc Mar 20, 2024
cc27dc9
chore: name typo
mshanemc Mar 20, 2024
b3bafb1
test: change test to spy on a function
mshanemc Mar 20, 2024
e69c718
refactor: put unaddressable children in results
mshanemc Mar 21, 2024
006dbc8
refactor: spread not concat
mshanemc Mar 21, 2024
6e553e9
refactor: cleaner cs and csb
mshanemc Mar 21, 2024
5ff2e9b
chore: wireit watches preset changes
mshanemc Mar 21, 2024
5265052
feat: handles "partial delete" of decomposed children
mshanemc Mar 22, 2024
eff66a1
refactor: reorganize retrieve code
mshanemc Mar 22, 2024
1a23e53
style: formatting
mshanemc Mar 22, 2024
8290dce
refactor: remove barrel
mshanemc Mar 22, 2024
3a53039
refactor: deployResult logic
mshanemc Mar 22, 2024
a7f625a
perf: dedupe deploy results once
mshanemc Mar 22, 2024
790ceb8
Merge remote-tracking branch 'origin/main' into sm/raw-registry-variants
mshanemc Mar 22, 2024
c15e587
chore: comments about removing enums
mshanemc Mar 22, 2024
51a83cf
chore: script/dep cleanup
mshanemc Mar 25, 2024
ffe0c2d
Merge remote-tracking branch 'origin/main' into sm/raw-registry-variants
mshanemc Mar 25, 2024
d99fe71
chore: remove logFn
mshanemc Mar 25, 2024
1d2ddc3
chore: cleanup from pr review
mshanemc Mar 25, 2024
1d9047c
fix: getZipBuffer's converter needs custom registry
mshanemc Mar 25, 2024
2b6c5c6
fix: decomposed children that aren't addressable cause their entire p…
mshanemc Mar 26, 2024
bf301f6
chore: remove logFn
mshanemc Mar 26, 2024
011a504
chore: add decompsed CustomLabels
WillieRuemmele Mar 26, 2024
a8bcd94
chore: bump kit
mshanemc Mar 27, 2024
d2127a0
chore: labels preset follows registry rules
mshanemc Mar 27, 2024
95114ed
refactor: change preset names to beta
WillieRuemmele Mar 27, 2024
7c055bb
fix: confirm DCL behavior, fix snapshots, add .md entry
WillieRuemmele Mar 27, 2024
2da0b13
docs: fix extension
WillieRuemmele Mar 28, 2024
5f2cafe
chore: add comment explaining new error [skip-ci]
WillieRuemmele Mar 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .sfdevrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
"compile": {
"clean": "if-file-deleted",
"command": "tspc -p . --pretty --incremental",
"files": ["src/**/*.ts", "src/registry/*.json", "**/tsconfig.json", "messages/**"],
"files": ["src/**/*.ts", "src/registry/**/*.json", "**/tsconfig.json", "messages/**"],
"output": ["lib/**", "*.tsbuildinfo"]
},
"test": {
"dependencies": ["test:only", "test:compile", "test:registry-validation", "test:snapshot"]
},
"test:only": {
"command": "nyc mocha \"test/**/*.test.ts\" --exclude \"test/registry/registryValidation.test.ts\" --exclude \"test/snapshot\"",
"command": "nyc mocha \"test/**/*.test.ts\" --exclude \"test/registry/registryValidation.test.ts\" --exclude \"test/snapshot/**\"",
"env": {
"FORCE_COLOR": "2"
},
Expand Down
68 changes: 0 additions & 68 deletions .vscode/tasks.json

This file was deleted.

1,774 changes: 370 additions & 1,404 deletions CHANGELOG.md

Large diffs are not rendered by default.

32 changes: 28 additions & 4 deletions HANDBOOK.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,6 @@ The config file consists of a handful of different indexes.

This file is large and luckily, not entirely crafted by hand. And because new metadata types are being added to the platform each release, we’ll need to update the [Metadata registry file]. The update-registry module in the scripts folder automatically updates the registry as best it can using a describeMetadata() call against a provided Salesforce org, without overwriting manual changes. It also attempts to update the indexes listed in the previous section. When generating a new version of the registry, it’s important to manually review the changes to ensure they make sense and aren’t destructive. When in doubt, test functionality with the new version. See [Contributing Metadata Types to the Registry](./contributing/metadata.md) in the development README on how to invoke the script with Yarn.

Unfortunately. we sometimes need to manually change a type definition, albeit rarely. The `typeOverride.json` file allows us to overwrite any updates the script attempts to make that we don’t want to happen.

🛠 _Another issue is we are limited by the permissions and licenses of the org that we are running the update script on, which may return incomplete describe information. We need to address this as soon as possible to not run into type gaps between releases. This is being worked on as of 7/16/2021._

### Breaking Down a Metadata Type Entry
Expand Down Expand Up @@ -148,6 +146,32 @@ registry.types.auradefinitionbundle.directoryName; // => 'aura'

📝 _The registry object is “deeply frozen”, meaning none of its properties, even the nested ones, are mutable. This is to ensure that a consumer cannot change registry information in a process and potentially affect functionality._

### Registry Variants

It's possible that the registry isn't what a user wants

- you're building a new type and want an easy way to test your registry changes
- you disagree with the choice made in the registry (ex: I wish PermissionSet was decomposed instead of a giant file)

There are two options available if you're in an sfdx project.

- `registryCustomizations`: add your own partial of the the registry that'll be merged into the registry. It's a json object just like the registry itself.
- `registryPresets`: SDR defines "preset" registryCustomizations and you say which ones you want applied. Each one is a partial, and you can have any or all of them by listing them. Names correspond to something in src/registry/presets, so your project file could use

```json
"registryPresets": ["decomposePermissionSet", "decomposeSharingRules"]
```

if you want only those 2 presets.

The naming convention is `decomposeFoo` where `Foo` is the top-level metadata type, and refers to `/presets/Foo.json`.

This requires that any constructedRegistry know about your project directory. You'll see lots of code passing that around, and passing around constructed RegistryAccess to avoid getting the default if a custom one was already constructed.

Be careful when instantiating classes (ex: ComponentSet) that will default a Registry or RegistryAccess--make sure to pass in a registry to preserve customizations.

**Updating presets** If you do need to update a preset to make a breaking change, it's better to copy it to a new preset and give it a unique name (ex: `decomposeFooV2`). This preserves the existing behavior for existing projects with the old preset.

### Querying registry data

While it’s perfectly fine to reference the registry export directly, the `RegistryAccess` class was created to make accessing the object a bit more streamlined. Querying types and searching the registry is oftentimes easier and cleaner this way and contains built-in checking for whether or not a metadata type exists. Here’s a comparison of using each:
Expand Down Expand Up @@ -683,7 +707,7 @@ Oftentimes we need to work with a unique collection of components. A `ComponentS

Component sets key components using their fullName and type id, i.e. only one pair will ever be present in the set. This implies that anything that conforms to the `MetadataComponent` interface can be added to a set. `SourceComponent`s in fact have particular logic on how they are stored. While only one fullName and type pair can be present in a set, multiple source-backed components can map to the same pair under-the-hood. This is how splitting a CustomObject across multiple package directories is achieved - by treating each version of the component as a separate source-backed component that points to the same fullName and type pair in a set. When component merging happens, the conversion logic is able to combine the source components belonging to the same pair.

The easiest way to build `ComponentSets` is by using the `ComponentSetBuilder` class's static `build()` function. See <https://github.com/forcedotcom/source-deploy-retrieve/tree/main/src/collections/componentSetBuilder.ts> for details. Simply pass a configuration object to `build()` and it takes care of the rest, including handling destructive changes!
The easiest way to build `ComponentSets` is by using the `ComponentSetBuilder` class's static `build()` function. See <https://github.com/forcedotcom/source-deploy-retrieve/tree/main/src/collections/componentSetBuilder.ts> for details. Simply pass a configuration object to `build()` and it takes care of the rest, including handling destructive changes!

Let’s look at some examples of adding components and testing membership:

Expand Down Expand Up @@ -827,7 +851,7 @@ The order in which we’ve examined the concepts up to this point has been inten

Metadata API deploys and retrieves are asynchronous operations. Once a request has been made, the status of the operation needs to be polled to determine whether or not the request has finished processing. This lifecycle is encapsulated with the `MetadataApiDeploy` and `MetadataApiRetrieve` classes — one instance is meant to map to one operation. They expose useful methods to process the lifecycle and make other requests, which will be illustrated later. These both extend `MetadataTransfer` in order to share common functionality such as polling.

The most common and simplest way to deploy and retrieve metadata is by using a [Component Set](#component-sets). The easiest way to build `ComponentSets` is by using the `ComponentSetBuilder` class's static `build()` function. See <https://github.com/forcedotcom/source-deploy-retrieve/tree/main/src/collections/componentSetBuilder.ts> for details.
The most common and simplest way to deploy and retrieve metadata is by using a [Component Set](#component-sets). The easiest way to build `ComponentSets` is by using the `ComponentSetBuilder` class's static `build()` function. See <https://github.com/forcedotcom/source-deploy-retrieve/tree/main/src/collections/componentSetBuilder.ts> for details.

### Establishing an org connection

Expand Down
29 changes: 0 additions & 29 deletions LICENSE

This file was deleted.

8 changes: 3 additions & 5 deletions METADATA_SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ Currently, there are 0/0 supported metadata types.
For status on any existing gaps, please search or file an issue in the [Salesforce CLI issues only repo](https://github.com/forcedotcom/cli/issues).
To contribute a new metadata type, please see the [Contributing Metadata Types to the Registry](./contributing/metadata.md)

|Metadata Type|Support|Notes|
|:---|:---|:---|


| Metadata Type | Support | Notes |
| :------------ | :------ | :---- |

## Next Release (v61)

Expand All @@ -20,7 +18,7 @@ To contribute a new metadata type, please see the [Contributing Metadata Types t

## Additional Types

> The following types are supported by this library but not in the coverage reports for either version. These are typically
> The following types are supported by this library but not in the coverage reports for either version. These are typically
>
> 1. types that have been removed from the metadata API but were supported in previous versions
> 1. types that are available for pilots but not officially part of the metadata API (use with caution)
Expand Down
29 changes: 29 additions & 0 deletions Registry Variants TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
there's a bug with converter.convert when converting mdapi to source with a long output directory--it'll use the entire directory for customLabels names (see snapshots inside the customLabels test)

Other types seem to get a relative-to-proj path.

Probably doesn't affect the CLI since we normally run the converts from inside a project rather than providing a long proj path.

---

## Open bugs

## QA

1. partial delete: deleting a member locally redeploys without that file
1. partial delete: "removing" a member remotely deletes it locally if present
1. conflicts get assigned to the correct place (both directions)

---

## doc work

1. Contributing Metadata (how to test new types using variants before adding to the real registry)
1. Migration process (convert, delete, convert?)

---

## Features

1. how does it work with packaging
1. how does it work with STL
9 changes: 3 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,12 @@
"@types/graceful-fs": "^4.1.9",
"@types/mime": "2.0.3",
"@types/minimatch": "^5.1.2",
"@types/proxy-from-env": "^1.0.4",
"@types/shelljs": "^0.8.15",
"deep-equal-in-any-order": "^1.1.19",
"deepmerge": "^4.3.1",
"eslint-plugin-sf-plugin": "^1.17.4",
"jsforce": "^2.0.0-beta.29",
"mocha-junit-reporter": "^1.23.3",
"mocha-snap": "^5.0.0",
"shelljs": "0.8.5",
"ts-node": "^10.9.2",
"ts-patch": "^3.1.1",
"typescript": "^5.4.2"
Expand All @@ -78,7 +75,7 @@
"prepare": "sf-install",
"repl": "node --inspect ./scripts/repl.js",
"test": "wireit",
"test:nuts": "mocha \"test/nuts/local/**/*.nut.ts\" --timeout 500000",
"test:nuts": "mocha \"test/nuts/local/**/*.nut.ts\" --timeout 500000 --parallel --job 20",
"test:nuts:suggest": "mocha \"test/nuts/suggestType/suggestType.nut.ts\" --timeout 10000",
"test:only": "wireit",
"test:registry": "mocha ./test/registry/registryCompleteness.test.ts --timeout 50000",
Expand Down Expand Up @@ -108,7 +105,7 @@
"command": "tspc -p . --pretty --incremental",
"files": [
"src/**/*.ts",
"src/registry/*.json",
"src/registry/**/*.json",
"**/tsconfig.json",
"messages/**"
],
Expand Down Expand Up @@ -165,7 +162,7 @@
"output": []
},
"test:only": {
"command": "nyc mocha \"test/**/*.test.ts\" --exclude \"test/registry/registryValidation.test.ts\" --exclude \"test/snapshot\"",
"command": "nyc mocha \"test/**/*.test.ts\" --exclude \"test/registry/registryValidation.test.ts\" --exclude \"test/snapshot/**\"",
"env": {
"FORCE_COLOR": "2"
},
Expand Down
Loading
Loading