@embeddable.com/sdk-core 3.13.2 → 3.13.3-next.0

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/lib/index.esm.js CHANGED
@@ -651,6 +651,26 @@ const getPackageVersion = async (packageName) => {
651
651
  return undefined;
652
652
  }
653
653
  };
654
+ /**
655
+ * Attempts to resolve a local file reference to get the actual package version
656
+ * @param packageName The name of the package
657
+ * @param filePath The file path reference (e.g. "file:../packages/core")
658
+ * @returns The resolved version or "local-dev" if not found
659
+ */
660
+ const resolveLocalFileVersion = async (packageName, filePath) => {
661
+ try {
662
+ // Remove the file: prefix and resolve the path
663
+ const refPath = filePath.replace(/^file:/, "");
664
+ const absPath = path__default.resolve(process.cwd(), refPath, "package.json");
665
+ // Read the package.json from the referenced path
666
+ const refPackageJson = JSON.parse(await fs.readFile(absPath, "utf-8"));
667
+ return refPackageJson.version || "local-dev";
668
+ }
669
+ catch (e) {
670
+ console.warn(`Failed to resolve local version for ${packageName}`, e);
671
+ return "local-dev";
672
+ }
673
+ };
654
674
  const getSDKVersions = async () => {
655
675
  const packageNames = [
656
676
  "@embeddable.com/core",
@@ -659,6 +679,7 @@ const getSDKVersions = async () => {
659
679
  "@embeddable.com/sdk-react",
660
680
  "@embeddable.com/sdk-utils",
661
681
  ];
682
+ // First try to get versions from node_modules
662
683
  const sdkVersions = await packageNames.reduce(async (accPromise, packageName) => {
663
684
  const acc = await accPromise; // Wait for the previous accumulator to resolve
664
685
  const version = await getPackageVersion(packageName);
@@ -667,6 +688,40 @@ const getSDKVersions = async () => {
667
688
  }
668
689
  return acc;
669
690
  }, Promise.resolve({}));
691
+ // If no versions were found, try to get them from package.json dependencies/devDependencies
692
+ if (Object.keys(sdkVersions).length === 0 &&
693
+ process.env.NODE_ENV !== "test") {
694
+ try {
695
+ const packageJsonPath = path__default.join(process.cwd(), "package.json");
696
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
697
+ const { dependencies = {}, devDependencies = {} } = packageJson;
698
+ const allDeps = { ...dependencies, ...devDependencies };
699
+ for (const packageName of packageNames) {
700
+ if (allDeps[packageName]) {
701
+ // For file: references, try to get the actual version from the referenced package
702
+ if (allDeps[packageName].startsWith("file:")) {
703
+ sdkVersions[packageName] = await resolveLocalFileVersion(packageName, allDeps[packageName]);
704
+ }
705
+ else {
706
+ sdkVersions[packageName] = allDeps[packageName];
707
+ }
708
+ }
709
+ }
710
+ }
711
+ catch (e) {
712
+ console.warn("Failed to read package.json for SDK versions", e);
713
+ }
714
+ }
715
+ // If we're in a test environment and still have no versions, add fallback values
716
+ if (Object.keys(sdkVersions).length === 0) {
717
+ const isTestEnv = process.cwd().includes("test-sdk");
718
+ if (isTestEnv) {
719
+ console.warn("Test environment detected, using fallback SDK versions");
720
+ packageNames.forEach((pkg) => {
721
+ sdkVersions[pkg] = "local-dev";
722
+ });
723
+ }
724
+ }
670
725
  return sdkVersions;
671
726
  };
672
727
  const hrtimeToISO8601 = (hrtime) => {