@salesforce/source-deploy-retrieve 5.0.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -46
- package/LICENSE.txt +12 -0
- package/README.md +2 -2
- package/lib/src/client/deployStrategies/auraDeploy.d.ts +2 -2
- package/lib/src/client/deployStrategies/auraDeploy.js +98 -108
- package/lib/src/client/deployStrategies/auraDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/baseDeploy.d.ts +1 -1
- package/lib/src/client/deployStrategies/baseDeploy.js +37 -38
- package/lib/src/client/deployStrategies/baseDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/containerDeploy.d.ts +2 -2
- package/lib/src/client/deployStrategies/containerDeploy.js +57 -72
- package/lib/src/client/deployStrategies/containerDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/index.js +4 -3
- package/lib/src/client/deployStrategies/index.js.map +1 -1
- package/lib/src/client/deployStrategies/lwcDeploy.d.ts +2 -2
- package/lib/src/client/deployStrategies/lwcDeploy.js +98 -109
- package/lib/src/client/deployStrategies/lwcDeploy.js.map +1 -1
- package/lib/src/client/diagnosticUtil.d.ts +1 -1
- package/lib/src/client/diagnosticUtil.js +11 -11
- package/lib/src/client/diagnosticUtil.js.map +1 -1
- package/lib/src/client/index.d.ts +1 -1
- package/lib/src/client/index.js +1 -1
- package/lib/src/client/index.js.map +1 -1
- package/lib/src/client/metadataApiDeploy.d.ts +4 -4
- package/lib/src/client/metadataApiDeploy.js +57 -73
- package/lib/src/client/metadataApiDeploy.js.map +1 -1
- package/lib/src/client/metadataApiRetrieve.d.ts +2 -2
- package/lib/src/client/metadataApiRetrieve.js +86 -106
- package/lib/src/client/metadataApiRetrieve.js.map +1 -1
- package/lib/src/client/metadataTransfer.d.ts +2 -2
- package/lib/src/client/metadataTransfer.js +101 -118
- package/lib/src/client/metadataTransfer.js.map +1 -1
- package/lib/src/client/retrieveUtil.d.ts +1 -1
- package/lib/src/client/retrieveUtil.js +17 -17
- package/lib/src/client/retrieveUtil.js.map +1 -1
- package/lib/src/client/toolingApi.d.ts +2 -2
- package/lib/src/client/toolingApi.js +71 -94
- package/lib/src/client/toolingApi.js.map +1 -1
- package/lib/src/client/types.js +1 -14
- package/lib/src/client/types.js.map +1 -1
- package/lib/src/collections/componentSet.d.ts +3 -1
- package/lib/src/collections/componentSet.js +70 -88
- package/lib/src/collections/componentSet.js.map +1 -1
- package/lib/src/collections/index.js +1 -0
- package/lib/src/collections/index.js.map +1 -1
- package/lib/src/collections/lazyCollection.js +5 -1
- package/lib/src/collections/lazyCollection.js.map +1 -1
- package/lib/src/common/constants.js +1 -1
- package/lib/src/common/constants.js.map +1 -1
- package/lib/src/common/index.d.ts +1 -1
- package/lib/src/common/index.js +1 -0
- package/lib/src/common/index.js.map +1 -1
- package/lib/src/convert/convertContext.d.ts +8 -10
- package/lib/src/convert/convertContext.js +162 -197
- package/lib/src/convert/convertContext.js.map +1 -1
- package/lib/src/convert/index.js +1 -0
- package/lib/src/convert/index.js.map +1 -1
- package/lib/src/convert/metadataConverter.d.ts +2 -17
- package/lib/src/convert/metadataConverter.js +106 -111
- package/lib/src/convert/metadataConverter.js.map +1 -1
- package/lib/src/convert/streams.d.ts +4 -4
- package/lib/src/convert/streams.js +111 -147
- package/lib/src/convert/streams.js.map +1 -1
- package/lib/src/convert/transformers/baseMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/decomposedMetadataTransformer.d.ts +2 -1
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js +125 -133
- package/lib/src/convert/transformers/decomposedMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/defaultMetadataTransformer.d.ts +1 -1
- package/lib/src/convert/transformers/defaultMetadataTransformer.js +11 -23
- package/lib/src/convert/transformers/defaultMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/index.js +1 -0
- package/lib/src/convert/transformers/index.js.map +1 -1
- package/lib/src/convert/transformers/metadataTransformerFactory.js +1 -1
- package/lib/src/convert/transformers/metadataTransformerFactory.js.map +1 -1
- package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.d.ts +1 -1
- package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.js +18 -29
- package/lib/src/convert/transformers/nonDecomposedMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.d.ts +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js +78 -132
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js.map +1 -1
- package/lib/src/convert/types.d.ts +1 -1
- package/lib/src/errors/index.js.map +1 -1
- package/lib/src/i18n/i18n.js +3 -2
- package/lib/src/i18n/i18n.js.map +1 -1
- package/lib/src/i18n/index.js +3 -4
- package/lib/src/i18n/index.js.map +1 -1
- package/lib/src/i18n/localization.js +4 -4
- package/lib/src/i18n/localization.js.map +1 -1
- package/lib/src/index.js +1 -4
- package/lib/src/index.js.map +1 -1
- package/lib/src/registry/index.js +1 -4
- package/lib/src/registry/index.js.map +1 -1
- package/lib/src/registry/{registry.json → metadataRegistry.json} +0 -0
- package/lib/src/registry/nonSupportedTypes.js +5 -7
- package/lib/src/registry/nonSupportedTypes.js.map +1 -1
- package/lib/src/registry/registry.js +2 -2
- package/lib/src/registry/registry.js.map +1 -1
- package/lib/src/registry/registryAccess.d.ts +2 -0
- package/lib/src/registry/registryAccess.js +3 -1
- package/lib/src/registry/registryAccess.js.map +1 -1
- package/lib/src/registry/types.js +0 -35
- package/lib/src/registry/types.js.map +1 -1
- package/lib/src/resolve/adapters/baseSourceAdapter.d.ts +2 -2
- package/lib/src/resolve/adapters/baseSourceAdapter.js +20 -16
- package/lib/src/resolve/adapters/baseSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/bundleSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/bundleSourceAdapter.js +0 -6
- package/lib/src/resolve/adapters/bundleSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js +6 -13
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/defaultSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/defaultSourceAdapter.js +0 -6
- package/lib/src/resolve/adapters/defaultSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/index.js +1 -0
- package/lib/src/resolve/adapters/index.js.map +1 -1
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.js +2 -2
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.d.ts +1 -1
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.js +6 -6
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/sourceAdapterFactory.js +2 -2
- package/lib/src/resolve/adapters/sourceAdapterFactory.js.map +1 -1
- package/lib/src/resolve/forceIgnore.js +9 -14
- package/lib/src/resolve/forceIgnore.js.map +1 -1
- package/lib/src/resolve/index.d.ts +1 -1
- package/lib/src/resolve/index.js +1 -0
- package/lib/src/resolve/index.js.map +1 -1
- package/lib/src/resolve/manifestResolver.js +25 -36
- package/lib/src/resolve/manifestResolver.js.map +1 -1
- package/lib/src/resolve/metadataResolver.d.ts +6 -5
- package/lib/src/resolve/metadataResolver.js +18 -23
- package/lib/src/resolve/metadataResolver.js.map +1 -1
- package/lib/src/resolve/sourceComponent.d.ts +4 -4
- package/lib/src/resolve/sourceComponent.js +32 -44
- package/lib/src/resolve/sourceComponent.js.map +1 -1
- package/lib/src/resolve/treeContainers.d.ts +1 -1
- package/lib/src/resolve/treeContainers.js +21 -32
- package/lib/src/resolve/treeContainers.js.map +1 -1
- package/lib/src/resolve/types.d.ts +2 -2
- package/lib/src/utils/collections.js +1 -1
- package/lib/src/utils/collections.js.map +1 -1
- package/lib/src/utils/fileSystemHandler.js +1 -1
- package/lib/src/utils/fileSystemHandler.js.map +1 -1
- package/lib/src/utils/index.d.ts +1 -1
- package/lib/src/utils/index.js +1 -0
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/metadata.js +1 -3
- package/lib/src/utils/metadata.js.map +1 -1
- package/lib/src/utils/path.d.ts +5 -1
- package/lib/src/utils/path.js +8 -4
- package/lib/src/utils/path.js.map +1 -1
- package/package.json +39 -34
|
@@ -5,21 +5,12 @@
|
|
|
5
5
|
* Licensed under the BSD 3-Clause license.
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.ManifestResolver = void 0;
|
|
19
|
-
const registry_1 = require("../registry");
|
|
20
|
-
const treeContainers_1 = require("./treeContainers");
|
|
21
10
|
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
11
|
+
const registry_1 = require("../registry");
|
|
22
12
|
const utils_1 = require("../utils");
|
|
13
|
+
const treeContainers_1 = require("./treeContainers");
|
|
23
14
|
/**
|
|
24
15
|
* Resolve MetadataComponents from a manifest file (package.xml)
|
|
25
16
|
*/
|
|
@@ -28,40 +19,38 @@ class ManifestResolver {
|
|
|
28
19
|
this.tree = tree;
|
|
29
20
|
this.registry = registry;
|
|
30
21
|
}
|
|
31
|
-
resolve(manifestPath) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
mdType = parentType;
|
|
49
|
-
}
|
|
50
|
-
components.push({ fullName, type: mdType });
|
|
22
|
+
async resolve(manifestPath) {
|
|
23
|
+
const components = [];
|
|
24
|
+
const file = await this.tree.readFile(manifestPath);
|
|
25
|
+
const parsedManifest = (0, fast_xml_parser_1.parse)(file.toString(), {
|
|
26
|
+
stopNodes: ['version'],
|
|
27
|
+
}).Package;
|
|
28
|
+
const packageTypeMembers = (0, utils_1.normalizeToArray)(parsedManifest.types);
|
|
29
|
+
const apiVersion = parsedManifest.version;
|
|
30
|
+
for (const typeMembers of packageTypeMembers) {
|
|
31
|
+
const typeName = typeMembers.name;
|
|
32
|
+
const type = this.registry.getTypeByName(typeName);
|
|
33
|
+
const parentType = type.folderType ? this.registry.getTypeByName(type.folderType) : undefined;
|
|
34
|
+
const members = (0, utils_1.normalizeToArray)(typeMembers.members);
|
|
35
|
+
for (const fullName of members) {
|
|
36
|
+
let mdType = type;
|
|
37
|
+
if (this.isNestedInFolder(fullName, type, parentType, members)) {
|
|
38
|
+
mdType = parentType;
|
|
51
39
|
}
|
|
40
|
+
components.push({ fullName, type: mdType });
|
|
52
41
|
}
|
|
53
|
-
|
|
54
|
-
}
|
|
42
|
+
}
|
|
43
|
+
return { components, apiVersion };
|
|
55
44
|
}
|
|
56
45
|
// Use the folderType instead of the type from the manifest when:
|
|
57
46
|
// 1. InFolder types: (report, dashboard, emailTemplate, document)
|
|
58
|
-
// 1a. type.inFolder === true (from
|
|
47
|
+
// 1a. type.inFolder === true (from metadataRegistry.json) AND
|
|
59
48
|
// 1b. The fullName doesn't contain a forward slash character AND
|
|
60
49
|
// 1c. The fullName with a slash appended is contained in another member entry
|
|
61
50
|
// OR
|
|
62
51
|
// 2. Non-InFolder, folder types: (territory2, territory2Model, territory2Type, territory2Rule)
|
|
63
|
-
// 2a. type.inFolder !== true (from
|
|
64
|
-
// 2b. type.folderType has a value (from
|
|
52
|
+
// 2a. type.inFolder !== true (from metadataRegistry.json) AND
|
|
53
|
+
// 2b. type.folderType has a value (from metadataRegistry.json) AND
|
|
65
54
|
// 2c. This type's parent type has a folderType that doesn't match its ID.
|
|
66
55
|
isNestedInFolder(fullName, type, parentType, members) {
|
|
67
56
|
// Quick short-circuit for non-folderTypes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifestResolver.js","sourceRoot":"","sources":["../../../src/resolve/manifestResolver.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"manifestResolver.js","sourceRoot":"","sources":["../../../src/resolve/manifestResolver.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qDAAoD;AACpD,0CAA2D;AAC3D,oCAA4C;AAC5C,qDAAsE;AA6BtE;;GAEG;AACH,MAAa,gBAAgB;IAI3B,YAAmB,OAAsB,IAAI,oCAAmB,EAAE,EAAE,QAAQ,GAAG,IAAI,yBAAc,EAAE;QACjG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,YAAoB;QACvC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,cAAc,GAClB,IAAA,uBAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACxB,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CACF,CAAC,OAAO,CAAC;QACV,MAAM,kBAAkB,GAAG,IAAA,wBAAgB,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;QAE1C,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE;YAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEtD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;gBAC9B,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;oBAC9D,MAAM,GAAG,UAAU,CAAC;iBACrB;gBACD,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;aAC7C;SACF;QAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,iEAAiE;IACjE,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,iFAAiF;IACjF,KAAK;IACL,gGAAgG;IAChG,iEAAiE;IACjE,sEAAsE;IACtE,6EAA6E;IACrE,gBAAgB,CAAC,QAAgB,EAAE,IAAkB,EAAE,UAAwB,EAAE,OAAiB;QACxG,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpG,MAAM,mBAAmB,GAAG,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;QAElF,OAAO,CAAC,cAAc,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC;IAC1F,CAAC;CACF;AA9DD,4CA8DC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { SourceComponent } from './sourceComponent';
|
|
2
|
-
import { TreeContainer } from './treeContainers';
|
|
3
1
|
import { RegistryAccess } from '../registry/registryAccess';
|
|
4
2
|
import { ComponentSet } from '../collections';
|
|
3
|
+
import { SourceComponent } from './sourceComponent';
|
|
4
|
+
import { TreeContainer } from './treeContainers';
|
|
5
5
|
/**
|
|
6
6
|
* Resolver for metadata type and component objects.
|
|
7
|
+
*
|
|
7
8
|
* @internal
|
|
8
9
|
*/
|
|
9
10
|
export declare class MetadataResolver {
|
|
@@ -54,11 +55,11 @@ export declare class MetadataResolver {
|
|
|
54
55
|
private getFolderContentTypeDirNames;
|
|
55
56
|
/**
|
|
56
57
|
* Identify metadata xml for a folder component:
|
|
57
|
-
*
|
|
58
|
-
*
|
|
58
|
+
* .../email/TestFolder-meta.xml
|
|
59
|
+
* .../reports/foo/bar-meta.xml
|
|
59
60
|
*
|
|
60
61
|
* Do not match this pattern:
|
|
61
|
-
*
|
|
62
|
+
* .../tabs/TestFolder.tab-meta.xml
|
|
62
63
|
*/
|
|
63
64
|
private parseAsFolderMetadataXml;
|
|
64
65
|
private isMetadata;
|
|
@@ -10,12 +10,13 @@ exports.MetadataResolver = void 0;
|
|
|
10
10
|
const path_1 = require("path");
|
|
11
11
|
const errors_1 = require("../errors");
|
|
12
12
|
const utils_1 = require("../utils");
|
|
13
|
+
const registryAccess_1 = require("../registry/registryAccess");
|
|
13
14
|
const sourceAdapterFactory_1 = require("./adapters/sourceAdapterFactory");
|
|
14
15
|
const forceIgnore_1 = require("./forceIgnore");
|
|
15
16
|
const treeContainers_1 = require("./treeContainers");
|
|
16
|
-
const registryAccess_1 = require("../registry/registryAccess");
|
|
17
17
|
/**
|
|
18
18
|
* Resolver for metadata type and component objects.
|
|
19
|
+
*
|
|
19
20
|
* @internal
|
|
20
21
|
*/
|
|
21
22
|
class MetadataResolver {
|
|
@@ -41,9 +42,7 @@ class MetadataResolver {
|
|
|
41
42
|
throw new errors_1.TypeInferenceError('error_path_not_found', fsPath);
|
|
42
43
|
}
|
|
43
44
|
// use the default ignore if we aren't using a real one
|
|
44
|
-
this.forceIgnore = this.useFsForceIgnore
|
|
45
|
-
? forceIgnore_1.ForceIgnore.findAndCreate(fsPath)
|
|
46
|
-
: new forceIgnore_1.ForceIgnore();
|
|
45
|
+
this.forceIgnore = this.useFsForceIgnore ? forceIgnore_1.ForceIgnore.findAndCreate(fsPath) : new forceIgnore_1.ForceIgnore();
|
|
47
46
|
if (this.tree.isDirectory(fsPath) && !this.resolveDirectoryAsComponent(fsPath)) {
|
|
48
47
|
return this.getComponentsFromPathRecursive(fsPath, inclusiveFilter);
|
|
49
48
|
}
|
|
@@ -58,7 +57,7 @@ class MetadataResolver {
|
|
|
58
57
|
return components;
|
|
59
58
|
}
|
|
60
59
|
for (const file of this.tree.readDirectory(dir)) {
|
|
61
|
-
const fsPath = path_1.join(dir, file);
|
|
60
|
+
const fsPath = (0, path_1.join)(dir, file);
|
|
62
61
|
if (ignore.has(fsPath)) {
|
|
63
62
|
continue;
|
|
64
63
|
}
|
|
@@ -90,15 +89,15 @@ class MetadataResolver {
|
|
|
90
89
|
}
|
|
91
90
|
// don't traverse further if not in a root type directory. performance optimization
|
|
92
91
|
// for mixed content types and ensures we don't add duplicates of the component.
|
|
93
|
-
const typeDir = path_1.basename(path_1.dirname(component.type.inFolder ? path_1.dirname(fsPath) : fsPath));
|
|
92
|
+
const typeDir = (0, path_1.basename)((0, path_1.dirname)(component.type.inFolder ? (0, path_1.dirname)(fsPath) : fsPath));
|
|
94
93
|
if (component.type.strictDirectoryName && typeDir !== component.type.directoryName) {
|
|
95
94
|
return components;
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
|
-
for (const
|
|
101
|
-
components.push(...this.getComponentsFromPathRecursive(
|
|
99
|
+
for (const directory of dirQueue) {
|
|
100
|
+
components.push(...this.getComponentsFromPathRecursive(directory, inclusiveFilter));
|
|
102
101
|
}
|
|
103
102
|
return components;
|
|
104
103
|
}
|
|
@@ -128,7 +127,7 @@ class MetadataResolver {
|
|
|
128
127
|
* @param fsPath File path of a potential metadata xml file
|
|
129
128
|
*/
|
|
130
129
|
parseAsRootMetadataXml(fsPath) {
|
|
131
|
-
return !!utils_1.parseMetadataXml(fsPath);
|
|
130
|
+
return !!(0, utils_1.parseMetadataXml)(fsPath);
|
|
132
131
|
}
|
|
133
132
|
resolveType(fsPath) {
|
|
134
133
|
let resolvedType;
|
|
@@ -139,7 +138,7 @@ class MetadataResolver {
|
|
|
139
138
|
// types with folders only have folder components living at the top level.
|
|
140
139
|
// if the fsPath is a folder component, let a future strategy deal with it
|
|
141
140
|
// const isFolderType = this.getTypeFromName(typeId).inFolder;
|
|
142
|
-
if (!type.inFolder || utils_1.parentName(fsPath) !== type.directoryName) {
|
|
141
|
+
if (!type.inFolder || (0, utils_1.parentName)(fsPath) !== type.directoryName) {
|
|
143
142
|
resolvedType = type;
|
|
144
143
|
}
|
|
145
144
|
break;
|
|
@@ -147,7 +146,7 @@ class MetadataResolver {
|
|
|
147
146
|
}
|
|
148
147
|
// attempt 2 - check if it's a metadata xml file
|
|
149
148
|
if (!resolvedType) {
|
|
150
|
-
const parsedMetaXml = utils_1.parseMetadataXml(fsPath);
|
|
149
|
+
const parsedMetaXml = (0, utils_1.parseMetadataXml)(fsPath);
|
|
151
150
|
if (parsedMetaXml) {
|
|
152
151
|
resolvedType = this.registry.getTypeBySuffix(parsedMetaXml.suffix);
|
|
153
152
|
}
|
|
@@ -162,7 +161,7 @@ class MetadataResolver {
|
|
|
162
161
|
}
|
|
163
162
|
// attempt 3 - try treating the file extension name as a suffix
|
|
164
163
|
if (!resolvedType) {
|
|
165
|
-
resolvedType = this.registry.getTypeBySuffix(utils_1.extName(fsPath));
|
|
164
|
+
resolvedType = this.registry.getTypeBySuffix((0, utils_1.extName)(fsPath));
|
|
166
165
|
}
|
|
167
166
|
return resolvedType;
|
|
168
167
|
}
|
|
@@ -201,28 +200,26 @@ class MetadataResolver {
|
|
|
201
200
|
* @param fsPath File path of a potential content metadata file
|
|
202
201
|
*/
|
|
203
202
|
parseAsContentMetadataXml(fsPath) {
|
|
204
|
-
return !!this.registry.getTypeBySuffix(utils_1.extName(fsPath));
|
|
203
|
+
return !!this.registry.getTypeBySuffix((0, utils_1.extName)(fsPath));
|
|
205
204
|
}
|
|
206
205
|
// Get the array of directoryNames for types that have folderContentType
|
|
207
206
|
getFolderContentTypeDirNames() {
|
|
208
207
|
if (!this.folderContentTypeDirNames) {
|
|
209
|
-
this.folderContentTypeDirNames = this.registry
|
|
210
|
-
.getFolderContentTypes()
|
|
211
|
-
.map((t) => t.directoryName);
|
|
208
|
+
this.folderContentTypeDirNames = this.registry.getFolderContentTypes().map((t) => t.directoryName);
|
|
212
209
|
}
|
|
213
210
|
return this.folderContentTypeDirNames;
|
|
214
211
|
}
|
|
215
212
|
/**
|
|
216
213
|
* Identify metadata xml for a folder component:
|
|
217
|
-
*
|
|
218
|
-
*
|
|
214
|
+
* .../email/TestFolder-meta.xml
|
|
215
|
+
* .../reports/foo/bar-meta.xml
|
|
219
216
|
*
|
|
220
217
|
* Do not match this pattern:
|
|
221
|
-
*
|
|
218
|
+
* .../tabs/TestFolder.tab-meta.xml
|
|
222
219
|
*/
|
|
223
220
|
parseAsFolderMetadataXml(fsPath) {
|
|
224
221
|
let folderName;
|
|
225
|
-
const match =
|
|
222
|
+
const match = new RegExp(/(.+)-meta\.xml/).exec((0, path_1.basename)(fsPath));
|
|
226
223
|
if (match && !match[1].includes('.')) {
|
|
227
224
|
const parts = fsPath.split(path_1.sep);
|
|
228
225
|
if (parts.length > 1) {
|
|
@@ -239,9 +236,7 @@ class MetadataResolver {
|
|
|
239
236
|
return folderName;
|
|
240
237
|
}
|
|
241
238
|
isMetadata(fsPath) {
|
|
242
|
-
return (!!utils_1.parseMetadataXml(fsPath) ||
|
|
243
|
-
this.parseAsContentMetadataXml(fsPath) ||
|
|
244
|
-
!!this.parseAsFolderMetadataXml(fsPath));
|
|
239
|
+
return (!!(0, utils_1.parseMetadataXml)(fsPath) || this.parseAsContentMetadataXml(fsPath) || !!this.parseAsFolderMetadataXml(fsPath));
|
|
245
240
|
}
|
|
246
241
|
}
|
|
247
242
|
exports.MetadataResolver = MetadataResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataResolver.js","sourceRoot":"","sources":["../../../src/resolve/metadataResolver.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+BAAoD;AACpD,sCAA+C;AAC/C,oCAAiE;AACjE,0EAAuE;AACvE,+CAA4C;AAE5C,qDAAsE;
|
|
1
|
+
{"version":3,"file":"metadataResolver.js","sourceRoot":"","sources":["../../../src/resolve/metadataResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ForceIgnore } from './forceIgnore';
|
|
2
|
-
import { TreeContainer } from './treeContainers';
|
|
3
|
-
import { MetadataComponent, VirtualDirectory } from './types';
|
|
4
1
|
import { JsonMap } from '@salesforce/ts-types';
|
|
5
2
|
import { SfdxFileFormat } from '../convert';
|
|
6
3
|
import { MetadataType } from '../registry';
|
|
7
4
|
import { DestructiveChangesType } from '../collections';
|
|
5
|
+
import { MetadataComponent, VirtualDirectory } from './types';
|
|
6
|
+
import { TreeContainer } from './treeContainers';
|
|
7
|
+
import { ForceIgnore } from './forceIgnore';
|
|
8
8
|
export declare type ComponentProperties = {
|
|
9
9
|
name: string;
|
|
10
10
|
type: MetadataType;
|
|
@@ -23,7 +23,7 @@ export declare class SourceComponent implements MetadataComponent {
|
|
|
23
23
|
readonly parent?: SourceComponent;
|
|
24
24
|
parentType?: MetadataType;
|
|
25
25
|
content?: string;
|
|
26
|
-
private
|
|
26
|
+
private treeContainer;
|
|
27
27
|
private forceIgnore;
|
|
28
28
|
private markedForDelete;
|
|
29
29
|
private destructiveChangesType;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.SourceComponent = void 0;
|
|
13
4
|
/*
|
|
@@ -18,13 +9,13 @@ exports.SourceComponent = void 0;
|
|
|
18
9
|
*/
|
|
19
10
|
const path_1 = require("path");
|
|
20
11
|
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
21
|
-
const
|
|
22
|
-
const treeContainers_1 = require("./treeContainers");
|
|
12
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
23
13
|
const utils_1 = require("../utils");
|
|
24
14
|
const common_1 = require("../common");
|
|
25
|
-
const ts_types_1 = require("@salesforce/ts-types");
|
|
26
15
|
const errors_1 = require("../errors");
|
|
27
16
|
const collections_1 = require("../collections");
|
|
17
|
+
const treeContainers_1 = require("./treeContainers");
|
|
18
|
+
const forceIgnore_1 = require("./forceIgnore");
|
|
28
19
|
/**
|
|
29
20
|
* Representation of a MetadataComponent in a file tree.
|
|
30
21
|
*/
|
|
@@ -37,7 +28,7 @@ class SourceComponent {
|
|
|
37
28
|
this.parent = props.parent;
|
|
38
29
|
this.content = props.content;
|
|
39
30
|
this.parentType = props.parentType;
|
|
40
|
-
this.
|
|
31
|
+
this.treeContainer = tree;
|
|
41
32
|
this.forceIgnore = forceIgnore;
|
|
42
33
|
}
|
|
43
34
|
static createVirtualComponent(props, fs, forceIgnore) {
|
|
@@ -67,9 +58,7 @@ class SourceComponent {
|
|
|
67
58
|
getChildren() {
|
|
68
59
|
var _a, _b, _c, _d;
|
|
69
60
|
if (!this.parent && this.type.children) {
|
|
70
|
-
const children = this.content
|
|
71
|
-
? this.getDecomposedChildren(this.content)
|
|
72
|
-
: this.getNonDecomposedChildren();
|
|
61
|
+
const children = this.content ? this.getDecomposedChildren(this.content) : this.getNonDecomposedChildren();
|
|
73
62
|
const validChildTypes = ((_a = this.type) === null || _a === void 0 ? void 0 : _a.children) ? Object.keys((_c = (_b = this.type) === null || _b === void 0 ? void 0 : _b.children) === null || _c === void 0 ? void 0 : _c.types) : [];
|
|
74
63
|
for (const child of children) {
|
|
75
64
|
// Ensure only valid child types are included with the parent.
|
|
@@ -82,15 +71,13 @@ class SourceComponent {
|
|
|
82
71
|
}
|
|
83
72
|
return [];
|
|
84
73
|
}
|
|
85
|
-
parseXml(xmlFilePath) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return {};
|
|
93
|
-
});
|
|
74
|
+
async parseXml(xmlFilePath) {
|
|
75
|
+
const xml = xmlFilePath !== null && xmlFilePath !== void 0 ? xmlFilePath : this.xml;
|
|
76
|
+
if (xml) {
|
|
77
|
+
const contents = await this.tree.readFile(xml);
|
|
78
|
+
return this.parse(contents.toString());
|
|
79
|
+
}
|
|
80
|
+
return {};
|
|
94
81
|
}
|
|
95
82
|
parseXmlSync(xmlFilePath) {
|
|
96
83
|
const xml = xmlFilePath !== null && xmlFilePath !== void 0 ? xmlFilePath : this.xml;
|
|
@@ -113,12 +100,12 @@ class SourceComponent {
|
|
|
113
100
|
if (!this.parent) {
|
|
114
101
|
return parentXml;
|
|
115
102
|
}
|
|
116
|
-
const children = utils_1.normalizeToArray(ts_types_1.get(parentXml, `${this.parent.type.name}.${this.type.xmlElementName || this.type.directoryName}`));
|
|
117
|
-
return children.find((c) => ts_types_1.getString(c, this.type.uniqueIdElement) === this.name);
|
|
103
|
+
const children = (0, utils_1.normalizeToArray)((0, ts_types_1.get)(parentXml, `${this.parent.type.name}.${this.type.xmlElementName || this.type.directoryName}`));
|
|
104
|
+
return children.find((c) => (0, ts_types_1.getString)(c, this.type.uniqueIdElement) === this.name);
|
|
118
105
|
}
|
|
119
106
|
getPackageRelativePath(fsPath, format) {
|
|
120
107
|
return format === 'source'
|
|
121
|
-
? path_1.join(common_1.DEFAULT_PACKAGE_ROOT_SFDX, this.calculateRelativePath(fsPath))
|
|
108
|
+
? (0, path_1.join)(common_1.DEFAULT_PACKAGE_ROOT_SFDX, this.calculateRelativePath(fsPath))
|
|
122
109
|
: this.calculateRelativePath(fsPath);
|
|
123
110
|
}
|
|
124
111
|
/**
|
|
@@ -138,6 +125,7 @@ class SourceComponent {
|
|
|
138
125
|
}
|
|
139
126
|
else {
|
|
140
127
|
this.markedForDelete = true;
|
|
128
|
+
// eslint-disable-next-line no-unused-expressions
|
|
141
129
|
destructiveChangeType === collections_1.DestructiveChangesType.PRE
|
|
142
130
|
? (this.destructiveChangesType = collections_1.DestructiveChangesType.PRE)
|
|
143
131
|
: (this.destructiveChangesType = collections_1.DestructiveChangesType.POST);
|
|
@@ -152,20 +140,20 @@ class SourceComponent {
|
|
|
152
140
|
// (report, dashboard, emailTemplate, document) and their folder container types:
|
|
153
141
|
// (reportFolder, dashboardFolder, emailFolder, documentFolder)
|
|
154
142
|
if (!suffix || inFolder || folderContentType) {
|
|
155
|
-
return utils_1.trimUntil(fsPath, directoryName);
|
|
143
|
+
return (0, utils_1.trimUntil)(fsPath, directoryName);
|
|
156
144
|
}
|
|
157
145
|
if (folderType) {
|
|
158
146
|
// types like Territory2Model have child types inside them. We have to preserve those folder structures
|
|
159
147
|
if (((_a = this.parentType) === null || _a === void 0 ? void 0 : _a.folderType) && ((_b = this.parentType) === null || _b === void 0 ? void 0 : _b.folderType) !== this.type.id) {
|
|
160
|
-
return utils_1.trimUntil(fsPath, this.parentType.directoryName);
|
|
148
|
+
return (0, utils_1.trimUntil)(fsPath, this.parentType.directoryName);
|
|
161
149
|
}
|
|
162
|
-
return path_1.join(directoryName, this.fullName.split('/')[0], path_1.basename(fsPath));
|
|
150
|
+
return (0, path_1.join)(directoryName, this.fullName.split('/')[0], (0, path_1.basename)(fsPath));
|
|
163
151
|
}
|
|
164
|
-
return path_1.join(directoryName, path_1.basename(fsPath));
|
|
152
|
+
return (0, path_1.join)(directoryName, (0, path_1.basename)(fsPath));
|
|
165
153
|
}
|
|
166
154
|
parse(contents) {
|
|
167
155
|
// include tag attributes and don't parse text node as number
|
|
168
|
-
const parsed = fast_xml_parser_1.parse(contents.toString(), {
|
|
156
|
+
const parsed = (0, fast_xml_parser_1.parse)(contents.toString(), {
|
|
169
157
|
ignoreAttributes: false,
|
|
170
158
|
parseNodeValue: false,
|
|
171
159
|
});
|
|
@@ -183,17 +171,17 @@ class SourceComponent {
|
|
|
183
171
|
getDecomposedChildren(dirPath) {
|
|
184
172
|
const children = [];
|
|
185
173
|
for (const fsPath of this.walk(dirPath)) {
|
|
186
|
-
const childXml = utils_1.parseMetadataXml(fsPath);
|
|
174
|
+
const childXml = (0, utils_1.parseMetadataXml)(fsPath);
|
|
187
175
|
const fileIsRootXml = (childXml === null || childXml === void 0 ? void 0 : childXml.suffix) === this.type.suffix;
|
|
188
176
|
if (childXml && !fileIsRootXml) {
|
|
189
177
|
// TODO: Log warning if missing child type definition
|
|
190
178
|
const childTypeId = this.type.children.suffixes[childXml.suffix];
|
|
191
179
|
const childComponent = new SourceComponent({
|
|
192
|
-
name: utils_1.baseName(fsPath),
|
|
180
|
+
name: (0, utils_1.baseName)(fsPath),
|
|
193
181
|
type: this.type.children.types[childTypeId],
|
|
194
182
|
xml: fsPath,
|
|
195
183
|
parent: this,
|
|
196
|
-
}, this.
|
|
184
|
+
}, this.treeContainer, this.forceIgnore);
|
|
197
185
|
children.push(childComponent);
|
|
198
186
|
}
|
|
199
187
|
}
|
|
@@ -210,14 +198,14 @@ class SourceComponent {
|
|
|
210
198
|
const uniqueIdElement = childType.uniqueIdElement;
|
|
211
199
|
if (uniqueIdElement) {
|
|
212
200
|
const xmlPathToChildren = `${this.type.name}.${childType.xmlElementName}`;
|
|
213
|
-
const elements = utils_1.normalizeToArray(ts_types_1.get(parsed, xmlPathToChildren, []));
|
|
201
|
+
const elements = (0, utils_1.normalizeToArray)((0, ts_types_1.get)(parsed, xmlPathToChildren, []));
|
|
214
202
|
const childComponents = elements.map((element) => {
|
|
215
203
|
return new SourceComponent({
|
|
216
|
-
name: ts_types_1.getString(element, uniqueIdElement),
|
|
204
|
+
name: (0, ts_types_1.getString)(element, uniqueIdElement),
|
|
217
205
|
type: childType,
|
|
218
206
|
xml: this.xml,
|
|
219
207
|
parent: this,
|
|
220
|
-
}, this.
|
|
208
|
+
}, this.treeContainer, this.forceIgnore);
|
|
221
209
|
});
|
|
222
210
|
children.push(...childComponents);
|
|
223
211
|
}
|
|
@@ -225,16 +213,16 @@ class SourceComponent {
|
|
|
225
213
|
return children;
|
|
226
214
|
}
|
|
227
215
|
*walk(fsPath) {
|
|
228
|
-
if (!this.
|
|
216
|
+
if (!this.treeContainer.isDirectory(fsPath)) {
|
|
229
217
|
yield fsPath;
|
|
230
218
|
}
|
|
231
219
|
else {
|
|
232
|
-
for (const child of this.
|
|
233
|
-
const childPath = path_1.join(fsPath, child);
|
|
220
|
+
for (const child of this.treeContainer.readDirectory(fsPath)) {
|
|
221
|
+
const childPath = (0, path_1.join)(fsPath, child);
|
|
234
222
|
if (this.forceIgnore.denies(childPath)) {
|
|
235
223
|
continue;
|
|
236
224
|
}
|
|
237
|
-
else if (this.
|
|
225
|
+
else if (this.treeContainer.isDirectory(childPath)) {
|
|
238
226
|
yield* this.walk(childPath);
|
|
239
227
|
}
|
|
240
228
|
else {
|
|
@@ -255,7 +243,7 @@ class SourceComponent {
|
|
|
255
243
|
}
|
|
256
244
|
}
|
|
257
245
|
get tree() {
|
|
258
|
-
return this.
|
|
246
|
+
return this.treeContainer;
|
|
259
247
|
}
|
|
260
248
|
/**
|
|
261
249
|
* Returns whether this component type is supported by the Metadata API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceComponent.js","sourceRoot":"","sources":["../../../src/resolve/sourceComponent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sourceComponent.js","sourceRoot":"","sources":["../../../src/resolve/sourceComponent.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+BAAsC;AACtC,qDAAwC;AACxC,mDAA+D;AAC/D,oCAAmF;AACnF,sCAAsD;AAGtD,sCAA+C;AAC/C,gDAAwD;AAExD,qDAA4F;AAC5F,+CAA4C;AAW5C;;GAEG;AACH,MAAa,eAAe;IAY1B,YACE,KAA0B,EAC1B,OAAsB,IAAI,oCAAmB,EAAE,EAC/C,WAAW,GAAG,IAAI,yBAAW,EAAE;QANzB,oBAAe,GAAG,KAAK,CAAC;QAQ9B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAClC,KAA0B,EAC1B,EAAsB,EACtB,WAAyB;QAEzB,MAAM,IAAI,GAAG,IAAI,qCAAoB,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAEM,WAAW;QAChB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACtB;aACF;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD;;;;;;;;OAQG;IACI,WAAW;;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAE3G,MAAM,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,0CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;gBAC5B,8DAA8D;gBAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,EAAE,CAAC,EAAE;oBAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC5C,MAAM,IAAI,2BAAkB,CAAC,6BAA6B,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACzF;aACF;YACD,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAc,WAAoB;QACrD,MAAM,GAAG,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,GAAG,CAAC;QACpC,IAAI,GAAG,EAAE;YACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,EAAO,CAAC;IACjB,CAAC;IAEM,YAAY,CAAc,WAAoB;QACnD,MAAM,GAAG,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,GAAG,CAAC;QACpC,IAAI,GAAG,EAAE;YACP,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,EAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACI,kBAAkB,CAAc,SAAY;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,QAAQ,GAAG,IAAA,wBAAgB,EAC/B,IAAA,cAAG,EAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAC3F,CAAC;QACT,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oBAAS,EAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAEM,sBAAsB,CAAC,MAAc,EAAE,MAAsB;QAClE,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,kCAAyB,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACrE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAEM,kBAAkB,CAAC,qBAAwD;QAChF,IAAI,qBAAqB,KAAK,KAAK,EAAE;YACnC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,qDAAqD;YACrD,OAAO,IAAI,CAAC,sBAAsB,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,iDAAiD;YACjD,qBAAqB,KAAK,oCAAsB,CAAC,GAAG;gBAClD,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,GAAG,oCAAsB,CAAC,GAAG,CAAC;gBAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,GAAG,oCAAsB,CAAC,IAAI,CAAC,CAAC;SACjE;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAc;;QAC1C,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAErF,8EAA8E;QAC9E,oFAAoF;QACpF,oFAAoF;QACpF,iFAAiF;QACjF,+DAA+D;QAC/D,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,iBAAiB,EAAE;YAC5C,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;SACzC;QAED,IAAI,UAAU,EAAE;YACd,wGAAwG;YACxG,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,KAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,MAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC/E,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;aACzD;YACD,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,eAAQ,EAAC,MAAM,CAAC,CAAC,CAAC;SAC3E;QACD,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,IAAA,eAAQ,EAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAc,QAAgB;QACzC,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAA,uBAAK,EAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;YACxC,gBAAgB,EAAE,KAAK;YACvB,cAAc,EAAE,KAAK;SACtB,CAAM,CAAC;QACR,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnC,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACxC;aAAM;YACL,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IAEO,qBAAqB,CAAC,OAAe;QAC3C,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5D,IAAI,QAAQ,IAAI,CAAC,aAAa,EAAE;gBAC9B,qDAAqD;gBACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,cAAc,GAAG,IAAI,eAAe,CACxC;oBACE,IAAI,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC;oBACtB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC3C,GAAG,EAAE,MAAM;oBACX,MAAM,EAAE,IAAI;iBACb,EACD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,CACjB,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC/B;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,+CAA+C;IAC/C,gEAAgE;IACxD,wBAAwB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;YAClD,IAAI,eAAe,EAAE;gBACnB,MAAM,iBAAiB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC1E,MAAM,QAAQ,GAAG,IAAA,wBAAgB,EAAC,IAAA,cAAG,EAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtE,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC/C,OAAO,IAAI,eAAe,CACxB;wBACE,IAAI,EAAE,IAAA,oBAAS,EAAC,OAAO,EAAE,eAAe,CAAC;wBACzC,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,MAAM,EAAE,IAAI;qBACb,EACD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,CACjB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;aACnC;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,CAAC,IAAI,CAAC,MAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC3C,MAAM,MAAM,CAAC;SACd;aAAM;YACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;gBAC5D,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBACtC,SAAS;iBACV;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;oBACpD,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC7B;qBAAM;oBACL,MAAM,SAAS,CAAC;iBACjB;aACF;SACF;IACH,CAAC;IAED,IAAW,QAAQ;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;SACvE;IACH,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC;IAC3C,CAAC;CACF;AAzRD,0CAyRC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { SourcePath } from '../common';
|
|
3
2
|
import { Readable } from 'stream';
|
|
3
|
+
import { SourcePath } from '../common';
|
|
4
4
|
import { VirtualDirectory } from './types';
|
|
5
5
|
/**
|
|
6
6
|
* A container for interacting with a file system. Operations such as component resolution,
|