@bluealba/pae-bootstrap-lib 2.0.0-feature-setup-e2e-tests-1246 → 2.0.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.
@@ -25,8 +25,11 @@ export type BootstrapOptions = {
25
25
  };
26
26
  /**
27
27
  * Reads the current application src/data folder assembles all the platform definitions
28
- * and calls PAE API's to synchronize.
29
- * This is the single-entry point to implement bootstrap projects without any code at all.
28
+ * and sends them to the gateway's /bootstrap/sync endpoint for synchronization.
29
+ *
30
+ * @deprecated The synchronization logic has been moved to the gateway service for centralization.
31
+ * This function now acts as a client that delegates to the gateway endpoint.
32
+ * The function signature remains unchanged for backward compatibility.
30
33
  */
31
34
  export declare const bootstrapPlatform: (options: BootstrapOptions) => Promise<void>;
32
35
  //# sourceMappingURL=bootstrap-platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-platform.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,CAAC;CACtE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS,gBAAgB,kBAqChE,CAAC"}
1
+ {"version":3,"file":"bootstrap-platform.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,CAAC;CACtE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS,gBAAgB,kBAuEhE,CAAC"}
@@ -8,68 +8,83 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
23
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
13
  };
25
14
  Object.defineProperty(exports, "__esModule", { value: true });
26
15
  exports.bootstrapPlatform = void 0;
27
16
  const read_bootstrap_applications_1 = require("./read-bootstrap-applications");
28
- const initialize_pae_client_1 = __importDefault(require("./initialize-pae-client"));
29
- const ramda_1 = require("ramda");
30
- const run_bootstrap_sync_service_1 = require("./run-bootstrap-sync.service");
31
17
  const pae_core_1 = require("@bluealba/pae-core");
32
- const fix_created_by_1 = __importDefault(require("./fix-created-by"));
18
+ const initialize_pae_client_1 = __importDefault(require("./initialize-pae-client"));
33
19
  /**
34
20
  * Reads the current application src/data folder assembles all the platform definitions
35
- * and calls PAE API's to synchronize.
36
- * This is the single-entry point to implement bootstrap projects without any code at all.
21
+ * and sends them to the gateway's /bootstrap/sync endpoint for synchronization.
22
+ *
23
+ * @deprecated The synchronization logic has been moved to the gateway service for centralization.
24
+ * This function now acts as a client that delegates to the gateway endpoint.
25
+ * The function signature remains unchanged for backward compatibility.
37
26
  */
38
27
  const bootstrapPlatform = (options) => __awaiter(void 0, void 0, void 0, function* () {
39
- var _a, _b;
28
+ var _a, _b, _c;
40
29
  if (!options.scopedTo) {
41
30
  throw new Error('No options.scopedTo was provider neither the env var SERVICE_ACCESS_NAME is present ! Set one to identify the bootstrap as author for creating/updating entities in the platform');
42
31
  }
32
+ console.log('[Bootstrap] Reading platform data from:', (_a = options.path) !== null && _a !== void 0 ? _a : process.cwd());
43
33
  // init PAE
44
34
  const pae = yield (0, initialize_pae_client_1.default)();
45
- // read all files
46
- const platform = (0, read_bootstrap_applications_1.readPlatformBootstrapFolder)((_a = options.path) !== null && _a !== void 0 ? _a : process.cwd(), options);
35
+ // Read all files from filesystem (maintains current logic)
36
+ const platform = (0, read_bootstrap_applications_1.readPlatformBootstrapFolder)((_b = options.path) !== null && _b !== void 0 ? _b : process.cwd(), options);
47
37
  const applications = Object.values(platform.applications);
48
- // REVIEWME: this is a temporal behavior for the moment when added the missing createdBy/updatedBy fields
49
- // it must be removed after all projects already run this once in 1.4.2
50
- yield (0, fix_created_by_1.default)(platform, pae, options.scopedTo);
51
- // sync
52
- yield (0, run_bootstrap_sync_service_1.runBootstrapSync)(pae, {
53
- syncConfig: {
54
- scopedTo: options.scopedTo,
55
- },
56
- sharedLibraries: platform.sharedLibraries,
57
- // TODO: refactor this. We should be passing the list of applications.
58
- // this way we will be synchronizing "apps" instead of individual entities. And we could create better logs.
59
- catalog: ((_b = options.transformModules) !== null && _b !== void 0 ? _b : ramda_1.identity)(applications.flatMap(app => app.modules)),
60
- modulesConfig: (applications.flatMap(app => app.modulesConfig) || [])
61
- .map(({ name, config }) => ({ moduleName: name, customProps: config })),
62
- applicationsAuthz: applications
63
- .filter(app => app.name !== pae_core_1.GLOBAL_APPLICATION_NAME)
64
- .map(
65
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
66
- (_a) => {
67
- var { modules, operations, roles, modulesConfig } = _a, others = __rest(_a, ["modules", "operations", "roles", "modulesConfig"]);
68
- return others;
69
- }),
70
- rolesAuthz: applications.flatMap(app => app.roles),
71
- operationsAuthz: applications.flatMap(app => app.operations)
72
- });
38
+ console.log(`[Bootstrap] Found ${applications.length} applications`);
39
+ console.log(`[Bootstrap] Found ${(_c = platform.sharedLibraries) === null || _c === void 0 ? void 0 : _c.length} shared libraries`);
40
+ // Handle transformModules option if provided (backward compatibility)
41
+ if (options.transformModules) {
42
+ console.warn('[DEPRECATED] transformModules option is deprecated and will be removed in a future version.');
43
+ const transformedModules = options.transformModules(applications.flatMap(app => app.modules));
44
+ // Rebuild applications with transformed modules
45
+ // Group modules by application name
46
+ const modulesByApp = new Map();
47
+ transformedModules.forEach(module => {
48
+ const appName = module.application || pae_core_1.GLOBAL_APPLICATION_NAME;
49
+ if (!modulesByApp.has(appName)) {
50
+ modulesByApp.set(appName, []);
51
+ }
52
+ modulesByApp.get(appName).push(module);
53
+ });
54
+ // Update platform.applications with transformed modules
55
+ modulesByApp.forEach((modules, appName) => {
56
+ if (platform.applications[appName]) {
57
+ platform.applications[appName].modules = modules;
58
+ }
59
+ });
60
+ }
61
+ // Get gateway URL from environment
62
+ const gatewayUrl = (0, pae_core_1.fromEnv)('GATEWAY_SERVICE_URL');
63
+ const url = `${gatewayUrl}/bootstrap/sync`;
64
+ console.log(`[Bootstrap] Sending data to gateway: ${url}`);
65
+ console.log(`[Bootstrap] Scoped to: ${options.scopedTo}`);
66
+ try {
67
+ const response = yield pae.invoke("/bootstrap/sync", {
68
+ method: 'POST',
69
+ headers: {
70
+ 'Content-Type': 'application/json',
71
+ 'x-bootstrap-scoped-to': options.scopedTo,
72
+ },
73
+ body: JSON.stringify(platform),
74
+ });
75
+ if (!response.ok) {
76
+ const errorText = yield response.text();
77
+ throw new Error(`Bootstrap sync failed with status ${response.status}: ${errorText}`);
78
+ }
79
+ console.log('[Bootstrap] Sync completed successfully');
80
+ }
81
+ catch (error) {
82
+ if (error instanceof Error) {
83
+ console.error('[Bootstrap] Sync failed:', error.message);
84
+ throw error;
85
+ }
86
+ throw new Error('Bootstrap sync failed with unknown error');
87
+ }
73
88
  });
74
89
  exports.bootstrapPlatform = bootstrapPlatform;
75
90
  //# sourceMappingURL=bootstrap-platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-platform.js","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+EAA4E;AAC5E,oFAA0D;AAC1D,iCAAiC;AACjC,6EAAgE;AAChE,iDAA6D;AAC7D,sEAA4C;AA+B5C;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAO,OAAyB,EAAE,EAAE;;IACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kLAAkL,CAAC,CAAA;IACrM,CAAC;IAED,WAAW;IACX,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAmB,GAAE,CAAC;IAExC,iBAAiB;IACjB,MAAM,QAAQ,GAAG,IAAA,yDAA2B,EAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE1D,yGAAyG;IACzG,uEAAuE;IACvE,MAAM,IAAA,wBAAY,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEnD,OAAO;IACP,MAAM,IAAA,6CAAgB,EAAC,GAAG,EAAE;QAC1B,UAAU,EAAE;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;QACD,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,sEAAsE;QACtE,8GAA8G;QAE9G,OAAO,EAAE,CAAC,MAAA,OAAO,CAAC,gBAAgB,mCAAI,gBAAQ,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzF,aAAa,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aAClE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,iBAAiB,EAAE,YAAY;aAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,kCAAuB,CAAC;aACnD,GAAG;QACF,6DAA6D;QAC7D,CAAC,EAAwD,EAAE,EAAE;gBAA5D,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,OAAa,EAAR,MAAM,cAAtD,mDAAwD,CAAF;YAAO,OAAA,MAAM,CAAA;SAAA,CACrE;QACH,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;QAClD,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AArCW,QAAA,iBAAiB,qBAqC5B"}
1
+ {"version":3,"file":"bootstrap-platform.js","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+EAA4E;AAC5E,iDAAsE;AAEtE,oFAA0D;AA8B1D;;;;;;;GAOG;AACI,MAAM,iBAAiB,GAAG,CAAO,OAAyB,EAAE,EAAE;;IACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kLAAkL,CAAC,CAAA;IACrM,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtF,WAAW;IACX,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAmB,GAAE,CAAC;IAExC,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,IAAA,yDAA2B,EAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,MAAM,eAAe,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAA,QAAQ,CAAC,eAAe,0CAAE,MAAM,mBAAmB,CAAC,CAAC;IAEtF,sEAAsE;IACtE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;QAC5G,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAE9F,gDAAgD;QAChD,oCAAoC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC1D,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClC,MAAM,OAAO,GAAI,MAAc,CAAC,WAAW,IAAI,kCAAuB,CAAC;YACvE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACxC,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,IAAA,kBAAO,EAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,GAAG,UAAU,iBAAiB,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,uBAAuB,EAAE,OAAO,CAAC,QAAQ;aAC1C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CAAA,CAAC;AAvEW,QAAA,iBAAiB,qBAuE5B"}
@@ -46,7 +46,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
46
46
  scopedTo: 'blah'
47
47
  },
48
48
  };
49
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
49
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
50
50
  const value = input[key];
51
51
  if (undefined === value)
52
52
  return true;
@@ -184,9 +184,9 @@ describe('BootstrapSyncMetadata - type validations', () => {
184
184
  path: _path + ".displayName",
185
185
  expected: "string",
186
186
  value: input.displayName
187
- }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || _report(_exceptionable, {
187
+ }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type || _report(_exceptionable, {
188
188
  path: _path + ".type",
189
- expected: "(\"app\" | \"cloud-function\" | \"service\" | \"utility\")",
189
+ expected: "(\"app\" | \"cloud-function\" | \"documentation\" | \"service\" | \"utility\")",
190
190
  value: input.type
191
191
  }), "string" === typeof input.baseUrl || _report(_exceptionable, {
192
192
  path: _path + ".baseUrl",
@@ -492,7 +492,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
492
492
  const invalidObject = {
493
493
  invalidField: 'invalidValue',
494
494
  };
495
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
495
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
496
496
  const value = input[key];
497
497
  if (undefined === value)
498
498
  return true;
@@ -630,9 +630,9 @@ describe('BootstrapSyncMetadata - type validations', () => {
630
630
  path: _path + ".displayName",
631
631
  expected: "string",
632
632
  value: input.displayName
633
- }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || _report(_exceptionable, {
633
+ }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type || _report(_exceptionable, {
634
634
  path: _path + ".type",
635
- expected: "(\"app\" | \"cloud-function\" | \"service\" | \"utility\")",
635
+ expected: "(\"app\" | \"cloud-function\" | \"documentation\" | \"service\" | \"utility\")",
636
636
  value: input.type
637
637
  }), "string" === typeof input.baseUrl || _report(_exceptionable, {
638
638
  path: _path + ".baseUrl",
@@ -959,7 +959,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
959
959
  scopedTo: "any"
960
960
  },
961
961
  };
962
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
962
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
963
963
  const value = input[key];
964
964
  if (undefined === value)
965
965
  return true;
@@ -1097,9 +1097,9 @@ describe('BootstrapSyncMetadata - type validations', () => {
1097
1097
  path: _path + ".displayName",
1098
1098
  expected: "string",
1099
1099
  value: input.displayName
1100
- }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || _report(_exceptionable, {
1100
+ }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type || _report(_exceptionable, {
1101
1101
  path: _path + ".type",
1102
- expected: "(\"app\" | \"cloud-function\" | \"service\" | \"utility\")",
1102
+ expected: "(\"app\" | \"cloud-function\" | \"documentation\" | \"service\" | \"utility\")",
1103
1103
  value: input.type
1104
1104
  }), "string" === typeof input.baseUrl || _report(_exceptionable, {
1105
1105
  path: _path + ".baseUrl",
@@ -1426,7 +1426,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1426
1426
  scopedTo: "any"
1427
1427
  },
1428
1428
  };
1429
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
1429
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io14(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io4(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io5(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io6(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io8(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io9(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io4 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io5 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io6 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io7(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io7 = input => Object.keys(input).every(key => {
1430
1430
  const value = input[key];
1431
1431
  if (undefined === value)
1432
1432
  return true;
@@ -1564,9 +1564,9 @@ describe('BootstrapSyncMetadata - type validations', () => {
1564
1564
  path: _path + ".displayName",
1565
1565
  expected: "string",
1566
1566
  value: input.displayName
1567
- }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || _report(_exceptionable, {
1567
+ }), "service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type || _report(_exceptionable, {
1568
1568
  path: _path + ".type",
1569
- expected: "(\"app\" | \"cloud-function\" | \"service\" | \"utility\")",
1569
+ expected: "(\"app\" | \"cloud-function\" | \"documentation\" | \"service\" | \"utility\")",
1570
1570
  value: input.type
1571
1571
  }), "string" === typeof input.baseUrl || _report(_exceptionable, {
1572
1572
  path: _path + ".baseUrl",
@@ -0,0 +1,2 @@
1
+ export * from './bootstrap-sync-metadata.interface';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bootstrap/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./bootstrap-sync-metadata.interface"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bootstrap/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD"}
@@ -179,7 +179,7 @@ const readApplicationDirectory = (path, globalApplication) => {
179
179
  if (existsSync((0, path_1.join)(path, FILE_MODULES))) {
180
180
  const data = readApplicationItems(path, FILE_MODULES, application, 'application');
181
181
  try {
182
- application.modules.push(...(() => { const _io0 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io1(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io2(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io3(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io5(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io6(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io1 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io2 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io3 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io4(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io4 = input => Object.keys(input).every(key => {
182
+ application.modules.push(...(() => { const _io0 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io1(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io2(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io3(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io5(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io6(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id); const _io1 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io2 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io3 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io4(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io4 = input => Object.keys(input).every(key => {
183
183
  const value = input[key];
184
184
  if (undefined === value)
185
185
  return true;
@@ -194,10 +194,10 @@ const readApplicationDirectory = (path, globalApplication) => {
194
194
  path: _path + ".displayName",
195
195
  expected: "string",
196
196
  value: input.displayName
197
- }, _errorFactory)) && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || __typia_transform__assertGuard._assertGuard(_exceptionable, {
197
+ }, _errorFactory)) && ("service" === input.type || "app" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type || __typia_transform__assertGuard._assertGuard(_exceptionable, {
198
198
  method: "typia.assert",
199
199
  path: _path + ".type",
200
- expected: "(\"app\" | \"cloud-function\" | \"service\" | \"utility\")",
200
+ expected: "(\"app\" | \"cloud-function\" | \"documentation\" | \"service\" | \"utility\")",
201
201
  value: input.type
202
202
  }, _errorFactory)) && ("string" === typeof input.baseUrl || __typia_transform__assertGuard._assertGuard(_exceptionable, {
203
203
  method: "typia.assert",
@@ -1 +1 @@
1
- {"version":3,"file":"run-bootstrap-sync.service.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/run-bootstrap-sync.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAQnF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,GAAG,EACR,QAAQ,qBAAqB,kBAa9B,CAAA"}
1
+ {"version":3,"file":"run-bootstrap-sync.service.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/run-bootstrap-sync.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAOnF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,GAAG,EACR,QAAQ,qBAAqB,kBAa9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-bootstrap-sync.service.js","sourceRoot":"","sources":["../../../src/bootstrap/run-bootstrap-sync.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,+DAA2D;AAC3D,iFAA4E;AAC5E,yEAAqE;AACrE,6EAAwE;AACxE,6EAAwE;AAGjE,MAAM,gBAAgB,GAAG,CAC9B,GAAQ,EACR,MAA6B,EAC7B,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAEvH,MAAM,IAAA,0BAAW,EAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE5C,MAAM,IAAA,uCAAiB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE5C,MAAM,IAAA,2CAAmB,EAAC,GAAG,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE5D,MAAM,IAAA,oCAAgB,EAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE3D,MAAM,IAAA,uCAAiB,EAAC,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACxE,CAAC,CAAA,CAAA;AAfY,QAAA,gBAAgB,oBAe5B"}
1
+ {"version":3,"file":"run-bootstrap-sync.service.js","sourceRoot":"","sources":["../../../src/bootstrap/run-bootstrap-sync.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,+DAA2D;AAC3D,iFAA4E;AAC5E,yEAAqE;AACrE,6EAAwE;AACxE,6EAAwE;AAEjE,MAAM,gBAAgB,GAAG,CAC9B,GAAQ,EACR,MAA6B,EAC7B,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAEvH,MAAM,IAAA,0BAAW,EAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE5C,MAAM,IAAA,uCAAiB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE5C,MAAM,IAAA,2CAAmB,EAAC,GAAG,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE5D,MAAM,IAAA,oCAAgB,EAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE3D,MAAM,IAAA,uCAAiB,EAAC,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACxE,CAAC,CAAA,CAAA;AAfY,QAAA,gBAAgB,oBAe5B"}
@@ -1,3 +1,4 @@
1
+ export * from './bootstrap/domain';
1
2
  export * from './bootstrap/run-bootstrap-sync.service';
2
3
  export * from './bootstrap/bootstrap-platform';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAA"}
package/dist/src/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./bootstrap/domain"), exports);
17
18
  __exportStar(require("./bootstrap/run-bootstrap-sync.service"), exports);
18
19
  __exportStar(require("./bootstrap/bootstrap-platform"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,yEAAuD;AACvD,iEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yEAAuD;AACvD,iEAA8C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bluealba/pae-bootstrap-lib",
3
3
  "description": "PAE library for bootstrapping platforms",
4
- "version": "2.0.0-feature-setup-e2e-tests-1246",
4
+ "version": "2.0.1",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
7
7
  "files": [