@onecx/accelerator 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
@@ -40,11 +40,13 @@ __export(index_exports, {
40
40
  ensureProperty: () => ensureProperty,
41
41
  getLocation: () => getLocation,
42
42
  getNormalizedBrowserLocales: () => getNormalizedBrowserLocales,
43
+ getOneCXSharedLibraryConfig: () => getOneCXSharedLibraryConfig,
43
44
  getOneCXSharedRecommendations: () => getOneCXSharedRecommendations,
44
45
  getUTCDateWithoutTimezoneIssues: () => getUTCDateWithoutTimezoneIssues,
45
46
  isTest: () => isTest,
46
47
  isValidDate: () => isValidDate,
47
- normalizeLocales: () => normalizeLocales
48
+ normalizeLocales: () => normalizeLocales,
49
+ onecxPackageFilter: () => onecxPackageFilter
48
50
  });
49
51
  module.exports = __toCommonJS(index_exports);
50
52
 
@@ -685,3 +687,129 @@ function getOneCXSharedRecommendations(libraryName, sharedConfig) {
685
687
  sharedConfig.eager = false;
686
688
  return sharedConfig;
687
689
  }
690
+
691
+ // libs/accelerator/src/lib/utils/get-onecx-shared-library-config.ts
692
+ var nodeRequire = (() => {
693
+ try {
694
+ if (typeof process !== "undefined" && process?.versions?.node) {
695
+ return eval("require");
696
+ } else {
697
+ throw new Error("Node.js environment is required for dynamic require.");
698
+ }
699
+ } catch {
700
+ throw new Error("Node.js environment is required for dynamic require.");
701
+ }
702
+ })();
703
+ var angularCore = "@angular/core";
704
+ var EXPORTS_BLACKLIST = [".", "./package.json"];
705
+ var DEFAULT_DEPENDENCY_BLACKLIST = [
706
+ /^@nx(\/.*)?$/,
707
+ /^@module-federation(\/.*)?$/
708
+ ];
709
+ var DEFAULT_FULL_PACKAGE_BLACKLIST = [
710
+ "@angular/common/locales/global/*",
711
+ "@angular/common/locales/*",
712
+ "@angular/common/upgrade",
713
+ "@angular/core/schematics/*",
714
+ "@angular/core/event-dispatch-contract.min.js",
715
+ "@angular/service-worker/ngsw-worker.js",
716
+ "@angular/service-worker/safety-worker.js",
717
+ "@angular/service-worker/config/schema.json",
718
+ "@angular/router/upgrade",
719
+ "@angular/localize/tools",
720
+ "rxjs/internal/*",
721
+ "primeng/resources/",
722
+ "primeng/editor",
723
+ "@onecx/angular-accelerator/testing",
724
+ "@onecx/angular-accelerator/migrations.json"
725
+ ];
726
+ function removeExportPrefix(str) {
727
+ return str.replace("./", "");
728
+ }
729
+ function onecxPackageFilter(packageName) {
730
+ if (isDependencyBlacklisted(packageName)) {
731
+ return true;
732
+ }
733
+ return DEFAULT_FULL_PACKAGE_BLACKLIST.includes(packageName);
734
+ }
735
+ function isDependencyBlacklisted(dependency) {
736
+ return DEFAULT_DEPENDENCY_BLACKLIST.some((entry) => {
737
+ if (entry instanceof RegExp) {
738
+ return entry.test(dependency);
739
+ }
740
+ return entry === dependency;
741
+ });
742
+ }
743
+ function readDependencyPackageJson(dependency) {
744
+ if (!nodeRequire) return null;
745
+ let packagePath;
746
+ try {
747
+ packagePath = nodeRequire.resolve(`${dependency}/package.json`);
748
+ } catch {
749
+ return null;
750
+ }
751
+ const fs = nodeRequire("fs");
752
+ if (!fs.existsSync(packagePath)) {
753
+ return null;
754
+ }
755
+ const packageContent = fs.readFileSync(packagePath, "utf-8");
756
+ return JSON.parse(packageContent);
757
+ }
758
+ function generateSubPackageConfig(dependency, version, packageFilterCallback) {
759
+ const subpackages = [];
760
+ const dependencyPackage = readDependencyPackageJson(dependency);
761
+ if (!dependencyPackage?.exports) {
762
+ return subpackages;
763
+ }
764
+ const exportKeys = Object.keys(dependencyPackage.exports);
765
+ for (const exportKey of exportKeys) {
766
+ if (EXPORTS_BLACKLIST.includes(exportKey)) continue;
767
+ const subpackageName = `${dependency}/${removeExportPrefix(exportKey)}`;
768
+ if (packageFilterCallback && packageFilterCallback(subpackageName)) continue;
769
+ subpackages.push({ name: subpackageName, requiredVersion: version });
770
+ }
771
+ return subpackages;
772
+ }
773
+ function generatePackageConfig(versionMap, dependency, shouldGenerateSubDeps, packageFilterCallback = onecxPackageFilter) {
774
+ if (packageFilterCallback(dependency)) {
775
+ return [];
776
+ }
777
+ const allPackages = [];
778
+ const version = versionMap[dependency];
779
+ allPackages.push({ name: dependency, requiredVersion: version });
780
+ if (shouldGenerateSubDeps) {
781
+ const subpackages = generateSubPackageConfig(dependency, version, packageFilterCallback);
782
+ allPackages.push(...subpackages);
783
+ }
784
+ return allPackages;
785
+ }
786
+ function getOneCXSharedLibraryConfig(dependencies, shouldGenerateSubDeps, options) {
787
+ const allDependencies = Object.keys(dependencies).flatMap((dependency) => {
788
+ return generatePackageConfig(dependencies, dependency, shouldGenerateSubDeps, options?.packageFilterCallback);
789
+ });
790
+ const sharedEntries = allDependencies.reduce((acc, packageEntry) => {
791
+ const sharedLibConfig = {};
792
+ sharedLibConfig["requiredVersion"] = packageEntry.requiredVersion;
793
+ sharedLibConfig["shareScope"] = "default";
794
+ const angularCoreVersion = (dependencies[angularCore] || "").split(".")[0].replace("^", "");
795
+ if (angularCoreVersion && parseInt(angularCoreVersion, 10) >= 21) {
796
+ const shareScope = "angular_".concat(angularCoreVersion);
797
+ sharedLibConfig["shareScope"] = shareScope;
798
+ }
799
+ const onecxRecommendation = getOneCXSharedRecommendations(packageEntry.name, sharedLibConfig);
800
+ if (!onecxRecommendation) {
801
+ return acc;
802
+ }
803
+ const configFromCallback = options?.configCallback ? options.configCallback(packageEntry.name, onecxRecommendation) : void 0;
804
+ if (configFromCallback && typeof configFromCallback === "object") {
805
+ Object.assign(onecxRecommendation, configFromCallback);
806
+ }
807
+ return {
808
+ ...acc,
809
+ [packageEntry.name]: {
810
+ ...onecxRecommendation
811
+ }
812
+ };
813
+ }, {});
814
+ return sharedEntries;
815
+ }
package/dist/index.mjs CHANGED
@@ -637,6 +637,132 @@ function getOneCXSharedRecommendations(libraryName, sharedConfig) {
637
637
  sharedConfig.eager = false;
638
638
  return sharedConfig;
639
639
  }
640
+
641
+ // libs/accelerator/src/lib/utils/get-onecx-shared-library-config.ts
642
+ var nodeRequire = (() => {
643
+ try {
644
+ if (typeof process !== "undefined" && process?.versions?.node) {
645
+ return eval("require");
646
+ } else {
647
+ throw new Error("Node.js environment is required for dynamic require.");
648
+ }
649
+ } catch {
650
+ throw new Error("Node.js environment is required for dynamic require.");
651
+ }
652
+ })();
653
+ var angularCore = "@angular/core";
654
+ var EXPORTS_BLACKLIST = [".", "./package.json"];
655
+ var DEFAULT_DEPENDENCY_BLACKLIST = [
656
+ /^@nx(\/.*)?$/,
657
+ /^@module-federation(\/.*)?$/
658
+ ];
659
+ var DEFAULT_FULL_PACKAGE_BLACKLIST = [
660
+ "@angular/common/locales/global/*",
661
+ "@angular/common/locales/*",
662
+ "@angular/common/upgrade",
663
+ "@angular/core/schematics/*",
664
+ "@angular/core/event-dispatch-contract.min.js",
665
+ "@angular/service-worker/ngsw-worker.js",
666
+ "@angular/service-worker/safety-worker.js",
667
+ "@angular/service-worker/config/schema.json",
668
+ "@angular/router/upgrade",
669
+ "@angular/localize/tools",
670
+ "rxjs/internal/*",
671
+ "primeng/resources/",
672
+ "primeng/editor",
673
+ "@onecx/angular-accelerator/testing",
674
+ "@onecx/angular-accelerator/migrations.json"
675
+ ];
676
+ function removeExportPrefix(str) {
677
+ return str.replace("./", "");
678
+ }
679
+ function onecxPackageFilter(packageName) {
680
+ if (isDependencyBlacklisted(packageName)) {
681
+ return true;
682
+ }
683
+ return DEFAULT_FULL_PACKAGE_BLACKLIST.includes(packageName);
684
+ }
685
+ function isDependencyBlacklisted(dependency) {
686
+ return DEFAULT_DEPENDENCY_BLACKLIST.some((entry) => {
687
+ if (entry instanceof RegExp) {
688
+ return entry.test(dependency);
689
+ }
690
+ return entry === dependency;
691
+ });
692
+ }
693
+ function readDependencyPackageJson(dependency) {
694
+ if (!nodeRequire) return null;
695
+ let packagePath;
696
+ try {
697
+ packagePath = nodeRequire.resolve(`${dependency}/package.json`);
698
+ } catch {
699
+ return null;
700
+ }
701
+ const fs = nodeRequire("fs");
702
+ if (!fs.existsSync(packagePath)) {
703
+ return null;
704
+ }
705
+ const packageContent = fs.readFileSync(packagePath, "utf-8");
706
+ return JSON.parse(packageContent);
707
+ }
708
+ function generateSubPackageConfig(dependency, version, packageFilterCallback) {
709
+ const subpackages = [];
710
+ const dependencyPackage = readDependencyPackageJson(dependency);
711
+ if (!dependencyPackage?.exports) {
712
+ return subpackages;
713
+ }
714
+ const exportKeys = Object.keys(dependencyPackage.exports);
715
+ for (const exportKey of exportKeys) {
716
+ if (EXPORTS_BLACKLIST.includes(exportKey)) continue;
717
+ const subpackageName = `${dependency}/${removeExportPrefix(exportKey)}`;
718
+ if (packageFilterCallback && packageFilterCallback(subpackageName)) continue;
719
+ subpackages.push({ name: subpackageName, requiredVersion: version });
720
+ }
721
+ return subpackages;
722
+ }
723
+ function generatePackageConfig(versionMap, dependency, shouldGenerateSubDeps, packageFilterCallback = onecxPackageFilter) {
724
+ if (packageFilterCallback(dependency)) {
725
+ return [];
726
+ }
727
+ const allPackages = [];
728
+ const version = versionMap[dependency];
729
+ allPackages.push({ name: dependency, requiredVersion: version });
730
+ if (shouldGenerateSubDeps) {
731
+ const subpackages = generateSubPackageConfig(dependency, version, packageFilterCallback);
732
+ allPackages.push(...subpackages);
733
+ }
734
+ return allPackages;
735
+ }
736
+ function getOneCXSharedLibraryConfig(dependencies, shouldGenerateSubDeps, options) {
737
+ const allDependencies = Object.keys(dependencies).flatMap((dependency) => {
738
+ return generatePackageConfig(dependencies, dependency, shouldGenerateSubDeps, options?.packageFilterCallback);
739
+ });
740
+ const sharedEntries = allDependencies.reduce((acc, packageEntry) => {
741
+ const sharedLibConfig = {};
742
+ sharedLibConfig["requiredVersion"] = packageEntry.requiredVersion;
743
+ sharedLibConfig["shareScope"] = "default";
744
+ const angularCoreVersion = (dependencies[angularCore] || "").split(".")[0].replace("^", "");
745
+ if (angularCoreVersion && parseInt(angularCoreVersion, 10) >= 21) {
746
+ const shareScope = "angular_".concat(angularCoreVersion);
747
+ sharedLibConfig["shareScope"] = shareScope;
748
+ }
749
+ const onecxRecommendation = getOneCXSharedRecommendations(packageEntry.name, sharedLibConfig);
750
+ if (!onecxRecommendation) {
751
+ return acc;
752
+ }
753
+ const configFromCallback = options?.configCallback ? options.configCallback(packageEntry.name, onecxRecommendation) : void 0;
754
+ if (configFromCallback && typeof configFromCallback === "object") {
755
+ Object.assign(onecxRecommendation, configFromCallback);
756
+ }
757
+ return {
758
+ ...acc,
759
+ [packageEntry.name]: {
760
+ ...onecxRecommendation
761
+ }
762
+ };
763
+ }, {});
764
+ return sharedEntries;
765
+ }
640
766
  export {
641
767
  BroadcastChannelMock,
642
768
  FakeTopic,
@@ -648,9 +774,11 @@ export {
648
774
  ensureProperty,
649
775
  getLocation,
650
776
  getNormalizedBrowserLocales,
777
+ getOneCXSharedLibraryConfig,
651
778
  getOneCXSharedRecommendations,
652
779
  getUTCDateWithoutTimezoneIssues,
653
780
  isTest,
654
781
  isValidDate,
655
- normalizeLocales
782
+ normalizeLocales,
783
+ onecxPackageFilter
656
784
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onecx/accelerator",
3
- "version": "8.4.0",
3
+ "version": "8.4.2",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
package/src/index.d.ts CHANGED
@@ -12,3 +12,4 @@ export * from './lib/utils/gatherer';
12
12
  export * from './lib/utils/create-logger.utils';
13
13
  export * from './lib/utils/ensure-property.utils';
14
14
  export * from './lib/utils/get-onecx-shared-recommendations';
15
+ export * from './lib/utils/get-onecx-shared-library-config';
package/src/index.js CHANGED
@@ -12,4 +12,5 @@ export * from './lib/utils/gatherer';
12
12
  export * from './lib/utils/create-logger.utils';
13
13
  export * from './lib/utils/ensure-property.utils';
14
14
  export * from './lib/utils/get-onecx-shared-recommendations';
15
+ export * from './lib/utils/get-onecx-shared-library-config';
15
16
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/accelerator/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kDAAkD,CAAA;AAChE,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8CAA8C,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/accelerator/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kDAAkD,CAAA;AAChE,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA"}
package/src/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export declare const LIB_NAME = "@onecx/accelerator";
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/accelerator';
2
- export const LIB_VERSION = '8.4.0';
2
+ export const LIB_VERSION = '8.4.2';
3
3
  //# sourceMappingURL=version.js.map