@bluealba/pae-bootstrap-lib 1.7.2-develop-1171
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/LICENSE +134 -0
- package/README.md +43 -0
- package/dist/src/bootstrap/bootstrap-platform.d.ts +32 -0
- package/dist/src/bootstrap/bootstrap-platform.d.ts.map +1 -0
- package/dist/src/bootstrap/bootstrap-platform.js +75 -0
- package/dist/src/bootstrap/bootstrap-platform.js.map +1 -0
- package/dist/src/bootstrap/domain/bootstrap-sync-metadata.interface.d.ts +37 -0
- package/dist/src/bootstrap/domain/bootstrap-sync-metadata.interface.d.ts.map +1 -0
- package/dist/src/bootstrap/domain/bootstrap-sync-metadata.interface.js +3 -0
- package/dist/src/bootstrap/domain/bootstrap-sync-metadata.interface.js.map +1 -0
- package/dist/src/bootstrap/domain/domain-validation.test.d.ts +2 -0
- package/dist/src/bootstrap/domain/domain-validation.test.d.ts.map +1 -0
- package/dist/src/bootstrap/domain/domain-validation.test.js +1872 -0
- package/dist/src/bootstrap/domain/domain-validation.test.js.map +1 -0
- package/dist/src/bootstrap/entity-synchronizer.d.ts +53 -0
- package/dist/src/bootstrap/entity-synchronizer.d.ts.map +1 -0
- package/dist/src/bootstrap/entity-synchronizer.js +69 -0
- package/dist/src/bootstrap/entity-synchronizer.js.map +1 -0
- package/dist/src/bootstrap/entity-synchronizer.test.d.ts +2 -0
- package/dist/src/bootstrap/entity-synchronizer.test.d.ts.map +1 -0
- package/dist/src/bootstrap/entity-synchronizer.test.js +270 -0
- package/dist/src/bootstrap/entity-synchronizer.test.js.map +1 -0
- package/dist/src/bootstrap/fix-created-by.d.ts +10 -0
- package/dist/src/bootstrap/fix-created-by.d.ts.map +1 -0
- package/dist/src/bootstrap/fix-created-by.js +36 -0
- package/dist/src/bootstrap/fix-created-by.js.map +1 -0
- package/dist/src/bootstrap/initialize-pae-client.d.ts +7 -0
- package/dist/src/bootstrap/initialize-pae-client.d.ts.map +1 -0
- package/dist/src/bootstrap/initialize-pae-client.js +24 -0
- package/dist/src/bootstrap/initialize-pae-client.js.map +1 -0
- package/dist/src/bootstrap/read-bootstrap-applications.d.ts +10 -0
- package/dist/src/bootstrap/read-bootstrap-applications.d.ts.map +1 -0
- package/dist/src/bootstrap/read-bootstrap-applications.js +650 -0
- package/dist/src/bootstrap/read-bootstrap-applications.js.map +1 -0
- package/dist/src/bootstrap/run-bootstrap-sync.service.d.ts +4 -0
- package/dist/src/bootstrap/run-bootstrap-sync.service.d.ts.map +1 -0
- package/dist/src/bootstrap/run-bootstrap-sync.service.js +27 -0
- package/dist/src/bootstrap/run-bootstrap-sync.service.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-applications.d.ts +4 -0
- package/dist/src/bootstrap/synchronizers/sync-applications.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-applications.js +53 -0
- package/dist/src/bootstrap/synchronizers/sync-applications.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-authz-entities.d.ts +11 -0
- package/dist/src/bootstrap/synchronizers/sync-authz-entities.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-authz-entities.js +58 -0
- package/dist/src/bootstrap/synchronizers/sync-authz-entities.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-catalog.d.ts +5 -0
- package/dist/src/bootstrap/synchronizers/sync-catalog.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-catalog.js +73 -0
- package/dist/src/bootstrap/synchronizers/sync-catalog.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performDeletes.d.ts +11 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performDeletes.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performDeletes.js +38 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performDeletes.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performUpdates.d.ts +12 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performUpdates.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performUpdates.js +43 -0
- package/dist/src/bootstrap/synchronizers/sync-entities/performUpdates.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.d.ts +19 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.js +59 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.test.d.ts +2 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.test.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.test.js +158 -0
- package/dist/src/bootstrap/synchronizers/sync-entities.test.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entity-options.d.ts +11 -0
- package/dist/src/bootstrap/synchronizers/sync-entity-options.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-entity-options.js +3 -0
- package/dist/src/bootstrap/synchronizers/sync-entity-options.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-modules-config.d.ts +4 -0
- package/dist/src/bootstrap/synchronizers/sync-modules-config.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-modules-config.js +28 -0
- package/dist/src/bootstrap/synchronizers/sync-modules-config.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-operations.d.ts +5 -0
- package/dist/src/bootstrap/synchronizers/sync-operations.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-operations.js +41 -0
- package/dist/src/bootstrap/synchronizers/sync-operations.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-role-operations.d.ts +8 -0
- package/dist/src/bootstrap/synchronizers/sync-role-operations.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-role-operations.js +74 -0
- package/dist/src/bootstrap/synchronizers/sync-role-operations.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-roles.d.ts +5 -0
- package/dist/src/bootstrap/synchronizers/sync-roles.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-roles.js +41 -0
- package/dist/src/bootstrap/synchronizers/sync-roles.js.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-shared-libraries.d.ts +4 -0
- package/dist/src/bootstrap/synchronizers/sync-shared-libraries.d.ts.map +1 -0
- package/dist/src/bootstrap/synchronizers/sync-shared-libraries.js +32 -0
- package/dist/src/bootstrap/synchronizers/sync-shared-libraries.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +19 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/utils/compare-lists-by.d.ts +23 -0
- package/dist/src/utils/compare-lists-by.d.ts.map +1 -0
- package/dist/src/utils/compare-lists-by.js +34 -0
- package/dist/src/utils/compare-lists-by.js.map +1 -0
- package/dist/src/utils/format-diff.d.ts +106 -0
- package/dist/src/utils/format-diff.d.ts.map +1 -0
- package/dist/src/utils/format-diff.js +166 -0
- package/dist/src/utils/format-diff.js.map +1 -0
- package/dist/src/utils/format-diff.test.d.ts +2 -0
- package/dist/src/utils/format-diff.test.d.ts.map +1 -0
- package/dist/src/utils/format-diff.test.js +242 -0
- package/dist/src/utils/format-diff.test.js.map +1 -0
- package/dist/src/utils/get-common-keys.d.ts +6 -0
- package/dist/src/utils/get-common-keys.d.ts.map +1 -0
- package/dist/src/utils/get-common-keys.js +9 -0
- package/dist/src/utils/get-common-keys.js.map +1 -0
- package/dist/src/utils/io.d.ts +3 -0
- package/dist/src/utils/io.d.ts.map +1 -0
- package/dist/src/utils/io.js +13 -0
- package/dist/src/utils/io.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-validation.test.js","sourceRoot":"","sources":["../../../../src/bootstrap/domain/domain-validation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface EntitySynchronizer<TEntity, TData = TEntity> {
|
|
2
|
+
add: (entity: TData) => Promise<any>;
|
|
3
|
+
remove: (entity: TEntity) => Promise<any>;
|
|
4
|
+
update: (data: TData, entity: TEntity) => Promise<any>;
|
|
5
|
+
fetch: () => Promise<TEntity[]>;
|
|
6
|
+
keyComparator: (data: TData, entity: TEntity) => boolean;
|
|
7
|
+
hasChanged?: HasChangedFn<TEntity, TData>;
|
|
8
|
+
}
|
|
9
|
+
export type HasChangedFn<TEntity, TData = TEntity> = (data: TData, entity: TEntity | undefined) => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Default list of keys to ignore when comparing entities.
|
|
12
|
+
* These are typically auto-managed fields that shouldn't trigger updates.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_IGNORE_KEYS: string[];
|
|
15
|
+
/**
|
|
16
|
+
* Creates a hasChanged function that compares two objects with configurable ignore keys.
|
|
17
|
+
*
|
|
18
|
+
* This function provides improved change detection by:
|
|
19
|
+
* - Comparing ALL keys (not just common ones)
|
|
20
|
+
* - Detecting new keys in data that don't exist in entity
|
|
21
|
+
* - Ignoring system-managed fields (audit fields, IDs, etc.)
|
|
22
|
+
* - Supporting custom ignore lists per synchronizer
|
|
23
|
+
*
|
|
24
|
+
* @param additionalIgnoreKeys - Optional array of additional keys to ignore beyond the default list
|
|
25
|
+
* @returns A hasChanged function that can be used with EntitySynchronizer
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // Use with default ignore keys only
|
|
29
|
+
* const hasChanged = createHasChangedFn();
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Add custom ignore keys
|
|
33
|
+
* const hasChanged = createHasChangedFn(['isGlobal', 'computedField']);
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // Use in EntitySynchronizer
|
|
37
|
+
* const synchronizer: EntitySynchronizer<Application, CreateApplicationDTO> = {
|
|
38
|
+
* hasChanged: createHasChangedFn(['isGlobal']),
|
|
39
|
+
* // ... other methods
|
|
40
|
+
* };
|
|
41
|
+
*/
|
|
42
|
+
export declare const createHasChangedFn: (additionalIgnoreKeys?: string[]) => HasChangedFn<any, any>;
|
|
43
|
+
/**
|
|
44
|
+
* Default hasChanged function with built-in ignore for audit fields.
|
|
45
|
+
*
|
|
46
|
+
* This is the recommended function for most synchronizers as it automatically
|
|
47
|
+
* ignores system-managed fields (id, createdAt, updatedAt, etc.) and detects
|
|
48
|
+
* new keys in the input data.
|
|
49
|
+
*
|
|
50
|
+
* Use `createHasChangedFn(['customKey'])` if you need to ignore additional keys.
|
|
51
|
+
*/
|
|
52
|
+
export declare const DEFAULT_HAS_CHANGED_FN: HasChangedFn<any, any>;
|
|
53
|
+
//# sourceMappingURL=entity-synchronizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-synchronizer.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/entity-synchronizer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO;IAC1D,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IACzD,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,KAAK,OAAO,CAAA;AAE1G;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAA6D,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,kBAAkB,GAAI,uBAAsB,MAAM,EAAO,KAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CA+B7F,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,wBAAuB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_HAS_CHANGED_FN = exports.createHasChangedFn = exports.DEFAULT_IGNORE_KEYS = void 0;
|
|
4
|
+
const ramda_1 = require("ramda");
|
|
5
|
+
/**
|
|
6
|
+
* Default list of keys to ignore when comparing entities.
|
|
7
|
+
* These are typically auto-managed fields that shouldn't trigger updates.
|
|
8
|
+
*/
|
|
9
|
+
exports.DEFAULT_IGNORE_KEYS = ['id', 'createdAt', 'createdBy', 'updatedAt', 'updatedBy'];
|
|
10
|
+
/**
|
|
11
|
+
* Creates a hasChanged function that compares two objects with configurable ignore keys.
|
|
12
|
+
*
|
|
13
|
+
* This function provides improved change detection by:
|
|
14
|
+
* - Comparing ALL keys (not just common ones)
|
|
15
|
+
* - Detecting new keys in data that don't exist in entity
|
|
16
|
+
* - Ignoring system-managed fields (audit fields, IDs, etc.)
|
|
17
|
+
* - Supporting custom ignore lists per synchronizer
|
|
18
|
+
*
|
|
19
|
+
* @param additionalIgnoreKeys - Optional array of additional keys to ignore beyond the default list
|
|
20
|
+
* @returns A hasChanged function that can be used with EntitySynchronizer
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // Use with default ignore keys only
|
|
24
|
+
* const hasChanged = createHasChangedFn();
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* // Add custom ignore keys
|
|
28
|
+
* const hasChanged = createHasChangedFn(['isGlobal', 'computedField']);
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Use in EntitySynchronizer
|
|
32
|
+
* const synchronizer: EntitySynchronizer<Application, CreateApplicationDTO> = {
|
|
33
|
+
* hasChanged: createHasChangedFn(['isGlobal']),
|
|
34
|
+
* // ... other methods
|
|
35
|
+
* };
|
|
36
|
+
*/
|
|
37
|
+
const createHasChangedFn = (additionalIgnoreKeys = []) => {
|
|
38
|
+
const ignoreKeys = new Set([...exports.DEFAULT_IGNORE_KEYS, ...additionalIgnoreKeys]);
|
|
39
|
+
return (data, entity) => {
|
|
40
|
+
if (!entity) {
|
|
41
|
+
return true; // No entity means it's a new addition (change detected)
|
|
42
|
+
}
|
|
43
|
+
if (!data) {
|
|
44
|
+
return false; // No data means nothing to compare
|
|
45
|
+
}
|
|
46
|
+
// Get all keys from data
|
|
47
|
+
const dataKeys = Object.keys(data);
|
|
48
|
+
// Check if data has any keys that entity doesn't have (excluding ignored keys)
|
|
49
|
+
const newKeys = dataKeys.filter(key => !ignoreKeys.has(key) && !(key in entity));
|
|
50
|
+
if (newKeys.length > 0) {
|
|
51
|
+
return true; // New keys detected in data
|
|
52
|
+
}
|
|
53
|
+
// Check if any common keys have changed values (excluding ignored keys)
|
|
54
|
+
const commonKeys = dataKeys.filter(key => !ignoreKeys.has(key) && key in entity);
|
|
55
|
+
return commonKeys.some(key => !(0, ramda_1.equals)(data[key], entity[key]));
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
exports.createHasChangedFn = createHasChangedFn;
|
|
59
|
+
/**
|
|
60
|
+
* Default hasChanged function with built-in ignore for audit fields.
|
|
61
|
+
*
|
|
62
|
+
* This is the recommended function for most synchronizers as it automatically
|
|
63
|
+
* ignores system-managed fields (id, createdAt, updatedAt, etc.) and detects
|
|
64
|
+
* new keys in the input data.
|
|
65
|
+
*
|
|
66
|
+
* Use `createHasChangedFn(['customKey'])` if you need to ignore additional keys.
|
|
67
|
+
*/
|
|
68
|
+
exports.DEFAULT_HAS_CHANGED_FN = (0, exports.createHasChangedFn)();
|
|
69
|
+
//# sourceMappingURL=entity-synchronizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-synchronizer.js","sourceRoot":"","sources":["../../../src/bootstrap/entity-synchronizer.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAa7B;;;GAGG;AACU,QAAA,mBAAmB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,MAAM,kBAAkB,GAAG,CAAC,uBAAiC,EAAE,EAA0B,EAAE;IAChG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,2BAAmB,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,IAAS,EAAE,MAAuB,EAAW,EAAE;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,CAAC,wDAAwD;QACvE,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,CAAC,mCAAmC;QACnD,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnC,+EAA+E;QAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CACzC,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,CAAC,4BAA4B;QAC3C,CAAC;QAED,wEAAwE;QACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,MAAM,CACtC,CAAC;QAEF,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAA,cAAM,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,kBAAkB,sBA+B7B;AAEF;;;;;;;;GAQG;AACU,QAAA,sBAAsB,GAAG,IAAA,0BAAkB,GAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-synchronizer.test.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/entity-synchronizer.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const entity_synchronizer_1 = require("./entity-synchronizer");
|
|
4
|
+
describe('entity-synchronizer', () => {
|
|
5
|
+
describe('createHasChangedFn', () => {
|
|
6
|
+
describe('with default ignore keys', () => {
|
|
7
|
+
const hasChanged = (0, entity_synchronizer_1.createHasChangedFn)();
|
|
8
|
+
it('should detect changes when data has new keys not in entity', () => {
|
|
9
|
+
const data = { name: 'Test', description: 'New field' };
|
|
10
|
+
const entity = { name: 'Test', id: 1, createdAt: new Date() };
|
|
11
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
it('should NOT detect changes when only ignored keys differ', () => {
|
|
14
|
+
const data = { name: 'Test', description: 'Same' };
|
|
15
|
+
const entity = {
|
|
16
|
+
name: 'Test',
|
|
17
|
+
description: 'Same',
|
|
18
|
+
id: 1,
|
|
19
|
+
createdAt: new Date('2024-01-01'),
|
|
20
|
+
updatedAt: new Date('2024-01-02'),
|
|
21
|
+
createdBy: 'user1',
|
|
22
|
+
updatedBy: 'user2'
|
|
23
|
+
};
|
|
24
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
it('should detect changes when common keys have different values', () => {
|
|
27
|
+
const data = { name: 'Test', description: 'Changed' };
|
|
28
|
+
const entity = {
|
|
29
|
+
name: 'Test',
|
|
30
|
+
description: 'Original',
|
|
31
|
+
id: 1,
|
|
32
|
+
createdAt: new Date()
|
|
33
|
+
};
|
|
34
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
it('should NOT detect changes when common keys have same values', () => {
|
|
37
|
+
const data = { name: 'Test', description: 'Same' };
|
|
38
|
+
const entity = {
|
|
39
|
+
name: 'Test',
|
|
40
|
+
description: 'Same',
|
|
41
|
+
id: 1,
|
|
42
|
+
createdAt: new Date()
|
|
43
|
+
};
|
|
44
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
45
|
+
});
|
|
46
|
+
it('should ignore all default audit fields', () => {
|
|
47
|
+
const data = { name: 'Test' };
|
|
48
|
+
const entity = {
|
|
49
|
+
name: 'Test',
|
|
50
|
+
id: 999,
|
|
51
|
+
createdAt: new Date('2024-01-01'),
|
|
52
|
+
createdBy: 'user1',
|
|
53
|
+
updatedAt: new Date('2024-12-31'),
|
|
54
|
+
updatedBy: 'user2'
|
|
55
|
+
};
|
|
56
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
57
|
+
});
|
|
58
|
+
it('should return true when entity is undefined', () => {
|
|
59
|
+
const data = { name: 'Test' };
|
|
60
|
+
expect(hasChanged(data, undefined)).toBe(true);
|
|
61
|
+
});
|
|
62
|
+
it('should return false when data is undefined', () => {
|
|
63
|
+
const entity = { name: 'Test', id: 1 };
|
|
64
|
+
expect(hasChanged(undefined, entity)).toBe(false);
|
|
65
|
+
});
|
|
66
|
+
it('should return false when data is null', () => {
|
|
67
|
+
const entity = { name: 'Test', id: 1 };
|
|
68
|
+
expect(hasChanged(null, entity)).toBe(false);
|
|
69
|
+
});
|
|
70
|
+
it('should handle empty objects', () => {
|
|
71
|
+
expect(hasChanged({}, {})).toBe(false);
|
|
72
|
+
});
|
|
73
|
+
it('should detect changes with nested objects', () => {
|
|
74
|
+
const data = { name: 'Test', config: { enabled: true } };
|
|
75
|
+
const entity = {
|
|
76
|
+
name: 'Test',
|
|
77
|
+
config: { enabled: false },
|
|
78
|
+
id: 1
|
|
79
|
+
};
|
|
80
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
81
|
+
});
|
|
82
|
+
it('should NOT detect changes when nested objects are deeply equal', () => {
|
|
83
|
+
const data = { name: 'Test', config: { enabled: true, nested: { value: 1 } } };
|
|
84
|
+
const entity = {
|
|
85
|
+
name: 'Test',
|
|
86
|
+
config: { enabled: true, nested: { value: 1 } },
|
|
87
|
+
id: 1
|
|
88
|
+
};
|
|
89
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
90
|
+
});
|
|
91
|
+
it('should handle arrays correctly', () => {
|
|
92
|
+
const data = { name: 'Test', tags: ['a', 'b'] };
|
|
93
|
+
const entity = {
|
|
94
|
+
name: 'Test',
|
|
95
|
+
tags: ['a', 'b', 'c'],
|
|
96
|
+
id: 1
|
|
97
|
+
};
|
|
98
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
describe('with custom ignore keys', () => {
|
|
102
|
+
const hasChanged = (0, entity_synchronizer_1.createHasChangedFn)(['isGlobal', 'computedField']);
|
|
103
|
+
it('should ignore custom keys in addition to default keys', () => {
|
|
104
|
+
const data = { name: 'Test', description: 'Same' };
|
|
105
|
+
const entity = {
|
|
106
|
+
name: 'Test',
|
|
107
|
+
description: 'Same',
|
|
108
|
+
id: 1,
|
|
109
|
+
isGlobal: true,
|
|
110
|
+
computedField: 'computed',
|
|
111
|
+
createdAt: new Date()
|
|
112
|
+
};
|
|
113
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
114
|
+
});
|
|
115
|
+
it('should still detect changes in non-ignored keys', () => {
|
|
116
|
+
const data = { name: 'Changed', description: 'Same' };
|
|
117
|
+
const entity = {
|
|
118
|
+
name: 'Test',
|
|
119
|
+
description: 'Same',
|
|
120
|
+
id: 1,
|
|
121
|
+
isGlobal: true,
|
|
122
|
+
computedField: 'computed'
|
|
123
|
+
};
|
|
124
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
125
|
+
});
|
|
126
|
+
it('should NOT detect new keys if they are in custom ignore list', () => {
|
|
127
|
+
const data = { name: 'Test', newField: 'value' };
|
|
128
|
+
const entity = {
|
|
129
|
+
name: 'Test',
|
|
130
|
+
id: 1,
|
|
131
|
+
isGlobal: false
|
|
132
|
+
};
|
|
133
|
+
// newField is NOT in ignore list, so it should detect change
|
|
134
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe('real-world entity scenarios', () => {
|
|
138
|
+
describe('Application entity', () => {
|
|
139
|
+
it('should detect changes in application properties', () => {
|
|
140
|
+
const data = {
|
|
141
|
+
name: 'my-app',
|
|
142
|
+
displayName: 'My App',
|
|
143
|
+
description: 'Updated description',
|
|
144
|
+
allowedByDefault: true
|
|
145
|
+
};
|
|
146
|
+
const entity = {
|
|
147
|
+
id: 1,
|
|
148
|
+
name: 'my-app',
|
|
149
|
+
displayName: 'My App',
|
|
150
|
+
description: 'Original description',
|
|
151
|
+
allowedByDefault: true,
|
|
152
|
+
isGlobal: false,
|
|
153
|
+
createdAt: new Date('2024-01-01'),
|
|
154
|
+
updatedAt: new Date('2024-01-02'),
|
|
155
|
+
createdBy: 'admin',
|
|
156
|
+
updatedBy: 'admin'
|
|
157
|
+
};
|
|
158
|
+
const hasChanged = (0, entity_synchronizer_1.createHasChangedFn)(['isGlobal']); // isGlobal is computed
|
|
159
|
+
expect(hasChanged(data, entity)).toBe(true);
|
|
160
|
+
});
|
|
161
|
+
it('should NOT detect changes when only audit fields differ', () => {
|
|
162
|
+
const data = {
|
|
163
|
+
name: 'my-app',
|
|
164
|
+
displayName: 'My App',
|
|
165
|
+
description: 'Same description',
|
|
166
|
+
allowedByDefault: true
|
|
167
|
+
};
|
|
168
|
+
const entity = {
|
|
169
|
+
id: 1,
|
|
170
|
+
name: 'my-app',
|
|
171
|
+
displayName: 'My App',
|
|
172
|
+
description: 'Same description',
|
|
173
|
+
allowedByDefault: true,
|
|
174
|
+
isGlobal: false,
|
|
175
|
+
createdAt: new Date('2024-01-01'),
|
|
176
|
+
updatedAt: new Date('2024-06-15'), // Different timestamp
|
|
177
|
+
createdBy: 'admin',
|
|
178
|
+
updatedBy: 'user2' // Different user
|
|
179
|
+
};
|
|
180
|
+
const hasChanged = (0, entity_synchronizer_1.createHasChangedFn)(['isGlobal']);
|
|
181
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
describe('Module entity', () => {
|
|
185
|
+
it('should detect changes when protocol is added to data', () => {
|
|
186
|
+
const data = {
|
|
187
|
+
name: 'my-module',
|
|
188
|
+
url: 'http://localhost:3000',
|
|
189
|
+
protocol: 'http', // This was materialized by API
|
|
190
|
+
includeBaseURL: false
|
|
191
|
+
};
|
|
192
|
+
const entity = {
|
|
193
|
+
id: 'module-1',
|
|
194
|
+
name: 'my-module',
|
|
195
|
+
url: 'http://localhost:3000',
|
|
196
|
+
createdAt: new Date()
|
|
197
|
+
};
|
|
198
|
+
const hasChanged = (0, entity_synchronizer_1.createHasChangedFn)();
|
|
199
|
+
expect(hasChanged(data, entity)).toBe(true); // protocol and includeBaseURL are new
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
describe('Operation entity', () => {
|
|
203
|
+
it('should ignore applicationId foreign key', () => {
|
|
204
|
+
const data = {
|
|
205
|
+
name: 'operation-1',
|
|
206
|
+
applicationName: 'my-app',
|
|
207
|
+
description: 'An operation'
|
|
208
|
+
};
|
|
209
|
+
const entity = {
|
|
210
|
+
id: 1,
|
|
211
|
+
name: 'operation-1',
|
|
212
|
+
applicationName: 'my-app',
|
|
213
|
+
applicationId: 5, // Foreign key, should be ignored
|
|
214
|
+
description: 'An operation',
|
|
215
|
+
createdAt: new Date(),
|
|
216
|
+
updatedAt: new Date()
|
|
217
|
+
};
|
|
218
|
+
const hasChanged = (0, entity_synchronizer_1.createHasChangedFn)(['applicationId']);
|
|
219
|
+
expect(hasChanged(data, entity)).toBe(false);
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
describe('DEFAULT_HAS_CHANGED_FN', () => {
|
|
225
|
+
it('should be a pre-configured hasChanged function', () => {
|
|
226
|
+
const data = { name: 'Test', description: 'New' };
|
|
227
|
+
const entity = { name: 'Test', id: 1, createdAt: new Date() };
|
|
228
|
+
expect((0, entity_synchronizer_1.DEFAULT_HAS_CHANGED_FN)(data, entity)).toBe(true);
|
|
229
|
+
});
|
|
230
|
+
it('should use default ignore keys', () => {
|
|
231
|
+
const data = { name: 'Test' };
|
|
232
|
+
const entity = {
|
|
233
|
+
name: 'Test',
|
|
234
|
+
id: 1,
|
|
235
|
+
createdAt: new Date(),
|
|
236
|
+
updatedAt: new Date()
|
|
237
|
+
};
|
|
238
|
+
expect((0, entity_synchronizer_1.DEFAULT_HAS_CHANGED_FN)(data, entity)).toBe(false);
|
|
239
|
+
});
|
|
240
|
+
it('should detect changes in common keys', () => {
|
|
241
|
+
const data = { name: 'Test', description: 'New' };
|
|
242
|
+
const entity = { name: 'Test', description: 'Old', id: 1 };
|
|
243
|
+
expect((0, entity_synchronizer_1.DEFAULT_HAS_CHANGED_FN)(data, entity)).toBe(true);
|
|
244
|
+
});
|
|
245
|
+
it('should ignore audit fields', () => {
|
|
246
|
+
const data = { name: 'Test', description: 'Same' };
|
|
247
|
+
const entity = {
|
|
248
|
+
name: 'Test',
|
|
249
|
+
description: 'Same',
|
|
250
|
+
id: 1,
|
|
251
|
+
createdAt: new Date('2024-01-01'),
|
|
252
|
+
updatedAt: new Date('2024-12-31')
|
|
253
|
+
};
|
|
254
|
+
expect((0, entity_synchronizer_1.DEFAULT_HAS_CHANGED_FN)(data, entity)).toBe(false);
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
describe('DEFAULT_IGNORE_KEYS', () => {
|
|
258
|
+
it('should contain expected audit fields', () => {
|
|
259
|
+
expect(entity_synchronizer_1.DEFAULT_IGNORE_KEYS).toContain('id');
|
|
260
|
+
expect(entity_synchronizer_1.DEFAULT_IGNORE_KEYS).toContain('createdAt');
|
|
261
|
+
expect(entity_synchronizer_1.DEFAULT_IGNORE_KEYS).toContain('createdBy');
|
|
262
|
+
expect(entity_synchronizer_1.DEFAULT_IGNORE_KEYS).toContain('updatedAt');
|
|
263
|
+
expect(entity_synchronizer_1.DEFAULT_IGNORE_KEYS).toContain('updatedBy');
|
|
264
|
+
});
|
|
265
|
+
it('should have exactly 5 default keys', () => {
|
|
266
|
+
expect(entity_synchronizer_1.DEFAULT_IGNORE_KEYS).toHaveLength(5);
|
|
267
|
+
});
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
//# sourceMappingURL=entity-synchronizer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-synchronizer.test.js","sourceRoot":"","sources":["../../../src/bootstrap/entity-synchronizer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PAE } from "@bluealba/pae-core";
|
|
2
|
+
import { BootstrapPlatform } from "./domain/bootstrap-sync-metadata.interface";
|
|
3
|
+
/**
|
|
4
|
+
* Temporary behavior to fix modules after running the migration that adds the created_by & updated_by fields.
|
|
5
|
+
* Since they are created with "system" value, but the owner is the "scopedTo" of each bootstrap (env var)
|
|
6
|
+
* we must re-create them.
|
|
7
|
+
*/
|
|
8
|
+
declare const fixCreatedBy: (platform: BootstrapPlatform, pae: PAE, scopedTo: string) => Promise<void[] | undefined>;
|
|
9
|
+
export default fixCreatedBy;
|
|
10
|
+
//# sourceMappingURL=fix-created-by.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-created-by.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/fix-created-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAU,UAAU,iBAAiB,EAAE,KAAK,GAAG,EAAE,UAAU,MAAM,gCAwBlF,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/**
|
|
13
|
+
* Temporary behavior to fix modules after running the migration that adds the created_by & updated_by fields.
|
|
14
|
+
* Since they are created with "system" value, but the owner is the "scopedTo" of each bootstrap (env var)
|
|
15
|
+
* we must re-create them.
|
|
16
|
+
*/
|
|
17
|
+
const fixCreatedBy = (platform, pae, scopedTo) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const modules = Object.values(platform.applications).flatMap(a => a.modules);
|
|
19
|
+
const serverModules = yield pae.getAllModules();
|
|
20
|
+
// those in the server but with a different "createdBy". We will "fix" the
|
|
21
|
+
const modulesToFix = modules.filter(module => serverModules.some(m => m.name === module.name
|
|
22
|
+
// it was automatically generated by the migration that added this column
|
|
23
|
+
&& m.createdBy === 'system'));
|
|
24
|
+
if (modulesToFix.length === 0) {
|
|
25
|
+
console.log(`>>> [FIXING] no modules to fix`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
return Promise.all(modulesToFix.map((m) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
console.log(`>>> [FIXING] module ${m.name} author by recreating it author [${scopedTo}]`);
|
|
30
|
+
// we delete and recreate it. This will pick up our user as author (scopedTo)
|
|
31
|
+
yield pae.deleteModule(m.name);
|
|
32
|
+
yield pae.createModule(m);
|
|
33
|
+
})));
|
|
34
|
+
});
|
|
35
|
+
exports.default = fixCreatedBy;
|
|
36
|
+
//# sourceMappingURL=fix-created-by.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-created-by.js","sourceRoot":"","sources":["../../../src/bootstrap/fix-created-by.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAO,QAA2B,EAAE,GAAQ,EAAE,QAAgB,EAAE,EAAE;IACrF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5E,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAA;IAE/C,0EAA0E;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC3C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QACtB,yEAAyE;WACtE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAC5B,CACF,CAAA;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC7C,OAAO;IACT,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAM,CAAC,EAAC,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,oCAAoC,QAAQ,GAAG,CAAC,CAAA;QACzF,6EAA6E;QAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAA,CAAC,CAAC,CAAA;AACL,CAAC,CAAA,CAAA;AAED,kBAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize-pae-client.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/initialize-pae-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,mBAAmB,QAAa,OAAO,CAAC,GAAG,CAWhD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const pae_core_1 = require("@bluealba/pae-core");
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the PAE client
|
|
15
|
+
*/
|
|
16
|
+
const initializePAEClient = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
console.log("Initializing PAE client...");
|
|
18
|
+
const pae = yield (0, pae_core_1.createPAE)((0, pae_core_1.fromEnv)('GATEWAY_SERVICE_URL'), (0, pae_core_1.fromEnv)("SERVICE_ACCESS_SECRET"), {
|
|
19
|
+
serviceName: (0, pae_core_1.fromEnv)("SERVICE_ACCESS_NAME"),
|
|
20
|
+
}, 'direct');
|
|
21
|
+
return pae;
|
|
22
|
+
});
|
|
23
|
+
exports.default = initializePAEClient;
|
|
24
|
+
//# sourceMappingURL=initialize-pae-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize-pae-client.js","sourceRoot":"","sources":["../../../src/bootstrap/initialize-pae-client.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA6D;AAE7D;;GAEG;AACH,MAAM,mBAAmB,GAAG,GAAuB,EAAE;IACnD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAS,EACzB,IAAA,kBAAO,EAAC,qBAAqB,CAAC,EAC9B,IAAA,kBAAO,EAAC,uBAAuB,CAAC,EAChC;QACE,WAAW,EAAE,IAAA,kBAAO,EAAC,qBAAqB,CAAC;KAC5C,EACD,QAAQ,CACT,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BootstrapPlatform } from "./domain/bootstrap-sync-metadata.interface";
|
|
2
|
+
import { BootstrapOptions } from "./bootstrap-platform";
|
|
3
|
+
/**
|
|
4
|
+
* Inspects the filesystem reading all application definitions
|
|
5
|
+
* NOTE: this is a really quick implementation pretty raw.
|
|
6
|
+
* But allow us to stop repeating code in projects.
|
|
7
|
+
* Feel free to add tests (:P) and improve it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const readPlatformBootstrapFolder: (path: string, options: BootstrapOptions) => BootstrapPlatform;
|
|
10
|
+
//# sourceMappingURL=read-bootstrap-applications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-bootstrap-applications.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/read-bootstrap-applications.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,iBAAiB,EAElB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAcxD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GAAI,MAAM,MAAM,EAAE,SAAS,gBAAgB,KAAG,iBA0BrF,CAAA"}
|