@embeddable.com/sdk-react 2.2.29 → 2.2.31
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 +11 -4
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +12 -4
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/index.esm.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as vite from 'vite';
|
|
|
6
6
|
import viteReactPlugin from '@vitejs/plugin-react';
|
|
7
7
|
import * as fs from 'node:fs/promises';
|
|
8
8
|
import { readdir, lstat, rm } from 'node:fs/promises';
|
|
9
|
+
import * as url from 'node:url';
|
|
9
10
|
import { parse } from '@babel/parser';
|
|
10
11
|
import generator from '@babel/generator';
|
|
11
12
|
import traverse from '@babel/traverse';
|
|
@@ -52,8 +53,7 @@ const loadComponentMeta = async (moduleId, code) => {
|
|
|
52
53
|
.replace(".emb.", ".emb-temp.")
|
|
53
54
|
.replace(/\.ts$/, ".js");
|
|
54
55
|
await fs.writeFile(tempFilePath, babelGenerate(ast).code);
|
|
55
|
-
const
|
|
56
|
-
const module = await import(importFile);
|
|
56
|
+
const module = await import(url.pathToFileURL(tempFilePath).href + `?${Date.now()}`);
|
|
57
57
|
await fs.rm(tempFilePath);
|
|
58
58
|
return module.meta;
|
|
59
59
|
};
|
|
@@ -923,14 +923,21 @@ const ERROR_FALLBACK_COMPONENT_DEFAULT_NAME = "ErrorFallbackComponent";
|
|
|
923
923
|
const ADDITIONAL_CONTENT_IMPORT_TOKEN = "{{ADDITIONAL_CONTENT_IMPORT}}";
|
|
924
924
|
const ADDITIONAL_CONTENT_BEGIN_TOKEN = "{{ADDITIONAL_CONTENT_BEGIN}}";
|
|
925
925
|
const ADDITIONAL_CONTENT_END_TOKEN = "{{ADDITIONAL_CONTENT_END}}";
|
|
926
|
+
function getRelativeFileNameForImport(ctx, fileName) {
|
|
927
|
+
return `./${path
|
|
928
|
+
.relative(ctx.client.rootDir, fileName)
|
|
929
|
+
// it is a bit of a hack. On windows the path will look like '.src\something\something'
|
|
930
|
+
// but for imports it must be '.src/something/something'
|
|
931
|
+
.replaceAll("\\", "/")}`;
|
|
932
|
+
}
|
|
926
933
|
async function prepareEntrypoint(ctx, filesList) {
|
|
927
934
|
const imports = filesList
|
|
928
|
-
.map(([fileName, filePath]) => `\t${fileName}: React.lazy(() => import('
|
|
935
|
+
.map(([fileName, filePath]) => `\t${fileName}: React.lazy(() => import('${getRelativeFileNameForImport(ctx, filePath)}'))`)
|
|
929
936
|
.join(",\n");
|
|
930
937
|
let errorBoundaryImport = "";
|
|
931
938
|
let errorFallbackComponent = "null";
|
|
932
939
|
if (ctx.client.errorFallbackComponent) {
|
|
933
|
-
errorBoundaryImport = `import ${ERROR_FALLBACK_COMPONENT_DEFAULT_NAME} from '
|
|
940
|
+
errorBoundaryImport = `import ${ERROR_FALLBACK_COMPONENT_DEFAULT_NAME} from '${getRelativeFileNameForImport(ctx, ctx.client.errorFallbackComponent)}';`;
|
|
934
941
|
errorFallbackComponent = ERROR_FALLBACK_COMPONENT_DEFAULT_NAME;
|
|
935
942
|
}
|
|
936
943
|
const additionalContentImport = [];
|