@onecx/integration-interface 8.4.0 → 8.4.2

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/dist/index.cjs CHANGED
@@ -463,6 +463,151 @@ var Topic = class extends TopicPublisher {
463
463
  // libs/accelerator/src/lib/topic/mocks/fake-topic.ts
464
464
  var import_rxjs2 = require("rxjs");
465
465
 
466
+ // libs/accelerator/src/lib/utils/get-onecx-shared-recommendations.ts
467
+ var sharedLibraryPatterns = [
468
+ /^@angular.*$/,
469
+ /^@onecx.*$/,
470
+ /^rxjs.*$/,
471
+ /^primeng.*$/,
472
+ /^@ngx-translate.*$/,
473
+ /^@ngrx.*$/
474
+ ];
475
+ function getOneCXSharedRecommendations(libraryName, sharedConfig) {
476
+ if (!sharedLibraryPatterns.some((pattern) => pattern.test(libraryName))) {
477
+ return false;
478
+ }
479
+ sharedConfig.singleton = false;
480
+ sharedConfig.strictVersion = false;
481
+ sharedConfig.eager = false;
482
+ return sharedConfig;
483
+ }
484
+
485
+ // libs/accelerator/src/lib/utils/get-onecx-shared-library-config.ts
486
+ var nodeRequire = (() => {
487
+ try {
488
+ if (typeof process !== "undefined" && process?.versions?.node) {
489
+ return eval("require");
490
+ } else {
491
+ throw new Error("Node.js environment is required for dynamic require.");
492
+ }
493
+ } catch {
494
+ throw new Error("Node.js environment is required for dynamic require.");
495
+ }
496
+ })();
497
+ var angularCore = "@angular/core";
498
+ var EXPORTS_BLACKLIST = [".", "./package.json"];
499
+ var DEFAULT_DEPENDENCY_BLACKLIST = [
500
+ /^@nx(\/.*)?$/,
501
+ /^@module-federation(\/.*)?$/
502
+ ];
503
+ var DEFAULT_FULL_PACKAGE_BLACKLIST = [
504
+ "@angular/common/locales/global/*",
505
+ "@angular/common/locales/*",
506
+ "@angular/common/upgrade",
507
+ "@angular/core/schematics/*",
508
+ "@angular/core/event-dispatch-contract.min.js",
509
+ "@angular/service-worker/ngsw-worker.js",
510
+ "@angular/service-worker/safety-worker.js",
511
+ "@angular/service-worker/config/schema.json",
512
+ "@angular/router/upgrade",
513
+ "@angular/localize/tools",
514
+ "rxjs/internal/*",
515
+ "primeng/resources/",
516
+ "primeng/editor",
517
+ "@onecx/angular-accelerator/testing",
518
+ "@onecx/angular-accelerator/migrations.json"
519
+ ];
520
+ function removeExportPrefix(str) {
521
+ return str.replace("./", "");
522
+ }
523
+ function onecxPackageFilter(packageName) {
524
+ if (isDependencyBlacklisted(packageName)) {
525
+ return true;
526
+ }
527
+ return DEFAULT_FULL_PACKAGE_BLACKLIST.includes(packageName);
528
+ }
529
+ function isDependencyBlacklisted(dependency) {
530
+ return DEFAULT_DEPENDENCY_BLACKLIST.some((entry) => {
531
+ if (entry instanceof RegExp) {
532
+ return entry.test(dependency);
533
+ }
534
+ return entry === dependency;
535
+ });
536
+ }
537
+ function readDependencyPackageJson(dependency) {
538
+ if (!nodeRequire) return null;
539
+ let packagePath;
540
+ try {
541
+ packagePath = nodeRequire.resolve(`${dependency}/package.json`);
542
+ } catch {
543
+ return null;
544
+ }
545
+ const fs = nodeRequire("fs");
546
+ if (!fs.existsSync(packagePath)) {
547
+ return null;
548
+ }
549
+ const packageContent = fs.readFileSync(packagePath, "utf-8");
550
+ return JSON.parse(packageContent);
551
+ }
552
+ function generateSubPackageConfig(dependency, version, packageFilterCallback) {
553
+ const subpackages = [];
554
+ const dependencyPackage = readDependencyPackageJson(dependency);
555
+ if (!dependencyPackage?.exports) {
556
+ return subpackages;
557
+ }
558
+ const exportKeys = Object.keys(dependencyPackage.exports);
559
+ for (const exportKey of exportKeys) {
560
+ if (EXPORTS_BLACKLIST.includes(exportKey)) continue;
561
+ const subpackageName = `${dependency}/${removeExportPrefix(exportKey)}`;
562
+ if (packageFilterCallback && packageFilterCallback(subpackageName)) continue;
563
+ subpackages.push({ name: subpackageName, requiredVersion: version });
564
+ }
565
+ return subpackages;
566
+ }
567
+ function generatePackageConfig(versionMap, dependency, shouldGenerateSubDeps, packageFilterCallback = onecxPackageFilter) {
568
+ if (packageFilterCallback(dependency)) {
569
+ return [];
570
+ }
571
+ const allPackages = [];
572
+ const version = versionMap[dependency];
573
+ allPackages.push({ name: dependency, requiredVersion: version });
574
+ if (shouldGenerateSubDeps) {
575
+ const subpackages = generateSubPackageConfig(dependency, version, packageFilterCallback);
576
+ allPackages.push(...subpackages);
577
+ }
578
+ return allPackages;
579
+ }
580
+ function getOneCXSharedLibraryConfig(dependencies, shouldGenerateSubDeps, options) {
581
+ const allDependencies = Object.keys(dependencies).flatMap((dependency) => {
582
+ return generatePackageConfig(dependencies, dependency, shouldGenerateSubDeps, options?.packageFilterCallback);
583
+ });
584
+ const sharedEntries = allDependencies.reduce((acc, packageEntry) => {
585
+ const sharedLibConfig = {};
586
+ sharedLibConfig["requiredVersion"] = packageEntry.requiredVersion;
587
+ sharedLibConfig["shareScope"] = "default";
588
+ const angularCoreVersion = (dependencies[angularCore] || "").split(".")[0].replace("^", "");
589
+ if (angularCoreVersion && parseInt(angularCoreVersion, 10) >= 21) {
590
+ const shareScope = "angular_".concat(angularCoreVersion);
591
+ sharedLibConfig["shareScope"] = shareScope;
592
+ }
593
+ const onecxRecommendation = getOneCXSharedRecommendations(packageEntry.name, sharedLibConfig);
594
+ if (!onecxRecommendation) {
595
+ return acc;
596
+ }
597
+ const configFromCallback = options?.configCallback ? options.configCallback(packageEntry.name, onecxRecommendation) : void 0;
598
+ if (configFromCallback && typeof configFromCallback === "object") {
599
+ Object.assign(onecxRecommendation, configFromCallback);
600
+ }
601
+ return {
602
+ ...acc,
603
+ [packageEntry.name]: {
604
+ ...onecxRecommendation
605
+ }
606
+ };
607
+ }, {});
608
+ return sharedEntries;
609
+ }
610
+
466
611
  // libs/integration-interface/src/lib/topics/current-mfe/v1/current-mfe.topic.ts
467
612
  var CurrentMfeTopic = class extends Topic {
468
613
  constructor() {
package/dist/index.mjs CHANGED
@@ -372,6 +372,151 @@ var Topic = class extends TopicPublisher {
372
372
  // libs/accelerator/src/lib/topic/mocks/fake-topic.ts
373
373
  import { BehaviorSubject as BehaviorSubject2, ReplaySubject } from "rxjs";
374
374
 
375
+ // libs/accelerator/src/lib/utils/get-onecx-shared-recommendations.ts
376
+ var sharedLibraryPatterns = [
377
+ /^@angular.*$/,
378
+ /^@onecx.*$/,
379
+ /^rxjs.*$/,
380
+ /^primeng.*$/,
381
+ /^@ngx-translate.*$/,
382
+ /^@ngrx.*$/
383
+ ];
384
+ function getOneCXSharedRecommendations(libraryName, sharedConfig) {
385
+ if (!sharedLibraryPatterns.some((pattern) => pattern.test(libraryName))) {
386
+ return false;
387
+ }
388
+ sharedConfig.singleton = false;
389
+ sharedConfig.strictVersion = false;
390
+ sharedConfig.eager = false;
391
+ return sharedConfig;
392
+ }
393
+
394
+ // libs/accelerator/src/lib/utils/get-onecx-shared-library-config.ts
395
+ var nodeRequire = (() => {
396
+ try {
397
+ if (typeof process !== "undefined" && process?.versions?.node) {
398
+ return eval("require");
399
+ } else {
400
+ throw new Error("Node.js environment is required for dynamic require.");
401
+ }
402
+ } catch {
403
+ throw new Error("Node.js environment is required for dynamic require.");
404
+ }
405
+ })();
406
+ var angularCore = "@angular/core";
407
+ var EXPORTS_BLACKLIST = [".", "./package.json"];
408
+ var DEFAULT_DEPENDENCY_BLACKLIST = [
409
+ /^@nx(\/.*)?$/,
410
+ /^@module-federation(\/.*)?$/
411
+ ];
412
+ var DEFAULT_FULL_PACKAGE_BLACKLIST = [
413
+ "@angular/common/locales/global/*",
414
+ "@angular/common/locales/*",
415
+ "@angular/common/upgrade",
416
+ "@angular/core/schematics/*",
417
+ "@angular/core/event-dispatch-contract.min.js",
418
+ "@angular/service-worker/ngsw-worker.js",
419
+ "@angular/service-worker/safety-worker.js",
420
+ "@angular/service-worker/config/schema.json",
421
+ "@angular/router/upgrade",
422
+ "@angular/localize/tools",
423
+ "rxjs/internal/*",
424
+ "primeng/resources/",
425
+ "primeng/editor",
426
+ "@onecx/angular-accelerator/testing",
427
+ "@onecx/angular-accelerator/migrations.json"
428
+ ];
429
+ function removeExportPrefix(str) {
430
+ return str.replace("./", "");
431
+ }
432
+ function onecxPackageFilter(packageName) {
433
+ if (isDependencyBlacklisted(packageName)) {
434
+ return true;
435
+ }
436
+ return DEFAULT_FULL_PACKAGE_BLACKLIST.includes(packageName);
437
+ }
438
+ function isDependencyBlacklisted(dependency) {
439
+ return DEFAULT_DEPENDENCY_BLACKLIST.some((entry) => {
440
+ if (entry instanceof RegExp) {
441
+ return entry.test(dependency);
442
+ }
443
+ return entry === dependency;
444
+ });
445
+ }
446
+ function readDependencyPackageJson(dependency) {
447
+ if (!nodeRequire) return null;
448
+ let packagePath;
449
+ try {
450
+ packagePath = nodeRequire.resolve(`${dependency}/package.json`);
451
+ } catch {
452
+ return null;
453
+ }
454
+ const fs = nodeRequire("fs");
455
+ if (!fs.existsSync(packagePath)) {
456
+ return null;
457
+ }
458
+ const packageContent = fs.readFileSync(packagePath, "utf-8");
459
+ return JSON.parse(packageContent);
460
+ }
461
+ function generateSubPackageConfig(dependency, version, packageFilterCallback) {
462
+ const subpackages = [];
463
+ const dependencyPackage = readDependencyPackageJson(dependency);
464
+ if (!dependencyPackage?.exports) {
465
+ return subpackages;
466
+ }
467
+ const exportKeys = Object.keys(dependencyPackage.exports);
468
+ for (const exportKey of exportKeys) {
469
+ if (EXPORTS_BLACKLIST.includes(exportKey)) continue;
470
+ const subpackageName = `${dependency}/${removeExportPrefix(exportKey)}`;
471
+ if (packageFilterCallback && packageFilterCallback(subpackageName)) continue;
472
+ subpackages.push({ name: subpackageName, requiredVersion: version });
473
+ }
474
+ return subpackages;
475
+ }
476
+ function generatePackageConfig(versionMap, dependency, shouldGenerateSubDeps, packageFilterCallback = onecxPackageFilter) {
477
+ if (packageFilterCallback(dependency)) {
478
+ return [];
479
+ }
480
+ const allPackages = [];
481
+ const version = versionMap[dependency];
482
+ allPackages.push({ name: dependency, requiredVersion: version });
483
+ if (shouldGenerateSubDeps) {
484
+ const subpackages = generateSubPackageConfig(dependency, version, packageFilterCallback);
485
+ allPackages.push(...subpackages);
486
+ }
487
+ return allPackages;
488
+ }
489
+ function getOneCXSharedLibraryConfig(dependencies, shouldGenerateSubDeps, options) {
490
+ const allDependencies = Object.keys(dependencies).flatMap((dependency) => {
491
+ return generatePackageConfig(dependencies, dependency, shouldGenerateSubDeps, options?.packageFilterCallback);
492
+ });
493
+ const sharedEntries = allDependencies.reduce((acc, packageEntry) => {
494
+ const sharedLibConfig = {};
495
+ sharedLibConfig["requiredVersion"] = packageEntry.requiredVersion;
496
+ sharedLibConfig["shareScope"] = "default";
497
+ const angularCoreVersion = (dependencies[angularCore] || "").split(".")[0].replace("^", "");
498
+ if (angularCoreVersion && parseInt(angularCoreVersion, 10) >= 21) {
499
+ const shareScope = "angular_".concat(angularCoreVersion);
500
+ sharedLibConfig["shareScope"] = shareScope;
501
+ }
502
+ const onecxRecommendation = getOneCXSharedRecommendations(packageEntry.name, sharedLibConfig);
503
+ if (!onecxRecommendation) {
504
+ return acc;
505
+ }
506
+ const configFromCallback = options?.configCallback ? options.configCallback(packageEntry.name, onecxRecommendation) : void 0;
507
+ if (configFromCallback && typeof configFromCallback === "object") {
508
+ Object.assign(onecxRecommendation, configFromCallback);
509
+ }
510
+ return {
511
+ ...acc,
512
+ [packageEntry.name]: {
513
+ ...onecxRecommendation
514
+ }
515
+ };
516
+ }, {});
517
+ return sharedEntries;
518
+ }
519
+
375
520
  // libs/integration-interface/src/lib/topics/current-mfe/v1/current-mfe.topic.ts
376
521
  var CurrentMfeTopic = class extends Topic {
377
522
  constructor() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onecx/integration-interface",
3
- "version": "8.4.0",
3
+ "version": "8.4.2",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "peerDependencies": {
10
10
  "rxjs": "^7.8.1",
11
- "@onecx/accelerator": "^8.4.0"
11
+ "@onecx/accelerator": "^8.4.2"
12
12
  },
13
13
  "type": "module",
14
14
  "dependencies": {
package/src/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export declare const LIB_NAME = "@onecx/integration-interface";
2
- export declare const LIB_VERSION = "8.4.0";
2
+ export declare const LIB_VERSION = "8.4.2";
package/src/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export const LIB_NAME = '@onecx/integration-interface';
2
- export const LIB_VERSION = '8.4.0';
2
+ export const LIB_VERSION = '8.4.2';
3
3
  //# sourceMappingURL=version.js.map