unframer 2.7.11 → 2.9.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.
Files changed (58) hide show
  1. package/dist/cli.d.ts +10 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +10 -4
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.test.js +8 -0
  6. package/dist/cli.test.js.map +1 -1
  7. package/dist/exporter.d.ts +5 -1
  8. package/dist/exporter.d.ts.map +1 -1
  9. package/dist/exporter.js +75 -14
  10. package/dist/exporter.js.map +1 -1
  11. package/dist/framer.d.ts.map +1 -1
  12. package/dist/framer.js +116 -92
  13. package/dist/framer.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/react.d.ts +10 -0
  19. package/dist/react.d.ts.map +1 -1
  20. package/dist/react.js +7 -0
  21. package/dist/react.js.map +1 -1
  22. package/dist/utils.d.ts +1 -0
  23. package/dist/utils.d.ts.map +1 -1
  24. package/dist/utils.js +9 -0
  25. package/dist/utils.js.map +1 -1
  26. package/esm/cli.d.ts +10 -0
  27. package/esm/cli.d.ts.map +1 -1
  28. package/esm/cli.js +11 -5
  29. package/esm/cli.js.map +1 -1
  30. package/esm/cli.test.js +9 -1
  31. package/esm/cli.test.js.map +1 -1
  32. package/esm/exporter.d.ts +5 -1
  33. package/esm/exporter.d.ts.map +1 -1
  34. package/esm/exporter.js +75 -14
  35. package/esm/exporter.js.map +1 -1
  36. package/esm/framer.d.ts.map +1 -1
  37. package/esm/framer.js +113 -92
  38. package/esm/framer.js.map +1 -1
  39. package/esm/index.d.ts +1 -1
  40. package/esm/index.d.ts.map +1 -1
  41. package/esm/index.js +1 -1
  42. package/esm/index.js.map +1 -1
  43. package/esm/react.d.ts +10 -0
  44. package/esm/react.d.ts.map +1 -1
  45. package/esm/react.js +14 -0
  46. package/esm/react.js.map +1 -1
  47. package/esm/utils.d.ts +1 -0
  48. package/esm/utils.d.ts.map +1 -1
  49. package/esm/utils.js +8 -0
  50. package/esm/utils.js.map +1 -1
  51. package/package.json +7 -4
  52. package/src/cli.test.ts +20 -3
  53. package/src/cli.tsx +25 -5
  54. package/src/exporter.ts +94 -18
  55. package/src/framer.js +122 -93
  56. package/src/index.ts +1 -1
  57. package/src/react.tsx +46 -1
  58. package/src/utils.ts +9 -0
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './framer.js';
2
- export { FramerStyles, UnframerBreakpoint, WithFramerBreakpoints, } from './react.js';
2
+ export { FramerStyles, UnframerBreakpoint, WithFramerBreakpoints, ContextProviders, } from './react.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAG3B,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAE3B,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -14,9 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.WithFramerBreakpoints = exports.FramerStyles = void 0;
17
+ exports.ContextProviders = exports.WithFramerBreakpoints = exports.FramerStyles = void 0;
18
18
  __exportStar(require("./framer.js"), exports);
19
19
  var react_js_1 = require("./react.js");
20
20
  Object.defineProperty(exports, "FramerStyles", { enumerable: true, get: function () { return react_js_1.FramerStyles; } });
21
21
  Object.defineProperty(exports, "WithFramerBreakpoints", { enumerable: true, get: function () { return react_js_1.WithFramerBreakpoints; } });
22
+ Object.defineProperty(exports, "ContextProviders", { enumerable: true, get: function () { return react_js_1.ContextProviders; } });
22
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA2B;AAG3B,uCAImB;AAHf,wGAAA,YAAY,OAAA;AAEZ,iHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA2B;AAE3B,uCAKmB;AAJf,wGAAA,YAAY,OAAA;AAEZ,iHAAA,qBAAqB,OAAA;AACrB,4GAAA,gBAAgB,OAAA"}
package/dist/react.d.ts CHANGED
@@ -17,4 +17,14 @@ export declare const WithFramerBreakpoints: import("react").ForwardRefExoticComp
17
17
  variant?: any;
18
18
  className?: string;
19
19
  }, "variant"> & import("react").RefAttributes<unknown>>;
20
+ export declare function ContextProviders({ locale, children, framerSiteId, routes, routeId, pathVariables, collectionUtils, locales, }: {
21
+ locale: any;
22
+ children: any;
23
+ framerSiteId: any;
24
+ routes: any;
25
+ routeId: any;
26
+ pathVariables: any;
27
+ collectionUtils: any;
28
+ locales: any;
29
+ }): import("react/jsx-runtime.js").JSX.Element;
20
30
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EAKhB,MAAM,OAAO,CAAA;AACd,OAAO,EAEH,sBAAsB,EAEzB,MAAM,UAAU,CAAA;AAWjB,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AA8BpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CAmD9D;AAED,eAAO,MAAM,qBAAqB;;kBACM,GAAG;oBAAc,MAAM;;;;cAAvB,GAAG;gBAAc,MAAM;uDA2E7D,CAAA"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EAKhB,MAAM,OAAO,CAAA;AACd,OAAO,EAEH,sBAAsB,EAEzB,MAAM,UAAU,CAAA;AAWjB,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AA8BpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CAmD9D;AAED,eAAO,MAAM,qBAAqB;;kBACM,GAAG;oBAAc,MAAM;;;;cAAvB,GAAG;gBAAc,MAAM;uDA2E7D,CAAA;AAkBF,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,eAAe,EACf,OAAO,GACV;;;;;;;;;CAAA,8CAuBA"}
package/dist/react.js CHANGED
@@ -14,6 +14,7 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.WithFramerBreakpoints = void 0;
16
16
  exports.FramerStyles = FramerStyles;
17
+ exports.ContextProviders = ContextProviders;
17
18
  const jsx_runtime_1 = require("react/jsx-runtime");
18
19
  const framer_js_1 = require("./framer.js");
19
20
  const react_1 = require("react");
@@ -104,4 +105,10 @@ const onResize = (callback) => {
104
105
  window.addEventListener('resize', callback);
105
106
  return () => window.removeEventListener('resize', callback);
106
107
  };
108
+ const framer_js_2 = require("./framer.js");
109
+ function ContextProviders({ locale, children, framerSiteId, routes, routeId, pathVariables, collectionUtils, locales, }) {
110
+ var _a;
111
+ const localeId = (_a = locales === null || locales === void 0 ? void 0 : locales.find((l) => l.slug === locale || l.code === locale || l.id === locale)) === null || _a === void 0 ? void 0 : _a.id;
112
+ return ((0, jsx_runtime_1.jsx)(framer_js_2.FetchClientProvider, { children: (0, jsx_runtime_1.jsx)(framer_js_2.CustomCursorHost, { children: (0, jsx_runtime_1.jsx)(framer_js_2.FormContext.Provider, { value: framerSiteId, children: (0, jsx_runtime_1.jsx)(framer_js_2.Router, { initialRoute: routeId, initialPathVariables: pathVariables, initialLocaleId: localeId, enableImproveInpDuringHydration: true, routes: routes, collectionUtils: collectionUtils, locales: locales, children: children }) }) }) }));
113
+ }
107
114
  //# sourceMappingURL=react.js.map
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -5,4 +5,5 @@ export declare const logger: {
5
5
  green(...args: any[]): void;
6
6
  error(...args: any[]): void;
7
7
  };
8
+ export declare function componentNameToPath(name: string): string;
8
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,EAAqD,GAAG,CAAA;AAI5E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,4BAEhD;AAKD,eAAO,MAAM,MAAM;;;;CAalB,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,EAAqD,GAAG,CAAA;AAI5E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,4BAEhD;AAKD,eAAO,MAAM,MAAM;;;;CAalB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,UAM/C"}
package/dist/utils.js CHANGED
@@ -5,10 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.logger = exports.spinner = void 0;
7
7
  exports.terminalMarkdown = terminalMarkdown;
8
+ exports.componentNameToPath = componentNameToPath;
8
9
  const picocolors_1 = __importDefault(require("picocolors"));
9
10
  const marked_1 = require("marked");
10
11
  const marked_terminal_1 = require("marked-terminal");
11
12
  const nanospinner_1 = require("nanospinner");
13
+ const just_kebab_case_1 = __importDefault(require("just-kebab-case"));
12
14
  exports.spinner = (0, nanospinner_1.createSpinner)('Downloading Framer Components');
13
15
  marked_1.marked.use((0, marked_terminal_1.markedTerminal)());
14
16
  function terminalMarkdown(markdown) {
@@ -30,4 +32,11 @@ exports.logger = {
30
32
  console.error([prefix, ...args].map((x) => picocolors_1.default.red(x)).join(' '));
31
33
  },
32
34
  };
35
+ function componentNameToPath(name) {
36
+ return name
37
+ .split('/')
38
+ .filter(Boolean)
39
+ .map((part) => (0, just_kebab_case_1.default)(part))
40
+ .join('/');
41
+ }
33
42
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAUA,4CAEC;AAZD,4DAA6B;AAE7B,mCAA+B;AAC/B,qDAAgD;AAChD,6CAA2C;AAE9B,QAAA,OAAO,GAAG,IAAA,2BAAa,EAAC,+BAA+B,CAAQ,CAAA;AAE5E,eAAM,CAAC,GAAG,CAAC,IAAA,gCAAc,GAAE,CAAC,CAAA;AAE5B,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;AAExD,MAAM,MAAM,GAAG,YAAY,CAAA;AACd,QAAA,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,IAAI;QACP,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,OAAM;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAWA,4CAEC;AAoBD,kDAMC;AAvCD,4DAA6B;AAE7B,mCAA+B;AAC/B,qDAAgD;AAChD,6CAA2C;AAC3C,sEAAuC;AAE1B,QAAA,OAAO,GAAG,IAAA,2BAAa,EAAC,+BAA+B,CAAQ,CAAA;AAE5E,eAAM,CAAC,GAAG,CAAC,IAAA,gCAAc,GAAE,CAAC,CAAA;AAE5B,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;AAExD,MAAM,MAAM,GAAG,YAAY,CAAA;AACd,QAAA,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,IAAI;QACP,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,OAAM;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC5C,OAAO,IAAI;SACN,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAS,EAAC,IAAI,CAAC,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC"}
package/esm/cli.d.ts CHANGED
@@ -5,10 +5,20 @@ export type Config = {
5
5
  components: {
6
6
  [name: string]: string;
7
7
  };
8
+ projectId?: string;
9
+ fullFramerProjectId?: string;
10
+ projectName?: string;
8
11
  framerWebPages?: {
9
12
  webPageId: string;
13
+ components?: string[];
10
14
  path: string;
11
15
  }[];
16
+ locales?: {
17
+ code: string;
18
+ id: string;
19
+ name: string;
20
+ slug: string;
21
+ }[];
12
22
  breakpoints?: BreakpointSizes;
13
23
  tokens?: StyleToken[];
14
24
  outDir?: string;
package/esm/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAMlD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK1C,eAAO,MAAM,GAAG,mBAAkB,CAAA;AA4IlC,MAAM,MAAM,MAAM,GAAG;IACjB,UAAU,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KACzB,CAAA;IACD,cAAc,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtD,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAMlD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK1C,eAAO,MAAM,GAAG,mBAAkB,CAAA;AAmJlC,MAAM,MAAM,MAAM,GAAG;IACjB,UAAU,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KACzB,CAAA;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,IAAI,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IACH,OAAO,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
package/esm/cli.js CHANGED
@@ -14,16 +14,15 @@ import { cac } from 'cac';
14
14
  import findUp from 'find-up';
15
15
  import fs from 'fs-extra';
16
16
  import path, { basename } from 'path';
17
- import { logger, spinner } from './utils.js';
17
+ import { componentNameToPath, logger, spinner } from './utils.js';
18
18
  const configNames = ['unframer.config.json', 'unframer.json'];
19
- import kebabCase from 'just-kebab-case';
20
19
  export const cli = cac('unframer');
21
20
  let defaultOutDir = 'framer';
22
21
  cli.command('[projectId]', 'Run unframer with optional project ID')
23
22
  .option('--outDir <dir>', 'Output directory', { default: defaultOutDir })
24
23
  .action(function main(projectId, options) {
25
24
  return __awaiter(this, void 0, void 0, function* () {
26
- var _a;
25
+ var _a, _b, _c;
27
26
  const outDir = options.outDir;
28
27
  if (projectId) {
29
28
  logger.log(`Fetching config for project ${projectId}`);
@@ -43,7 +42,14 @@ cli.command('[projectId]', 'Run unframer with optional project ID')
43
42
  return yield bundle({
44
43
  config: {
45
44
  outDir,
46
- components: Object.fromEntries(data.components.map((c) => [kebabCase(c.name), c.url])),
45
+ projectId: (_b = data === null || data === void 0 ? void 0 : data.project) === null || _b === void 0 ? void 0 : _b.id,
46
+ projectName,
47
+ fullFramerProjectId: (_c = data === null || data === void 0 ? void 0 : data.project) === null || _c === void 0 ? void 0 : _c.fullFramerProjectId,
48
+ locales: data === null || data === void 0 ? void 0 : data.locales,
49
+ components: Object.fromEntries(data.components.map((c) => [
50
+ componentNameToPath(c.name),
51
+ c.url,
52
+ ])),
47
53
  tokens: data.colorStyles,
48
54
  framerWebPages: data.framerWebPages || [],
49
55
  },
@@ -76,7 +82,7 @@ cli.command('[projectId]', 'Run unframer with optional project ID')
76
82
  config,
77
83
  watch: false,
78
84
  signal: controller.signal,
79
- cwd: path.resolve(process.cwd(), outDir || 'framer'),
85
+ cwd: path.resolve(process.cwd(), config.outDir || 'framer'),
80
86
  });
81
87
  });
82
88
  });
package/esm/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
package/esm/cli.test.js CHANGED
@@ -8,13 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { expect, test } from 'vitest';
11
- import { componentCamelCase, extractTokenInfo, findRelativeLinks } from './exporter.js';
11
+ import { componentCamelCase, extractTokenInfo, findRelativeLinks, } from './exporter.js';
12
+ import { componentNameToPath } from './utils.js';
13
+ test('componentNameToPath', () => {
14
+ expect(componentNameToPath('LogoTicker')).toMatchInlineSnapshot(`"logo-ticker"`);
15
+ expect(componentNameToPath('NavBar')).toMatchInlineSnapshot(`"nav-bar"`);
16
+ expect(componentNameToPath('components/HeroSection')).toMatchInlineSnapshot(`"components/hero-section"`);
17
+ expect(componentNameToPath('shared/nav/framerNav')).toMatchInlineSnapshot(`"shared/nav/framer-nav"`);
18
+ });
12
19
  test('componentCamelCase', () => {
13
20
  expect(componentCamelCase('logo-ticker')).toMatchInlineSnapshot(`"LogoTickerFramerComponent"`);
14
21
  expect(componentCamelCase('Logo-Ticker')).toMatchInlineSnapshot(`"LogoTickerFramerComponent"`);
15
22
  expect(componentCamelCase('logo')).toMatchInlineSnapshot(`"LogoFramerComponent"`);
16
23
  expect(componentCamelCase('nav')).toMatchInlineSnapshot(`"NavFramerComponent"`);
17
24
  expect(componentCamelCase('framer_nav')).toMatchInlineSnapshot(`"FramerNavFramerComponent"`);
25
+ expect(componentCamelCase('shared/nav/framer-nav')).toMatchInlineSnapshot(`"FramerNavFramerComponent"`);
18
26
  });
19
27
  test('findRelativeLinks', () => {
20
28
  expect(findRelativeLinks(`
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,eAAe,CAAA;AAEtB,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CACpD,uBAAuB,CAC1B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CACnD,sBAAsB,CACzB,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC1D,4BAA4B,CAC/B,CAAA;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC3B,MAAM,CACF,iBAAiB,CAAC;;;;;KAKrB,CAAC,CACD,CAAC,qBAAqB,CAAC;;;;;KAKvB,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,IAAI,CACA,kBAAkB,EAClB,GAAS,EAAE;IACP,MAAM,GAAG,GAAG;;;;;;;;;;SAUX,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqCpC,CAAC,CAAA;AACN,CAAC,CAAA,EACD,IAAI,GAAG,EAAE,CACZ,CAAA"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC3D,eAAe,CAClB,CAAA;IACD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;IACxE,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,CACvE,2BAA2B,CAC9B,CAAA;IACD,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CACrE,yBAAyB,CAC5B,CAAA;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CACpD,uBAAuB,CAC1B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CACnD,sBAAsB,CACzB,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC1D,4BAA4B,CAC/B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CACrE,4BAA4B,CAC/B,CAAA;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC3B,MAAM,CACF,iBAAiB,CAAC;;;;;KAKrB,CAAC,CACD,CAAC,qBAAqB,CAAC;;;;;KAKvB,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,IAAI,CACA,kBAAkB,EAClB,GAAS,EAAE;IACP,MAAM,GAAG,GAAG;;;;;;;;;;SAUX,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqCpC,CAAC,CAAA;AACN,CAAC,CAAA,EACD,IAAI,GAAG,EAAE,CACZ,CAAA"}
package/esm/exporter.d.ts CHANGED
@@ -32,7 +32,11 @@ export declare function extractPropControlsUnsafe(filename: any, name: any): Pro
32
32
  propertyControls?: PropertyControls;
33
33
  fonts?: ComponentFontBundle[];
34
34
  }>;
35
- export declare function propControlsToType(controls: PropertyControls, fileName: any): string;
35
+ export declare function propControlsToType({ config, fileName, controls, }: {
36
+ controls: PropertyControls;
37
+ fileName: any;
38
+ config: any;
39
+ }): string;
36
40
  export declare function parsePropertyControls(code: string): string | null;
37
41
  type ExtractedTokenInfo = {
38
42
  tokenName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAY9B,OAAO,EAEH,mBAAmB,EAKtB,MAAM,UAAU,CAAA;AAOjB,OAAO,EAGH,gBAAgB,EAEnB,MAAM,aAAa,CAAA;AAYpB,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,MAAM,CAAC,EACzB,MAAM,EACN,GAAG,EAAE,GAAQ,EACb,KAAa,EACb,MAA6C,GAChD,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;CACvB;;;;;;;;eAybA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAChC,OAAO,EAAE,MAAM,CAAA;CAClB,UAaA;AAED,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,UAAU,EAAE,EACpB,YAAY,GAAE,OAAO,GAAG,OAAiB,UA6B5C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,YAY7C;AAED,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,mDAmCvD;AAqGD,wBAAsB,yBAAyB,CAC3C,QAAQ,KAAA,EACR,IAAI,KAAA,GACL,OAAO,CAAC;IACP,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAC,CAiED;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,KAAA,UA6FtE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAqCjD;AAED,KAAK,kBAAkB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE9B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA2DnE;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAU7C;AAwCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAiBxC"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAY9B,OAAO,EAEH,mBAAmB,EAKtB,MAAM,UAAU,CAAA;AAOjB,OAAO,EAGH,gBAAgB,EAEnB,MAAM,aAAa,CAAA;AAYpB,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,MAAM,CAAC,EACzB,MAAM,EACN,GAAG,EAAE,GAAQ,EACb,KAAa,EACb,MAA6C,GAChD,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;CACvB;;;;;;;;eA8eA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAChC,OAAO,EAAE,MAAM,CAAA;CAClB,UAaA;AAED,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,UAAU,EAAE,EACpB,YAAY,GAAE,OAAO,GAAG,OAAiB,UA6B5C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,YAY7C;AAED,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,mDAmCvD;AAqGD,wBAAsB,yBAAyB,CAC3C,QAAQ,KAAA,EACR,IAAI,KAAA,GACL,OAAO,CAAC;IACP,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAC,CAiED;AAWD,wBAAgB,kBAAkB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,QAAQ,GACX,EAAE;IACC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,QAAQ,MAAA;IACR,MAAM,MAAA;CACT,UAoGA;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAqCjD;AAED,KAAK,kBAAkB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE9B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA2DnE;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAY7C;AAwCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAiBxC"}
package/esm/exporter.js CHANGED
@@ -82,16 +82,56 @@ export function bundle(_a) {
82
82
  const name = args.path;
83
83
  const url = components[name];
84
84
  return {
85
- contents: /** js */ `'use client'
85
+ contents: /** js **/ `
86
+ 'use client'
87
+ import { Fragment } from 'react'
88
+ import { ContextProviders } from 'unframer'
86
89
  import Component from '${yield resolveRedirect({
87
90
  url,
88
91
  signal,
89
92
  })}'
90
93
  import { WithFramerBreakpoints } from 'unframer'
91
- Component.Responsive = (props) => {
92
- return <WithFramerBreakpoints Component={Component} {...props} />
94
+
95
+ function WithRoot({ children, locale }) {
96
+ return (
97
+ <ContextProviders
98
+ routeId="x"
99
+ routes={{
100
+ x: {
101
+ elements: {},
102
+ page: children,
103
+ path: '/',
104
+ },
105
+ }}
106
+ framerSiteId={${JSON.stringify(config.fullFramerProjectId)}}
107
+ locale={locale}
108
+ locales={locales}
109
+ children={children}
110
+ />
111
+ )
112
+ }
113
+
114
+ const locales = ${JSON.stringify(config.locales) || '[]'}
115
+
116
+ Component.Responsive = ({ locale, ...props }) => {
117
+ return (
118
+ <WithRoot locale={locale}>
119
+ <WithFramerBreakpoints
120
+ Component={Component}
121
+ {...props}
122
+ />
123
+ </WithRoot>
124
+ )
125
+ }
126
+
127
+ export default function ComponentWithRoot({ locale, ...rest }) {
128
+ return (
129
+ <WithRoot locale={locale}>
130
+ <Component {...rest} />
131
+ </WithRoot>
132
+ )
93
133
  }
94
- export default Component
134
+ Object.assign(ComponentWithRoot, Component)
95
135
  `,
96
136
  loader: 'jsx',
97
137
  };
@@ -104,9 +144,10 @@ export function bundle(_a) {
104
144
  outdir: out,
105
145
  // outfile: path.resolve(cwd, sourcefile),
106
146
  });
147
+ const doNotEditComment = `/* This file was generated by Unframer for Framer project ${config.projectId || ''} "${config.projectName}", do not edit manually */\n`;
107
148
  function rebuild() {
108
149
  return __awaiter(this, void 0, void 0, function* () {
109
- const prevFiles = fs.readdirSync(out).map((x) => path.resolve(out, x));
150
+ const prevFiles = recursiveReaddir(out);
110
151
  const result = yield buildContext.rebuild();
111
152
  for (let file of result.outputFiles) {
112
153
  const resultPathAbs = path.resolve(out, file.path);
@@ -128,7 +169,7 @@ export function bundle(_a) {
128
169
  let inputCode = file.text;
129
170
  let codeNew = `// @ts-nocheck\n` +
130
171
  `/* eslint-disable */\n` +
131
- '/* This file was generated by Unframer, do not edit manually */\n' +
172
+ doNotEditComment +
132
173
  dprint.format('file.jsx', inputCode, {
133
174
  lineWidth: 140,
134
175
  quoteStyle: 'alwaysSingle',
@@ -152,6 +193,7 @@ export function bundle(_a) {
152
193
  continue;
153
194
  }
154
195
  logger.log(`writing`, path.relative(out, file.path));
196
+ fs.mkdirSync(path.dirname(resultPathAbs), { recursive: true });
155
197
  fs.writeFileSync(resultPathAbs, codeNew, 'utf-8');
156
198
  }
157
199
  spinner.stop();
@@ -167,7 +209,9 @@ export function bundle(_a) {
167
209
  const propControlsData = yield Promise.all(result === null || result === void 0 ? void 0 : result.outputFiles.map((file) => __awaiter(this, void 0, void 0, function* () {
168
210
  try {
169
211
  yield sema.acquire();
170
- const name = path.basename(file.path).replace(/\.js$/, '');
212
+ const name = path
213
+ .relative(out, file.path)
214
+ .replace(/\.js$/, '');
171
215
  const resultPathAbs = path.resolve(out, file.path);
172
216
  if (!components[name]) {
173
217
  return;
@@ -179,9 +223,14 @@ export function bundle(_a) {
179
223
  logger.log(`no property controls found for ${name}`);
180
224
  }
181
225
  allFonts.push(...(fonts || []).map((x) => (Object.assign(Object.assign({}, x), { fileName: path.basename(file.path) }))));
182
- const types = propControlsToType(propertyControls, name);
226
+ const types = propControlsToType({
227
+ controls: propertyControls,
228
+ fileName: name,
229
+ config,
230
+ });
183
231
  // name = 'framer-' + name
184
232
  // logger.log('name', name)
233
+ fs.mkdirSync(out, { recursive: true });
185
234
  fs.writeFileSync(path.resolve(out, `${name}.d.ts`), types);
186
235
  return {
187
236
  propertyControls,
@@ -195,7 +244,7 @@ export function bundle(_a) {
195
244
  }
196
245
  }))).finally(() => fs.rmSync(packageJson));
197
246
  spinner.stop();
198
- const cssString = '/* This file was generated by Unframer, do not edit manually */\n' +
247
+ const cssString = doNotEditComment +
199
248
  '/* This css file has all the necessary styles to run all your components */\n' +
200
249
  '\n' +
201
250
  resetCssStyles +
@@ -411,7 +460,7 @@ export function getDarkModeSelector(opts) {
411
460
  ' }\n' +
412
461
  '}');
413
462
  }
414
- return '.dark:root {\n' + content + '\n' + '}';
463
+ return '.dark {\n' + content + '\n' + '}';
415
464
  }
416
465
  export function getStyleTokensCss(tokens, darkModeType = 'class') {
417
466
  if (!(tokens === null || tokens === void 0 ? void 0 : tokens.length)) {
@@ -604,7 +653,8 @@ function safeJsonParse(text) {
604
653
  return null;
605
654
  }
606
655
  }
607
- export function propControlsToType(controls, fileName) {
656
+ export function propControlsToType({ config, fileName, controls, }) {
657
+ var _a;
608
658
  try {
609
659
  const types = Object.entries(controls || {})
610
660
  .map(([key, value]) => {
@@ -669,6 +719,7 @@ export function propControlsToType(controls, fileName) {
669
719
  const componentName = componentCamelCase(fileName);
670
720
  const defaultPropsTypes = [
671
721
  'children?: React.ReactNode',
722
+ 'locale?: Locale',
672
723
  'style?: React.CSSProperties',
673
724
  'className?: string',
674
725
  'id?: string',
@@ -682,6 +733,9 @@ export function propControlsToType(controls, fileName) {
682
733
  t += '/* This file was generated by Unframer, do not edit manually */\n';
683
734
  t += 'import * as React from "react"\n\n';
684
735
  t += 'import { UnframerBreakpoint } from "unframer"\n\n';
736
+ t += `type Locale = ${((_a = config.locales) === null || _a === void 0 ? void 0 : _a.length)
737
+ ? config.locales.map((l) => `'${l.code}'`).join(' | ')
738
+ : 'string'}\n`;
685
739
  t += `export interface Props {\n${defaultPropsTypes}${types}\n}\n\n`;
686
740
  t += `const ${componentName} = (props: Props) => any\n\n`;
687
741
  t += `type VariantsMap = Partial<Record<UnframerBreakpoint, Props['variant']>> & { base: Props['variant'] }\n\n`;
@@ -798,6 +852,8 @@ export function componentCamelCase(str) {
798
852
  if (!str) {
799
853
  return 'FramerComponent';
800
854
  }
855
+ // Take last part after slashes
856
+ str = str.split('/').filter(Boolean).pop() || '';
801
857
  str = str.replace(/-([\w])/g, (g) => g[1].toUpperCase());
802
858
  str = str.replace(/_([a-z])/g, (g) => g[1].toUpperCase());
803
859
  str = str[0].toUpperCase() + str.slice(1);
@@ -852,7 +908,6 @@ export function propCamelCase(str) {
852
908
  return str;
853
909
  }
854
910
  const resetCssStyles = `
855
-
856
911
  :root {
857
912
  -webkit-font-smoothing: antialiased;
858
913
  -moz-osx-font-smoothing: grayscale;
@@ -864,8 +919,14 @@ const resetCssStyles = `
864
919
  h1, h2, h3, h4, h5, h6, p, figure {
865
920
  margin: 0;
866
921
  }
867
- / * body, input, textarea, select, button { font-size: 12px; font-family: sans-serif; } */
868
-
869
922
 
870
923
  `;
924
+ function recursiveReaddir(dir) {
925
+ const dirents = fs.readdirSync(dir, { withFileTypes: true });
926
+ const files = dirents.map((dirent) => {
927
+ const res = path.resolve(dir, dirent.name);
928
+ return dirent.isDirectory() ? recursiveReaddir(res) : res;
929
+ });
930
+ return files.flat();
931
+ }
871
932
  //# sourceMappingURL=exporter.js.map