sfdx-git-delta 5.34.0 → 5.35.1
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 +16 -0
- package/README.md +4 -2
- package/lib/adapter/GitAdapter.d.ts +51 -0
- package/lib/adapter/GitAdapter.js +264 -0
- package/lib/adapter/GitAdapter.js.map +1 -0
- package/lib/commands/sgd/source/delta.js +5 -5
- package/lib/commands/sgd/source/delta.js.map +1 -1
- package/lib/constant/fsConstants.d.ts +4 -0
- package/lib/constant/fsConstants.js +8 -0
- package/lib/constant/fsConstants.js.map +1 -0
- package/lib/{utils → constant}/gitConstants.d.ts +0 -5
- package/lib/constant/gitConstants.js +16 -0
- package/lib/constant/gitConstants.js.map +1 -0
- package/lib/{utils → constant}/metadataConstants.d.ts +2 -1
- package/lib/{utils → constant}/metadataConstants.js +3 -2
- package/lib/constant/metadataConstants.js.map +1 -0
- package/lib/metadata/MetadataRepository.d.ts +7 -0
- package/lib/metadata/MetadataRepository.js +3 -0
- package/lib/metadata/MetadataRepository.js.map +1 -0
- package/lib/metadata/MetadataRepositoryImpl.d.ts +17 -0
- package/lib/metadata/MetadataRepositoryImpl.js +75 -0
- package/lib/metadata/MetadataRepositoryImpl.js.map +1 -0
- package/lib/metadata/metadataManager.d.ts +2 -1
- package/lib/metadata/metadataManager.js +6 -9
- package/lib/metadata/metadataManager.js.map +1 -1
- package/lib/post-processor/baseProcessor.d.ts +1 -1
- package/lib/post-processor/flowTranslationProcessor.d.ts +2 -2
- package/lib/post-processor/flowTranslationProcessor.js +14 -14
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/includeProcessor.d.ts +3 -3
- package/lib/post-processor/includeProcessor.js +7 -7
- package/lib/post-processor/includeProcessor.js.map +1 -1
- package/lib/post-processor/packageGenerator.js +3 -1
- package/lib/post-processor/packageGenerator.js.map +1 -1
- package/lib/post-processor/postProcessorManager.d.ts +1 -1
- package/lib/service/botHandler.js +5 -5
- package/lib/service/botHandler.js.map +1 -1
- package/lib/service/customObjectHandler.js +4 -4
- package/lib/service/customObjectHandler.js.map +1 -1
- package/lib/service/diffLineInterpreter.d.ts +2 -1
- package/lib/service/diffLineInterpreter.js +16 -1
- package/lib/service/diffLineInterpreter.js.map +1 -1
- package/lib/service/inBundleHandler.js +4 -6
- package/lib/service/inBundleHandler.js.map +1 -1
- package/lib/service/inFileHandler.d.ts +1 -1
- package/lib/service/inFileHandler.js +7 -3
- package/lib/service/inFileHandler.js.map +1 -1
- package/lib/service/inFolderHandler.js +10 -8
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/inResourceHandler.d.ts +1 -1
- package/lib/service/inResourceHandler.js +8 -6
- package/lib/service/inResourceHandler.js.map +1 -1
- package/lib/service/lwcHandler.js +2 -1
- package/lib/service/lwcHandler.js.map +1 -1
- package/lib/service/objectTranslationHandler.js +3 -2
- package/lib/service/objectTranslationHandler.js.map +1 -1
- package/lib/service/sharedFolderHandler.d.ts +1 -1
- package/lib/service/sharedFolderHandler.js +1 -1
- package/lib/service/sharedFolderHandler.js.map +1 -1
- package/lib/service/standardHandler.d.ts +2 -1
- package/lib/service/standardHandler.js +8 -8
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/service/subCustomObjectHandler.js +4 -3
- package/lib/service/subCustomObjectHandler.js.map +1 -1
- package/lib/service/typeHandlerFactory.d.ts +1 -1
- package/lib/service/typeHandlerFactory.js +2 -2
- package/lib/service/typeHandlerFactory.js.map +1 -1
- package/lib/types/git.d.ts +4 -0
- package/lib/types/git.js +3 -0
- package/lib/types/git.js.map +1 -0
- package/lib/types/metadata.d.ts +0 -1
- package/lib/types/metadata.js +1 -1
- package/lib/types/metadata.js.map +1 -1
- package/lib/utils/cliConstants.d.ts +4 -0
- package/lib/utils/cliConstants.js +8 -0
- package/lib/utils/cliConstants.js.map +1 -0
- package/lib/utils/cliHelper.d.ts +2 -6
- package/lib/utils/cliHelper.js +19 -23
- package/lib/utils/cliHelper.js.map +1 -1
- package/lib/utils/fsHelper.d.ts +3 -7
- package/lib/utils/fsHelper.js +25 -79
- package/lib/utils/fsHelper.js.map +1 -1
- package/lib/utils/fsUtils.d.ts +2 -1
- package/lib/utils/fsUtils.js +8 -5
- package/lib/utils/fsUtils.js.map +1 -1
- package/lib/utils/fxpHelper.d.ts +2 -1
- package/lib/utils/fxpHelper.js +3 -6
- package/lib/utils/fxpHelper.js.map +1 -1
- package/lib/utils/gitLfsHelper.js +4 -4
- package/lib/utils/gitLfsHelper.js.map +1 -1
- package/lib/utils/ignoreHelper.js +5 -5
- package/lib/utils/ignoreHelper.js.map +1 -1
- package/lib/utils/metadataDiff.d.ts +2 -3
- package/lib/utils/metadataDiff.js +10 -15
- package/lib/utils/metadataDiff.js.map +1 -1
- package/lib/utils/packageHelper.d.ts +0 -1
- package/lib/utils/packageHelper.js +2 -7
- package/lib/utils/packageHelper.js.map +1 -1
- package/lib/utils/repoGitDiff.d.ts +3 -7
- package/lib/utils/repoGitDiff.js +16 -61
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +30 -26
- package/lib/utils/childProcessUtils.d.ts +0 -8
- package/lib/utils/childProcessUtils.js +0 -88
- package/lib/utils/childProcessUtils.js.map +0 -1
- package/lib/utils/gitConstants.js +0 -21
- package/lib/utils/gitConstants.js.map +0 -1
- package/lib/utils/metadataConstants.js.map +0 -1
- package/lib/utils/repoSetup.d.ts +0 -12
- package/lib/utils/repoSetup.js +0 -37
- package/lib/utils/repoSetup.js.map +0 -1
- package/lib/utils/typeUtils.d.ts +0 -2
- package/lib/utils/typeUtils.js +0 -14
- package/lib/utils/typeUtils.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
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.
|
|
6
6
|
|
|
7
|
+
## [5.35.1](https://github.com/scolladon/sfdx-git-delta/compare/v5.35.0...v5.35.1) (2024-01-25)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* os api availability issue ([#764](https://github.com/scolladon/sfdx-git-delta/issues/764)) ([e6d6e34](https://github.com/scolladon/sfdx-git-delta/commit/e6d6e346a4d794e8b22a7d04224cb9858af5ec23))
|
|
13
|
+
* use constant for path separator ([#766](https://github.com/scolladon/sfdx-git-delta/issues/766)) ([e8cd848](https://github.com/scolladon/sfdx-git-delta/commit/e8cd84880a0c87fab0a9c63ab49793338771c39e))
|
|
14
|
+
|
|
15
|
+
## [5.35.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.34.0...v5.35.0) (2024-01-23)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* migrate to `isomorphic-git` instead of `spawn` ([#740](https://github.com/scolladon/sfdx-git-delta/issues/740)) ([2f3e188](https://github.com/scolladon/sfdx-git-delta/commit/2f3e18893563ee39b51189f0d3eed152be98eec9))
|
|
21
|
+
* resolve metadata type using file extension ([#750](https://github.com/scolladon/sfdx-git-delta/issues/750)) ([eb66cfc](https://github.com/scolladon/sfdx-git-delta/commit/eb66cfc8fc2438c656727d345932b07ab0b3000e))
|
|
22
|
+
|
|
7
23
|
## [5.34.0](https://github.com/scolladon/sfdx-git-delta/compare/v5.33.0...v5.34.0) (2024-01-16)
|
|
8
24
|
|
|
9
25
|
|
package/README.md
CHANGED
|
@@ -188,7 +188,7 @@ OPTIONS
|
|
|
188
188
|
this command invocation
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.
|
|
191
|
+
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v5.35.1/src/commands/sgd/source/delta.ts)_
|
|
192
192
|
<!-- commandsstop -->
|
|
193
193
|
|
|
194
194
|
### Windows users
|
|
@@ -537,9 +537,11 @@ console.log(JSON.stringify(work))
|
|
|
537
537
|
- [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) - Validate XML, Parse XML to JS/JSON and vise versa, or parse XML to Nimn rapidly without C/C++ based libraries and no callback
|
|
538
538
|
- [fs-extra](https://github.com/jprichardson/node-fs-extra) - Node.js: extra methods for the fs object like copy(), remove(), mkdirs().
|
|
539
539
|
- [ignore](https://github.com/kaelzhang/node-ignore#readme) - is a manager, filter and parser which implemented in pure JavaScript according to the .gitignore spec 2.22.1.
|
|
540
|
+
- [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) - A pure JavaScript implementation of git for node and browsers!
|
|
540
541
|
- [lodash](https://github.com/lodash/lodash) - A modern JavaScript utility library delivering modularity, performance & extras.
|
|
541
|
-
- [xmlbuilder2](https://github.com/oozcitak/xmlbuilder2) - An XML builder for node.js.
|
|
542
542
|
- [MegaLinter](https://megalinter.io) - Open-Source tool for CI/CD workflows that analyzes the consistency of your code, IAC, configuration, and scripts
|
|
543
|
+
- [simple-git](https://github.com/steveukx/git-js) - A light weight interface for running git commands in any node.js application.
|
|
544
|
+
- [xmlbuilder2](https://github.com/oozcitak/xmlbuilder2) - An XML builder for node.js.
|
|
543
545
|
|
|
544
546
|
## Versioning
|
|
545
547
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import git, { WalkerEntry, WalkerIterateCallback } from 'isomorphic-git';
|
|
4
|
+
import { SimpleGit } from 'simple-git';
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import { Config } from '../types/config';
|
|
7
|
+
import { FileGitRef } from '../types/git';
|
|
8
|
+
export declare const iterate: (walk: WalkerIterateCallback, children: IterableIterator<Array<WalkerEntry>>) => Promise<any[][]>;
|
|
9
|
+
type GitBaseConfig = {
|
|
10
|
+
fs: typeof fs;
|
|
11
|
+
dir: string;
|
|
12
|
+
cache: any;
|
|
13
|
+
gitdir?: string;
|
|
14
|
+
};
|
|
15
|
+
export default class GitAdapter {
|
|
16
|
+
protected readonly config: Config;
|
|
17
|
+
private static instances;
|
|
18
|
+
private static sharedCache;
|
|
19
|
+
static getInstance(config: Config): GitAdapter;
|
|
20
|
+
private getBufferFromBlob;
|
|
21
|
+
protected readonly isoGit: typeof git;
|
|
22
|
+
protected readonly simpleGit: SimpleGit;
|
|
23
|
+
protected readonly gitConfig: GitBaseConfig;
|
|
24
|
+
private constructor();
|
|
25
|
+
configureRepository(): Promise<void>;
|
|
26
|
+
setGitDir(): Promise<void>;
|
|
27
|
+
parseRev(ref: string): Promise<string>;
|
|
28
|
+
pathExists(path: string): Promise<boolean>;
|
|
29
|
+
getFirstCommitRef(): Promise<string>;
|
|
30
|
+
getStringContent(forRef: FileGitRef): Promise<string>;
|
|
31
|
+
getFilesPath(path: string): Promise<any>;
|
|
32
|
+
getFilesFrom(path: string): Promise<{
|
|
33
|
+
path: string;
|
|
34
|
+
content: Buffer;
|
|
35
|
+
}[]>;
|
|
36
|
+
protected getContentFromFiles(blobFiles: {
|
|
37
|
+
path: string;
|
|
38
|
+
content: Uint8Array;
|
|
39
|
+
}[]): Promise<{
|
|
40
|
+
path: string;
|
|
41
|
+
content: Buffer;
|
|
42
|
+
}[]>;
|
|
43
|
+
getDiffLines(): Promise<any>;
|
|
44
|
+
}
|
|
45
|
+
export declare const filePathWalker: (path: string) => (filepath: string, trees: (WalkerEntry | null)[]) => Promise<string | undefined>;
|
|
46
|
+
export declare const contentWalker: (path: string) => (filepath: string, trees: (WalkerEntry | null)[]) => Promise<{
|
|
47
|
+
path: string;
|
|
48
|
+
content: Uint8Array;
|
|
49
|
+
} | undefined>;
|
|
50
|
+
export declare const diffLineWalker: (config: Config) => (filepath: string, trees: (WalkerEntry | null)[]) => Promise<string | undefined>;
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.diffLineWalker = exports.contentWalker = exports.filePathWalker = exports.iterate = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const isomorphic_git_1 = tslib_1.__importStar(require("isomorphic-git"));
|
|
6
|
+
const simple_git_1 = require("simple-git");
|
|
7
|
+
const fs_extra_1 = require("fs-extra");
|
|
8
|
+
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
9
|
+
const gitConstants_1 = require("../constant/gitConstants");
|
|
10
|
+
const cliConstants_1 = require("../utils/cliConstants");
|
|
11
|
+
const fsUtils_1 = require("../utils/fsUtils");
|
|
12
|
+
const fsConstants_1 = require("../constant/fsConstants");
|
|
13
|
+
const path_1 = require("path");
|
|
14
|
+
const gitLfsHelper_1 = require("../utils/gitLfsHelper");
|
|
15
|
+
const firstCommitParams = ['rev-list', '--max-parents=0', 'HEAD'];
|
|
16
|
+
const BLOB_TYPE = 'blob';
|
|
17
|
+
const TREE_TYPE = 'tree';
|
|
18
|
+
const stripWhiteChar = (content) => content?.replace(/\s+/g, '');
|
|
19
|
+
const iterate = async (walk, children) => {
|
|
20
|
+
const result = [];
|
|
21
|
+
for (const child of children) {
|
|
22
|
+
const walkedChildResult = await walk(child);
|
|
23
|
+
result.push(walkedChildResult);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
exports.iterate = iterate;
|
|
28
|
+
class GitAdapter {
|
|
29
|
+
static getInstance(config) {
|
|
30
|
+
if (!GitAdapter.instances.has(config)) {
|
|
31
|
+
const instance = new GitAdapter(config);
|
|
32
|
+
GitAdapter.instances.set(config, instance);
|
|
33
|
+
}
|
|
34
|
+
return GitAdapter.instances.get(config);
|
|
35
|
+
}
|
|
36
|
+
async getBufferFromBlob(blob) {
|
|
37
|
+
let bufferData = Buffer.from(blob);
|
|
38
|
+
if ((0, gitLfsHelper_1.isLFS)(bufferData)) {
|
|
39
|
+
const lsfPath = (0, gitLfsHelper_1.getLFSObjectContentPath)(bufferData);
|
|
40
|
+
bufferData = await (0, fs_extra_1.readFile)((0, path_1.join)(this.config.repo, lsfPath));
|
|
41
|
+
}
|
|
42
|
+
return bufferData;
|
|
43
|
+
}
|
|
44
|
+
constructor(
|
|
45
|
+
// eslint-disable-next-line no-unused-vars
|
|
46
|
+
config) {
|
|
47
|
+
this.config = config;
|
|
48
|
+
this.isoGit = isomorphic_git_1.default;
|
|
49
|
+
this.simpleGit = (0, simple_git_1.simpleGit)(config.repo);
|
|
50
|
+
this.gitConfig = {
|
|
51
|
+
fs: fs_1.default,
|
|
52
|
+
dir: config.repo,
|
|
53
|
+
cache: GitAdapter.sharedCache,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async configureRepository() {
|
|
57
|
+
const quotepathOff = {
|
|
58
|
+
path: 'core.quotepath',
|
|
59
|
+
value: 'off',
|
|
60
|
+
};
|
|
61
|
+
await this.isoGit.setConfig({
|
|
62
|
+
...this.gitConfig,
|
|
63
|
+
...quotepathOff,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async setGitDir() {
|
|
67
|
+
if (this.gitConfig.gitdir) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (await (0, fsUtils_1.dirExists)((0, path_1.join)(this.config.repo, gitConstants_1.GIT_FOLDER))) {
|
|
71
|
+
this.gitConfig.gitdir = (0, path_1.join)(this.config.repo, gitConstants_1.GIT_FOLDER);
|
|
72
|
+
}
|
|
73
|
+
else if (await (0, fsUtils_1.fileExists)((0, path_1.join)(this.config.repo, gitConstants_1.GIT_FOLDER))) {
|
|
74
|
+
const gitFileContent = await (0, fs_extra_1.readFile)((0, path_1.join)(this.config.repo, gitConstants_1.GIT_FOLDER));
|
|
75
|
+
this.gitConfig.gitdir = gitFileContent.toString().trim().substring(8);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
throw new Error('Not a git repository');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async parseRev(ref) {
|
|
82
|
+
const parsedRev = await this.simpleGit.revparse([ref]);
|
|
83
|
+
return parsedRev;
|
|
84
|
+
}
|
|
85
|
+
async pathExists(path) {
|
|
86
|
+
try {
|
|
87
|
+
const { type } = await this.isoGit.readObject({
|
|
88
|
+
...this.gitConfig,
|
|
89
|
+
oid: this.config.to,
|
|
90
|
+
filepath: (0, fsUtils_1.treatPathSep)(path),
|
|
91
|
+
});
|
|
92
|
+
return [TREE_TYPE, BLOB_TYPE].includes(type);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async getFirstCommitRef() {
|
|
99
|
+
const sha = await this.simpleGit.raw(firstCommitParams);
|
|
100
|
+
return sha;
|
|
101
|
+
}
|
|
102
|
+
async getStringContent(forRef) {
|
|
103
|
+
try {
|
|
104
|
+
const { blob } = await this.isoGit.readBlob({
|
|
105
|
+
...this.gitConfig,
|
|
106
|
+
oid: forRef.oid,
|
|
107
|
+
filepath: (0, fsUtils_1.treatPathSep)(forRef.path),
|
|
108
|
+
});
|
|
109
|
+
const bufferData = await this.getBufferFromBlob(blob);
|
|
110
|
+
return bufferData?.toString(gitConstants_1.UTF8_ENCODING) ?? '';
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
const err = error;
|
|
114
|
+
if (err.name === 'NotFoundError') {
|
|
115
|
+
return '';
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async getFilesPath(path) {
|
|
123
|
+
const walker = (0, exports.filePathWalker)(path);
|
|
124
|
+
return await this.isoGit.walk({
|
|
125
|
+
...this.gitConfig,
|
|
126
|
+
dir: (0, fsUtils_1.treatPathSep)(path),
|
|
127
|
+
trees: [(0, isomorphic_git_1.TREE)({ ref: this.config.to })],
|
|
128
|
+
map: walker,
|
|
129
|
+
iterate: exports.iterate,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async getFilesFrom(path) {
|
|
133
|
+
const treatedPath = (0, fsUtils_1.treatPathSep)(path);
|
|
134
|
+
const object = await this.isoGit.readObject({
|
|
135
|
+
...this.gitConfig,
|
|
136
|
+
oid: this.config.to,
|
|
137
|
+
filepath: treatedPath,
|
|
138
|
+
});
|
|
139
|
+
// Return object exposing async getContent
|
|
140
|
+
// Iterate over and output file using the getContent API when needed
|
|
141
|
+
const blobFiles = [];
|
|
142
|
+
if (object.type === TREE_TYPE) {
|
|
143
|
+
const filesContent = await this.isoGit.walk({
|
|
144
|
+
...this.gitConfig,
|
|
145
|
+
dir: treatedPath,
|
|
146
|
+
trees: [(0, isomorphic_git_1.TREE)({ ref: this.config.to })],
|
|
147
|
+
map: (0, exports.contentWalker)(treatedPath),
|
|
148
|
+
iterate: exports.iterate,
|
|
149
|
+
});
|
|
150
|
+
blobFiles.push(...filesContent);
|
|
151
|
+
}
|
|
152
|
+
else if (object.type === BLOB_TYPE) {
|
|
153
|
+
blobFiles.push({
|
|
154
|
+
path,
|
|
155
|
+
content: object.object,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw new Error(`Path ${path} does not exist in ${this.config.to}`);
|
|
160
|
+
}
|
|
161
|
+
return await this.getContentFromFiles(blobFiles);
|
|
162
|
+
}
|
|
163
|
+
async getContentFromFiles(blobFiles) {
|
|
164
|
+
const bufferFiles = [];
|
|
165
|
+
for (const file of blobFiles) {
|
|
166
|
+
const content = await this.getBufferFromBlob(file.content);
|
|
167
|
+
bufferFiles.push({
|
|
168
|
+
path: (0, fsUtils_1.treatPathSep)(file.path),
|
|
169
|
+
content,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return bufferFiles;
|
|
173
|
+
}
|
|
174
|
+
async getDiffLines() {
|
|
175
|
+
const walker = (0, exports.diffLineWalker)(this.config);
|
|
176
|
+
return this.isoGit.walk({
|
|
177
|
+
...this.gitConfig,
|
|
178
|
+
dir: (0, path_1.join)(this.config.repo, this.config.source),
|
|
179
|
+
trees: [(0, isomorphic_git_1.TREE)({ ref: this.config.from }), (0, isomorphic_git_1.TREE)({ ref: this.config.to })],
|
|
180
|
+
map: walker,
|
|
181
|
+
iterate: exports.iterate,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
GitAdapter.instances = new Map();
|
|
186
|
+
GitAdapter.sharedCache = {};
|
|
187
|
+
exports.default = GitAdapter;
|
|
188
|
+
const filePathWalker = (path) => {
|
|
189
|
+
const shouldSkip = evaluateShouldSkip(path);
|
|
190
|
+
return async (filepath, trees) => {
|
|
191
|
+
if (await shouldSkip(filepath, trees)) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
return (0, fsUtils_1.treatPathSep)(filepath);
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
exports.filePathWalker = filePathWalker;
|
|
198
|
+
const contentWalker = (path) => {
|
|
199
|
+
const shouldSkip = evaluateShouldSkip(path);
|
|
200
|
+
return async (filepath, trees) => {
|
|
201
|
+
if (await shouldSkip(filepath, trees)) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
const [tree] = trees;
|
|
205
|
+
const blob = (await tree.content());
|
|
206
|
+
return {
|
|
207
|
+
path: (0, fsUtils_1.treatPathSep)(filepath),
|
|
208
|
+
content: blob,
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
exports.contentWalker = contentWalker;
|
|
213
|
+
const diffLineWalker = (config) => {
|
|
214
|
+
const shouldSkip = evaluateShouldSkip(config.source);
|
|
215
|
+
return async (filepath, trees) => {
|
|
216
|
+
if (await shouldSkip(filepath, trees)) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
const [fromOID, toOID] = await Promise.all(trees.map(tree => tree?.oid()));
|
|
220
|
+
if (fromOID === toOID) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
let type;
|
|
224
|
+
if (fromOID === undefined) {
|
|
225
|
+
type = gitConstants_1.ADDITION;
|
|
226
|
+
}
|
|
227
|
+
else if (toOID === undefined) {
|
|
228
|
+
type = gitConstants_1.DELETION;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
if (config.ignoreWhitespace &&
|
|
232
|
+
(await isContentsEqualIgnoringWhiteChars(trees))) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
type = gitConstants_1.MODIFICATION;
|
|
236
|
+
}
|
|
237
|
+
const result = `${type}\t${(0, fsUtils_1.treatPathSep)(filepath)}`;
|
|
238
|
+
return result;
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
exports.diffLineWalker = diffLineWalker;
|
|
242
|
+
const isContentsEqualIgnoringWhiteChars = async (trees) => {
|
|
243
|
+
const [fromContent, toContent] = await Promise.all(trees.map(async (tree) => {
|
|
244
|
+
const content = (await tree.content());
|
|
245
|
+
return stripWhiteChar(Buffer.from(content).toString());
|
|
246
|
+
}));
|
|
247
|
+
return fromContent === toContent;
|
|
248
|
+
};
|
|
249
|
+
const pathDoesNotStartsWith = (root) => {
|
|
250
|
+
const gitFormattedRoot = (0, fsUtils_1.treatPathSep)(root) + fsConstants_1.PATH_SEP;
|
|
251
|
+
return (path) => gitFormattedRoot !== cliConstants_1.SOURCE_DEFAULT_VALUE &&
|
|
252
|
+
!path.startsWith(gitFormattedRoot);
|
|
253
|
+
};
|
|
254
|
+
const evaluateShouldSkip = (base) => {
|
|
255
|
+
const checkPath = pathDoesNotStartsWith(base);
|
|
256
|
+
return async (path, trees) => {
|
|
257
|
+
if (path === fsConstants_1.DOT || checkPath(path)) {
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
const types = await Promise.all(trees.filter(Boolean).map(tree => tree.type()));
|
|
261
|
+
return types.some(type => type !== BLOB_TYPE);
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
//# sourceMappingURL=GitAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitAdapter.js","sourceRoot":"","sources":["../../src/adapter/GitAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const command_1 = require("@salesforce/command");
|
|
5
5
|
const core_1 = require("@salesforce/core");
|
|
6
6
|
const main_1 = tslib_1.__importDefault(require("../../../main"));
|
|
7
|
-
const
|
|
7
|
+
const cliConstants_1 = require("../../../utils/cliConstants");
|
|
8
8
|
// Initialize Messages with the current plugin directory
|
|
9
9
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
10
10
|
const COMMAND_NAME = 'delta';
|
|
@@ -54,7 +54,7 @@ SourceDeltaGenerate.flagsConfig = {
|
|
|
54
54
|
to: command_1.flags.string({
|
|
55
55
|
char: 't',
|
|
56
56
|
description: messages.getMessage('toFlag'),
|
|
57
|
-
default:
|
|
57
|
+
default: cliConstants_1.TO_DEFAULT_VALUE,
|
|
58
58
|
}),
|
|
59
59
|
from: command_1.flags.string({
|
|
60
60
|
char: 'f',
|
|
@@ -64,7 +64,7 @@ SourceDeltaGenerate.flagsConfig = {
|
|
|
64
64
|
repo: command_1.flags.filepath({
|
|
65
65
|
char: 'r',
|
|
66
66
|
description: messages.getMessage('repoFlag'),
|
|
67
|
-
default:
|
|
67
|
+
default: cliConstants_1.REPO_DEFAULT_VALUE,
|
|
68
68
|
}),
|
|
69
69
|
ignore: command_1.flags.filepath({
|
|
70
70
|
char: 'i',
|
|
@@ -77,7 +77,7 @@ SourceDeltaGenerate.flagsConfig = {
|
|
|
77
77
|
source: command_1.flags.filepath({
|
|
78
78
|
char: 's',
|
|
79
79
|
description: messages.getMessage('sourceFlag'),
|
|
80
|
-
default:
|
|
80
|
+
default: cliConstants_1.SOURCE_DEFAULT_VALUE,
|
|
81
81
|
}),
|
|
82
82
|
'ignore-whitespace': command_1.flags.boolean({
|
|
83
83
|
char: 'W',
|
|
@@ -86,7 +86,7 @@ SourceDeltaGenerate.flagsConfig = {
|
|
|
86
86
|
output: command_1.flags.filepath({
|
|
87
87
|
char: 'o',
|
|
88
88
|
description: messages.getMessage('outputFlag'),
|
|
89
|
-
default:
|
|
89
|
+
default: cliConstants_1.OUTPUT_DEFAULT_VALUE,
|
|
90
90
|
}),
|
|
91
91
|
'api-version': command_1.flags.number({
|
|
92
92
|
char: 'a',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../../src/commands/sgd/source/delta.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AACxD,2CAA2C;AAC3C,iEAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../../src/commands/sgd/source/delta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PATH_SEP = exports.PATH_SEPARATOR_REGEX = exports.UTF8_ENCODING = exports.DOT = void 0;
|
|
4
|
+
exports.DOT = '.';
|
|
5
|
+
exports.UTF8_ENCODING = 'utf8';
|
|
6
|
+
exports.PATH_SEPARATOR_REGEX = /[/\\]+/;
|
|
7
|
+
exports.PATH_SEP = '/';
|
|
8
|
+
//# sourceMappingURL=fsConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fsConstants.js","sourceRoot":"","sources":["../../src/constant/fsConstants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;AAEC,QAAA,GAAG,GAAG,GAAG,CAAA;AACT,QAAA,aAAa,GAAG,MAAM,CAAA;AACtB,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAC/B,QAAA,QAAQ,GAAG,GAAG,CAAA"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
export declare const ADDITION = "A";
|
|
2
2
|
export declare const DELETION = "D";
|
|
3
3
|
export declare const MODIFICATION = "M";
|
|
4
|
-
export declare const COMMIT_REF_TYPE = "commit";
|
|
5
|
-
export declare const TAG_REF_TYPE = "tag";
|
|
6
|
-
export declare const POINTER_REF_TYPES: string[];
|
|
7
4
|
export declare const GIT_DIFF_TYPE_REGEX: RegExp;
|
|
8
5
|
export declare const GIT_FOLDER = ".git";
|
|
9
|
-
export declare const GIT_PATH_SEP = "/";
|
|
10
6
|
export declare const IGNORE_WHITESPACE_PARAMS: string[];
|
|
11
7
|
export declare const UTF8_ENCODING = "utf8";
|
|
12
|
-
export declare const GIT_COMMAND = "git";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UTF8_ENCODING = exports.IGNORE_WHITESPACE_PARAMS = exports.GIT_FOLDER = exports.GIT_DIFF_TYPE_REGEX = exports.MODIFICATION = exports.DELETION = exports.ADDITION = void 0;
|
|
4
|
+
exports.ADDITION = 'A';
|
|
5
|
+
exports.DELETION = 'D';
|
|
6
|
+
exports.MODIFICATION = 'M';
|
|
7
|
+
exports.GIT_DIFF_TYPE_REGEX = /^.\s+/u;
|
|
8
|
+
exports.GIT_FOLDER = '.git';
|
|
9
|
+
exports.IGNORE_WHITESPACE_PARAMS = [
|
|
10
|
+
'--ignore-all-space',
|
|
11
|
+
'--ignore-blank-lines',
|
|
12
|
+
'--ignore-cr-at-eol',
|
|
13
|
+
'--word-diff-regex=|[^[:space:]]',
|
|
14
|
+
];
|
|
15
|
+
exports.UTF8_ENCODING = 'utf8';
|
|
16
|
+
//# sourceMappingURL=gitConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitConstants.js","sourceRoot":"","sources":["../../src/constant/gitConstants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;AACC,QAAA,QAAQ,GAAG,GAAG,CAAA;AACd,QAAA,QAAQ,GAAG,GAAG,CAAA;AACd,QAAA,YAAY,GAAG,GAAG,CAAA;AAClB,QAAA,mBAAmB,GAAG,QAAQ,CAAA;AAC9B,QAAA,UAAU,GAAG,MAAM,CAAA;AACnB,QAAA,wBAAwB,GAAG;IACtC,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,iCAAiC;CAClC,CAAA;AACY,QAAA,aAAa,GAAG,MAAM,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const CUSTOM_APPLICATION_TYPE = "applications";
|
|
1
2
|
export declare const FIELD_DIRECTORY_NAME = "fields";
|
|
2
3
|
export declare const FLOW_XML_NAME = "Flow";
|
|
3
4
|
export declare const INFOLDER_SUFFIX = "Folder";
|
|
@@ -11,8 +12,8 @@ export declare const OBJECT_TRANSLATION_TYPE = "objectTranslations";
|
|
|
11
12
|
export declare const OBJECT_TRANSLATION_META_XML_SUFFIX = "objectTranslation-meta.xml";
|
|
12
13
|
export declare const OBJECT_TYPE = "objects";
|
|
13
14
|
export declare const OBJECT_XML_NAME = "CustomObject";
|
|
15
|
+
export declare const RESTRICTION_RULE_TYPE = "restrictionRules";
|
|
14
16
|
export declare const SUB_OBJECT_TYPES: string[];
|
|
15
17
|
export declare const TERRITORY_MODEL_TYPE = "territory2Models";
|
|
16
18
|
export declare const TRANSLATION_EXTENSION = "translation";
|
|
17
19
|
export declare const TRANSLATION_TYPE = "Translations";
|
|
18
|
-
export declare const XML_HEADER_TAG_END = "?>";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TRANSLATION_TYPE = exports.TRANSLATION_EXTENSION = exports.TERRITORY_MODEL_TYPE = exports.SUB_OBJECT_TYPES = exports.RESTRICTION_RULE_TYPE = exports.OBJECT_XML_NAME = exports.OBJECT_TYPE = exports.OBJECT_TRANSLATION_META_XML_SUFFIX = exports.OBJECT_TRANSLATION_TYPE = exports.OBJECT_META_XML_SUFFIX = exports.META_REGEX = exports.METAFILE_SUFFIX = exports.MASTER_DETAIL_TAG = exports.LABEL_XML_NAME = exports.LABEL_EXTENSION = exports.INFOLDER_SUFFIX = exports.FLOW_XML_NAME = exports.FIELD_DIRECTORY_NAME = exports.CUSTOM_APPLICATION_TYPE = void 0;
|
|
4
|
+
exports.CUSTOM_APPLICATION_TYPE = 'applications';
|
|
4
5
|
exports.FIELD_DIRECTORY_NAME = 'fields';
|
|
5
6
|
exports.FLOW_XML_NAME = 'Flow';
|
|
6
7
|
exports.INFOLDER_SUFFIX = `Folder`;
|
|
@@ -14,6 +15,7 @@ exports.OBJECT_TRANSLATION_TYPE = 'objectTranslations';
|
|
|
14
15
|
exports.OBJECT_TRANSLATION_META_XML_SUFFIX = `objectTranslation${exports.METAFILE_SUFFIX}`;
|
|
15
16
|
exports.OBJECT_TYPE = 'objects';
|
|
16
17
|
exports.OBJECT_XML_NAME = 'CustomObject';
|
|
18
|
+
exports.RESTRICTION_RULE_TYPE = 'restrictionRules';
|
|
17
19
|
exports.SUB_OBJECT_TYPES = [
|
|
18
20
|
'businessProcesses',
|
|
19
21
|
'compactLayouts',
|
|
@@ -31,5 +33,4 @@ exports.SUB_OBJECT_TYPES = [
|
|
|
31
33
|
exports.TERRITORY_MODEL_TYPE = 'territory2Models';
|
|
32
34
|
exports.TRANSLATION_EXTENSION = 'translation';
|
|
33
35
|
exports.TRANSLATION_TYPE = 'Translations';
|
|
34
|
-
exports.XML_HEADER_TAG_END = '?>';
|
|
35
36
|
//# sourceMappingURL=metadataConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataConstants.js","sourceRoot":"","sources":["../../src/constant/metadataConstants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;AAEC,QAAA,uBAAuB,GAAG,cAAc,CAAA;AACxC,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAC/B,QAAA,aAAa,GAAG,MAAM,CAAA;AACtB,QAAA,eAAe,GAAG,QAAQ,CAAA;AAC1B,QAAA,eAAe,GAAG,QAAQ,CAAA;AAC1B,QAAA,cAAc,GAAG,aAAa,CAAA;AAC9B,QAAA,iBAAiB,GAAG,2BAA2B,CAAA;AAC/C,QAAA,eAAe,GAAG,WAAW,CAAA;AAC7B,QAAA,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,uBAAe,GAAG,CAAC,CAAA;AAC9C,QAAA,sBAAsB,GAAG,SAAS,uBAAe,EAAE,CAAA;AACnD,QAAA,uBAAuB,GAAG,oBAAoB,CAAA;AAC9C,QAAA,kCAAkC,GAAG,oBAAoB,uBAAe,EAAE,CAAA;AAC1E,QAAA,WAAW,GAAG,SAAS,CAAA;AACvB,QAAA,eAAe,GAAG,cAAc,CAAA;AAChC,QAAA,qBAAqB,GAAG,kBAAkB,CAAA;AAC1C,QAAA,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,iBAAiB;IACjB,UAAU;CACX,CAAA;AACY,QAAA,oBAAoB,GAAG,kBAAkB,CAAA;AACzC,QAAA,qBAAqB,GAAG,aAAa,CAAA;AACrC,QAAA,gBAAgB,GAAG,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataRepository.js","sourceRoot":"","sources":["../../src/metadata/MetadataRepository.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Metadata } from '../types/metadata';
|
|
2
|
+
import { MetadataRepository } from './MetadataRepository';
|
|
3
|
+
export declare class MetadataRepositoryImpl implements MetadataRepository {
|
|
4
|
+
protected readonly metadatas: Metadata[];
|
|
5
|
+
protected readonly metadataPerExt: Map<string, Metadata>;
|
|
6
|
+
protected readonly metadataPerDir: Map<string, Metadata>;
|
|
7
|
+
constructor(metadatas: Metadata[]);
|
|
8
|
+
has(path: string): boolean;
|
|
9
|
+
get(path: string): Metadata | undefined;
|
|
10
|
+
protected searchByExtension(parts: string[]): Metadata | undefined;
|
|
11
|
+
protected searchByDirectory(parts: string[]): Metadata | undefined;
|
|
12
|
+
getFullyQualifiedName(path: string): string;
|
|
13
|
+
values(): Metadata[];
|
|
14
|
+
private static TYPES_WITH_SUB_TYPES;
|
|
15
|
+
private static EXTENSION_MATCHING_EXCEPTION;
|
|
16
|
+
private static COMPOSED_TYPES;
|
|
17
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetadataRepositoryImpl = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const metadataConstants_1 = require("../constant/metadataConstants");
|
|
6
|
+
const fsConstants_1 = require("../constant/fsConstants");
|
|
7
|
+
class MetadataRepositoryImpl {
|
|
8
|
+
constructor(
|
|
9
|
+
// eslint-disable-next-line no-unused-vars
|
|
10
|
+
metadatas) {
|
|
11
|
+
this.metadatas = metadatas;
|
|
12
|
+
this.metadataPerExt = new Map();
|
|
13
|
+
this.metadataPerDir = new Map();
|
|
14
|
+
this.metadatas.forEach(metadata => {
|
|
15
|
+
if (metadata.suffix) {
|
|
16
|
+
this.metadataPerExt.set(metadata.suffix, metadata);
|
|
17
|
+
}
|
|
18
|
+
this.metadataPerDir.set(metadata.directoryName, metadata);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
has(path) {
|
|
22
|
+
return !!this.get(path);
|
|
23
|
+
}
|
|
24
|
+
get(path) {
|
|
25
|
+
const parts = path.split(fsConstants_1.PATH_SEP);
|
|
26
|
+
const metadata = this.searchByExtension(parts);
|
|
27
|
+
return metadata ?? this.searchByDirectory(parts);
|
|
28
|
+
}
|
|
29
|
+
searchByExtension(parts) {
|
|
30
|
+
const metadata = this.metadataPerExt.get((0, path_1.parse)(parts[parts.length - 1].replace(metadataConstants_1.METAFILE_SUFFIX, '')).ext.replace(fsConstants_1.DOT, ''));
|
|
31
|
+
if (!!metadata &&
|
|
32
|
+
MetadataRepositoryImpl.EXTENSION_MATCHING_EXCEPTION.includes(metadata?.directoryName)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
return metadata;
|
|
36
|
+
}
|
|
37
|
+
searchByDirectory(parts) {
|
|
38
|
+
let metadata;
|
|
39
|
+
parts.find(part => {
|
|
40
|
+
metadata = this.metadataPerDir.get(part) ?? metadata;
|
|
41
|
+
return (!!metadata &&
|
|
42
|
+
!MetadataRepositoryImpl.TYPES_WITH_SUB_TYPES.includes(metadata.directoryName));
|
|
43
|
+
});
|
|
44
|
+
return metadata;
|
|
45
|
+
}
|
|
46
|
+
getFullyQualifiedName(path) {
|
|
47
|
+
const type = this.get(path);
|
|
48
|
+
let fullyQualifiedName = (0, path_1.parse)(path).base;
|
|
49
|
+
if (type &&
|
|
50
|
+
MetadataRepositoryImpl.COMPOSED_TYPES.includes(type.directoryName)) {
|
|
51
|
+
const parentType = path
|
|
52
|
+
.split(fsConstants_1.PATH_SEP)
|
|
53
|
+
.find(part => this.metadataPerDir.get(part));
|
|
54
|
+
fullyQualifiedName = path
|
|
55
|
+
.slice(path.indexOf(parentType))
|
|
56
|
+
.replaceAll(fsConstants_1.PATH_SEP, '');
|
|
57
|
+
}
|
|
58
|
+
return fullyQualifiedName;
|
|
59
|
+
}
|
|
60
|
+
values() {
|
|
61
|
+
return this.metadatas;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.MetadataRepositoryImpl = MetadataRepositoryImpl;
|
|
65
|
+
MetadataRepositoryImpl.TYPES_WITH_SUB_TYPES = [metadataConstants_1.OBJECT_TYPE, metadataConstants_1.TERRITORY_MODEL_TYPE, ''];
|
|
66
|
+
MetadataRepositoryImpl.EXTENSION_MATCHING_EXCEPTION = [
|
|
67
|
+
metadataConstants_1.CUSTOM_APPLICATION_TYPE,
|
|
68
|
+
metadataConstants_1.RESTRICTION_RULE_TYPE,
|
|
69
|
+
];
|
|
70
|
+
MetadataRepositoryImpl.COMPOSED_TYPES = [
|
|
71
|
+
metadataConstants_1.OBJECT_TYPE,
|
|
72
|
+
metadataConstants_1.OBJECT_TRANSLATION_TYPE,
|
|
73
|
+
...metadataConstants_1.SUB_OBJECT_TYPES,
|
|
74
|
+
];
|
|
75
|
+
//# sourceMappingURL=MetadataRepositoryImpl.js.map
|