@embeddable.com/sdk-react 2.2.0 → 2.2.1

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.
@@ -1,10 +1,9 @@
1
1
  import { ModuleInfo } from "rollup";
2
- declare const _default: ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry, }: {
2
+ declare const _default: ({ globalKey, outputDir, fileName, componentFileRegex, searchEntry, }: {
3
3
  globalKey: string;
4
4
  outputDir: string;
5
5
  fileName: string;
6
6
  componentFileRegex: RegExp;
7
- typeFileRegex: RegExp;
8
7
  searchEntry?: string | undefined;
9
8
  }) => {
10
9
  name: string;
package/lib/index.esm.js CHANGED
@@ -10,6 +10,8 @@ import { parse } from '@babel/parser';
10
10
  import generator from '@babel/generator';
11
11
  import traverse from '@babel/traverse';
12
12
  import 'node:child_process';
13
+ import { z, ZodIssueCode } from 'zod';
14
+ import { ALL_NATIVE_TYPES } from '@embeddable.com/core';
13
15
 
14
16
  var createContext = (pluginRoot, coreCtx) => {
15
17
  coreCtx["sdk-react"] = {
@@ -23,16 +25,42 @@ var createContext = (pluginRoot, coreCtx) => {
23
25
  };
24
26
  };
25
27
 
26
- /**
27
- * TODO: for some reason code from @embeddable.com/extract-components-config
28
- * is being cached. Thus we use this code duplication in place. Please investigate and fix.
29
- */
30
28
  // @ts-ignore
31
29
  const babelTraverse = traverse.default;
32
30
  // @ts-ignore
33
31
  const babelGenerate = generator.default;
34
32
  const CORE_TYPES_IMPORT_REGEX = /@embeddable\.com\/core$/;
35
- var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = "", }) => {
33
+ const EMB_TYPE_FILE_REGEX = /^(.*)\.type\.emb\.[jt]s$/;
34
+ const loadComponentMeta = async (moduleId, code) => {
35
+ const ast = parse(code, {
36
+ sourceType: "module",
37
+ });
38
+ babelTraverse(ast, {
39
+ ImportDeclaration: (path) => {
40
+ const isNativeTypesImport = CORE_TYPES_IMPORT_REGEX.test(path.node.source.value);
41
+ const isCustomTypeImport = EMB_TYPE_FILE_REGEX.test(path.node.source.value);
42
+ if (!(isNativeTypesImport || isCustomTypeImport)) {
43
+ path.remove();
44
+ }
45
+ },
46
+ ExportDefaultDeclaration: (path) => {
47
+ path.remove();
48
+ },
49
+ });
50
+ const tempFilePath = moduleId
51
+ .replace(".emb.", ".emb-temp.")
52
+ .replace(/\.ts$/, ".js");
53
+ await fs.writeFile(tempFilePath, babelGenerate(ast).code);
54
+ const module = await import(tempFilePath);
55
+ await fs.rm(tempFilePath);
56
+ return module.meta;
57
+ };
58
+
59
+ /**
60
+ * TODO: for some reason code from @embeddable.com/extract-components-config
61
+ * is being cached. Thus we use this code duplication in place. Please investigate and fix.
62
+ */
63
+ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, componentFileRegex, searchEntry = "", }) => {
36
64
  const configs = [];
37
65
  return {
38
66
  name: "extract-components-config",
@@ -40,32 +68,12 @@ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, component
40
68
  var _a;
41
69
  if (componentFileRegex.test(moduleInfo.id) &&
42
70
  ((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes(searchEntry))) {
43
- const ast = parse(moduleInfo.code, {
44
- sourceType: "module",
45
- });
46
- babelTraverse(ast, {
47
- ImportDeclaration: (path) => {
48
- const isNativeTypesImport = CORE_TYPES_IMPORT_REGEX.test(path.node.source.value);
49
- const isCustomTypeImport = typeFileRegex.test(path.node.source.value);
50
- if (!(isNativeTypesImport || isCustomTypeImport)) {
51
- path.remove();
52
- }
53
- },
54
- ExportDefaultDeclaration: (path) => {
55
- path.remove();
56
- },
57
- });
58
- const tempFilePath = moduleInfo.id
59
- .replace(".emb.", ".emb-temp.")
60
- .replace(/\.ts$/, ".js");
61
- await fs.writeFile(tempFilePath, babelGenerate(ast).code);
62
- const module = await import(tempFilePath);
63
- const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === "object" &&
71
+ const meta = await loadComponentMeta(moduleInfo.id, moduleInfo.code);
72
+ const configJSON = JSON.stringify(meta, (_key, value) => typeof value === "object" &&
64
73
  value !== null &&
65
74
  "__embeddableType" in value
66
75
  ? value.toString()
67
76
  : value);
68
- await fs.rm(tempFilePath);
69
77
  configs.push(configJSON);
70
78
  }
71
79
  },
@@ -101,9 +109,248 @@ var findFiles = async (initialSrcDir, regex) => {
101
109
  return filesList;
102
110
  };
103
111
 
112
+ const embeddableTypeSchema = z
113
+ .object({
114
+ typeConfig: z.object({
115
+ label: z.string(),
116
+ toString: z.function(),
117
+ }),
118
+ })
119
+ .or(z.enum(ALL_NATIVE_TYPES));
120
+
121
+ const editorMetaSchema = z
122
+ .object({
123
+ name: z.string(),
124
+ label: z.string(),
125
+ type: embeddableTypeSchema,
126
+ })
127
+ .strict();
128
+
129
+ const errorFormatter = (issues) => {
130
+ const errors = [];
131
+ for (let issue of issues) {
132
+ if (issue.code === ZodIssueCode.invalid_union && issue.unionErrors.length) {
133
+ const error = issue.unionErrors[issue.unionErrors.length - 1];
134
+ issue = error.issues[error.issues.length - 1];
135
+ }
136
+ const path = formatPath(issue.path);
137
+ const message = issue.message;
138
+ errors.push(`"${path}": ${message}`);
139
+ }
140
+ return errors;
141
+ };
142
+ const formatPath = (path) => {
143
+ let formatted = "";
144
+ for (const pathElement of path) {
145
+ if (formatted.length === 0) {
146
+ formatted = `${pathElement}`;
147
+ }
148
+ else {
149
+ formatted +=
150
+ typeof pathElement === "number"
151
+ ? `[${pathElement}]`
152
+ : `.${pathElement}`;
153
+ }
154
+ }
155
+ return formatted;
156
+ };
157
+
158
+ const editorMetaValidator = (meta) => {
159
+ const result = editorMetaSchema.safeParse(meta);
160
+ if (result.success)
161
+ return [];
162
+ return errorFormatter(result.error.issues);
163
+ };
164
+
165
+ const componentMetaSchema = z
166
+ .object({
167
+ name: z.string(),
168
+ label: z.string(),
169
+ inputs: z
170
+ .object({
171
+ name: z.string(),
172
+ label: z.string(),
173
+ description: z.string().optional(),
174
+ defaultValue: z.any().optional(),
175
+ config: z.record(z.string(), z.any()).optional(),
176
+ type: embeddableTypeSchema,
177
+ array: z.boolean().optional(),
178
+ })
179
+ .strict()
180
+ .array()
181
+ .optional(),
182
+ events: z
183
+ .object({
184
+ name: z.string(),
185
+ label: z.string(),
186
+ properties: z
187
+ .object({
188
+ name: z.string(),
189
+ type: embeddableTypeSchema,
190
+ label: z.string().optional(),
191
+ })
192
+ .array()
193
+ .optional(),
194
+ })
195
+ .strict()
196
+ .array()
197
+ .optional(),
198
+ variables: z
199
+ .object({
200
+ name: z.string(),
201
+ type: embeddableTypeSchema,
202
+ defaultValue: z.any().optional(),
203
+ inputs: z.array(z.string()).optional(),
204
+ events: z
205
+ .array(z.object({
206
+ name: z.string(),
207
+ property: z.string(),
208
+ }))
209
+ .optional(),
210
+ })
211
+ .strict()
212
+ .array()
213
+ .optional(),
214
+ })
215
+ .strict();
216
+
217
+ const componentMetaValidator = (meta) => {
218
+ const result = componentMetaSchema.safeParse(meta);
219
+ if (!result.success)
220
+ return errorFormatter(result.error.issues);
221
+ return validateVariables(meta);
222
+ };
223
+ const validateVariables = (meta) => {
224
+ const variables = meta.variables;
225
+ if (!variables)
226
+ return [];
227
+ const errors = [];
228
+ // all inputs should be defined
229
+ errors.push(...validateVariableInputs(meta));
230
+ // all events and properties should be valid
231
+ errors.push(...validateVariableEvents(meta));
232
+ return errors;
233
+ };
234
+ const validateVariableInputs = (meta) => {
235
+ const variables = meta.variables;
236
+ const definedInputs = meta.inputs;
237
+ if (!variables)
238
+ return [];
239
+ const errors = [];
240
+ // all inputs should be defined
241
+ variables.forEach((variableConfig, idx) => {
242
+ const inputs = variableConfig.inputs;
243
+ if (inputs) {
244
+ inputs.forEach((input, inputIdx) => {
245
+ const definedInput = definedInputs === null || definedInputs === void 0 ? void 0 : definedInputs.find((d) => d.name === input);
246
+ if (!definedInput) {
247
+ const path = formatPath(["variables", idx, "inputs", inputIdx]);
248
+ errors.push(`${path}: input "${input}" is not defined`);
249
+ }
250
+ });
251
+ }
252
+ });
253
+ return errors;
254
+ };
255
+ const validateVariableEvents = (meta) => {
256
+ const variables = meta.variables;
257
+ const definedEvents = meta.events;
258
+ if (!variables)
259
+ return [];
260
+ const errors = [];
261
+ variables.forEach((variableConfig, idx) => {
262
+ const events = variableConfig.events;
263
+ if (events) {
264
+ events.forEach((event, eventIdx) => {
265
+ const definedEvent = definedEvents === null || definedEvents === void 0 ? void 0 : definedEvents.find((d) => d.name === event.name);
266
+ if (!definedEvent) {
267
+ const path = formatPath([
268
+ "variables",
269
+ idx,
270
+ "events",
271
+ eventIdx,
272
+ "name",
273
+ ]);
274
+ errors.push(`${path}: event "${event.name}" is not defined`);
275
+ return;
276
+ }
277
+ const definedProperties = definedEvent.properties;
278
+ const definedProperty = definedProperties === null || definedProperties === void 0 ? void 0 : definedProperties.find((p) => p.name === event.property);
279
+ if (!definedProperty) {
280
+ const path = formatPath([
281
+ "variables",
282
+ idx,
283
+ "events",
284
+ eventIdx,
285
+ "property",
286
+ ]);
287
+ errors.push(`${path}: property "${event.property}" is not defined`);
288
+ return;
289
+ }
290
+ if (definedProperty.type !== variableConfig.type) {
291
+ const path = formatPath(["variables", idx]);
292
+ errors.push(`${path}: the type of the variable "${variableConfig.name}" and the type of the property "${event.property}" do not match`);
293
+ }
294
+ });
295
+ }
296
+ });
297
+ return errors;
298
+ };
299
+
300
+ const EDITOR = "editor";
301
+ const COMPONENT = "component";
302
+ const validators = {
303
+ [EDITOR]: editorMetaValidator,
304
+ [COMPONENT]: componentMetaValidator,
305
+ };
306
+ const getModuleType = (moduleInfo) => {
307
+ var _a, _b;
308
+ if ((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes("defineComponent")) {
309
+ return COMPONENT;
310
+ }
311
+ else if ((_b = moduleInfo.code) === null || _b === void 0 ? void 0 : _b.includes("defineEditor")) {
312
+ return EDITOR;
313
+ }
314
+ else {
315
+ return null;
316
+ }
317
+ };
318
+ var validateComponentMetaPlugin = (componentFileRegex) => {
319
+ const metaConfigs = [];
320
+ return {
321
+ name: "validate-component-meta",
322
+ moduleParsed: async (moduleInfo) => {
323
+ const moduleType = componentFileRegex.test(moduleInfo.id)
324
+ ? getModuleType(moduleInfo)
325
+ : null;
326
+ if (moduleType) {
327
+ const meta = await loadComponentMeta(moduleInfo.id, moduleInfo.code);
328
+ metaConfigs.push({
329
+ moduleId: moduleInfo.id,
330
+ meta,
331
+ moduleType,
332
+ });
333
+ }
334
+ },
335
+ buildEnd: function () {
336
+ const errors = [];
337
+ for (const metaConfig of metaConfigs) {
338
+ const validator = validators[metaConfig.moduleType];
339
+ const validationResult = validator(metaConfig.meta);
340
+ if (validationResult && validationResult.length) {
341
+ errors.push(`\nComponent meta is not valid ${metaConfig.moduleId}:\n${validationResult.join("\n")}`);
342
+ }
343
+ }
344
+ if (errors.length) {
345
+ // @ts-ignore
346
+ this.error(errors.join("\n"));
347
+ }
348
+ },
349
+ };
350
+ };
351
+
104
352
  const oraP = import('ora');
105
353
  const EMB_FILE_REGEX = /^(.*)(?<!\.type|\.options)\.emb\.[jt]s$/;
106
- const EMB_TYPE_FILE_REGEX = /^(.*)\.type\.emb\.[jt]s$/;
107
354
  var generate = async (ctx) => {
108
355
  const ora = (await oraP).default;
109
356
  const progress = ora("React: building components...").start();
@@ -123,7 +370,6 @@ async function runViteBuild(ctx) {
123
370
  fileName: "embeddable-components-meta.js",
124
371
  outputDir: ".embeddable-build",
125
372
  componentFileRegex: EMB_FILE_REGEX,
126
- typeFileRegex: EMB_TYPE_FILE_REGEX,
127
373
  searchEntry: "defineComponent",
128
374
  }),
129
375
  extractComponentsConfigPlugin({
@@ -131,9 +377,9 @@ async function runViteBuild(ctx) {
131
377
  fileName: "embeddable-editors-meta.js",
132
378
  outputDir: ".embeddable-build",
133
379
  componentFileRegex: EMB_FILE_REGEX,
134
- typeFileRegex: EMB_TYPE_FILE_REGEX,
135
380
  searchEntry: "defineEditor",
136
381
  }),
382
+ validateComponentMetaPlugin(EMB_FILE_REGEX),
137
383
  ],
138
384
  build: {
139
385
  sourcemap: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/createContext.ts","../src/plugin.ts","../../utils/lib/index.esm.js","../src/generate.ts","../src/build.ts","../src/cleanup.ts","../src/index.ts"],"sourcesContent":[null,null,"import { readdir, lstat } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { fork } from 'node:child_process';\n\nvar findFiles = async (initialSrcDir, regex) => {\n const filesList = [];\n async function findFilesRec(srcDir) {\n const allFiles = await readdir(srcDir);\n for (const file of allFiles) {\n const filePath = join(srcDir, file);\n const status = await lstat(filePath);\n if (status.isDirectory()) {\n await findFilesRec(filePath);\n }\n const fileName = file.match(regex);\n if (fileName) {\n filesList.push([fileName[1], filePath]);\n }\n }\n }\n await findFilesRec(initialSrcDir);\n return filesList;\n};\n\nvar runProcess = async ({ processFile, ctx, initMessage, successMessage, failMessage, }) => {\n const ora = (await import('ora')).default;\n const spinner = ora(initMessage).start();\n try {\n await promisifyForkedProcess(processFile, ctx);\n spinner.succeed(successMessage);\n }\n catch (error) {\n spinner.fail(failMessage);\n console.error(error);\n // await core.globalCleanup(ctx);\n process.exit(1);\n }\n};\nfunction promisifyForkedProcess(filePath, ctx) {\n const forkedProcess = fork(filePath, [], process.env.NODE_ENV === \"dev\" ? undefined : { silent: true });\n forkedProcess.send({ ctx });\n return new Promise((resolve, reject) => {\n forkedProcess.on(\"exit\", (code) => {\n if (code === 0)\n resolve();\n });\n // @ts-ignore\n forkedProcess.on(\"message\", ({ error }) => {\n if (!error)\n return;\n reject(error);\n });\n });\n}\n\nexport { findFiles, runProcess };\n//# sourceMappingURL=index.esm.js.map\n",null,null,null,null],"names":["fs","path"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/createContext.ts","../src/loadComponentMeta.ts","../src/extractComponentsConfigPlugin.ts","../../utils/lib/index.esm.js","../src/validate/schema/embeddableTypeSchema.ts","../src/validate/schema/editorMetaSchema.ts","../src/validate/errorFormatter.ts","../src/validate/editorMetaValidator.ts","../src/validate/schema/componentMetaSchema.ts","../src/validate/componentMetaValidator.ts","../src/validate/validateComponentMetaPlugin.ts","../src/generate.ts","../src/build.ts","../src/cleanup.ts","../src/index.ts"],"sourcesContent":[null,null,null,"import { readdir, lstat } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { fork } from 'node:child_process';\n\nvar findFiles = async (initialSrcDir, regex) => {\n const filesList = [];\n async function findFilesRec(srcDir) {\n const allFiles = await readdir(srcDir);\n for (const file of allFiles) {\n const filePath = join(srcDir, file);\n const status = await lstat(filePath);\n if (status.isDirectory()) {\n await findFilesRec(filePath);\n }\n const fileName = file.match(regex);\n if (fileName) {\n filesList.push([fileName[1], filePath]);\n }\n }\n }\n await findFilesRec(initialSrcDir);\n return filesList;\n};\n\nvar runProcess = async ({ processFile, ctx, initMessage, successMessage, failMessage, }) => {\n const ora = (await import('ora')).default;\n const spinner = ora(initMessage).start();\n try {\n await promisifyForkedProcess(processFile, ctx);\n spinner.succeed(successMessage);\n }\n catch (error) {\n spinner.fail(failMessage);\n console.error(error);\n // await core.globalCleanup(ctx);\n process.exit(1);\n }\n};\nfunction promisifyForkedProcess(filePath, ctx) {\n const forkedProcess = fork(filePath, [], process.env.NODE_ENV === \"dev\" ? undefined : { silent: true });\n forkedProcess.send({ ctx });\n return new Promise((resolve, reject) => {\n forkedProcess.on(\"exit\", (code) => {\n if (code === 0)\n resolve();\n });\n // @ts-ignore\n forkedProcess.on(\"message\", ({ error }) => {\n if (!error)\n return;\n reject(error);\n });\n });\n}\n\nexport { findFiles, runProcess };\n//# sourceMappingURL=index.esm.js.map\n",null,null,null,null,null,null,null,null,null,null,null],"names":["fs","path"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -10,6 +10,8 @@ var parser = require('@babel/parser');
10
10
  var generator = require('@babel/generator');
11
11
  var traverse = require('@babel/traverse');
12
12
  require('node:child_process');
13
+ var zod = require('zod');
14
+ var core = require('@embeddable.com/core');
13
15
 
14
16
  function _interopNamespaceDefault(e) {
15
17
  var n = Object.create(null);
@@ -46,16 +48,42 @@ var createContext = (pluginRoot, coreCtx) => {
46
48
  };
47
49
  };
48
50
 
49
- /**
50
- * TODO: for some reason code from @embeddable.com/extract-components-config
51
- * is being cached. Thus we use this code duplication in place. Please investigate and fix.
52
- */
53
51
  // @ts-ignore
54
52
  const babelTraverse = traverse.default;
55
53
  // @ts-ignore
56
54
  const babelGenerate = generator.default;
57
55
  const CORE_TYPES_IMPORT_REGEX = /@embeddable\.com\/core$/;
58
- var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = "", }) => {
56
+ const EMB_TYPE_FILE_REGEX = /^(.*)\.type\.emb\.[jt]s$/;
57
+ const loadComponentMeta = async (moduleId, code) => {
58
+ const ast = parser.parse(code, {
59
+ sourceType: "module",
60
+ });
61
+ babelTraverse(ast, {
62
+ ImportDeclaration: (path) => {
63
+ const isNativeTypesImport = CORE_TYPES_IMPORT_REGEX.test(path.node.source.value);
64
+ const isCustomTypeImport = EMB_TYPE_FILE_REGEX.test(path.node.source.value);
65
+ if (!(isNativeTypesImport || isCustomTypeImport)) {
66
+ path.remove();
67
+ }
68
+ },
69
+ ExportDefaultDeclaration: (path) => {
70
+ path.remove();
71
+ },
72
+ });
73
+ const tempFilePath = moduleId
74
+ .replace(".emb.", ".emb-temp.")
75
+ .replace(/\.ts$/, ".js");
76
+ await fs__namespace.writeFile(tempFilePath, babelGenerate(ast).code);
77
+ const module = await import(tempFilePath);
78
+ await fs__namespace.rm(tempFilePath);
79
+ return module.meta;
80
+ };
81
+
82
+ /**
83
+ * TODO: for some reason code from @embeddable.com/extract-components-config
84
+ * is being cached. Thus we use this code duplication in place. Please investigate and fix.
85
+ */
86
+ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, componentFileRegex, searchEntry = "", }) => {
59
87
  const configs = [];
60
88
  return {
61
89
  name: "extract-components-config",
@@ -63,32 +91,12 @@ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, component
63
91
  var _a;
64
92
  if (componentFileRegex.test(moduleInfo.id) &&
65
93
  ((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes(searchEntry))) {
66
- const ast = parser.parse(moduleInfo.code, {
67
- sourceType: "module",
68
- });
69
- babelTraverse(ast, {
70
- ImportDeclaration: (path) => {
71
- const isNativeTypesImport = CORE_TYPES_IMPORT_REGEX.test(path.node.source.value);
72
- const isCustomTypeImport = typeFileRegex.test(path.node.source.value);
73
- if (!(isNativeTypesImport || isCustomTypeImport)) {
74
- path.remove();
75
- }
76
- },
77
- ExportDefaultDeclaration: (path) => {
78
- path.remove();
79
- },
80
- });
81
- const tempFilePath = moduleInfo.id
82
- .replace(".emb.", ".emb-temp.")
83
- .replace(/\.ts$/, ".js");
84
- await fs__namespace.writeFile(tempFilePath, babelGenerate(ast).code);
85
- const module = await import(tempFilePath);
86
- const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === "object" &&
94
+ const meta = await loadComponentMeta(moduleInfo.id, moduleInfo.code);
95
+ const configJSON = JSON.stringify(meta, (_key, value) => typeof value === "object" &&
87
96
  value !== null &&
88
97
  "__embeddableType" in value
89
98
  ? value.toString()
90
99
  : value);
91
- await fs__namespace.rm(tempFilePath);
92
100
  configs.push(configJSON);
93
101
  }
94
102
  },
@@ -124,9 +132,248 @@ var findFiles = async (initialSrcDir, regex) => {
124
132
  return filesList;
125
133
  };
126
134
 
135
+ const embeddableTypeSchema = zod.z
136
+ .object({
137
+ typeConfig: zod.z.object({
138
+ label: zod.z.string(),
139
+ toString: zod.z.function(),
140
+ }),
141
+ })
142
+ .or(zod.z.enum(core.ALL_NATIVE_TYPES));
143
+
144
+ const editorMetaSchema = zod.z
145
+ .object({
146
+ name: zod.z.string(),
147
+ label: zod.z.string(),
148
+ type: embeddableTypeSchema,
149
+ })
150
+ .strict();
151
+
152
+ const errorFormatter = (issues) => {
153
+ const errors = [];
154
+ for (let issue of issues) {
155
+ if (issue.code === zod.ZodIssueCode.invalid_union && issue.unionErrors.length) {
156
+ const error = issue.unionErrors[issue.unionErrors.length - 1];
157
+ issue = error.issues[error.issues.length - 1];
158
+ }
159
+ const path = formatPath(issue.path);
160
+ const message = issue.message;
161
+ errors.push(`"${path}": ${message}`);
162
+ }
163
+ return errors;
164
+ };
165
+ const formatPath = (path) => {
166
+ let formatted = "";
167
+ for (const pathElement of path) {
168
+ if (formatted.length === 0) {
169
+ formatted = `${pathElement}`;
170
+ }
171
+ else {
172
+ formatted +=
173
+ typeof pathElement === "number"
174
+ ? `[${pathElement}]`
175
+ : `.${pathElement}`;
176
+ }
177
+ }
178
+ return formatted;
179
+ };
180
+
181
+ const editorMetaValidator = (meta) => {
182
+ const result = editorMetaSchema.safeParse(meta);
183
+ if (result.success)
184
+ return [];
185
+ return errorFormatter(result.error.issues);
186
+ };
187
+
188
+ const componentMetaSchema = zod.z
189
+ .object({
190
+ name: zod.z.string(),
191
+ label: zod.z.string(),
192
+ inputs: zod.z
193
+ .object({
194
+ name: zod.z.string(),
195
+ label: zod.z.string(),
196
+ description: zod.z.string().optional(),
197
+ defaultValue: zod.z.any().optional(),
198
+ config: zod.z.record(zod.z.string(), zod.z.any()).optional(),
199
+ type: embeddableTypeSchema,
200
+ array: zod.z.boolean().optional(),
201
+ })
202
+ .strict()
203
+ .array()
204
+ .optional(),
205
+ events: zod.z
206
+ .object({
207
+ name: zod.z.string(),
208
+ label: zod.z.string(),
209
+ properties: zod.z
210
+ .object({
211
+ name: zod.z.string(),
212
+ type: embeddableTypeSchema,
213
+ label: zod.z.string().optional(),
214
+ })
215
+ .array()
216
+ .optional(),
217
+ })
218
+ .strict()
219
+ .array()
220
+ .optional(),
221
+ variables: zod.z
222
+ .object({
223
+ name: zod.z.string(),
224
+ type: embeddableTypeSchema,
225
+ defaultValue: zod.z.any().optional(),
226
+ inputs: zod.z.array(zod.z.string()).optional(),
227
+ events: zod.z
228
+ .array(zod.z.object({
229
+ name: zod.z.string(),
230
+ property: zod.z.string(),
231
+ }))
232
+ .optional(),
233
+ })
234
+ .strict()
235
+ .array()
236
+ .optional(),
237
+ })
238
+ .strict();
239
+
240
+ const componentMetaValidator = (meta) => {
241
+ const result = componentMetaSchema.safeParse(meta);
242
+ if (!result.success)
243
+ return errorFormatter(result.error.issues);
244
+ return validateVariables(meta);
245
+ };
246
+ const validateVariables = (meta) => {
247
+ const variables = meta.variables;
248
+ if (!variables)
249
+ return [];
250
+ const errors = [];
251
+ // all inputs should be defined
252
+ errors.push(...validateVariableInputs(meta));
253
+ // all events and properties should be valid
254
+ errors.push(...validateVariableEvents(meta));
255
+ return errors;
256
+ };
257
+ const validateVariableInputs = (meta) => {
258
+ const variables = meta.variables;
259
+ const definedInputs = meta.inputs;
260
+ if (!variables)
261
+ return [];
262
+ const errors = [];
263
+ // all inputs should be defined
264
+ variables.forEach((variableConfig, idx) => {
265
+ const inputs = variableConfig.inputs;
266
+ if (inputs) {
267
+ inputs.forEach((input, inputIdx) => {
268
+ const definedInput = definedInputs === null || definedInputs === void 0 ? void 0 : definedInputs.find((d) => d.name === input);
269
+ if (!definedInput) {
270
+ const path = formatPath(["variables", idx, "inputs", inputIdx]);
271
+ errors.push(`${path}: input "${input}" is not defined`);
272
+ }
273
+ });
274
+ }
275
+ });
276
+ return errors;
277
+ };
278
+ const validateVariableEvents = (meta) => {
279
+ const variables = meta.variables;
280
+ const definedEvents = meta.events;
281
+ if (!variables)
282
+ return [];
283
+ const errors = [];
284
+ variables.forEach((variableConfig, idx) => {
285
+ const events = variableConfig.events;
286
+ if (events) {
287
+ events.forEach((event, eventIdx) => {
288
+ const definedEvent = definedEvents === null || definedEvents === void 0 ? void 0 : definedEvents.find((d) => d.name === event.name);
289
+ if (!definedEvent) {
290
+ const path = formatPath([
291
+ "variables",
292
+ idx,
293
+ "events",
294
+ eventIdx,
295
+ "name",
296
+ ]);
297
+ errors.push(`${path}: event "${event.name}" is not defined`);
298
+ return;
299
+ }
300
+ const definedProperties = definedEvent.properties;
301
+ const definedProperty = definedProperties === null || definedProperties === void 0 ? void 0 : definedProperties.find((p) => p.name === event.property);
302
+ if (!definedProperty) {
303
+ const path = formatPath([
304
+ "variables",
305
+ idx,
306
+ "events",
307
+ eventIdx,
308
+ "property",
309
+ ]);
310
+ errors.push(`${path}: property "${event.property}" is not defined`);
311
+ return;
312
+ }
313
+ if (definedProperty.type !== variableConfig.type) {
314
+ const path = formatPath(["variables", idx]);
315
+ errors.push(`${path}: the type of the variable "${variableConfig.name}" and the type of the property "${event.property}" do not match`);
316
+ }
317
+ });
318
+ }
319
+ });
320
+ return errors;
321
+ };
322
+
323
+ const EDITOR = "editor";
324
+ const COMPONENT = "component";
325
+ const validators = {
326
+ [EDITOR]: editorMetaValidator,
327
+ [COMPONENT]: componentMetaValidator,
328
+ };
329
+ const getModuleType = (moduleInfo) => {
330
+ var _a, _b;
331
+ if ((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes("defineComponent")) {
332
+ return COMPONENT;
333
+ }
334
+ else if ((_b = moduleInfo.code) === null || _b === void 0 ? void 0 : _b.includes("defineEditor")) {
335
+ return EDITOR;
336
+ }
337
+ else {
338
+ return null;
339
+ }
340
+ };
341
+ var validateComponentMetaPlugin = (componentFileRegex) => {
342
+ const metaConfigs = [];
343
+ return {
344
+ name: "validate-component-meta",
345
+ moduleParsed: async (moduleInfo) => {
346
+ const moduleType = componentFileRegex.test(moduleInfo.id)
347
+ ? getModuleType(moduleInfo)
348
+ : null;
349
+ if (moduleType) {
350
+ const meta = await loadComponentMeta(moduleInfo.id, moduleInfo.code);
351
+ metaConfigs.push({
352
+ moduleId: moduleInfo.id,
353
+ meta,
354
+ moduleType,
355
+ });
356
+ }
357
+ },
358
+ buildEnd: function () {
359
+ const errors = [];
360
+ for (const metaConfig of metaConfigs) {
361
+ const validator = validators[metaConfig.moduleType];
362
+ const validationResult = validator(metaConfig.meta);
363
+ if (validationResult && validationResult.length) {
364
+ errors.push(`\nComponent meta is not valid ${metaConfig.moduleId}:\n${validationResult.join("\n")}`);
365
+ }
366
+ }
367
+ if (errors.length) {
368
+ // @ts-ignore
369
+ this.error(errors.join("\n"));
370
+ }
371
+ },
372
+ };
373
+ };
374
+
127
375
  const oraP = import('ora');
128
376
  const EMB_FILE_REGEX = /^(.*)(?<!\.type|\.options)\.emb\.[jt]s$/;
129
- const EMB_TYPE_FILE_REGEX = /^(.*)\.type\.emb\.[jt]s$/;
130
377
  var generate = async (ctx) => {
131
378
  const ora = (await oraP).default;
132
379
  const progress = ora("React: building components...").start();
@@ -146,7 +393,6 @@ async function runViteBuild(ctx) {
146
393
  fileName: "embeddable-components-meta.js",
147
394
  outputDir: ".embeddable-build",
148
395
  componentFileRegex: EMB_FILE_REGEX,
149
- typeFileRegex: EMB_TYPE_FILE_REGEX,
150
396
  searchEntry: "defineComponent",
151
397
  }),
152
398
  extractComponentsConfigPlugin({
@@ -154,9 +400,9 @@ async function runViteBuild(ctx) {
154
400
  fileName: "embeddable-editors-meta.js",
155
401
  outputDir: ".embeddable-build",
156
402
  componentFileRegex: EMB_FILE_REGEX,
157
- typeFileRegex: EMB_TYPE_FILE_REGEX,
158
403
  searchEntry: "defineEditor",
159
404
  }),
405
+ validateComponentMetaPlugin(EMB_FILE_REGEX),
160
406
  ],
161
407
  build: {
162
408
  sourcemap: true,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/createContext.ts","../src/plugin.ts","../../utils/lib/index.esm.js","../src/generate.ts","../src/build.ts","../src/cleanup.ts","../src/index.ts"],"sourcesContent":[null,null,"import { readdir, lstat } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { fork } from 'node:child_process';\n\nvar findFiles = async (initialSrcDir, regex) => {\n const filesList = [];\n async function findFilesRec(srcDir) {\n const allFiles = await readdir(srcDir);\n for (const file of allFiles) {\n const filePath = join(srcDir, file);\n const status = await lstat(filePath);\n if (status.isDirectory()) {\n await findFilesRec(filePath);\n }\n const fileName = file.match(regex);\n if (fileName) {\n filesList.push([fileName[1], filePath]);\n }\n }\n }\n await findFilesRec(initialSrcDir);\n return filesList;\n};\n\nvar runProcess = async ({ processFile, ctx, initMessage, successMessage, failMessage, }) => {\n const ora = (await import('ora')).default;\n const spinner = ora(initMessage).start();\n try {\n await promisifyForkedProcess(processFile, ctx);\n spinner.succeed(successMessage);\n }\n catch (error) {\n spinner.fail(failMessage);\n console.error(error);\n // await core.globalCleanup(ctx);\n process.exit(1);\n }\n};\nfunction promisifyForkedProcess(filePath, ctx) {\n const forkedProcess = fork(filePath, [], process.env.NODE_ENV === \"dev\" ? undefined : { silent: true });\n forkedProcess.send({ ctx });\n return new Promise((resolve, reject) => {\n forkedProcess.on(\"exit\", (code) => {\n if (code === 0)\n resolve();\n });\n // @ts-ignore\n forkedProcess.on(\"message\", ({ error }) => {\n if (!error)\n return;\n reject(error);\n });\n });\n}\n\nexport { findFiles, runProcess };\n//# sourceMappingURL=index.esm.js.map\n",null,null,null,null],"names":["resolve","parse","fs","readdir","join","lstat","vite","path","rm"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/createContext.ts","../src/loadComponentMeta.ts","../src/extractComponentsConfigPlugin.ts","../../utils/lib/index.esm.js","../src/validate/schema/embeddableTypeSchema.ts","../src/validate/schema/editorMetaSchema.ts","../src/validate/errorFormatter.ts","../src/validate/editorMetaValidator.ts","../src/validate/schema/componentMetaSchema.ts","../src/validate/componentMetaValidator.ts","../src/validate/validateComponentMetaPlugin.ts","../src/generate.ts","../src/build.ts","../src/cleanup.ts","../src/index.ts"],"sourcesContent":[null,null,null,"import { readdir, lstat } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { fork } from 'node:child_process';\n\nvar findFiles = async (initialSrcDir, regex) => {\n const filesList = [];\n async function findFilesRec(srcDir) {\n const allFiles = await readdir(srcDir);\n for (const file of allFiles) {\n const filePath = join(srcDir, file);\n const status = await lstat(filePath);\n if (status.isDirectory()) {\n await findFilesRec(filePath);\n }\n const fileName = file.match(regex);\n if (fileName) {\n filesList.push([fileName[1], filePath]);\n }\n }\n }\n await findFilesRec(initialSrcDir);\n return filesList;\n};\n\nvar runProcess = async ({ processFile, ctx, initMessage, successMessage, failMessage, }) => {\n const ora = (await import('ora')).default;\n const spinner = ora(initMessage).start();\n try {\n await promisifyForkedProcess(processFile, ctx);\n spinner.succeed(successMessage);\n }\n catch (error) {\n spinner.fail(failMessage);\n console.error(error);\n // await core.globalCleanup(ctx);\n process.exit(1);\n }\n};\nfunction promisifyForkedProcess(filePath, ctx) {\n const forkedProcess = fork(filePath, [], process.env.NODE_ENV === \"dev\" ? undefined : { silent: true });\n forkedProcess.send({ ctx });\n return new Promise((resolve, reject) => {\n forkedProcess.on(\"exit\", (code) => {\n if (code === 0)\n resolve();\n });\n // @ts-ignore\n forkedProcess.on(\"message\", ({ error }) => {\n if (!error)\n return;\n reject(error);\n });\n });\n}\n\nexport { findFiles, runProcess };\n//# sourceMappingURL=index.esm.js.map\n",null,null,null,null,null,null,null,null,null,null,null],"names":["resolve","parse","fs","readdir","join","lstat","z","ALL_NATIVE_TYPES","ZodIssueCode","vite","path","rm"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const loadComponentMeta: (moduleId: string, code: string) => Promise<any>;
@@ -0,0 +1,2 @@
1
+ import { EmbeddedComponentMeta } from "@embeddable.com/react";
2
+ export declare const componentMetaValidator: (meta: EmbeddedComponentMeta) => string[];
@@ -0,0 +1 @@
1
+ export declare const editorMetaValidator: (meta: any) => string[];
@@ -0,0 +1,3 @@
1
+ import { ZodIssue } from "zod/lib/ZodError";
2
+ export declare const errorFormatter: (issues: ZodIssue[]) => string[];
3
+ export declare const formatPath: (path: (string | number)[]) => string;
@@ -0,0 +1,362 @@
1
+ import { z } from "zod";
2
+ export declare const componentMetaSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ label: z.ZodString;
5
+ inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
6
+ name: z.ZodString;
7
+ label: z.ZodString;
8
+ description: z.ZodOptional<z.ZodString>;
9
+ defaultValue: z.ZodOptional<z.ZodAny>;
10
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
11
+ type: z.ZodUnion<[z.ZodObject<{
12
+ typeConfig: z.ZodObject<{
13
+ label: z.ZodString;
14
+ toString: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ toString: (...args: unknown[]) => unknown;
17
+ label: string;
18
+ }, {
19
+ toString: (...args: unknown[]) => unknown;
20
+ label: string;
21
+ }>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ typeConfig: {
24
+ toString: (...args: unknown[]) => unknown;
25
+ label: string;
26
+ };
27
+ }, {
28
+ typeConfig: {
29
+ toString: (...args: unknown[]) => unknown;
30
+ label: string;
31
+ };
32
+ }>, z.ZodEnum<["string", "number", "boolean", "time", "timeRange", "granularity", "dataset", "measure", "dimension", "dimensionOrMeasure"]>]>;
33
+ array: z.ZodOptional<z.ZodBoolean>;
34
+ }, "strict", z.ZodTypeAny, {
35
+ type: ("string" | "number" | "boolean" | {
36
+ typeConfig: {
37
+ toString: (...args: unknown[]) => unknown;
38
+ label: string;
39
+ };
40
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
41
+ typeConfig: {
42
+ toString: (...args: unknown[]) => unknown;
43
+ label: string;
44
+ };
45
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
46
+ label: string;
47
+ name: string;
48
+ description?: string | undefined;
49
+ defaultValue?: any;
50
+ config?: Record<string, any> | undefined;
51
+ array?: boolean | undefined;
52
+ }, {
53
+ type: ("string" | "number" | "boolean" | {
54
+ typeConfig: {
55
+ toString: (...args: unknown[]) => unknown;
56
+ label: string;
57
+ };
58
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
59
+ typeConfig: {
60
+ toString: (...args: unknown[]) => unknown;
61
+ label: string;
62
+ };
63
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
64
+ label: string;
65
+ name: string;
66
+ description?: string | undefined;
67
+ defaultValue?: any;
68
+ config?: Record<string, any> | undefined;
69
+ array?: boolean | undefined;
70
+ }>, "many">>;
71
+ events: z.ZodOptional<z.ZodArray<z.ZodObject<{
72
+ name: z.ZodString;
73
+ label: z.ZodString;
74
+ properties: z.ZodOptional<z.ZodArray<z.ZodObject<{
75
+ name: z.ZodString;
76
+ type: z.ZodUnion<[z.ZodObject<{
77
+ typeConfig: z.ZodObject<{
78
+ label: z.ZodString;
79
+ toString: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ toString: (...args: unknown[]) => unknown;
82
+ label: string;
83
+ }, {
84
+ toString: (...args: unknown[]) => unknown;
85
+ label: string;
86
+ }>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ typeConfig: {
89
+ toString: (...args: unknown[]) => unknown;
90
+ label: string;
91
+ };
92
+ }, {
93
+ typeConfig: {
94
+ toString: (...args: unknown[]) => unknown;
95
+ label: string;
96
+ };
97
+ }>, z.ZodEnum<["string", "number", "boolean", "time", "timeRange", "granularity", "dataset", "measure", "dimension", "dimensionOrMeasure"]>]>;
98
+ label: z.ZodOptional<z.ZodString>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ type: ("string" | "number" | "boolean" | {
101
+ typeConfig: {
102
+ toString: (...args: unknown[]) => unknown;
103
+ label: string;
104
+ };
105
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
106
+ typeConfig: {
107
+ toString: (...args: unknown[]) => unknown;
108
+ label: string;
109
+ };
110
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
111
+ name: string;
112
+ label?: string | undefined;
113
+ }, {
114
+ type: ("string" | "number" | "boolean" | {
115
+ typeConfig: {
116
+ toString: (...args: unknown[]) => unknown;
117
+ label: string;
118
+ };
119
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
120
+ typeConfig: {
121
+ toString: (...args: unknown[]) => unknown;
122
+ label: string;
123
+ };
124
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
125
+ name: string;
126
+ label?: string | undefined;
127
+ }>, "many">>;
128
+ }, "strict", z.ZodTypeAny, {
129
+ label: string;
130
+ name: string;
131
+ properties?: {
132
+ type: ("string" | "number" | "boolean" | {
133
+ typeConfig: {
134
+ toString: (...args: unknown[]) => unknown;
135
+ label: string;
136
+ };
137
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
138
+ typeConfig: {
139
+ toString: (...args: unknown[]) => unknown;
140
+ label: string;
141
+ };
142
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
143
+ name: string;
144
+ label?: string | undefined;
145
+ }[] | undefined;
146
+ }, {
147
+ label: string;
148
+ name: string;
149
+ properties?: {
150
+ type: ("string" | "number" | "boolean" | {
151
+ typeConfig: {
152
+ toString: (...args: unknown[]) => unknown;
153
+ label: string;
154
+ };
155
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
156
+ typeConfig: {
157
+ toString: (...args: unknown[]) => unknown;
158
+ label: string;
159
+ };
160
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
161
+ name: string;
162
+ label?: string | undefined;
163
+ }[] | undefined;
164
+ }>, "many">>;
165
+ variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
166
+ name: z.ZodString;
167
+ type: z.ZodUnion<[z.ZodObject<{
168
+ typeConfig: z.ZodObject<{
169
+ label: z.ZodString;
170
+ toString: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
171
+ }, "strip", z.ZodTypeAny, {
172
+ toString: (...args: unknown[]) => unknown;
173
+ label: string;
174
+ }, {
175
+ toString: (...args: unknown[]) => unknown;
176
+ label: string;
177
+ }>;
178
+ }, "strip", z.ZodTypeAny, {
179
+ typeConfig: {
180
+ toString: (...args: unknown[]) => unknown;
181
+ label: string;
182
+ };
183
+ }, {
184
+ typeConfig: {
185
+ toString: (...args: unknown[]) => unknown;
186
+ label: string;
187
+ };
188
+ }>, z.ZodEnum<["string", "number", "boolean", "time", "timeRange", "granularity", "dataset", "measure", "dimension", "dimensionOrMeasure"]>]>;
189
+ defaultValue: z.ZodOptional<z.ZodAny>;
190
+ inputs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
191
+ events: z.ZodOptional<z.ZodArray<z.ZodObject<{
192
+ name: z.ZodString;
193
+ property: z.ZodString;
194
+ }, "strip", z.ZodTypeAny, {
195
+ name: string;
196
+ property: string;
197
+ }, {
198
+ name: string;
199
+ property: string;
200
+ }>, "many">>;
201
+ }, "strict", z.ZodTypeAny, {
202
+ type: ("string" | "number" | "boolean" | {
203
+ typeConfig: {
204
+ toString: (...args: unknown[]) => unknown;
205
+ label: string;
206
+ };
207
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
208
+ typeConfig: {
209
+ toString: (...args: unknown[]) => unknown;
210
+ label: string;
211
+ };
212
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
213
+ name: string;
214
+ defaultValue?: any;
215
+ inputs?: string[] | undefined;
216
+ events?: {
217
+ name: string;
218
+ property: string;
219
+ }[] | undefined;
220
+ }, {
221
+ type: ("string" | "number" | "boolean" | {
222
+ typeConfig: {
223
+ toString: (...args: unknown[]) => unknown;
224
+ label: string;
225
+ };
226
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
227
+ typeConfig: {
228
+ toString: (...args: unknown[]) => unknown;
229
+ label: string;
230
+ };
231
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
232
+ name: string;
233
+ defaultValue?: any;
234
+ inputs?: string[] | undefined;
235
+ events?: {
236
+ name: string;
237
+ property: string;
238
+ }[] | undefined;
239
+ }>, "many">>;
240
+ }, "strict", z.ZodTypeAny, {
241
+ label: string;
242
+ name: string;
243
+ inputs?: {
244
+ type: ("string" | "number" | "boolean" | {
245
+ typeConfig: {
246
+ toString: (...args: unknown[]) => unknown;
247
+ label: string;
248
+ };
249
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
250
+ typeConfig: {
251
+ toString: (...args: unknown[]) => unknown;
252
+ label: string;
253
+ };
254
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
255
+ label: string;
256
+ name: string;
257
+ description?: string | undefined;
258
+ defaultValue?: any;
259
+ config?: Record<string, any> | undefined;
260
+ array?: boolean | undefined;
261
+ }[] | undefined;
262
+ events?: {
263
+ label: string;
264
+ name: string;
265
+ properties?: {
266
+ type: ("string" | "number" | "boolean" | {
267
+ typeConfig: {
268
+ toString: (...args: unknown[]) => unknown;
269
+ label: string;
270
+ };
271
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
272
+ typeConfig: {
273
+ toString: (...args: unknown[]) => unknown;
274
+ label: string;
275
+ };
276
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
277
+ name: string;
278
+ label?: string | undefined;
279
+ }[] | undefined;
280
+ }[] | undefined;
281
+ variables?: {
282
+ type: ("string" | "number" | "boolean" | {
283
+ typeConfig: {
284
+ toString: (...args: unknown[]) => unknown;
285
+ label: string;
286
+ };
287
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
288
+ typeConfig: {
289
+ toString: (...args: unknown[]) => unknown;
290
+ label: string;
291
+ };
292
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
293
+ name: string;
294
+ defaultValue?: any;
295
+ inputs?: string[] | undefined;
296
+ events?: {
297
+ name: string;
298
+ property: string;
299
+ }[] | undefined;
300
+ }[] | undefined;
301
+ }, {
302
+ label: string;
303
+ name: string;
304
+ inputs?: {
305
+ type: ("string" | "number" | "boolean" | {
306
+ typeConfig: {
307
+ toString: (...args: unknown[]) => unknown;
308
+ label: string;
309
+ };
310
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
311
+ typeConfig: {
312
+ toString: (...args: unknown[]) => unknown;
313
+ label: string;
314
+ };
315
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
316
+ label: string;
317
+ name: string;
318
+ description?: string | undefined;
319
+ defaultValue?: any;
320
+ config?: Record<string, any> | undefined;
321
+ array?: boolean | undefined;
322
+ }[] | undefined;
323
+ events?: {
324
+ label: string;
325
+ name: string;
326
+ properties?: {
327
+ type: ("string" | "number" | "boolean" | {
328
+ typeConfig: {
329
+ toString: (...args: unknown[]) => unknown;
330
+ label: string;
331
+ };
332
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
333
+ typeConfig: {
334
+ toString: (...args: unknown[]) => unknown;
335
+ label: string;
336
+ };
337
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
338
+ name: string;
339
+ label?: string | undefined;
340
+ }[] | undefined;
341
+ }[] | undefined;
342
+ variables?: {
343
+ type: ("string" | "number" | "boolean" | {
344
+ typeConfig: {
345
+ toString: (...args: unknown[]) => unknown;
346
+ label: string;
347
+ };
348
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
349
+ typeConfig: {
350
+ toString: (...args: unknown[]) => unknown;
351
+ label: string;
352
+ };
353
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
354
+ name: string;
355
+ defaultValue?: any;
356
+ inputs?: string[] | undefined;
357
+ events?: {
358
+ name: string;
359
+ property: string;
360
+ }[] | undefined;
361
+ }[] | undefined;
362
+ }>;
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ export declare const editorMetaSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ label: z.ZodString;
5
+ type: z.ZodUnion<[z.ZodObject<{
6
+ typeConfig: z.ZodObject<{
7
+ label: z.ZodString;
8
+ toString: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ toString: (...args: unknown[]) => unknown;
11
+ label: string;
12
+ }, {
13
+ toString: (...args: unknown[]) => unknown;
14
+ label: string;
15
+ }>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ typeConfig: {
18
+ toString: (...args: unknown[]) => unknown;
19
+ label: string;
20
+ };
21
+ }, {
22
+ typeConfig: {
23
+ toString: (...args: unknown[]) => unknown;
24
+ label: string;
25
+ };
26
+ }>, z.ZodEnum<["string", "number", "boolean", "time", "timeRange", "granularity", "dataset", "measure", "dimension", "dimensionOrMeasure"]>]>;
27
+ }, "strict", z.ZodTypeAny, {
28
+ type: ("string" | "number" | "boolean" | {
29
+ typeConfig: {
30
+ toString: (...args: unknown[]) => unknown;
31
+ label: string;
32
+ };
33
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
34
+ typeConfig: {
35
+ toString: (...args: unknown[]) => unknown;
36
+ label: string;
37
+ };
38
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
39
+ label: string;
40
+ name: string;
41
+ }, {
42
+ type: ("string" | "number" | "boolean" | {
43
+ typeConfig: {
44
+ toString: (...args: unknown[]) => unknown;
45
+ label: string;
46
+ };
47
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure") & ("string" | "number" | "boolean" | {
48
+ typeConfig: {
49
+ toString: (...args: unknown[]) => unknown;
50
+ label: string;
51
+ };
52
+ } | "time" | "timeRange" | "granularity" | "dataset" | "measure" | "dimension" | "dimensionOrMeasure" | undefined);
53
+ label: string;
54
+ name: string;
55
+ }>;
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export declare const embeddableTypeSchema: z.ZodUnion<[z.ZodObject<{
3
+ typeConfig: z.ZodObject<{
4
+ label: z.ZodString;
5
+ toString: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ toString: (...args: unknown[]) => unknown;
8
+ label: string;
9
+ }, {
10
+ toString: (...args: unknown[]) => unknown;
11
+ label: string;
12
+ }>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ typeConfig: {
15
+ toString: (...args: unknown[]) => unknown;
16
+ label: string;
17
+ };
18
+ }, {
19
+ typeConfig: {
20
+ toString: (...args: unknown[]) => unknown;
21
+ label: string;
22
+ };
23
+ }>, z.ZodEnum<["string", "number", "boolean", "time", "timeRange", "granularity", "dataset", "measure", "dimension", "dimensionOrMeasure"]>]>;
@@ -0,0 +1,7 @@
1
+ import { ModuleInfo } from "rollup";
2
+ declare const _default: (componentFileRegex: RegExp) => {
3
+ name: string;
4
+ moduleParsed: (moduleInfo: ModuleInfo) => Promise<void>;
5
+ buildEnd: () => void;
6
+ };
7
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embeddable.com/sdk-react",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Embeddable SDK React plugin responsible for React components bundling.",
5
5
  "keywords": [
6
6
  "embeddable",
@@ -31,9 +31,11 @@
31
31
  "@babel/traverse": "^7.23.2",
32
32
  "@embeddable.com/sdk-core": "*",
33
33
  "@embeddable.com/sdk-utils": "*",
34
+ "@embeddable.com/core": "*",
34
35
  "@vitejs/plugin-react": "^4.0.2",
35
36
  "ora": "^7.0.1",
36
- "vite": "^4.5.0"
37
+ "vite": "^4.5.0",
38
+ "zod": "^3.22.4"
37
39
  },
38
40
  "lint-staged": {
39
41
  "*.{js,ts,jsx,tsx,json}": [