@embeddable.com/sdk-react 3.1.0-next.1 → 3.1.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 +17 -45
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +17 -46
- package/lib/index.js.map +1 -1
- package/lib/loadComponentMeta.d.ts +1 -4
- package/package.json +2 -3
package/lib/index.js
CHANGED
|
@@ -6,14 +6,11 @@ var path$1 = require('path');
|
|
|
6
6
|
var vite = require('vite');
|
|
7
7
|
var viteReactPlugin = require('@vitejs/plugin-react');
|
|
8
8
|
var fs = require('node:fs/promises');
|
|
9
|
-
var url = require('node:url');
|
|
10
|
-
var astring = require('astring');
|
|
11
9
|
require('node:child_process');
|
|
12
10
|
var zod = require('zod');
|
|
13
11
|
var parser = require('@babel/parser');
|
|
14
12
|
var traverse = require('@babel/traverse');
|
|
15
13
|
var fs$1 = require('fs');
|
|
16
|
-
var glob = require('glob');
|
|
17
14
|
|
|
18
15
|
function _interopNamespaceDefault(e) {
|
|
19
16
|
var n = Object.create(null);
|
|
@@ -32,12 +29,11 @@ function _interopNamespaceDefault(e) {
|
|
|
32
29
|
return Object.freeze(n);
|
|
33
30
|
}
|
|
34
31
|
|
|
35
|
-
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
32
|
+
var path__namespace$1 = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
36
33
|
var fs__namespace$2 = /*#__PURE__*/_interopNamespaceDefault(fs$2);
|
|
37
|
-
var path__namespace
|
|
34
|
+
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path$1);
|
|
38
35
|
var vite__namespace = /*#__PURE__*/_interopNamespaceDefault(vite);
|
|
39
36
|
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
40
|
-
var url__namespace = /*#__PURE__*/_interopNamespaceDefault(url);
|
|
41
37
|
var fs__namespace$1 = /*#__PURE__*/_interopNamespaceDefault(fs$1);
|
|
42
38
|
|
|
43
39
|
var createContext = (pluginRoot, coreCtx) => {
|
|
@@ -52,21 +48,9 @@ var createContext = (pluginRoot, coreCtx) => {
|
|
|
52
48
|
};
|
|
53
49
|
};
|
|
54
50
|
|
|
55
|
-
const loadComponentMeta = async (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const tempFileName = fileName.replace(".emb.ts", ".emb-temp.js");
|
|
59
|
-
const tempFilePath = path__namespace.join(path__namespace.dirname(moduleId), tempFileName);
|
|
60
|
-
try {
|
|
61
|
-
await fs__namespace.writeFile(tempFilePath, astring.generate(ast));
|
|
62
|
-
const module = await import(url__namespace.pathToFileURL(tempFilePath).href + `?${Date.now()}`);
|
|
63
|
-
return module.meta;
|
|
64
|
-
}
|
|
65
|
-
catch (e) {
|
|
66
|
-
console.error(e);
|
|
67
|
-
await fs__namespace.unlink(tempFilePath);
|
|
68
|
-
throw e;
|
|
69
|
-
}
|
|
51
|
+
const loadComponentMeta = async (moduleId) => {
|
|
52
|
+
const module = await import(moduleId);
|
|
53
|
+
return module.meta;
|
|
70
54
|
};
|
|
71
55
|
|
|
72
56
|
/**
|
|
@@ -81,10 +65,7 @@ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, component
|
|
|
81
65
|
var _a;
|
|
82
66
|
if (componentFileRegex.test(moduleInfo.id) &&
|
|
83
67
|
((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes(searchEntry))) {
|
|
84
|
-
const meta = await loadComponentMeta(
|
|
85
|
-
moduleId: moduleInfo.id,
|
|
86
|
-
ast: moduleInfo.ast,
|
|
87
|
-
});
|
|
68
|
+
const meta = await loadComponentMeta(moduleInfo.id);
|
|
88
69
|
const configJSON = JSON.stringify(meta, (_key, value) => typeof value === "object" &&
|
|
89
70
|
value !== null &&
|
|
90
71
|
"__embeddableType" in value
|
|
@@ -768,7 +749,7 @@ const validateComponentEvents = (metaInfo) => {
|
|
|
768
749
|
return errors;
|
|
769
750
|
};
|
|
770
751
|
const validateModuleName = (metaInfo) => {
|
|
771
|
-
const basename = path__namespace
|
|
752
|
+
const basename = path__namespace.basename(metaInfo.moduleId);
|
|
772
753
|
const fileName = basename.split(".")[0];
|
|
773
754
|
if (fileName !== metaInfo.meta.name) {
|
|
774
755
|
return [
|
|
@@ -884,10 +865,7 @@ var validateComponentMetaPlugin = (componentFileRegex) => {
|
|
|
884
865
|
? getModuleType(moduleInfo)
|
|
885
866
|
: null;
|
|
886
867
|
if (moduleType) {
|
|
887
|
-
const meta = await loadComponentMeta(
|
|
888
|
-
moduleId: moduleInfo.id,
|
|
889
|
-
ast: moduleInfo.ast,
|
|
890
|
-
});
|
|
868
|
+
const meta = await loadComponentMeta(moduleInfo.id);
|
|
891
869
|
metaConfigs.push({
|
|
892
870
|
moduleId: moduleInfo.id,
|
|
893
871
|
meta,
|
|
@@ -932,7 +910,7 @@ const styledComponentsEntrypointModifier = {
|
|
|
932
910
|
},
|
|
933
911
|
needToModify(ctx) {
|
|
934
912
|
var _a;
|
|
935
|
-
const packageJsonFilePath = path__namespace
|
|
913
|
+
const packageJsonFilePath = path__namespace.resolve(ctx.client.rootDir, "package.json");
|
|
936
914
|
const packageJson = require(packageJsonFilePath);
|
|
937
915
|
return !!((_a = packageJson.dependencies) === null || _a === void 0 ? void 0 : _a["styled-components"]);
|
|
938
916
|
},
|
|
@@ -947,7 +925,7 @@ function findFilesWithWrongUsage(directory, pattern, mustEndWith = []) {
|
|
|
947
925
|
const files = fs__namespace$1.readdirSync(directory);
|
|
948
926
|
const result = [];
|
|
949
927
|
files.forEach((file) => {
|
|
950
|
-
const filePath = path__namespace
|
|
928
|
+
const filePath = path__namespace.join(directory, file);
|
|
951
929
|
if (fs__namespace$1.statSync(filePath).isDirectory()) {
|
|
952
930
|
// Recursively check files in subdirectories
|
|
953
931
|
result.push(...findFilesWithWrongUsage(filePath, pattern, mustEndWith));
|
|
@@ -965,7 +943,7 @@ function findTypeNames(directory) {
|
|
|
965
943
|
const files = fs__namespace$1.readdirSync(directory);
|
|
966
944
|
const typeNames = [];
|
|
967
945
|
files.forEach((file) => {
|
|
968
|
-
const filePath = path__namespace
|
|
946
|
+
const filePath = path__namespace.join(directory, file);
|
|
969
947
|
if (fs__namespace$1.statSync(filePath).isDirectory()) {
|
|
970
948
|
// Recursively check files in subdirectories
|
|
971
949
|
typeNames.push(...findTypeNames(filePath));
|
|
@@ -1102,11 +1080,11 @@ async function runViteBuild(ctx, watch = null) {
|
|
|
1102
1080
|
watch,
|
|
1103
1081
|
minify: !watch,
|
|
1104
1082
|
lib: {
|
|
1105
|
-
entry: path__namespace
|
|
1083
|
+
entry: path__namespace.resolve(ctx.client.rootDir, ctx["sdk-react"].outputOptions.componentsEntryPointFilename),
|
|
1106
1084
|
formats: ["es"],
|
|
1107
1085
|
fileName: ctx["sdk-react"].outputOptions.fileName,
|
|
1108
1086
|
},
|
|
1109
|
-
outDir: path__namespace
|
|
1087
|
+
outDir: path__namespace.resolve(ctx.client.buildDir, ctx["sdk-react"].outputOptions.buildName),
|
|
1110
1088
|
},
|
|
1111
1089
|
define: { "process.env.NODE_ENV": '"production"' },
|
|
1112
1090
|
});
|
|
@@ -1127,7 +1105,7 @@ const ADDITIONAL_CONTENT_IMPORT_TOKEN = "{{ADDITIONAL_CONTENT_IMPORT}}";
|
|
|
1127
1105
|
const ADDITIONAL_CONTENT_BEGIN_TOKEN = "{{ADDITIONAL_CONTENT_BEGIN}}";
|
|
1128
1106
|
const ADDITIONAL_CONTENT_END_TOKEN = "{{ADDITIONAL_CONTENT_END}}";
|
|
1129
1107
|
function getRelativeFileNameForImport(ctx, fileName) {
|
|
1130
|
-
return `./${path__namespace
|
|
1108
|
+
return `./${path__namespace
|
|
1131
1109
|
.relative(ctx.client.rootDir, fileName)
|
|
1132
1110
|
// it is a bit of a hack. On windows the path will look like '.src\something\something'
|
|
1133
1111
|
// but for imports it must be '.src/something/something'
|
|
@@ -1153,8 +1131,8 @@ async function prepareEntrypoint(ctx, filesList) {
|
|
|
1153
1131
|
additionalContentEnd.unshift(entrypointModifier.getContentEnd(ctx));
|
|
1154
1132
|
}
|
|
1155
1133
|
}
|
|
1156
|
-
const content = await fs__namespace$2.readFile(path__namespace
|
|
1157
|
-
await fs__namespace$2.writeFile(path__namespace
|
|
1134
|
+
const content = await fs__namespace$2.readFile(path__namespace.resolve(ctx["sdk-react"].templatesDir, `${ctx["sdk-react"].outputOptions.componentsEntryPointFilename}.template`), "utf8");
|
|
1135
|
+
await fs__namespace$2.writeFile(path__namespace.resolve(ctx.client.rootDir, ctx["sdk-react"].outputOptions.componentsEntryPointFilename), content
|
|
1158
1136
|
.replace(IMPORT_REPLACE_TOKEN, imports)
|
|
1159
1137
|
.replace(ERROR_FALLBACK_COMPONENT_IMPORT_TOKEN, errorBoundaryImport)
|
|
1160
1138
|
.replace(ERROR_FALLBACK_COMPONENT_TOKEN, errorFallbackComponent)
|
|
@@ -1164,19 +1142,12 @@ async function prepareEntrypoint(ctx, filesList) {
|
|
|
1164
1142
|
}
|
|
1165
1143
|
|
|
1166
1144
|
var build = async (ctx) => {
|
|
1167
|
-
createContext(path__namespace.resolve(__dirname, ".."), ctx);
|
|
1145
|
+
createContext(path__namespace$1.resolve(__dirname, ".."), ctx);
|
|
1168
1146
|
return await generate(ctx);
|
|
1169
1147
|
};
|
|
1170
1148
|
|
|
1171
1149
|
var cleanup = async (ctx) => {
|
|
1172
1150
|
await fs.rm(path.resolve(ctx.client.rootDir, ctx["sdk-react"].outputOptions.componentsEntryPointFilename));
|
|
1173
|
-
const tempFiles = await glob.glob(`${ctx.client.rootDir}/**/*.emb-temp.js`, {
|
|
1174
|
-
ignore: "node_modules/**",
|
|
1175
|
-
dot: true,
|
|
1176
|
-
});
|
|
1177
|
-
for (const file of tempFiles) {
|
|
1178
|
-
await fs.rm(file);
|
|
1179
|
-
}
|
|
1180
1151
|
};
|
|
1181
1152
|
|
|
1182
1153
|
var index = () => {
|