unframer 3.0.2 → 3.0.5

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 (112) hide show
  1. package/dist/cli.js +1 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/cli.test.js +14 -6
  4. package/dist/cli.test.js.map +1 -1
  5. package/dist/example-code.test.js +1 -1
  6. package/dist/exporter.d.ts +0 -14
  7. package/dist/exporter.d.ts.map +1 -1
  8. package/dist/exporter.js +14 -187
  9. package/dist/exporter.js.map +1 -1
  10. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts +115 -0
  11. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts.map +1 -0
  12. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js +8 -0
  13. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js.map +1 -0
  14. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts +781 -0
  15. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts.map +1 -0
  16. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.js +8 -0
  17. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.js.map +1 -0
  18. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts +634 -0
  19. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts.map +1 -0
  20. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js +8 -0
  21. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js.map +1 -0
  22. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts +1561 -0
  23. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts.map +1 -0
  24. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.js +8 -0
  25. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.js.map +1 -0
  26. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts +3546 -0
  27. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts.map +1 -0
  28. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.js +8 -0
  29. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.js.map +1 -0
  30. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts +10258 -0
  31. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts.map +1 -0
  32. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js +8 -0
  33. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js.map +1 -0
  34. package/dist/framer.js +1230 -223
  35. package/dist/generated/api-client.js.map +1 -1
  36. package/dist/typescript.d.ts +20 -0
  37. package/dist/typescript.d.ts.map +1 -0
  38. package/dist/typescript.js +169 -0
  39. package/dist/typescript.js.map +1 -0
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/esm/cli.js +1 -0
  43. package/esm/cli.js.map +1 -1
  44. package/esm/cli.test.js +9 -1
  45. package/esm/cli.test.js.map +1 -1
  46. package/esm/example-code.test.js +1 -1
  47. package/esm/exporter.d.ts +0 -14
  48. package/esm/exporter.d.ts.map +1 -1
  49. package/esm/exporter.js +11 -182
  50. package/esm/exporter.js.map +1 -1
  51. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts +115 -0
  52. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts.map +1 -0
  53. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js +5 -0
  54. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js.map +1 -0
  55. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts +781 -0
  56. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts.map +1 -0
  57. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.js +5 -0
  58. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.js.map +1 -0
  59. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts +634 -0
  60. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts.map +1 -0
  61. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js +5 -0
  62. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js.map +1 -0
  63. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts +1561 -0
  64. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts.map +1 -0
  65. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.js +5 -0
  66. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.js.map +1 -0
  67. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts +3546 -0
  68. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts.map +1 -0
  69. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.js +5 -0
  70. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.js.map +1 -0
  71. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts +10258 -0
  72. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts.map +1 -0
  73. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js +5 -0
  74. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js.map +1 -0
  75. package/esm/framer.js +1230 -224
  76. package/esm/generated/api-client.js.map +1 -1
  77. package/esm/typescript.d.ts +20 -0
  78. package/esm/typescript.d.ts.map +1 -0
  79. package/esm/typescript.js +165 -0
  80. package/esm/typescript.js.map +1 -0
  81. package/esm/version.d.ts +1 -1
  82. package/esm/version.js +1 -1
  83. package/package.json +6 -3
  84. package/src/cli.test.ts +8 -1
  85. package/src/cli.ts +1 -1
  86. package/src/example-code.test.ts +1 -1
  87. package/src/exporter.ts +13 -203
  88. package/src/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js +7 -0
  89. package/src/framer-chunks/fontshare-622CVMZZ-HFPH543A.js +7 -0
  90. package/src/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js +7 -0
  91. package/src/framer-chunks/google-3ASCFEEO-3R47BR2A.js +7 -0
  92. package/src/framer-chunks/google-C62SNV32-LCI4F7VO.js +7 -0
  93. package/src/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js +7 -0
  94. package/src/framer.js +1170 -215
  95. package/src/generated/api-client.d.ts +790 -1042
  96. package/src/generated/api-client.js +5 -5
  97. package/src/styles/framer.css +1963 -0
  98. package/src/styles/reset.css +37 -0
  99. package/src/typescript.ts +196 -0
  100. package/src/version.ts +1 -1
  101. package/dist/generated/api-client.test.d.ts +0 -2
  102. package/dist/generated/api-client.test.d.ts.map +0 -1
  103. package/dist/generated/api-client.test.js +0 -3
  104. package/dist/generated/api-client.test.js.map +0 -1
  105. package/esm/generated/api-client.test.d.ts +0 -1
  106. package/esm/generated/api-client.test.d.ts.map +0 -1
  107. package/esm/generated/api-client.test.js +0 -2
  108. package/esm/generated/api-client.test.js.map +0 -1
  109. package/src/generated/api-client.d.ts.map +0 -1
  110. package/src/generated/api-client.js.map +0 -1
  111. package/src/generated/api-client.test.d.ts +0 -1
  112. package/src/generated/api-client.test.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/generated/api-client.js"],"names":[],"mappings":";;AAAA,oCAuBC;AAvBM,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE;QACtC,oCAAoC;QACpC,kDAAkD;QAClD,qBAAqB;QACrB,4CAA4C;QAC5C,QAAQ;QACR,iBAAiB;QACjB,KAAK;QACL,+BAA+B;QAC/B,0BAA0B;QAC1B,iDAAiD;QACjD,QAAQ;QACR,sBAAsB;QACtB,KAAK;QACL,OAAO;YACH,OAAO;YACH,yFAAyF;aAC5F,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACjB,CAAC;AACD,iFAAiF"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/generated/api-client.js"],"names":[],"mappings":";;AAAA,oCAuBC;AAvBM,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE;QACtC,oCAAoC;QACpC,kDAAkD;QAClD,qBAAqB;QACrB,4CAA4C;QAC5C,QAAQ;QACR,iBAAiB;QACjB,KAAK;QACL,+BAA+B;QAC/B,0BAA0B;QAC1B,iDAAiD;QACjD,QAAQ;QACR,sBAAsB;QACtB,KAAK;QACL,OAAO;YACH,OAAO;YACP,yFAAyF;aACxF,CAAC;QACN,CAAC;KACJ,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,iFAAiF"}
@@ -0,0 +1,20 @@
1
+ import { PropertyControls } from './framer.js';
2
+ export declare function componentCamelCase(str: string): string;
3
+ /**
4
+ * Generates TypeDoc comments that will be injected into JSX files
5
+ * instead of generating separate .d.ts files
6
+ */
7
+ export declare function propControlsToTypedocComments({ locales, componentImportedName, propertyControls, logger, includeLocaleTypes, }: {
8
+ propertyControls: PropertyControls;
9
+ componentImportedName: string;
10
+ locales?: Array<{
11
+ slug: string;
12
+ }>;
13
+ logger: any;
14
+ includeLocaleTypes?: boolean;
15
+ }): {
16
+ headerComment: string;
17
+ responsiveComment: string;
18
+ defaultExportComment: string;
19
+ };
20
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../src/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE/E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAoC7C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC1C,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,EACN,kBAA0B,GAC7B,EAAE;IACC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B;;;;EA0IA"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.componentCamelCase = componentCamelCase;
4
+ exports.propControlsToTypedocComments = propControlsToTypedocComments;
5
+ const compat_js_1 = require("./compat.js");
6
+ const framer_js_1 = require("./framer.js");
7
+ function componentCamelCase(str) {
8
+ str = str?.replace(/\.jsx?$/, '');
9
+ if (!str) {
10
+ return 'FramerComponent';
11
+ }
12
+ // Take last part after slashes
13
+ str = str.split('/').filter(Boolean).pop() || '';
14
+ // Replace all non-alphanumeric characters with space
15
+ // This handles spaces, special chars, underscores, hyphens, etc.
16
+ str = str.replace(/[^a-zA-Z0-9]+/g, ' ');
17
+ // Convert to camelCase: split by spaces, capitalize each word except first
18
+ const words = str.trim().split(/\s+/).filter(Boolean);
19
+ if (words.length === 0) {
20
+ return 'FramerComponent';
21
+ }
22
+ str = words
23
+ .map((word, index) => {
24
+ // First word: capitalize only if it starts with lowercase
25
+ if (index === 0) {
26
+ return word[0].toUpperCase() + word.slice(1);
27
+ }
28
+ // Other words: always capitalize first letter
29
+ return word[0].toUpperCase() + word.slice(1);
30
+ })
31
+ .join('');
32
+ // If component name starts with a number, add prefix 'Framer'
33
+ if (/^[0-9]/.test(str)) {
34
+ str = 'Framer' + str;
35
+ }
36
+ str = str + 'FramerComponent';
37
+ return str;
38
+ }
39
+ /**
40
+ * Generates TypeDoc comments that will be injected into JSX files
41
+ * instead of generating separate .d.ts files
42
+ */
43
+ function propControlsToTypedocComments({ locales, componentImportedName, propertyControls, logger, includeLocaleTypes = false, }) {
44
+ try {
45
+ const types = Object.entries(propertyControls || {})
46
+ .map(([key, value]) => {
47
+ if (!value) {
48
+ return;
49
+ }
50
+ const typescriptType = (value) => {
51
+ value.type;
52
+ switch (value.type) {
53
+ case framer_js_1.ControlType.Color:
54
+ return 'string';
55
+ case framer_js_1.ControlType.Boolean:
56
+ return 'boolean';
57
+ case framer_js_1.ControlType.Number:
58
+ return 'number';
59
+ case framer_js_1.ControlType.String:
60
+ return 'string';
61
+ case framer_js_1.ControlType.Enum: {
62
+ // @ts-expect-error
63
+ const options = value.optionTitles || value.options;
64
+ return options.map((x) => `'${x}'`).join(' | ');
65
+ }
66
+ case framer_js_1.ControlType.File:
67
+ return 'string';
68
+ case framer_js_1.ControlType.Image:
69
+ return 'string';
70
+ case framer_js_1.ControlType.ComponentInstance:
71
+ return 'React.ReactNode';
72
+ case framer_js_1.ControlType.Array:
73
+ // @ts-expect-error
74
+ return `${typescriptType(value.control)}[]`;
75
+ case framer_js_1.ControlType.Object:
76
+ // @ts-expect-error
77
+ return `{${Object.entries(value.controls)
78
+ .map(([k, v]) => {
79
+ // @ts-expect-error
80
+ return `${k}: ${typescriptType(v)}`;
81
+ })
82
+ .join(', ')}`;
83
+ case framer_js_1.ControlType.Date:
84
+ return 'string | Date';
85
+ case framer_js_1.ControlType.Link:
86
+ return 'string';
87
+ case framer_js_1.ControlType.ResponsiveImage:
88
+ return `{src: string, srcSet?: string, alt?: string}`;
89
+ case framer_js_1.ControlType.FusedNumber:
90
+ return 'number';
91
+ case framer_js_1.ControlType.Transition:
92
+ return 'any';
93
+ case framer_js_1.ControlType.EventHandler:
94
+ return 'Function';
95
+ }
96
+ };
97
+ let name = (0, compat_js_1.propCamelCaseJustLikeFramer)(value.title || key || '');
98
+ if (!name) {
99
+ return '';
100
+ }
101
+ return ` * ${name}?: ${typescriptType(value)} // ${value.title || name}`;
102
+ })
103
+ .filter(Boolean)
104
+ .join('\n');
105
+ const componentName = componentImportedName;
106
+ const defaultPropsJsDoc = [
107
+ ' * children?: React.ReactNode',
108
+ includeLocaleTypes ? ' * locale?: Locale' : null,
109
+ ' * style?: React.CSSProperties',
110
+ ' * className?: string',
111
+ ' * id?: string',
112
+ ' * ref?: any',
113
+ ' * width?: any',
114
+ ' * height?: any',
115
+ ' * layoutId?: string',
116
+ ].filter(Boolean).join('\n');
117
+ // Generate header comment with type definitions
118
+ let headerComment = '';
119
+ if (includeLocaleTypes) {
120
+ headerComment += '/**\n';
121
+ headerComment += ' * @typedef Locale\n';
122
+ // Generate union type from locales if available
123
+ const localeType = (() => {
124
+ if (locales && Array.isArray(locales) && locales.length > 0) {
125
+ return locales.map((locale) => `'${locale.slug}'`).join(' | ');
126
+ }
127
+ return 'string';
128
+ })();
129
+ headerComment += ` * ${localeType}\n`;
130
+ headerComment += ' */\n\n';
131
+ }
132
+ headerComment += '/**\n';
133
+ headerComment += ' * @typedef {{\n';
134
+ headerComment += defaultPropsJsDoc;
135
+ if (types) {
136
+ headerComment += '\n' + types;
137
+ }
138
+ headerComment += `\n}} Props\n`;
139
+ headerComment += '\n */';
140
+ // Generate responsive comment
141
+ let responsiveComment = '/**\n';
142
+ responsiveComment += ' * @type {import("unframer").UnframerBreakpoint}\n';
143
+ responsiveComment += ' * Represents a responsive breakpoint for unframer.\n';
144
+ responsiveComment += ' */\n\n';
145
+ responsiveComment += '/**\n';
146
+ responsiveComment += ' * @typedef VariantsMap\n';
147
+ responsiveComment += " * Partial record of UnframerBreakpoint to Props.variant, with a mandatory 'base' key.\n";
148
+ responsiveComment += " * { [key in UnframerBreakpoint]?: Props['variant'] } & { base: Props['variant'] }\n";
149
+ responsiveComment += ' */\n\n';
150
+ responsiveComment += `/**\n * Renders ${componentName} for all breakpoints with a variants map. Variant prop is inferred per breakpoint.\n * @function\n * @param {Omit<Props, 'variant'> & {variants?: VariantsMap}} props\n * @returns {any}\n */`;
151
+ // Generate default export comment - use inline function type instead of referencing undefined type
152
+ const defaultExportComment = `/** @type {function(Props): any} */`;
153
+ return {
154
+ headerComment,
155
+ responsiveComment,
156
+ defaultExportComment,
157
+ };
158
+ }
159
+ catch (e) {
160
+ logger.error(e.message);
161
+ logger.error('cannot generate typedoc comments', e.stack);
162
+ return {
163
+ headerComment: '',
164
+ responsiveComment: '',
165
+ defaultExportComment: '',
166
+ };
167
+ }
168
+ }
169
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../src/typescript.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "3.0.2";
1
+ export declare const version = "3.0.5";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '3.0.2';
4
+ exports.version = '3.0.5';
5
5
  //# sourceMappingURL=version.js.map
package/esm/cli.js CHANGED
@@ -199,6 +199,7 @@ export async function configFromFetch({ projectId, externalPackages = [], allExt
199
199
  }) || [];
200
200
  const config = {
201
201
  ...data,
202
+ pageBackgroundColor: data.project?.pageBackgroundColor || '',
202
203
  breakpoints: defaultBreakpointSizes,
203
204
  outDir,
204
205
  externalPackages,
package/esm/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/esm/cli.test.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { expect, test } from 'vitest';
2
- import { componentCamelCase, extractTokenInfo, findRelativeLinks, } from './exporter.js';
2
+ import { extractTokenInfo, findRelativeLinks, } from './exporter.js';
3
+ import { componentCamelCase } from './typescript.js';
3
4
  import { componentNameToPath } from './utils.js';
4
5
  test('componentNameToPath', () => {
5
6
  expect(componentNameToPath('LogoTicker')).toMatchInlineSnapshot(`"logo-ticker"`);
@@ -14,6 +15,13 @@ test('componentCamelCase', () => {
14
15
  expect(componentCamelCase('nav')).toMatchInlineSnapshot(`"NavFramerComponent"`);
15
16
  expect(componentCamelCase('framer_nav')).toMatchInlineSnapshot(`"FramerNavFramerComponent"`);
16
17
  expect(componentCamelCase('shared/nav/framer-nav')).toMatchInlineSnapshot(`"FramerNavFramerComponent"`);
18
+ // Test cases with spaces and special characters
19
+ expect(componentCamelCase('hero section')).toMatchInlineSnapshot(`"HeroSectionFramerComponent"`);
20
+ expect(componentCamelCase('hero-section with spaces')).toMatchInlineSnapshot(`"HeroSectionWithSpacesFramerComponent"`);
21
+ expect(componentCamelCase('component@#$name')).toMatchInlineSnapshot(`"ComponentNameFramerComponent"`);
22
+ expect(componentCamelCase('123-component')).toMatchInlineSnapshot(`"Framer123ComponentFramerComponent"`);
23
+ expect(componentCamelCase('component!!name??test')).toMatchInlineSnapshot(`"ComponentNameTestFramerComponent"`);
24
+ expect(componentCamelCase(' multiple spaces ')).toMatchInlineSnapshot(`"MultipleSpacesFramerComponent"`);
17
25
  });
18
26
  test('findRelativeLinks', () => {
19
27
  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,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,KAAK,IAAI,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,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,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,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;IACD,gDAAgD;IAChD,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAA;IAChG,MAAM,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,wCAAwC,CAAC,CAAA;IACtH,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,CAAA;IACtG,MAAM,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,qCAAqC,CAAC,CAAA;IACxG,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,oCAAoC,CAAC,CAAA;IAC/G,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,iCAAiC,CAAC,CAAA;AAChH,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,KAAK,IAAI,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,EACD,IAAI,GAAG,EAAE,CACZ,CAAA"}
@@ -26,7 +26,7 @@ describe('createExampleComponentCode', () => {
26
26
 
27
27
  export default function App() {
28
28
  return (
29
- <div className='flex flex-col items-center gap-3 '>
29
+ <div className='flex flex-col items-center gap-3 bg-[rgb(8,_8, 7)]'>
30
30
  <NavigationFramerComponent.Responsive
31
31
  ctaVariant={"Primary"}
32
32
  />
package/esm/exporter.d.ts CHANGED
@@ -61,19 +61,6 @@ export declare function extractPropControlsUnsafe(filename: any, name: any): Pro
61
61
  propertyControls?: PropertyControls;
62
62
  fonts?: ComponentFontBundle[];
63
63
  }>;
64
- /**
65
- * Generates TypeDoc comments that will be injected into JSX files
66
- * instead of generating separate .d.ts files
67
- */
68
- export declare function propControlsToTypedocComments({ config, fileName, controls, }: {
69
- controls: PropertyControls;
70
- fileName: string;
71
- config: Config;
72
- }): {
73
- headerComment: string;
74
- responsiveComment: string;
75
- defaultExportComment: string;
76
- };
77
64
  export declare function parsePropertyControls(code: string): string | null;
78
65
  type ExtractedTokenInfo = {
79
66
  tokenName: string;
@@ -81,7 +68,6 @@ type ExtractedTokenInfo = {
81
68
  defaultValue: string;
82
69
  };
83
70
  export declare function extractTokenInfo(code: string): ExtractedTokenInfo[];
84
- export declare function componentCamelCase(str: string): string;
85
71
  export declare function indentWithTabs(str: string, tabs: string): string;
86
72
  export declare function createExampleComponentCode({ outDir, config, }: {
87
73
  outDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAKxE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAkB9B,OAAO,EACH,mBAAmB,EAOtB,MAAM,UAAU,CAAA;AAUjB,OAAO,EAGH,gBAAgB,EAEnB,MAAM,aAAa,CAAA;AAgBpB,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsrBA;AAID,wBAAgB,qBAAqB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;;;CAAA,+BA+BjD;AAED,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;;;CAAA,oBAyB1C;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,UAqD5C;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,YAY7C;AA2ID,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,CAuED;AAWD,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;AA2DD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAMvD;AAED,wBAAsB,0BAA0B,CAAC,EAC7C,MAAM,EACN,MAAM,GACT,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACjB;;;GA4DA;AAED,KAAK,YAAY,GAAG;IAChB,UAAU,EAAE,KAAK,CAAC;QACd,iBAAiB,EAAE,MAAM,CAAA;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,aAAa,EAAE,MAAM,CAAA;QACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KACtC,CAAC,CAAA;CACL,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAyB5E"}
package/esm/exporter.js CHANGED
@@ -12,8 +12,9 @@ import { babelPluginJsxTransform, removeJsxExpressionContainer, } from './babel-
12
12
  import { babelPluginTypedoc } from './babel-typedoc.js';
13
13
  import { propCamelCaseJustLikeFramer } from './compat.js';
14
14
  import { breakpointsStyles, defaultBreakpointSizes, getFontsStyles, groupBy, logFontsUsage, } from './css.js';
15
+ import { propControlsToTypedocComments, componentCamelCase, } from './typescript.js';
15
16
  import { defaultExternalPackages, esbuildPluginBundleDependencies, resolveRedirect, } from './esbuild';
16
- import { ControlType, combinedCSSRules, } from './framer.js';
17
+ import { ControlType, } from './framer.js';
17
18
  import { notifyError } from './sentry';
18
19
  import { kebabCase, logger, spinner, stackblitzDemoExample, terminalMarkdown, } from './utils.js';
19
20
  import { installPackagesBatch } from './package-manager.js';
@@ -289,10 +290,13 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
289
290
  ...x,
290
291
  fileName: path.basename(file.path),
291
292
  })));
293
+ const componentImportedName = componentCamelCase(name);
292
294
  const typedocComments = propControlsToTypedocComments({
293
- controls: propertyControls,
294
- fileName: name,
295
- config,
295
+ propertyControls: propertyControls,
296
+ logger,
297
+ componentImportedName,
298
+ locales: config.locales,
299
+ includeLocaleTypes: true,
296
300
  });
297
301
  logger.log(`Generated TypeDoc comments for ${name}: ${!!typedocComments.headerComment}`);
298
302
  await fs.promises.mkdir(out, { recursive: true });
@@ -317,15 +321,12 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
317
321
  }
318
322
  });
319
323
  const cssString = doNotEditComment +
320
- '/* This css file has all the necessary styles to run all your components */\n' +
321
- '\n' +
322
- resetCssStyles +
324
+ '/* This css file has all the necessary styles to run all your Framer components */\n' +
325
+ '@import "unframer/styles/reset.css";\n' +
326
+ '@import "unframer/styles/framer.css";\n\n' +
323
327
  getStyleTokensCss(tokens || []) +
324
328
  breakpointsStyles(breakpoints) +
325
329
  '\n\n' +
326
- combinedCSSRules
327
- .map((x) => (x?.startsWith(' ') ? dedent(x) : x))
328
- .join('\n') +
329
330
  getFontsStyles(allFonts);
330
331
  await fs.promises.writeFile(path.resolve(out, 'styles.css'), cssString, 'utf-8');
331
332
  logFontsUsage(allFonts)
@@ -840,139 +841,6 @@ function safeJsonParse(text) {
840
841
  return null;
841
842
  }
842
843
  }
843
- /**
844
- * Generates TypeDoc comments that will be injected into JSX files
845
- * instead of generating separate .d.ts files
846
- */
847
- export function propControlsToTypedocComments({ config, fileName, controls, }) {
848
- try {
849
- const types = Object.entries(controls || {})
850
- .map(([key, value]) => {
851
- if (!value) {
852
- return;
853
- }
854
- const typescriptType = (value) => {
855
- value.type;
856
- switch (value.type) {
857
- case ControlType.Color:
858
- return 'string';
859
- case ControlType.Boolean:
860
- return 'boolean';
861
- case ControlType.Number:
862
- return 'number';
863
- case ControlType.String:
864
- return 'string';
865
- case ControlType.Enum: {
866
- // @ts-expect-error
867
- const options = value.optionTitles || value.options;
868
- return options.map((x) => `'${x}'`).join(' | ');
869
- }
870
- case ControlType.File:
871
- return 'string';
872
- case ControlType.Image:
873
- return 'string';
874
- case ControlType.ComponentInstance:
875
- return 'React.ReactNode';
876
- case ControlType.Array:
877
- // @ts-expect-error
878
- return `${typescriptType(value.control)}[]`;
879
- case ControlType.Object:
880
- // @ts-expect-error
881
- return `{${Object.entries(value.controls)
882
- .map(([k, v]) => {
883
- // @ts-expect-error
884
- return `${k}: ${typescriptType(v)}`;
885
- })
886
- .join(', ')}`;
887
- case ControlType.Date:
888
- return 'string | Date';
889
- case ControlType.Link:
890
- return 'string';
891
- case ControlType.ResponsiveImage:
892
- return `{src: string, srcSet?: string, alt?: string}`;
893
- case ControlType.FusedNumber:
894
- return 'number';
895
- case ControlType.Transition:
896
- return 'any';
897
- case ControlType.EventHandler:
898
- return 'Function';
899
- }
900
- };
901
- let name = propCamelCaseJustLikeFramer(value.title || key || '');
902
- if (!name) {
903
- return '';
904
- }
905
- return ` * ${name}?: ${typescriptType(value)} // ${value.title || name}`;
906
- })
907
- .filter(Boolean)
908
- .join('\n');
909
- const componentName = componentCamelCase(fileName);
910
- const defaultPropsJsDoc = [
911
- ' * children?: React.ReactNode',
912
- ' * locale?: Locale',
913
- ' * style?: React.CSSProperties',
914
- ' * className?: string',
915
- ' * id?: string',
916
- ' * ref?: any',
917
- ' * width?: any',
918
- ' * height?: any',
919
- ' * layoutId?: string',
920
- ].join('\n');
921
- // Generate header comment with type definitions
922
- let headerComment = '/**\n';
923
- headerComment += ' * @typedef Locale\n';
924
- // Generate union type from config.locales if available
925
- const localeType = (() => {
926
- if (config?.locales &&
927
- Array.isArray(config.locales) &&
928
- config.locales.length > 0) {
929
- return config.locales
930
- .map((locale) => `'${locale.slug}'`)
931
- .join(' | ');
932
- }
933
- return 'string';
934
- })();
935
- headerComment += ` * ${localeType}\n`;
936
- headerComment += ' */\n\n';
937
- headerComment += '/**\n';
938
- headerComment += ' * @typedef {{\n';
939
- headerComment += defaultPropsJsDoc;
940
- if (types) {
941
- headerComment += '\n' + types;
942
- }
943
- headerComment += `\n}} Props\n`;
944
- headerComment += '\n */\n\n';
945
- headerComment += '/**\n';
946
- headerComment += ' * @type {import("unframer").UnframerBreakpoint}\n';
947
- headerComment += ' * Represents a responsive breakpoint for unframer.\n';
948
- headerComment += ' */\n\n';
949
- headerComment += '/**\n';
950
- headerComment += ' * @typedef VariantsMap\n';
951
- headerComment +=
952
- " * Partial record of UnframerBreakpoint to Props.variant, with a mandatory 'base' key.\n";
953
- headerComment +=
954
- " * { [key in UnframerBreakpoint]?: Props['variant'] } & { base: Props['variant'] }\n";
955
- headerComment += ' */';
956
- // Generate responsive comment
957
- const responsiveComment = `/**\n * Renders ${componentName} for all breakpoints with a variants map. Variant prop is inferred per breakpoint.\n * @function\n * @param {Omit<Props, 'variant'> & {variants?: VariantsMap}} props\n * @returns {any}\n */`;
958
- // Generate default export comment - use inline function type instead of referencing undefined type
959
- const defaultExportComment = `/** @type {function(Props): any} */`;
960
- return {
961
- headerComment,
962
- responsiveComment,
963
- defaultExportComment,
964
- };
965
- }
966
- catch (e) {
967
- logger.error(e.message);
968
- logger.error('cannot generate typedoc comments', e.stack);
969
- return {
970
- headerComment: '',
971
- responsiveComment: '',
972
- defaultExportComment: '',
973
- };
974
- }
975
- }
976
844
  export function parsePropertyControls(code) {
977
845
  const start = code.indexOf('addPropertyControls(');
978
846
  if (start === -1) {
@@ -1072,19 +940,6 @@ function splitOnce(str, separator) {
1072
940
  }
1073
941
  return [str.slice(0, index), str.slice(index + 1)];
1074
942
  }
1075
- export function componentCamelCase(str) {
1076
- str = str?.replace(/\.jsx?$/, '');
1077
- if (!str) {
1078
- return 'FramerComponent';
1079
- }
1080
- // Take last part after slashes
1081
- str = str.split('/').filter(Boolean).pop() || '';
1082
- str = str.replace(/-([\w])/g, (g) => g[1].toUpperCase());
1083
- str = str.replace(/_([a-z])/g, (g) => g[1].toUpperCase());
1084
- str = str[0].toUpperCase() + str.slice(1);
1085
- str = str + 'FramerComponent';
1086
- return str;
1087
- }
1088
943
  const breakpointVariants = ['mobile', 'tablet', 'desktop'];
1089
944
  function getVariantsFromPropControls(propControls) {
1090
945
  if (!propControls?.variant) {
@@ -1112,32 +967,6 @@ function findExampleProperty(propertyControls) {
1112
967
  }
1113
968
  return propCamelCaseJustLikeFramer(stringProp[1]?.title || '');
1114
969
  }
1115
- // these styles are global styles injected by Framer in the generated websites, without them things like icons can look weird
1116
- const resetCssStyles = `
1117
-
1118
- :root {
1119
- -webkit-font-smoothing: antialiased;
1120
- -moz-osx-font-smoothing: grayscale;
1121
- }
1122
-
1123
- * {
1124
- box-sizing: border-box;
1125
- -webkit-font-smoothing: inherit;
1126
- }
1127
-
1128
- .unframer h1, .unframer h2, .unframer h3, .unframer h4, .unframer h5, .unframer h6, .unframer p, .unframer figure {
1129
- margin: 0;
1130
- }
1131
-
1132
- .unframer {
1133
- line-height: normal;
1134
- }
1135
-
1136
- .unframer, .unframer input, .unframer textarea, .unframer select, .unframer button {
1137
- font-size: 12px;
1138
- font-family: sans-serif;
1139
- }
1140
- `;
1141
970
  async function recursiveReaddir(dir) {
1142
971
  const dirents = await fs.promises.readdir(dir, { withFileTypes: true });
1143
972
  const files = await Promise.all(dirents.map((dirent) => {