react-native-platform-override 1.9.21 → 1.9.22
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/lib-commonjs/Api.d.ts +57 -57
- package/lib-commonjs/Api.js +187 -187
- package/lib-commonjs/BatchingQueue.d.ts +15 -15
- package/lib-commonjs/BatchingQueue.js +57 -57
- package/lib-commonjs/Cli.d.ts +7 -7
- package/lib-commonjs/Cli.js +323 -323
- package/lib-commonjs/CrossProcessLock.d.ts +44 -44
- package/lib-commonjs/CrossProcessLock.js +147 -147
- package/lib-commonjs/DiffStrategy.d.ts +24 -24
- package/lib-commonjs/DiffStrategy.js +34 -34
- package/lib-commonjs/FileRepository.d.ts +62 -62
- package/lib-commonjs/FileRepository.js +21 -21
- package/lib-commonjs/FileSearch.d.ts +21 -21
- package/lib-commonjs/FileSearch.js +77 -77
- package/lib-commonjs/FileSystemRepository.d.ts +20 -20
- package/lib-commonjs/FileSystemRepository.js +62 -62
- package/lib-commonjs/GitReactFileRepository.d.ts +56 -56
- package/lib-commonjs/GitReactFileRepository.js +202 -202
- package/lib-commonjs/Hash.d.ts +33 -33
- package/lib-commonjs/Hash.js +81 -81
- package/lib-commonjs/Manifest.d.ts +80 -80
- package/lib-commonjs/Manifest.js +157 -157
- package/lib-commonjs/Override.d.ts +182 -182
- package/lib-commonjs/Override.js +248 -248
- package/lib-commonjs/OverrideFactory.d.ts +33 -33
- package/lib-commonjs/OverrideFactory.js +85 -85
- package/lib-commonjs/OverridePrompt.d.ts +30 -30
- package/lib-commonjs/OverridePrompt.js +130 -130
- package/lib-commonjs/PackageUtils.d.ts +15 -15
- package/lib-commonjs/PackageUtils.js +40 -40
- package/lib-commonjs/PathUtils.d.ts +14 -14
- package/lib-commonjs/PathUtils.js +31 -31
- package/lib-commonjs/Serialized.d.ts +158 -158
- package/lib-commonjs/Serialized.js +145 -145
- package/lib-commonjs/UpgradeStrategy.d.ts +39 -39
- package/lib-commonjs/UpgradeStrategy.js +102 -102
- package/lib-commonjs/ValidationStrategy.d.ts +57 -57
- package/lib-commonjs/ValidationStrategy.js +124 -124
- package/lib-commonjs/refFromVersion.d.ts +10 -10
- package/lib-commonjs/refFromVersion.js +98 -98
- package/lib-commonjs/refFromVersion.js.map +1 -1
- package/lib-commonjs/scripts/generateManifest.d.ts +7 -7
- package/lib-commonjs/scripts/generateManifest.js +196 -196
- package/lib-commonjs/scripts/hashFile.d.ts +7 -7
- package/lib-commonjs/scripts/hashFile.js +17 -17
- package/lib-commonjs/scripts/testLocks.d.ts +1 -1
- package/lib-commonjs/scripts/testLocks.js +29 -29
- package/package.json +10 -10
package/lib-commonjs/Override.js
CHANGED
|
@@ -1,249 +1,249 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Microsoft Corporation.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*
|
|
6
|
-
* @format
|
|
7
|
-
*/
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.deserializeOverride = exports.DirectoryCopyOverride = exports.PatchOverride = exports.DerivedOverride = exports.CopyOverride = exports.PlatformOverride = void 0;
|
|
13
|
-
const path_1 = __importDefault(require("path"));
|
|
14
|
-
const DiffStrategy_1 = require("./DiffStrategy");
|
|
15
|
-
const UpgradeStrategy_1 = require("./UpgradeStrategy");
|
|
16
|
-
const ValidationStrategy_1 = require("./ValidationStrategy");
|
|
17
|
-
const PathUtils_1 = require("./PathUtils");
|
|
18
|
-
/**
|
|
19
|
-
* Platform overrides represent logic not derived from upstream sources.
|
|
20
|
-
*/
|
|
21
|
-
class PlatformOverride {
|
|
22
|
-
constructor(args) {
|
|
23
|
-
this.overrideFile = (0, PathUtils_1.normalizePath)(args.file);
|
|
24
|
-
}
|
|
25
|
-
static fromSerialized(serialized, _opts) {
|
|
26
|
-
return new PlatformOverride(serialized);
|
|
27
|
-
}
|
|
28
|
-
serialize() {
|
|
29
|
-
return { type: 'platform', file: (0, PathUtils_1.unixPath)(this.overrideFile) };
|
|
30
|
-
}
|
|
31
|
-
name() {
|
|
32
|
-
return this.overrideFile;
|
|
33
|
-
}
|
|
34
|
-
includesFile(filename) {
|
|
35
|
-
return (0, PathUtils_1.normalizePath)(filename) === this.overrideFile;
|
|
36
|
-
}
|
|
37
|
-
async createUpdated(factory) {
|
|
38
|
-
return factory.createPlatformOverride(this.overrideFile);
|
|
39
|
-
}
|
|
40
|
-
upgradeStrategy() {
|
|
41
|
-
return UpgradeStrategy_1.UpgradeStrategies.assumeUpToDate(this.overrideFile);
|
|
42
|
-
}
|
|
43
|
-
validationStrategies() {
|
|
44
|
-
return [ValidationStrategy_1.ValidationStrategies.overrideFileExists(this.overrideFile)];
|
|
45
|
-
}
|
|
46
|
-
diffStrategy() {
|
|
47
|
-
return DiffStrategy_1.DiffStrategies.assumeSame();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.PlatformOverride = PlatformOverride;
|
|
51
|
-
/**
|
|
52
|
-
* Base class for overrides which derive from an upstream file
|
|
53
|
-
*/
|
|
54
|
-
class BaseFileOverride {
|
|
55
|
-
constructor(args) {
|
|
56
|
-
this.overrideFile = (0, PathUtils_1.normalizePath)(args.file);
|
|
57
|
-
this.baseFile = (0, PathUtils_1.normalizePath)(args.baseFile);
|
|
58
|
-
this.baseVersion = args.baseVersion;
|
|
59
|
-
this.baseHash = args.baseHash;
|
|
60
|
-
this.issueNumber = args.issue;
|
|
61
|
-
}
|
|
62
|
-
name() {
|
|
63
|
-
return this.overrideFile;
|
|
64
|
-
}
|
|
65
|
-
includesFile(filename) {
|
|
66
|
-
return (0, PathUtils_1.normalizePath)(filename) === this.overrideFile;
|
|
67
|
-
}
|
|
68
|
-
validationStrategies() {
|
|
69
|
-
return [
|
|
70
|
-
ValidationStrategy_1.ValidationStrategies.baseFileExists(this.overrideFile, this.baseFile),
|
|
71
|
-
ValidationStrategy_1.ValidationStrategies.overrideFileExists(this.overrideFile),
|
|
72
|
-
ValidationStrategy_1.ValidationStrategies.baseUpToDate(this.overrideFile, this.baseFile, this.baseHash),
|
|
73
|
-
];
|
|
74
|
-
}
|
|
75
|
-
diffStrategy() {
|
|
76
|
-
return DiffStrategy_1.DiffStrategies.compareBaseFile(this.overrideFile, this.baseFile, this.baseVersion);
|
|
77
|
-
}
|
|
78
|
-
serializeBase(type, opts) {
|
|
79
|
-
return {
|
|
80
|
-
type,
|
|
81
|
-
file: (0, PathUtils_1.unixPath)(this.overrideFile),
|
|
82
|
-
baseFile: (0, PathUtils_1.unixPath)(this.baseFile),
|
|
83
|
-
baseVersion: (opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion) === this.baseVersion
|
|
84
|
-
? undefined
|
|
85
|
-
: this.baseVersion,
|
|
86
|
-
baseHash: this.baseHash,
|
|
87
|
-
issue: this.issueNumber,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Copy overrides enforce that an override file is an exact copy of a base file
|
|
93
|
-
*/
|
|
94
|
-
class CopyOverride extends BaseFileOverride {
|
|
95
|
-
constructor(args) {
|
|
96
|
-
super(args);
|
|
97
|
-
}
|
|
98
|
-
static fromSerialized(serialized, opts) {
|
|
99
|
-
return new CopyOverride(mergeBaseVersion(serialized, opts));
|
|
100
|
-
}
|
|
101
|
-
serialize(opts) {
|
|
102
|
-
return this.serializeBase('copy', opts);
|
|
103
|
-
}
|
|
104
|
-
async createUpdated(factory) {
|
|
105
|
-
return factory.createCopyOverride(this.overrideFile, this.baseFile, this.issueNumber);
|
|
106
|
-
}
|
|
107
|
-
upgradeStrategy() {
|
|
108
|
-
return UpgradeStrategy_1.UpgradeStrategies.copyFile(this.overrideFile, this.baseFile);
|
|
109
|
-
}
|
|
110
|
-
validationStrategies() {
|
|
111
|
-
return [
|
|
112
|
-
...super.validationStrategies(),
|
|
113
|
-
ValidationStrategy_1.ValidationStrategies.overrideCopyOfBase(this.overrideFile, this.baseFile),
|
|
114
|
-
];
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
exports.CopyOverride = CopyOverride;
|
|
118
|
-
/**
|
|
119
|
-
* Derived overrides represent files which are based off of an existing file in
|
|
120
|
-
* the React Native source tree.
|
|
121
|
-
*/
|
|
122
|
-
class DerivedOverride extends BaseFileOverride {
|
|
123
|
-
constructor(args) {
|
|
124
|
-
super(args);
|
|
125
|
-
}
|
|
126
|
-
static fromSerialized(serialized, opts) {
|
|
127
|
-
return new DerivedOverride(mergeBaseVersion(serialized, opts));
|
|
128
|
-
}
|
|
129
|
-
serialize(opts) {
|
|
130
|
-
return this.serializeBase('derived', opts);
|
|
131
|
-
}
|
|
132
|
-
async createUpdated(factory) {
|
|
133
|
-
return factory.createDerivedOverride(this.overrideFile, this.baseFile, this.issueNumber || undefined);
|
|
134
|
-
}
|
|
135
|
-
upgradeStrategy() {
|
|
136
|
-
return UpgradeStrategy_1.UpgradeStrategies.threeWayMerge(this.overrideFile, this.baseFile, this.baseVersion);
|
|
137
|
-
}
|
|
138
|
-
validationStrategies() {
|
|
139
|
-
return [
|
|
140
|
-
...super.validationStrategies(),
|
|
141
|
-
ValidationStrategy_1.ValidationStrategies.overrideDifferentFromBase(this.overrideFile, this.baseFile),
|
|
142
|
-
];
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
exports.DerivedOverride = DerivedOverride;
|
|
146
|
-
/**
|
|
147
|
-
* Patch overrides represent files which make minor modifications to existing
|
|
148
|
-
* upstream sources.
|
|
149
|
-
*/
|
|
150
|
-
class PatchOverride extends BaseFileOverride {
|
|
151
|
-
constructor(args) {
|
|
152
|
-
super(args);
|
|
153
|
-
}
|
|
154
|
-
static fromSerialized(serialized, opts) {
|
|
155
|
-
return new PatchOverride(mergeBaseVersion(serialized, opts));
|
|
156
|
-
}
|
|
157
|
-
serialize(opts) {
|
|
158
|
-
return this.serializeBase('patch', opts);
|
|
159
|
-
}
|
|
160
|
-
async createUpdated(factory) {
|
|
161
|
-
return factory.createPatchOverride(this.overrideFile, this.baseFile, this.issueNumber);
|
|
162
|
-
}
|
|
163
|
-
upgradeStrategy() {
|
|
164
|
-
return UpgradeStrategy_1.UpgradeStrategies.threeWayMerge(this.overrideFile, this.baseFile, this.baseVersion);
|
|
165
|
-
}
|
|
166
|
-
validationStrategies() {
|
|
167
|
-
return [
|
|
168
|
-
...super.validationStrategies(),
|
|
169
|
-
ValidationStrategy_1.ValidationStrategies.overrideDifferentFromBase(this.overrideFile, this.baseFile),
|
|
170
|
-
];
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
exports.PatchOverride = PatchOverride;
|
|
174
|
-
/**
|
|
175
|
-
* DirectoryCopy overrides copy files from an upstream directory
|
|
176
|
-
*/
|
|
177
|
-
class DirectoryCopyOverride {
|
|
178
|
-
constructor(args) {
|
|
179
|
-
this.directory = (0, PathUtils_1.normalizePath)(args.directory);
|
|
180
|
-
this.baseDirectory = (0, PathUtils_1.normalizePath)(args.baseDirectory);
|
|
181
|
-
this.baseVersion = args.baseVersion;
|
|
182
|
-
this.baseHash = args.baseHash;
|
|
183
|
-
this.issue = args.issue;
|
|
184
|
-
}
|
|
185
|
-
static fromSerialized(serialized, opts) {
|
|
186
|
-
return new DirectoryCopyOverride(mergeBaseVersion(serialized, opts));
|
|
187
|
-
}
|
|
188
|
-
serialize(opts) {
|
|
189
|
-
return {
|
|
190
|
-
type: 'copy',
|
|
191
|
-
directory: (0, PathUtils_1.unixPath)(this.directory),
|
|
192
|
-
baseDirectory: (0, PathUtils_1.unixPath)(this.baseDirectory),
|
|
193
|
-
baseVersion: (opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion) === this.baseVersion
|
|
194
|
-
? undefined
|
|
195
|
-
: this.baseVersion,
|
|
196
|
-
baseHash: this.baseHash,
|
|
197
|
-
issue: this.issue,
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
name() {
|
|
201
|
-
return this.directory;
|
|
202
|
-
}
|
|
203
|
-
includesFile(filename) {
|
|
204
|
-
const relativeToDir = path_1.default.relative(this.directory, (0, PathUtils_1.normalizePath)(filename));
|
|
205
|
-
return relativeToDir.split(path_1.default.sep)[0] !== '..';
|
|
206
|
-
}
|
|
207
|
-
async createUpdated(factory) {
|
|
208
|
-
return factory.createDirectoryCopyOverride(this.directory, this.baseDirectory, this.issue);
|
|
209
|
-
}
|
|
210
|
-
upgradeStrategy() {
|
|
211
|
-
return UpgradeStrategy_1.UpgradeStrategies.copyDirectory(this.directory, this.baseDirectory);
|
|
212
|
-
}
|
|
213
|
-
validationStrategies() {
|
|
214
|
-
return [
|
|
215
|
-
ValidationStrategy_1.ValidationStrategies.overrideDirectoryExists(this.directory),
|
|
216
|
-
ValidationStrategy_1.ValidationStrategies.baseDirectoryExists(this.directory, this.baseDirectory),
|
|
217
|
-
ValidationStrategy_1.ValidationStrategies.baseUpToDate(this.directory, this.baseDirectory, this.baseHash),
|
|
218
|
-
ValidationStrategy_1.ValidationStrategies.overrideCopyOfBase(this.directory, this.baseDirectory),
|
|
219
|
-
];
|
|
220
|
-
}
|
|
221
|
-
diffStrategy() {
|
|
222
|
-
return DiffStrategy_1.DiffStrategies.assumeSame();
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
exports.DirectoryCopyOverride = DirectoryCopyOverride;
|
|
226
|
-
function deserializeOverride(ovr, opts) {
|
|
227
|
-
switch (ovr.type) {
|
|
228
|
-
case 'platform':
|
|
229
|
-
return PlatformOverride.fromSerialized(ovr, opts);
|
|
230
|
-
case 'copy':
|
|
231
|
-
return 'directory' in ovr
|
|
232
|
-
? DirectoryCopyOverride.fromSerialized(ovr, opts)
|
|
233
|
-
: CopyOverride.fromSerialized(ovr, opts);
|
|
234
|
-
case 'derived':
|
|
235
|
-
return DerivedOverride.fromSerialized(ovr, opts);
|
|
236
|
-
case 'patch':
|
|
237
|
-
return PatchOverride.fromSerialized(ovr, opts);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
exports.deserializeOverride = deserializeOverride;
|
|
241
|
-
function mergeBaseVersion(ovr, opts) {
|
|
242
|
-
if (!ovr.baseVersion && !(opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion)) {
|
|
243
|
-
throw new Error(`The following override should declare a baseVersion if the manifest does not provide a default: ${JSON.stringify(ovr, null, 2)}`);
|
|
244
|
-
}
|
|
245
|
-
return Object.assign({}, ovr, {
|
|
246
|
-
baseVersion: ovr.baseVersion || (opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion),
|
|
247
|
-
});
|
|
248
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*
|
|
6
|
+
* @format
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.deserializeOverride = exports.DirectoryCopyOverride = exports.PatchOverride = exports.DerivedOverride = exports.CopyOverride = exports.PlatformOverride = void 0;
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const DiffStrategy_1 = require("./DiffStrategy");
|
|
15
|
+
const UpgradeStrategy_1 = require("./UpgradeStrategy");
|
|
16
|
+
const ValidationStrategy_1 = require("./ValidationStrategy");
|
|
17
|
+
const PathUtils_1 = require("./PathUtils");
|
|
18
|
+
/**
|
|
19
|
+
* Platform overrides represent logic not derived from upstream sources.
|
|
20
|
+
*/
|
|
21
|
+
class PlatformOverride {
|
|
22
|
+
constructor(args) {
|
|
23
|
+
this.overrideFile = (0, PathUtils_1.normalizePath)(args.file);
|
|
24
|
+
}
|
|
25
|
+
static fromSerialized(serialized, _opts) {
|
|
26
|
+
return new PlatformOverride(serialized);
|
|
27
|
+
}
|
|
28
|
+
serialize() {
|
|
29
|
+
return { type: 'platform', file: (0, PathUtils_1.unixPath)(this.overrideFile) };
|
|
30
|
+
}
|
|
31
|
+
name() {
|
|
32
|
+
return this.overrideFile;
|
|
33
|
+
}
|
|
34
|
+
includesFile(filename) {
|
|
35
|
+
return (0, PathUtils_1.normalizePath)(filename) === this.overrideFile;
|
|
36
|
+
}
|
|
37
|
+
async createUpdated(factory) {
|
|
38
|
+
return factory.createPlatformOverride(this.overrideFile);
|
|
39
|
+
}
|
|
40
|
+
upgradeStrategy() {
|
|
41
|
+
return UpgradeStrategy_1.UpgradeStrategies.assumeUpToDate(this.overrideFile);
|
|
42
|
+
}
|
|
43
|
+
validationStrategies() {
|
|
44
|
+
return [ValidationStrategy_1.ValidationStrategies.overrideFileExists(this.overrideFile)];
|
|
45
|
+
}
|
|
46
|
+
diffStrategy() {
|
|
47
|
+
return DiffStrategy_1.DiffStrategies.assumeSame();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.PlatformOverride = PlatformOverride;
|
|
51
|
+
/**
|
|
52
|
+
* Base class for overrides which derive from an upstream file
|
|
53
|
+
*/
|
|
54
|
+
class BaseFileOverride {
|
|
55
|
+
constructor(args) {
|
|
56
|
+
this.overrideFile = (0, PathUtils_1.normalizePath)(args.file);
|
|
57
|
+
this.baseFile = (0, PathUtils_1.normalizePath)(args.baseFile);
|
|
58
|
+
this.baseVersion = args.baseVersion;
|
|
59
|
+
this.baseHash = args.baseHash;
|
|
60
|
+
this.issueNumber = args.issue;
|
|
61
|
+
}
|
|
62
|
+
name() {
|
|
63
|
+
return this.overrideFile;
|
|
64
|
+
}
|
|
65
|
+
includesFile(filename) {
|
|
66
|
+
return (0, PathUtils_1.normalizePath)(filename) === this.overrideFile;
|
|
67
|
+
}
|
|
68
|
+
validationStrategies() {
|
|
69
|
+
return [
|
|
70
|
+
ValidationStrategy_1.ValidationStrategies.baseFileExists(this.overrideFile, this.baseFile),
|
|
71
|
+
ValidationStrategy_1.ValidationStrategies.overrideFileExists(this.overrideFile),
|
|
72
|
+
ValidationStrategy_1.ValidationStrategies.baseUpToDate(this.overrideFile, this.baseFile, this.baseHash),
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
diffStrategy() {
|
|
76
|
+
return DiffStrategy_1.DiffStrategies.compareBaseFile(this.overrideFile, this.baseFile, this.baseVersion);
|
|
77
|
+
}
|
|
78
|
+
serializeBase(type, opts) {
|
|
79
|
+
return {
|
|
80
|
+
type,
|
|
81
|
+
file: (0, PathUtils_1.unixPath)(this.overrideFile),
|
|
82
|
+
baseFile: (0, PathUtils_1.unixPath)(this.baseFile),
|
|
83
|
+
baseVersion: (opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion) === this.baseVersion
|
|
84
|
+
? undefined
|
|
85
|
+
: this.baseVersion,
|
|
86
|
+
baseHash: this.baseHash,
|
|
87
|
+
issue: this.issueNumber,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Copy overrides enforce that an override file is an exact copy of a base file
|
|
93
|
+
*/
|
|
94
|
+
class CopyOverride extends BaseFileOverride {
|
|
95
|
+
constructor(args) {
|
|
96
|
+
super(args);
|
|
97
|
+
}
|
|
98
|
+
static fromSerialized(serialized, opts) {
|
|
99
|
+
return new CopyOverride(mergeBaseVersion(serialized, opts));
|
|
100
|
+
}
|
|
101
|
+
serialize(opts) {
|
|
102
|
+
return this.serializeBase('copy', opts);
|
|
103
|
+
}
|
|
104
|
+
async createUpdated(factory) {
|
|
105
|
+
return factory.createCopyOverride(this.overrideFile, this.baseFile, this.issueNumber);
|
|
106
|
+
}
|
|
107
|
+
upgradeStrategy() {
|
|
108
|
+
return UpgradeStrategy_1.UpgradeStrategies.copyFile(this.overrideFile, this.baseFile);
|
|
109
|
+
}
|
|
110
|
+
validationStrategies() {
|
|
111
|
+
return [
|
|
112
|
+
...super.validationStrategies(),
|
|
113
|
+
ValidationStrategy_1.ValidationStrategies.overrideCopyOfBase(this.overrideFile, this.baseFile),
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.CopyOverride = CopyOverride;
|
|
118
|
+
/**
|
|
119
|
+
* Derived overrides represent files which are based off of an existing file in
|
|
120
|
+
* the React Native source tree.
|
|
121
|
+
*/
|
|
122
|
+
class DerivedOverride extends BaseFileOverride {
|
|
123
|
+
constructor(args) {
|
|
124
|
+
super(args);
|
|
125
|
+
}
|
|
126
|
+
static fromSerialized(serialized, opts) {
|
|
127
|
+
return new DerivedOverride(mergeBaseVersion(serialized, opts));
|
|
128
|
+
}
|
|
129
|
+
serialize(opts) {
|
|
130
|
+
return this.serializeBase('derived', opts);
|
|
131
|
+
}
|
|
132
|
+
async createUpdated(factory) {
|
|
133
|
+
return factory.createDerivedOverride(this.overrideFile, this.baseFile, this.issueNumber || undefined);
|
|
134
|
+
}
|
|
135
|
+
upgradeStrategy() {
|
|
136
|
+
return UpgradeStrategy_1.UpgradeStrategies.threeWayMerge(this.overrideFile, this.baseFile, this.baseVersion);
|
|
137
|
+
}
|
|
138
|
+
validationStrategies() {
|
|
139
|
+
return [
|
|
140
|
+
...super.validationStrategies(),
|
|
141
|
+
ValidationStrategy_1.ValidationStrategies.overrideDifferentFromBase(this.overrideFile, this.baseFile),
|
|
142
|
+
];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.DerivedOverride = DerivedOverride;
|
|
146
|
+
/**
|
|
147
|
+
* Patch overrides represent files which make minor modifications to existing
|
|
148
|
+
* upstream sources.
|
|
149
|
+
*/
|
|
150
|
+
class PatchOverride extends BaseFileOverride {
|
|
151
|
+
constructor(args) {
|
|
152
|
+
super(args);
|
|
153
|
+
}
|
|
154
|
+
static fromSerialized(serialized, opts) {
|
|
155
|
+
return new PatchOverride(mergeBaseVersion(serialized, opts));
|
|
156
|
+
}
|
|
157
|
+
serialize(opts) {
|
|
158
|
+
return this.serializeBase('patch', opts);
|
|
159
|
+
}
|
|
160
|
+
async createUpdated(factory) {
|
|
161
|
+
return factory.createPatchOverride(this.overrideFile, this.baseFile, this.issueNumber);
|
|
162
|
+
}
|
|
163
|
+
upgradeStrategy() {
|
|
164
|
+
return UpgradeStrategy_1.UpgradeStrategies.threeWayMerge(this.overrideFile, this.baseFile, this.baseVersion);
|
|
165
|
+
}
|
|
166
|
+
validationStrategies() {
|
|
167
|
+
return [
|
|
168
|
+
...super.validationStrategies(),
|
|
169
|
+
ValidationStrategy_1.ValidationStrategies.overrideDifferentFromBase(this.overrideFile, this.baseFile),
|
|
170
|
+
];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.PatchOverride = PatchOverride;
|
|
174
|
+
/**
|
|
175
|
+
* DirectoryCopy overrides copy files from an upstream directory
|
|
176
|
+
*/
|
|
177
|
+
class DirectoryCopyOverride {
|
|
178
|
+
constructor(args) {
|
|
179
|
+
this.directory = (0, PathUtils_1.normalizePath)(args.directory);
|
|
180
|
+
this.baseDirectory = (0, PathUtils_1.normalizePath)(args.baseDirectory);
|
|
181
|
+
this.baseVersion = args.baseVersion;
|
|
182
|
+
this.baseHash = args.baseHash;
|
|
183
|
+
this.issue = args.issue;
|
|
184
|
+
}
|
|
185
|
+
static fromSerialized(serialized, opts) {
|
|
186
|
+
return new DirectoryCopyOverride(mergeBaseVersion(serialized, opts));
|
|
187
|
+
}
|
|
188
|
+
serialize(opts) {
|
|
189
|
+
return {
|
|
190
|
+
type: 'copy',
|
|
191
|
+
directory: (0, PathUtils_1.unixPath)(this.directory),
|
|
192
|
+
baseDirectory: (0, PathUtils_1.unixPath)(this.baseDirectory),
|
|
193
|
+
baseVersion: (opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion) === this.baseVersion
|
|
194
|
+
? undefined
|
|
195
|
+
: this.baseVersion,
|
|
196
|
+
baseHash: this.baseHash,
|
|
197
|
+
issue: this.issue,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
name() {
|
|
201
|
+
return this.directory;
|
|
202
|
+
}
|
|
203
|
+
includesFile(filename) {
|
|
204
|
+
const relativeToDir = path_1.default.relative(this.directory, (0, PathUtils_1.normalizePath)(filename));
|
|
205
|
+
return relativeToDir.split(path_1.default.sep)[0] !== '..';
|
|
206
|
+
}
|
|
207
|
+
async createUpdated(factory) {
|
|
208
|
+
return factory.createDirectoryCopyOverride(this.directory, this.baseDirectory, this.issue);
|
|
209
|
+
}
|
|
210
|
+
upgradeStrategy() {
|
|
211
|
+
return UpgradeStrategy_1.UpgradeStrategies.copyDirectory(this.directory, this.baseDirectory);
|
|
212
|
+
}
|
|
213
|
+
validationStrategies() {
|
|
214
|
+
return [
|
|
215
|
+
ValidationStrategy_1.ValidationStrategies.overrideDirectoryExists(this.directory),
|
|
216
|
+
ValidationStrategy_1.ValidationStrategies.baseDirectoryExists(this.directory, this.baseDirectory),
|
|
217
|
+
ValidationStrategy_1.ValidationStrategies.baseUpToDate(this.directory, this.baseDirectory, this.baseHash),
|
|
218
|
+
ValidationStrategy_1.ValidationStrategies.overrideCopyOfBase(this.directory, this.baseDirectory),
|
|
219
|
+
];
|
|
220
|
+
}
|
|
221
|
+
diffStrategy() {
|
|
222
|
+
return DiffStrategy_1.DiffStrategies.assumeSame();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
exports.DirectoryCopyOverride = DirectoryCopyOverride;
|
|
226
|
+
function deserializeOverride(ovr, opts) {
|
|
227
|
+
switch (ovr.type) {
|
|
228
|
+
case 'platform':
|
|
229
|
+
return PlatformOverride.fromSerialized(ovr, opts);
|
|
230
|
+
case 'copy':
|
|
231
|
+
return 'directory' in ovr
|
|
232
|
+
? DirectoryCopyOverride.fromSerialized(ovr, opts)
|
|
233
|
+
: CopyOverride.fromSerialized(ovr, opts);
|
|
234
|
+
case 'derived':
|
|
235
|
+
return DerivedOverride.fromSerialized(ovr, opts);
|
|
236
|
+
case 'patch':
|
|
237
|
+
return PatchOverride.fromSerialized(ovr, opts);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
exports.deserializeOverride = deserializeOverride;
|
|
241
|
+
function mergeBaseVersion(ovr, opts) {
|
|
242
|
+
if (!ovr.baseVersion && !(opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion)) {
|
|
243
|
+
throw new Error(`The following override should declare a baseVersion if the manifest does not provide a default: ${JSON.stringify(ovr, null, 2)}`);
|
|
244
|
+
}
|
|
245
|
+
return Object.assign({}, ovr, {
|
|
246
|
+
baseVersion: ovr.baseVersion || (opts === null || opts === void 0 ? void 0 : opts.defaultBaseVersion),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
249
|
//# sourceMappingURL=Override.js.map
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Microsoft Corporation.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*
|
|
5
|
-
* @format
|
|
6
|
-
*/
|
|
7
|
-
import { CopyOverride, DerivedOverride, DirectoryCopyOverride, PatchOverride, PlatformOverride } from './Override';
|
|
8
|
-
import FileRepository, { ReactFileRepository } from './FileRepository';
|
|
9
|
-
/**
|
|
10
|
-
* Allows creation of overrides, taking care of guts such as hashing, version checking, etc.
|
|
11
|
-
*/
|
|
12
|
-
export default interface OverrideFactory {
|
|
13
|
-
createPlatformOverride(file: string): Promise<PlatformOverride>;
|
|
14
|
-
createCopyOverride(file: string, baseFile: string, issue?: number): Promise<CopyOverride>;
|
|
15
|
-
createDerivedOverride(file: string, baseFile: string, issue?: number): Promise<DerivedOverride>;
|
|
16
|
-
createPatchOverride(file: string, baseFile: string, issue?: number): Promise<PatchOverride>;
|
|
17
|
-
createDirectoryCopyOverride(directory: string, baseDirectory: string, issue?: number): Promise<DirectoryCopyOverride>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Concrete implementation of an OverrideFactory
|
|
21
|
-
*/
|
|
22
|
-
export declare class OverrideFactoryImpl implements OverrideFactory {
|
|
23
|
-
private readonly reactRepo;
|
|
24
|
-
private readonly overrideRepo;
|
|
25
|
-
constructor(reactRepo: ReactFileRepository, overrideRepo: FileRepository);
|
|
26
|
-
createPlatformOverride(file: string): Promise<PlatformOverride>;
|
|
27
|
-
createCopyOverride(file: string, baseFile: string, issue?: number): Promise<CopyOverride>;
|
|
28
|
-
createDerivedOverride(file: string, baseFile: string, issue?: number): Promise<DerivedOverride>;
|
|
29
|
-
createPatchOverride(file: string, baseFile: string, issue?: number): Promise<PatchOverride>;
|
|
30
|
-
createDirectoryCopyOverride(directory: string, baseDirectory: string, issue?: number): Promise<DirectoryCopyOverride>;
|
|
31
|
-
private checkOverrideExists;
|
|
32
|
-
private getBaseInfo;
|
|
33
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*
|
|
5
|
+
* @format
|
|
6
|
+
*/
|
|
7
|
+
import { CopyOverride, DerivedOverride, DirectoryCopyOverride, PatchOverride, PlatformOverride } from './Override';
|
|
8
|
+
import FileRepository, { ReactFileRepository } from './FileRepository';
|
|
9
|
+
/**
|
|
10
|
+
* Allows creation of overrides, taking care of guts such as hashing, version checking, etc.
|
|
11
|
+
*/
|
|
12
|
+
export default interface OverrideFactory {
|
|
13
|
+
createPlatformOverride(file: string): Promise<PlatformOverride>;
|
|
14
|
+
createCopyOverride(file: string, baseFile: string, issue?: number): Promise<CopyOverride>;
|
|
15
|
+
createDerivedOverride(file: string, baseFile: string, issue?: number): Promise<DerivedOverride>;
|
|
16
|
+
createPatchOverride(file: string, baseFile: string, issue?: number): Promise<PatchOverride>;
|
|
17
|
+
createDirectoryCopyOverride(directory: string, baseDirectory: string, issue?: number): Promise<DirectoryCopyOverride>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Concrete implementation of an OverrideFactory
|
|
21
|
+
*/
|
|
22
|
+
export declare class OverrideFactoryImpl implements OverrideFactory {
|
|
23
|
+
private readonly reactRepo;
|
|
24
|
+
private readonly overrideRepo;
|
|
25
|
+
constructor(reactRepo: ReactFileRepository, overrideRepo: FileRepository);
|
|
26
|
+
createPlatformOverride(file: string): Promise<PlatformOverride>;
|
|
27
|
+
createCopyOverride(file: string, baseFile: string, issue?: number): Promise<CopyOverride>;
|
|
28
|
+
createDerivedOverride(file: string, baseFile: string, issue?: number): Promise<DerivedOverride>;
|
|
29
|
+
createPatchOverride(file: string, baseFile: string, issue?: number): Promise<PatchOverride>;
|
|
30
|
+
createDirectoryCopyOverride(directory: string, baseDirectory: string, issue?: number): Promise<DirectoryCopyOverride>;
|
|
31
|
+
private checkOverrideExists;
|
|
32
|
+
private getBaseInfo;
|
|
33
|
+
}
|