@redhat-cloud-services/frontend-components-config-utilities 4.1.6 → 4.2.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.
@@ -28,6 +28,7 @@ type ChromeModuleAnalytics = {
28
28
  };
29
29
  export type ChromeModule = {
30
30
  manifestLocation: string;
31
+ cdnPath?: string;
31
32
  defaultDocumentTitle?: string;
32
33
  config?: object;
33
34
  moduleConfig?: ChromeGlobalModuleConfig;
@@ -100,6 +101,9 @@ export type CRDObject = {
100
101
  serviceTiles?: ServiceTile[];
101
102
  widgetRegistry?: ChromeWidgetEntry[];
102
103
  feoConfigEnabled?: boolean;
104
+ frontend: {
105
+ paths: string[];
106
+ };
103
107
  };
104
108
  };
105
109
  export type FrontendCRD = {
@@ -14,7 +14,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  function moduleInterceptor(moduleRegistry, frontendCRD) {
15
15
  var _a;
16
16
  var moduleName = frontendCRD.objects[0].metadata.name;
17
- return __assign(__assign({}, moduleRegistry), (_a = {}, _a[moduleName] = frontendCRD.objects[0].spec.module, _a));
17
+ var cdnPath = frontendCRD.objects[0].spec.frontend.paths[0];
18
+ return __assign(__assign({}, moduleRegistry), (_a = {}, _a[moduleName] = __assign(__assign({}, frontendCRD.objects[0].spec.module), { cdnPath: cdnPath }), _a));
18
19
  }
19
20
  exports.default = moduleInterceptor;
20
21
  //# sourceMappingURL=module-interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-interceptor.js","sourceRoot":"","sources":["../../../../packages/config-utils/src/feo/module-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,SAAS,iBAAiB,CAAC,cAAoC,EAAE,WAAwB;;IACvF,IAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxD,6BACK,cAAc,gBAChB,UAAU,IAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,OAChD;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"module-interceptor.js","sourceRoot":"","sources":["../../../../packages/config-utils/src/feo/module-interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,SAAS,iBAAiB,CAAC,cAAoC,EAAE,WAAwB;;IACvF,IAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxD,IAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,6BACK,cAAc,gBAChB,UAAU,0BACN,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KACrC,OAAO,SAAA,UAET;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -51,7 +51,8 @@
51
51
  "items": {
52
52
  "type": "string"
53
53
  },
54
- "minItems": 1
54
+ "minItems": 1,
55
+ "maxItems": 1
55
56
  }
56
57
  },
57
58
  "required": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redhat-cloud-services/frontend-components-config-utilities",
3
- "version": "4.1.6",
3
+ "version": "4.2.1",
4
4
  "description": "Utilities for shared config used in Red Hat Cloud Services project.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -6,7 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var path_1 = __importDefault(require("path"));
7
7
  var fs_1 = __importDefault(require("fs"));
8
8
  var concurrently_1 = __importDefault(require("concurrently"));
9
+ var crd_check_1 = require("./feo/crd-check");
10
+ var _1 = require(".");
9
11
  function federate(argv, cwd) {
12
+ var _a, _b, _c;
10
13
  var configPath = argv.config || './node_modules/@redhat-cloud-services/frontend-components-config/bin/prod.webpack.config.js';
11
14
  var WEBPACK_PATH = path_1.default.resolve(cwd, './node_modules/.bin/webpack');
12
15
  var HTTP_SERVER_PATH = path_1.default.resolve(cwd, './node_modules/.bin/http-server');
@@ -15,16 +18,38 @@ function federate(argv, cwd) {
15
18
  process.exit(1);
16
19
  }
17
20
  configPath = path_1.default.join(cwd, configPath);
21
+ var fecConfig = require(process.env.FEC_CONFIG_PATH);
22
+ var insights = require("".concat(cwd, "/package.json")).insights;
23
+ var frontendCRDPath = (_a = fecConfig.frontendCRDPath) !== null && _a !== void 0 ? _a : path_1.default.resolve(process.cwd(), 'deploy/frontend.yaml');
24
+ var frontendCrdRef = { current: undefined };
25
+ var FEOFeaturesEnabled = false;
26
+ try {
27
+ frontendCrdRef.current = (0, crd_check_1.readFrontendCRD)(frontendCRDPath);
28
+ FEOFeaturesEnabled = (0, crd_check_1.hasFEOFeaturesEnabled)(frontendCrdRef.current);
29
+ }
30
+ catch (e) {
31
+ (0, _1.fecLogger)(_1.LogType.warn, "FEO features are not enabled. Unable to find frontend CRD file at ".concat(frontendCRDPath, ". If you want FEO features for local development, make sure to have a \"deploy/frontend.yaml\" file in your project or specify its location via \"frontendCRDPath\" attribute."));
32
+ }
18
33
  try {
19
34
  fs_1.default.statSync(configPath);
20
35
  var config = require(configPath);
21
36
  if (typeof config === 'function') {
22
37
  config = config(process.env);
23
38
  }
39
+ var cdnPath_1;
40
+ if (FEOFeaturesEnabled && fecConfig.publicPath === 'auto' && frontendCrdRef.current) {
41
+ cdnPath_1 = "".concat((_c = (_b = frontendCrdRef.current) === null || _b === void 0 ? void 0 : _b.objects[0]) === null || _c === void 0 ? void 0 : _c.spec.frontend.paths[0], "/").replace(/\/\//, '/');
42
+ }
43
+ else if (fecConfig.publicPath === 'auto') {
44
+ cdnPath_1 = "/".concat(fecConfig.deployment || 'apps', "/").concat(insights.appname, "/");
45
+ }
46
+ else {
47
+ cdnPath_1 = config.output.publicPath;
48
+ }
24
49
  Promise.resolve(config).then(function (config) {
25
50
  var outputPath = config.output.path;
26
51
  (0, concurrently_1.default)([
27
- "".concat(WEBPACK_PATH, " --config ").concat(configPath, " --watch --output-path ").concat(path_1.default.join(outputPath, config.output.publicPath)),
52
+ "".concat(WEBPACK_PATH, " --config ").concat(configPath, " --watch --output-path ").concat(path_1.default.join(outputPath, cdnPath_1)),
28
53
  "".concat(HTTP_SERVER_PATH, " ").concat(outputPath, " -p ").concat(argv.port || 8003, " -c-1 -a :: --cors=*"),
29
54
  ]);
30
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"serve-federated.js","sourceRoot":"","sources":["../../../packages/config-utils/src/serve-federated.ts"],"names":[],"mappings":";;;;;AAAA,8CAAwB;AACxB,0CAAoB;AACpB,8DAAwC;AAExC,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW;IACtD,IAAI,UAAU,GAAW,IAAI,CAAC,MAAM,IAAI,6FAA6F,CAAC;IACtI,IAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;IACtE,IAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;IAC9E,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,YAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExB,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClC,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAEtC,IAAA,sBAAY,EAAC;gBACX,UAAG,YAAY,uBAAa,UAAU,oCAA0B,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAE;gBACjH,UAAG,gBAAgB,cAAI,UAAU,iBAAO,IAAI,CAAC,IAAI,IAAI,IAAI,yBAAsB;aAChF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,kBAAe,QAAQ,CAAC;AACxB,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"serve-federated.js","sourceRoot":"","sources":["../../../packages/config-utils/src/serve-federated.ts"],"names":[],"mappings":"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"}