@embeddable.com/sdk-core 3.13.2-next.0 → 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 +55 -0
- package/lib/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/cleanup.test.ts +1 -0
- package/src/utils.test.ts +110 -0
- package/src/utils.ts +68 -0
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) => {
|