@embeddable.com/sdk-react 2.0.5 → 2.0.7

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
@@ -23,11 +23,16 @@ var createContext = (pluginRoot, coreCtx) => {
23
23
  };
24
24
  };
25
25
 
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
+ */
26
30
  // @ts-ignore
27
31
  const babelTraverse = traverse.default;
28
32
  // @ts-ignore
29
33
  const babelGenerate = generator.default;
30
- var index$1 = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = "", }) => {
34
+ const CORE_TYPES_IMPORT_REGEX = /@embeddable\.com\/core$/;
35
+ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = "", }) => {
31
36
  const configs = [];
32
37
  return {
33
38
  name: "extract-components-config",
@@ -40,7 +45,9 @@ var index$1 = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileReg
40
45
  });
41
46
  babelTraverse(ast, {
42
47
  ImportDeclaration: (path) => {
43
- if (!typeFileRegex.test(path.node.source.value)) {
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)) {
44
51
  path.remove();
45
52
  }
46
53
  },
@@ -53,7 +60,7 @@ var index$1 = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileReg
53
60
  .replace(/\.ts$/, ".js");
54
61
  await fs.writeFile(tempFilePath, babelGenerate(ast).code);
55
62
  const module = await import(tempFilePath);
56
- const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === "object" && "typeConfig" in value
63
+ const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === "object" && "__embeddableType" in value
57
64
  ? value.toString()
58
65
  : value);
59
66
  await fs.rm(tempFilePath);
@@ -109,7 +116,7 @@ async function runViteBuild(ctx) {
109
116
  logLevel: "error",
110
117
  plugins: [
111
118
  viteReactPlugin(),
112
- index$1({
119
+ extractComponentsConfigPlugin({
113
120
  globalKey: "componentsMeta",
114
121
  fileName: "embeddable-components-meta.js",
115
122
  outputDir: ".embeddable-build",
@@ -117,7 +124,7 @@ async function runViteBuild(ctx) {
117
124
  typeFileRegex: EMB_TYPE_FILE_REGEX,
118
125
  searchEntry: "embedComponent",
119
126
  }),
120
- index$1({
127
+ extractComponentsConfigPlugin({
121
128
  globalKey: "editorsMeta",
122
129
  fileName: "embeddable-editors-meta.js",
123
130
  outputDir: ".embeddable-build",
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/createContext.ts","../../extract-components-config/lib/index.esm.js","../../utils/lib/index.esm.js","../src/generate.ts","../src/build.ts","../src/cleanup.ts","../src/index.ts"],"sourcesContent":[null,"import * as fs from 'node:fs/promises';\nimport { parse } from '@babel/parser';\nimport generator from '@babel/generator';\nimport traverse from '@babel/traverse';\n\n// @ts-ignore\nconst babelTraverse = traverse.default;\n// @ts-ignore\nconst babelGenerate = generator.default;\nvar index = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = \"\", }) => {\n const configs = [];\n return {\n name: \"extract-components-config\",\n moduleParsed: async (moduleInfo) => {\n var _a;\n if (componentFileRegex.test(moduleInfo.id) &&\n ((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes(searchEntry))) {\n const ast = parse(moduleInfo.code, {\n sourceType: \"module\",\n });\n babelTraverse(ast, {\n ImportDeclaration: (path) => {\n if (!typeFileRegex.test(path.node.source.value)) {\n path.remove();\n }\n },\n ExportDefaultDeclaration: (path) => {\n path.remove();\n },\n });\n const tempFilePath = moduleInfo.id\n .replace(\".emb.\", \".emb-temp.\")\n .replace(/\\.ts$/, \".js\");\n await fs.writeFile(tempFilePath, babelGenerate(ast).code);\n const module = await import(tempFilePath);\n const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === \"object\" && \"typeConfig\" in value\n ? value.toString()\n : value);\n await fs.rm(tempFilePath);\n configs.push(configJSON);\n }\n },\n buildEnd: async () => {\n const template = `\nglobalThis.__EMBEDDABLE__ = globalThis.__EMBEDDABLE__ || {};\nglobalThis.__EMBEDDABLE__.${globalKey} = globalThis.__EMBEDDABLE__.${globalKey} || [\n __PLACEHOLDER__\n];\n `;\n await fs.writeFile(`${outputDir}/${fileName}`, template.replace(\"__PLACEHOLDER__\", configs.filter(Boolean).join(\",\\n\")));\n },\n };\n};\n\nexport { index as default };\n//# sourceMappingURL=index.esm.js.map\n","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":["index","extractComponentsConfigPlugin","fs","path"],"mappings":"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"}
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":";;;;;;;;;;;;;AAEA,oBAAe,CAAC,UAAkB,EAAE,OAAY,KAAI;IAClD,OAAO,CAAC,WAAW,CAAC,GAAG;AACrB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;AAC9C,QAAA,aAAa,EAAE;AACb,YAAA,QAAQ,EAAE,qBAAqB;AAC/B,YAAA,SAAS,EAAE,2BAA2B;AACtC,YAAA,4BAA4B,EAAE,4BAA4B;AAC3D,SAAA;KACF,CAAC;AACJ,CAAC;;ACZD;;;AAGG;AAOH;AACA,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACvC;AACA,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;AAExC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,oCAAe,CAAC,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,WAAW,GAAG,EAAE,GAQjB,KAAI;IACH,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,OAAO;AACL,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,YAAY,EAAE,OAAO,UAAsB,KAAI;;AAC7C,YAAA,IACE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;iBACtC,CAAA,EAAA,GAAA,UAAU,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,WAAW,CAAC,CAAA,EACtC;AACA,gBAAA,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AACjC,oBAAA,UAAU,EAAE,QAAQ;AACrB,iBAAA,CAAC,CAAC;gBAEH,aAAa,CAAC,GAAG,EAAE;AACjB,oBAAA,iBAAiB,EAAE,CAAC,IAAS,KAAI;AAC/B,wBAAA,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,CACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACvB,CAAC;AACF,wBAAA,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACvB,CAAC;AAEF,wBAAA,IAAI,EAAE,mBAAmB,IAAI,kBAAkB,CAAC,EAAE;4BAChD,IAAI,CAAC,MAAM,EAAE,CAAC;AACf,yBAAA;qBACF;AACD,oBAAA,wBAAwB,EAAE,CAAC,IAAS,KAAI;wBACtC,IAAI,CAAC,MAAM,EAAE,CAAC;qBACf;AACF,iBAAA,CAAC,CAAC;AAEH,gBAAA,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE;AAC/B,qBAAA,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;AAC9B,qBAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3B,gBAAA,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAE1D,gBAAA,MAAM,MAAM,GAAG,MAAM,OAAO,YAAY,CAAC,CAAC;gBAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KACzD,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,IAAI,KAAK;AACtD,sBAAE,KAAK,CAAC,QAAQ,EAAE;sBAChB,KAAK,CACV,CAAC;AAEF,gBAAA,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AAE1B,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1B,aAAA;SACF;QACD,QAAQ,EAAE,YAAW;AACnB,YAAA,MAAM,QAAQ,GAAG,CAAA;;AAEK,0BAAA,EAAA,SAAS,gCAAgC,SAAS,CAAA;;;OAGvE,CAAC;AACF,YAAA,MAAM,EAAE,CAAC,SAAS,CAChB,CAAG,EAAA,SAAS,CAAI,CAAA,EAAA,QAAQ,CAAE,CAAA,EAC1B,QAAQ,CAAC,OAAO,CACd,iBAAiB,EACjB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,CACF,CAAC;SACH;KACF,CAAC;AACJ,CAAC;;AC9FD,IAAI,SAAS,GAAG,OAAO,aAAa,EAAE,KAAK,KAAK;AAChD,IAAI,MAAM,SAAS,GAAG,EAAE,CAAC;AACzB,IAAI,eAAe,YAAY,CAAC,MAAM,EAAE;AACxC,QAAQ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAQ,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AACrC,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChD,YAAY,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjD,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;AACtC,gBAAgB,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC7C,aAAa;AACb,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,YAAY,IAAI,QAAQ,EAAE;AAC1B,gBAAgB,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;AACtC,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC;;ACnBD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,CAAC;AAK3B,MAAM,cAAc,GAAG,yCAAyC,CAAC;AACjE,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAEvD,eAAe,OAAO,GAAQ,KAAI;IAChC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,CAAC;IAEjC,MAAM,QAAQ,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;AAE9D,IAAA,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAErE,IAAA,MAAM,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAEpC,IAAA,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;AAExB,IAAA,QAAQ,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC,GAAQ,EAAA;IAClC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,IAAI,CAAC,KAAK,CAAC;AACf,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,OAAO,EAAE;AACP,YAAA,eAAe,EAAE;AACjB,YAAA,6BAA6B,CAAC;AAC5B,gBAAA,SAAS,EAAE,gBAAgB;AAC3B,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,SAAS,EAAE,mBAAmB;AAC9B,gBAAA,kBAAkB,EAAE,cAAc;AAClC,gBAAA,aAAa,EAAE,mBAAmB;AAClC,gBAAA,WAAW,EAAE,gBAAgB;aAC9B,CAAC;AACF,YAAA,6BAA6B,CAAC;AAC5B,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,QAAQ,EAAE,4BAA4B;AACtC,gBAAA,SAAS,EAAE,mBAAmB;AAC9B,gBAAA,kBAAkB,EAAE,cAAc;AAClC,gBAAA,aAAa,EAAE,mBAAmB;AAClC,gBAAA,WAAW,EAAE,cAAc;aAC5B,CAAC;AACH,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,GAAG,EAAE;gBACH,KAAK,EAAE,CAAK,EAAA,EAAA,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAE,CAAA;gBACzE,OAAO,EAAE,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,QAAQ;AAClD,aAAA;YACD,MAAM,EAAE,CAAqB,kBAAA,EAAA,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,SAAS,CAAE,CAAA;AACxE,SAAA;AACD,QAAA,MAAM,EAAE,EAAE,sBAAsB,EAAE,cAAc,EAAE;AACnD,KAAA,CAAC,CAAC;AACL,CAAC;AAED,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,eAAe,aAAa,CAAC,GAAQ,EAAE,SAA6B,EAAA;IAClE,MAAM,OAAO,GAAG,SAAS;SACtB,GAAG,CACF,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,KACnB,CAAA,EAAA,EAAK,QAAQ,CAAA,6BAAA,EAAgC,IAAI,CAAC,QAAQ,CACxD,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,QAAQ,CACT,CAAA,GAAA,CAAK,CACT;SACA,IAAI,CAAC,KAAK,CAAC,CAAC;AAEf,IAAA,MAAM,OAAO,GAAG,MAAMA,IAAE,CAAC,QAAQ,CAC/B,IAAI,CAAC,OAAO,CACV,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,EAC7B,CAAG,EAAA,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAW,SAAA,CAAA,CAC1E,EACD,MAAM,CACP,CAAC;AAEF,IAAA,MAAMA,IAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CACV,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAC5D,EACD,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CACxC,CAAC;AACJ;;ACpFA,YAAe,OAAO,GAAQ,KAAI;AAChC,IAAA,aAAa,CAACC,MAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAElD,IAAA,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;;ACPD,cAAe,OAAO,GAAQ,KAC5B,MAAM,EAAE,CACN,OAAO,CACL,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAC5D,CACF;;ACLH,YAAe,MAAK;IAClB,OAAO;AACL,QAAA,UAAU,EAAE,WAAW;AACvB,QAAA,QAAQ,EAAE,eAAc;QACxB,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;;;;"}
package/lib/index.js CHANGED
@@ -46,11 +46,16 @@ var createContext = (pluginRoot, coreCtx) => {
46
46
  };
47
47
  };
48
48
 
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
+ */
49
53
  // @ts-ignore
50
54
  const babelTraverse = traverse.default;
51
55
  // @ts-ignore
52
56
  const babelGenerate = generator.default;
53
- var index$1 = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = "", }) => {
57
+ const CORE_TYPES_IMPORT_REGEX = /@embeddable\.com\/core$/;
58
+ var extractComponentsConfigPlugin = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = "", }) => {
54
59
  const configs = [];
55
60
  return {
56
61
  name: "extract-components-config",
@@ -63,7 +68,9 @@ var index$1 = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileReg
63
68
  });
64
69
  babelTraverse(ast, {
65
70
  ImportDeclaration: (path) => {
66
- if (!typeFileRegex.test(path.node.source.value)) {
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)) {
67
74
  path.remove();
68
75
  }
69
76
  },
@@ -76,7 +83,7 @@ var index$1 = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileReg
76
83
  .replace(/\.ts$/, ".js");
77
84
  await fs__namespace.writeFile(tempFilePath, babelGenerate(ast).code);
78
85
  const module = await import(tempFilePath);
79
- const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === "object" && "typeConfig" in value
86
+ const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === "object" && "__embeddableType" in value
80
87
  ? value.toString()
81
88
  : value);
82
89
  await fs__namespace.rm(tempFilePath);
@@ -132,7 +139,7 @@ async function runViteBuild(ctx) {
132
139
  logLevel: "error",
133
140
  plugins: [
134
141
  viteReactPlugin(),
135
- index$1({
142
+ extractComponentsConfigPlugin({
136
143
  globalKey: "componentsMeta",
137
144
  fileName: "embeddable-components-meta.js",
138
145
  outputDir: ".embeddable-build",
@@ -140,7 +147,7 @@ async function runViteBuild(ctx) {
140
147
  typeFileRegex: EMB_TYPE_FILE_REGEX,
141
148
  searchEntry: "embedComponent",
142
149
  }),
143
- index$1({
150
+ extractComponentsConfigPlugin({
144
151
  globalKey: "editorsMeta",
145
152
  fileName: "embeddable-editors-meta.js",
146
153
  outputDir: ".embeddable-build",
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/createContext.ts","../../extract-components-config/lib/index.esm.js","../../utils/lib/index.esm.js","../src/generate.ts","../src/build.ts","../src/cleanup.ts","../src/index.ts"],"sourcesContent":[null,"import * as fs from 'node:fs/promises';\nimport { parse } from '@babel/parser';\nimport generator from '@babel/generator';\nimport traverse from '@babel/traverse';\n\n// @ts-ignore\nconst babelTraverse = traverse.default;\n// @ts-ignore\nconst babelGenerate = generator.default;\nvar index = ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry = \"\", }) => {\n const configs = [];\n return {\n name: \"extract-components-config\",\n moduleParsed: async (moduleInfo) => {\n var _a;\n if (componentFileRegex.test(moduleInfo.id) &&\n ((_a = moduleInfo.code) === null || _a === void 0 ? void 0 : _a.includes(searchEntry))) {\n const ast = parse(moduleInfo.code, {\n sourceType: \"module\",\n });\n babelTraverse(ast, {\n ImportDeclaration: (path) => {\n if (!typeFileRegex.test(path.node.source.value)) {\n path.remove();\n }\n },\n ExportDefaultDeclaration: (path) => {\n path.remove();\n },\n });\n const tempFilePath = moduleInfo.id\n .replace(\".emb.\", \".emb-temp.\")\n .replace(/\\.ts$/, \".js\");\n await fs.writeFile(tempFilePath, babelGenerate(ast).code);\n const module = await import(tempFilePath);\n const configJSON = JSON.stringify(module.meta, (_key, value) => typeof value === \"object\" && \"typeConfig\" in value\n ? value.toString()\n : value);\n await fs.rm(tempFilePath);\n configs.push(configJSON);\n }\n },\n buildEnd: async () => {\n const template = `\nglobalThis.__EMBEDDABLE__ = globalThis.__EMBEDDABLE__ || {};\nglobalThis.__EMBEDDABLE__.${globalKey} = globalThis.__EMBEDDABLE__.${globalKey} || [\n __PLACEHOLDER__\n];\n `;\n await fs.writeFile(`${outputDir}/${fileName}`, template.replace(\"__PLACEHOLDER__\", configs.filter(Boolean).join(\",\\n\")));\n },\n };\n};\n\nexport { index as default };\n//# sourceMappingURL=index.esm.js.map\n","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","index","parse","fs","readdir","join","lstat","vite","extractComponentsConfigPlugin","path","rm"],"mappings":"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"}
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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"}
@@ -0,0 +1,14 @@
1
+ import { ModuleInfo } from "rollup";
2
+ declare const _default: ({ globalKey, outputDir, fileName, componentFileRegex, typeFileRegex, searchEntry, }: {
3
+ globalKey: string;
4
+ outputDir: string;
5
+ fileName: string;
6
+ componentFileRegex: RegExp;
7
+ typeFileRegex: RegExp;
8
+ searchEntry?: string | undefined;
9
+ }) => {
10
+ name: string;
11
+ moduleParsed: (moduleInfo: ModuleInfo) => Promise<void>;
12
+ buildEnd: () => Promise<void>;
13
+ };
14
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embeddable.com/sdk-react",
3
- "version": "2.0.5",
3
+ "version": "2.0.7",
4
4
  "description": "Embeddable SDK React plugin responsible for React components bundling.",
5
5
  "keywords": [
6
6
  "embeddable",
@@ -18,7 +18,7 @@
18
18
  "scripts": {
19
19
  "build": "rollup -c"
20
20
  },
21
- "author": "Oleg Kapustin <oleg@trevor.io>",
21
+ "author": "Embeddable.com <engineering@embeddable.com>",
22
22
  "files": [
23
23
  "lib/",
24
24
  "scripts/",
@@ -26,7 +26,9 @@
26
26
  ],
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
- "@embeddable.com/extract-components-config": "*",
29
+ "@babel/generator": "^7.23.0",
30
+ "@babel/parser": "^7.23.0",
31
+ "@babel/traverse": "^7.23.2",
30
32
  "@embeddable.com/sdk-core": "*",
31
33
  "@embeddable.com/sdk-utils": "*",
32
34
  "@vitejs/plugin-react": "^4.0.2",