@salesforce/source-deploy-retrieve 5.9.9 → 5.9.10
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 +2 -0
- package/lib/src/convert/streams.d.ts +1 -1
- package/lib/src/convert/streams.js +9 -9
- package/lib/src/convert/streams.js.map +1 -1
- package/lib/src/convert/transformers/baseMetadataTransformer.d.ts +1 -0
- package/lib/src/convert/transformers/baseMetadataTransformer.js.map +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.d.ts +9 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js +49 -36
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js.map +1 -1
- package/lib/src/convert/types.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [5.9.10](https://github.com/forcedotcom/source-deploy-retrieve/compare/v5.9.9...v5.9.10) (2022-02-15)
|
|
6
|
+
|
|
5
7
|
### [5.9.9](https://github.com/forcedotcom/source-deploy-retrieve/compare/v5.9.8...v5.9.9) (2022-02-11)
|
|
6
8
|
|
|
7
9
|
### [5.9.8](https://github.com/forcedotcom/source-deploy-retrieve/compare/v5.9.7...v5.9.8) (2022-02-08)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { pipeline as cbPipeline, Readable, Transform, Writable
|
|
2
|
+
import { pipeline as cbPipeline, Readable, Stream, Transform, Writable } from 'stream';
|
|
3
3
|
import { JsonMap } from '@salesforce/ts-types';
|
|
4
4
|
import { MetadataResolver, SourceComponent } from '../resolve';
|
|
5
5
|
import { SourcePath } from '../common';
|
|
@@ -15,9 +15,9 @@ const graceful_fs_1 = require("graceful-fs");
|
|
|
15
15
|
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
16
16
|
const core_1 = require("@salesforce/core");
|
|
17
17
|
const resolve_1 = require("../resolve");
|
|
18
|
-
const fileSystemHandler_1 = require("../utils/fileSystemHandler");
|
|
19
18
|
const common_1 = require("../common");
|
|
20
19
|
const errors_1 = require("../errors");
|
|
20
|
+
const fileSystemHandler_1 = require("../utils/fileSystemHandler");
|
|
21
21
|
const transformers_1 = require("./transformers");
|
|
22
22
|
const convertContext_1 = require("./convertContext");
|
|
23
23
|
exports.pipeline = (0, util_1.promisify)(stream_1.pipeline);
|
|
@@ -70,6 +70,7 @@ class ComponentConverter extends stream_1.Transform {
|
|
|
70
70
|
try {
|
|
71
71
|
const converts = [];
|
|
72
72
|
const transformer = this.transformerFactory.getTransformer(chunk);
|
|
73
|
+
transformer.defaultDirectory = this.defaultDirectory;
|
|
73
74
|
const mergeWith = (_a = this.mergeSet) === null || _a === void 0 ? void 0 : _a.getSourceComponents(chunk);
|
|
74
75
|
switch (this.targetFormat) {
|
|
75
76
|
case 'source':
|
|
@@ -135,7 +136,10 @@ class StandardWriter extends ComponentWriter {
|
|
|
135
136
|
if (chunk.writeInfos.length !== 0) {
|
|
136
137
|
try {
|
|
137
138
|
const toResolve = [];
|
|
138
|
-
|
|
139
|
+
// it is a reasonable expectation that when a conversion call exits, the files of
|
|
140
|
+
// every component has been written to the destination. This await ensures the microtask
|
|
141
|
+
// queue is empty when that call exits and overall less memory is consumed.
|
|
142
|
+
await Promise.all(chunk.writeInfos.map((info) => {
|
|
139
143
|
const fullDest = (0, path_1.isAbsolute)(info.output) ? info.output : (0, path_1.join)(this.rootDestination, info.output);
|
|
140
144
|
if (!(0, graceful_fs_1.existsSync)(fullDest)) {
|
|
141
145
|
for (const ignoredPath of this.forceIgnoredPaths) {
|
|
@@ -160,14 +164,10 @@ class StandardWriter extends ComponentWriter {
|
|
|
160
164
|
}
|
|
161
165
|
(0, fileSystemHandler_1.ensureFileExists)(fullDest);
|
|
162
166
|
return (0, exports.pipeline)(info.source, (0, graceful_fs_1.createWriteStream)(fullDest));
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
// every component has been written to the destination. This await ensures the microtask
|
|
166
|
-
// queue is empty when that call exits and overall less memory is consumed.
|
|
167
|
-
await Promise.all(writeTasks);
|
|
168
|
-
for (const fsPath of toResolve) {
|
|
167
|
+
}));
|
|
168
|
+
toResolve.map((fsPath) => {
|
|
169
169
|
this.converted.push(...this.resolver.getComponentsFromPath(fsPath));
|
|
170
|
-
}
|
|
170
|
+
});
|
|
171
171
|
}
|
|
172
172
|
catch (e) {
|
|
173
173
|
err = e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../../src/convert/streams.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+BAA2D;AAC3D,mCAAuF;AACvF,+BAAiC;AACjC,uCAA6D;AAC7D,6CAA4D;AAE5D,qDAA4C;AAC5C,2CAA0C;AAC1C,wCAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../../src/convert/streams.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { SourceComponent } from '../../resolve';
|
|
|
4
4
|
import { RegistryAccess } from '../../registry';
|
|
5
5
|
export declare abstract class BaseMetadataTransformer implements MetadataTransformer {
|
|
6
6
|
readonly context: ConvertContext;
|
|
7
|
+
defaultDirectory?: string;
|
|
7
8
|
protected registry: RegistryAccess;
|
|
8
9
|
constructor(registry?: RegistryAccess, context?: ConvertContext);
|
|
9
10
|
abstract toMetadataFormat(component: SourceComponent): Promise<WriteInfo[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/baseMetadataTransformer.ts"],"names":[],"mappings":";;;AAOA,sDAAmD;AAEnD,6CAAgD;AAEhD,MAAsB,uBAAuB;
|
|
1
|
+
{"version":3,"file":"baseMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/baseMetadataTransformer.ts"],"names":[],"mappings":";;;AAOA,sDAAmD;AAEnD,6CAAgD;AAEhD,MAAsB,uBAAuB;IAK3C,YAAmB,QAAQ,GAAG,IAAI,yBAAc,EAAE,EAAE,OAAO,GAAG,IAAI,+BAAc,EAAE;QAChF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CAIF;AAZD,0DAYC"}
|
|
@@ -7,13 +7,21 @@ export declare class StaticResourceMetadataTransformer extends BaseMetadataTrans
|
|
|
7
7
|
private static readonly FALLBACK_TYPE_MAP;
|
|
8
8
|
toMetadataFormat(component: SourceComponent): Promise<WriteInfo[]>;
|
|
9
9
|
toSourceFormat(component: SourceComponent, mergeWith?: SourceComponent): Promise<WriteInfo[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Only separated into its own method for unit testing purposes
|
|
12
|
+
* I was unable to find a way to stub/spy a pipline() call
|
|
13
|
+
*
|
|
14
|
+
* @param stream the data to be written
|
|
15
|
+
* @param destination the destination path to be written
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
private pipeline;
|
|
10
19
|
private getBaseContentPath;
|
|
11
20
|
/**
|
|
12
21
|
* "Expanded" refers to a component whose content file is a zip file, and its current
|
|
13
22
|
* state is unzipped.
|
|
14
23
|
*/
|
|
15
24
|
private componentIsExpandedArchive;
|
|
16
|
-
private createWriteInfosFromArchive;
|
|
17
25
|
private getContentType;
|
|
18
26
|
private getExtensionFromType;
|
|
19
27
|
}
|
|
@@ -11,8 +11,11 @@ const path_1 = require("path");
|
|
|
11
11
|
const archiver_1 = require("archiver");
|
|
12
12
|
const mime_1 = require("mime");
|
|
13
13
|
const unzipper_1 = require("unzipper");
|
|
14
|
+
const graceful_fs_1 = require("graceful-fs");
|
|
14
15
|
const utils_1 = require("../../utils");
|
|
15
16
|
const errors_1 = require("../../errors");
|
|
17
|
+
const fileSystemHandler_1 = require("../../utils/fileSystemHandler");
|
|
18
|
+
const streams_1 = require("../streams");
|
|
16
19
|
const baseMetadataTransformer_1 = require("./baseMetadataTransformer");
|
|
17
20
|
class StaticResourceMetadataTransformer extends baseMetadataTransformer_1.BaseMetadataTransformer {
|
|
18
21
|
async toMetadataFormat(component) {
|
|
@@ -42,33 +45,54 @@ class StaticResourceMetadataTransformer extends baseMetadataTransformer_1.BaseMe
|
|
|
42
45
|
}
|
|
43
46
|
async toSourceFormat(component, mergeWith) {
|
|
44
47
|
const { xml, content } = component;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
48
|
+
if (!content) {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
const componentContentType = await this.getContentType(component);
|
|
52
|
+
const mergeContentPath = mergeWith === null || mergeWith === void 0 ? void 0 : mergeWith.content;
|
|
53
|
+
const baseContentPath = this.getBaseContentPath(component, mergeWith);
|
|
54
|
+
// only unzip an archive component if there isn't a merge component, or the merge component is itself expanded
|
|
55
|
+
const shouldUnzipArchive = StaticResourceMetadataTransformer.ARCHIVE_MIME_TYPES.has(componentContentType) &&
|
|
56
|
+
(!mergeWith || mergeWith.tree.isDirectory(mergeContentPath));
|
|
57
|
+
if (shouldUnzipArchive) {
|
|
58
|
+
// for the bulk of static resource writing we'll start writing ASAP
|
|
59
|
+
// we'll still defer writing the resource-meta.xml file by pushing it onto the writeInfos
|
|
60
|
+
await Promise.all((await unzipper_1.Open.buffer(await component.tree.readFile(content))).files
|
|
61
|
+
.filter((f) => f.type === 'File')
|
|
62
|
+
.map(async (f) => {
|
|
63
|
+
const path = (0, path_1.join)(baseContentPath, f.path);
|
|
64
|
+
const fullDest = (0, path_1.isAbsolute)(path)
|
|
65
|
+
? path
|
|
66
|
+
: (0, path_1.join)(this.defaultDirectory || component.getPackageRelativePath('', 'source'), path);
|
|
67
|
+
// push onto the pipeline and start writing now
|
|
68
|
+
return this.pipeline(f.stream(), fullDest);
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
67
73
|
source: component.tree.stream(xml),
|
|
68
74
|
output: (mergeWith === null || mergeWith === void 0 ? void 0 : mergeWith.xml) || component.getPackageRelativePath((0, path_1.basename)(xml), 'source'),
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
},
|
|
76
|
+
].concat(shouldUnzipArchive
|
|
77
|
+
? []
|
|
78
|
+
: [
|
|
79
|
+
{
|
|
80
|
+
source: component.tree.stream(content),
|
|
81
|
+
output: `${baseContentPath}.${this.getExtensionFromType(componentContentType)}`,
|
|
82
|
+
},
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Only separated into its own method for unit testing purposes
|
|
87
|
+
* I was unable to find a way to stub/spy a pipline() call
|
|
88
|
+
*
|
|
89
|
+
* @param stream the data to be written
|
|
90
|
+
* @param destination the destination path to be written
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
async pipeline(stream, destination) {
|
|
94
|
+
(0, fileSystemHandler_1.ensureFileExists)(destination);
|
|
95
|
+
await (0, streams_1.pipeline)(stream, (0, graceful_fs_1.createWriteStream)(destination));
|
|
72
96
|
}
|
|
73
97
|
getBaseContentPath(component, mergeWith) {
|
|
74
98
|
const baseContentPath = (mergeWith === null || mergeWith === void 0 ? void 0 : mergeWith.content) || component.getPackageRelativePath(component.content, 'source');
|
|
@@ -89,17 +113,6 @@ class StaticResourceMetadataTransformer extends baseMetadataTransformer_1.BaseMe
|
|
|
89
113
|
}
|
|
90
114
|
return false;
|
|
91
115
|
}
|
|
92
|
-
async *createWriteInfosFromArchive(zipBuffer, baseDir) {
|
|
93
|
-
const directory = await unzipper_1.Open.buffer(zipBuffer);
|
|
94
|
-
for (const entry of directory.files) {
|
|
95
|
-
if (entry.type === 'File') {
|
|
96
|
-
yield {
|
|
97
|
-
source: entry.stream(),
|
|
98
|
-
output: (0, path_1.join)(baseDir, entry.path),
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
116
|
async getContentType(component) {
|
|
104
117
|
const resource = (await component.parseXml()).StaticResource;
|
|
105
118
|
if (!resource || !Object.prototype.hasOwnProperty.call(resource, 'contentType')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticResourceMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/staticResourceMetadataTransformer.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+
|
|
1
|
+
{"version":3,"file":"staticResourceMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/convert/transformers/staticResourceMetadataTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,7 @@ export declare type MergeConfig = {
|
|
|
52
52
|
* Transforms metadata component files into different SFDX file formats
|
|
53
53
|
*/
|
|
54
54
|
export interface MetadataTransformer {
|
|
55
|
+
defaultDirectory?: string;
|
|
55
56
|
toMetadataFormat(component: SourceComponent): Promise<WriteInfo[]>;
|
|
56
57
|
toSourceFormat(component: SourceComponent, mergeWith?: SourceComponent): Promise<WriteInfo[]>;
|
|
57
58
|
}
|