unframer 2.11.2 → 2.12.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 (47) hide show
  1. package/dist/exporter.d.ts +3 -0
  2. package/dist/exporter.d.ts.map +1 -1
  3. package/dist/exporter.js +54 -30
  4. package/dist/exporter.js.map +1 -1
  5. package/dist/exporter.test.js +3 -0
  6. package/dist/exporter.test.js.map +1 -1
  7. package/dist/framer.d.ts.map +1 -1
  8. package/dist/framer.js +840 -488
  9. package/dist/framer.js.map +1 -1
  10. package/dist/index.d.ts +3 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +9 -5
  13. package/dist/index.js.map +1 -1
  14. package/dist/react.d.ts +15 -6
  15. package/dist/react.d.ts.map +1 -1
  16. package/dist/react.js +66 -3
  17. package/dist/react.js.map +1 -1
  18. package/dist/utils.d.ts +1 -1
  19. package/dist/utils.d.ts.map +1 -1
  20. package/dist/utils.js.map +1 -1
  21. package/esm/exporter.d.ts +3 -0
  22. package/esm/exporter.d.ts.map +1 -1
  23. package/esm/exporter.js +55 -32
  24. package/esm/exporter.js.map +1 -1
  25. package/esm/exporter.test.js +4 -1
  26. package/esm/exporter.test.js.map +1 -1
  27. package/esm/framer.d.ts.map +1 -1
  28. package/esm/framer.js +837 -488
  29. package/esm/framer.js.map +1 -1
  30. package/esm/index.d.ts +3 -1
  31. package/esm/index.d.ts.map +1 -1
  32. package/esm/index.js +3 -1
  33. package/esm/index.js.map +1 -1
  34. package/esm/react.d.ts +15 -6
  35. package/esm/react.d.ts.map +1 -1
  36. package/esm/react.js +65 -5
  37. package/esm/react.js.map +1 -1
  38. package/esm/utils.d.ts +1 -1
  39. package/esm/utils.d.ts.map +1 -1
  40. package/esm/utils.js.map +1 -1
  41. package/package.json +3 -3
  42. package/src/exporter.test.ts +6 -1
  43. package/src/exporter.ts +68 -33
  44. package/src/framer.js +891 -494
  45. package/src/index.ts +7 -1
  46. package/src/react.tsx +98 -16
  47. package/src/utils.ts +1 -1
package/esm/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './framer.js';
2
- export { FramerStyles, UnframerBreakpoint, WithFramerBreakpoints, ContextProviders, } from './react.js';
2
+ import { AdaptedLink as Link, ResolveLinksAdapted as ResolveLinks } from './react.js';
3
+ export { FramerStyles, UnframerBreakpoint, WithFramerBreakpoints, ContextProviders, AdaptedLink, } from './react.js';
4
+ export { Link, ResolveLinks };
3
5
  //# 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;AAE3B,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EACH,WAAW,IAAI,IAAI,EACnB,mBAAmB,IAAI,YAAY,EACtC,MAAM,YAAY,CAAA;AACnB,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GACd,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA"}
package/esm/index.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './framer.js';
2
- export { FramerStyles, WithFramerBreakpoints, ContextProviders, } from './react.js';
2
+ import { AdaptedLink as Link, ResolveLinksAdapted as ResolveLinks, } from './react.js';
3
+ export { FramerStyles, WithFramerBreakpoints, ContextProviders, AdaptedLink, } from './react.js';
4
+ export { Link, ResolveLinks };
3
5
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAE3B,OAAO,EACH,YAAY,EAEZ,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EACH,WAAW,IAAI,IAAI,EACnB,mBAAmB,IAAI,YAAY,GACtC,MAAM,YAAY,CAAA;AACnB,OAAO,EACH,YAAY,EAEZ,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GACd,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA"}
package/esm/react.d.ts CHANGED
@@ -7,7 +7,7 @@ export type UnframerBreakpoint = keyof typeof defaultBreakpointSizes;
7
7
  export declare function FramerStyles({ Components }: {
8
8
  Components?: any[] | undefined;
9
9
  }): any;
10
- export declare const WithFramerBreakpoints: import("react").ForwardRefExoticComponent<{
10
+ export declare const WithFramerBreakpoints: React.ForwardRefExoticComponent<{
11
11
  Component: ComponentType<{
12
12
  variant?: any;
13
13
  className?: string;
@@ -16,15 +16,24 @@ export declare const WithFramerBreakpoints: import("react").ForwardRefExoticComp
16
16
  } & Omit<{
17
17
  variant?: any;
18
18
  className?: string;
19
- }, "variant"> & import("react").RefAttributes<unknown>>;
20
- export declare function ContextProviders({ locale, children, framerSiteId, routes, routeId, pathVariables, collectionUtils, locales, }: {
19
+ }, "variant"> & React.RefAttributes<unknown>>;
20
+ import React from 'react';
21
+ export declare function ResolveLinksAdapted({ links, children }: {
22
+ links: any;
23
+ children: any;
24
+ }): any;
25
+ export declare function AdaptedLink({ href, nodeId, openInNewTab, smoothScroll, ...rest }: {
26
+ [x: string]: any;
27
+ href: any;
28
+ nodeId: any;
29
+ openInNewTab: any;
30
+ smoothScroll: any;
31
+ }): import("react/jsx-runtime.js").JSX.Element;
32
+ export declare function ContextProviders({ locale, children, framerSiteId, routes, locales, }: {
21
33
  locale: any;
22
34
  children: any;
23
35
  framerSiteId: any;
24
36
  routes: any;
25
- routeId: any;
26
- pathVariables: any;
27
- collectionUtils: any;
28
37
  locales: any;
29
38
  }): import("react/jsx-runtime.js").JSX.Element;
30
39
  //# 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;uDAuF7D,CAAA;AAiCF,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,OAAO,EACP,aAAa,EACb,eAAe,EACf,OAAO,GACV;;;;;;;;;CAAA,8CAuBA"}
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;6CAuF7D,CAAA;AAoCF,OAAO,KAAK,MAAM,OAAO,CAAA;AA0BzB,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;;;CAAA,OAGtD;AAED,wBAAgB,WAAW,CAAC,EACxB,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,GAAG,IAAI,EACV;;;;;;CAAA,8CA2BA;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,MAAM,EAEN,OAAO,GACV;;;;;;CAAA,8CAsCA"}
package/esm/react.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { combinedCSSRules } from './framer.js';
4
- import { forwardRef, useId, useSyncExternalStore, } from 'react';
4
+ import { forwardRef, useId, useMemo, useSyncExternalStore, } from 'react';
5
5
  import { breakpointsStyles, defaultBreakpointSizes, getFontsStyles, } from './css.js';
6
6
  function classNames(...args) {
7
7
  return args.filter(Boolean).join(' ');
@@ -118,9 +118,69 @@ FetchClientProvider,
118
118
  // @ts-ignore
119
119
  FormContext,
120
120
  // @ts-ignore
121
- Router, } from './framer.js';
122
- export function ContextProviders({ locale, children, framerSiteId, routes, routeId, pathVariables, collectionUtils, locales, }) {
123
- const localeId = locales?.find((l) => l.slug === locale || l.code === locale || l.id === locale)?.id;
124
- return (_jsx(FetchClientProvider, { children: _jsx(CustomCursorHost, { children: _jsx(FormContext.Provider, { value: framerSiteId, children: _jsx(Router, { initialRoute: routeId, initialPathVariables: pathVariables, initialLocaleId: localeId, enableImproveInpDuringHydration: true, routes: routes, collectionUtils: collectionUtils, locales: locales, children: children }) }) }) }));
121
+ LocaleInfoContext,
122
+ // @ts-ignore
123
+ FramerLink as Link, } from './framer.js';
124
+ import React from 'react';
125
+ const routesContext = React.createContext({});
126
+ function replacePathParams(path, params) {
127
+ const paramRegex = /:[a-zA-Z]+/g;
128
+ const matches = path.match(paramRegex);
129
+ // If there is only one match
130
+ if (matches?.length === 1) {
131
+ const paramValue = Object.values(params)[0];
132
+ let res = path.replace(paramRegex, paramValue);
133
+ // console.log({ matches, params, paramValue, res })
134
+ return res;
135
+ }
136
+ return path.replace(paramRegex, (match) => {
137
+ const param = match.slice(1); // Remove the : prefix
138
+ return params[param] || match; // Replace with param value or keep original if not found
139
+ });
140
+ }
141
+ export function ResolveLinksAdapted({ links, children }) {
142
+ // TODO add ref
143
+ return children(links.map((x) => x.href));
144
+ }
145
+ export function AdaptedLink({ href, nodeId, openInNewTab, smoothScroll, ...rest }) {
146
+ const onlyForFramer = { nodeId, openInNewTab, smoothScroll };
147
+ const routes = React.useContext(routesContext);
148
+ const webPageId = href?.webPageId;
149
+ const pathVariables = href?.pathVariables;
150
+ const route = routes?.[webPageId];
151
+ const target = openInNewTab ? '_blank' : undefined;
152
+ // console.log({ href, pathVariables, path: route?.path, ...rest })
153
+ if (href?.startsWith && href.startsWith('/')) {
154
+ return _jsx("a", { href: href, target: target, ...rest });
155
+ }
156
+ if (!webPageId) {
157
+ return _jsx(Link, { href: href, ...rest, ...onlyForFramer });
158
+ }
159
+ if (!route || !route.path) {
160
+ return _jsx(Link, { href: href, ...rest, ...onlyForFramer });
161
+ }
162
+ let path = route.path;
163
+ if (pathVariables) {
164
+ path = replacePathParams(path, pathVariables);
165
+ }
166
+ if (path?.startsWith?.('/')) {
167
+ return _jsx("a", { href: path, target: target, ...rest });
168
+ }
169
+ return _jsx(Link, { href: path, ...rest, ...onlyForFramer });
170
+ }
171
+ export function ContextProviders({ locale, children, framerSiteId, routes,
172
+ // collectionUtils,
173
+ locales, }) {
174
+ const activeLocale = locales?.find((l) => l.slug === locale || l.code === locale || l.id === locale);
175
+ const localeInfo = useMemo(() => {
176
+ return {
177
+ activeLocale,
178
+ locales,
179
+ setLocale: async (localeOrLocaleId) => {
180
+ console.log('setLocale', localeOrLocaleId);
181
+ },
182
+ };
183
+ }, [activeLocale, locales]);
184
+ return (_jsx(FetchClientProvider, { children: _jsx(CustomCursorHost, { children: _jsx(FormContext.Provider, { value: framerSiteId, children: _jsx(LocaleInfoContext, { value: localeInfo, children: _jsx(routesContext.Provider, { value: routes, children: children }) }) }) }) }));
125
185
  }
126
186
  //# sourceMappingURL=react.js.map
package/esm/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/esm/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const spinner: any;
1
+ export declare const spinner: import("nanospinner").Spinner;
2
2
  export declare function terminalMarkdown(markdown: string): string | Promise<string>;
3
3
  export declare const logger: {
4
4
  debug: boolean;
@@ -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;;;;;CAclB,CAAA;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,mBAOrD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,+BAAiD,CAAA;AAIrE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,4BAEhD;AAKD,eAAO,MAAM,MAAM;;;;;CAclB,CAAA;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,mBAOrD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,+BAA+B,CAAQ,CAAA;AAE5E,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;AAE5B,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;AAExD,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,KAAK,EAAE,mBAAmB;IAC1B,GAAG,CAAC,GAAG,IAAI;QACP,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,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,IAAI,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,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAClD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC9D,OAAO,IAAI;SACN,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,+BAA+B,CAAC,CAAA;AAErE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;AAE5B,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;AAExD,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,KAAK,EAAE,mBAAmB;IAC1B,GAAG,CAAC,GAAG,IAAI;QACP,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,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,IAAI,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,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAClD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC9D,OAAO,IAAI;SACN,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unframer",
3
- "version": "2.11.2",
3
+ "version": "2.12.0",
4
4
  "description": "Import Framer components directly in your React app, type safe and customizable",
5
5
  "sideEffects": false,
6
6
  "repository": "https://github.com/remorses/unframer",
@@ -39,7 +39,7 @@
39
39
  "react-dom": "*"
40
40
  },
41
41
  "engines": {
42
- "node": ">=20.0.0"
42
+ "node": ">=22.0.0"
43
43
  },
44
44
  "dependencies": {
45
45
  "async-sema": "^3.1.1",
@@ -52,7 +52,7 @@
52
52
  "just-kebab-case": "^4.2.0",
53
53
  "marked": "^15.0.3",
54
54
  "marked-terminal": "^7.2.1",
55
- "nanospinner": "^1.2.0",
55
+ "nanospinner": "^1.2.2",
56
56
  "picocolors": "^1.0.1",
57
57
  "real-framer-motion": "npm:framer-motion@11.2.10",
58
58
  "spiceflow": "^1.4.1",
@@ -1,6 +1,11 @@
1
1
  import { describe, test, expect } from 'vitest'
2
- import { propCamelCase } from './exporter'
2
+ import { checkUnframerVersion, propCamelCase } from './exporter'
3
3
  import { replaceWebPageIds } from './esbuild'
4
+ import path from 'path'
5
+
6
+ test('checkUnframerVersion', () => {
7
+ checkUnframerVersion({ cwd: process.cwd() })
8
+ })
4
9
 
5
10
  describe('replaceWebPageIds', () => {
6
11
  test('replaces webPageIds with paths', () => {
package/src/exporter.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { build, BuildResult, context } from 'esbuild'
2
+ import packageJson from '../package.json'
2
3
 
3
4
  import url from 'url'
4
5
  import { Config } from './cli'
@@ -8,7 +9,7 @@ import dprint from 'dprint-node'
8
9
 
9
10
  import { nodeModulesPolyfillPlugin } from 'esbuild-plugins-node-modules-polyfill'
10
11
 
11
- import { exec } from 'child_process'
12
+ import { exec, execSync } from 'child_process'
12
13
  import fs from 'fs'
13
14
  import path from 'path'
14
15
  import dedent from 'string-dedent'
@@ -68,6 +69,12 @@ export async function bundle({
68
69
 
69
70
  spinner.start()
70
71
 
72
+ const otherRoutes = Object.fromEntries(
73
+ (config.framerWebPages || []).map((page) => [
74
+ page.webPageId,
75
+ { path: page.path },
76
+ ]),
77
+ )
71
78
  const buildContext = await context({
72
79
  absWorkingDir: out,
73
80
  entryPoints: Object.keys(components).map((name) => {
@@ -121,20 +128,17 @@ export async function bundle({
121
128
  JSON.stringify(config.locales) || '[]'
122
129
  }
123
130
 
124
- Component.Responsive = ({ locale, ...props }) => {
131
+ Component.Responsive = ({ locale, ...rest }) => {
125
132
  return (
126
133
  <ContextProviders
127
134
  routeId="x"
128
- routes={{
129
- x: {
130
- elements: {},
131
- page: <WithFramerBreakpoints
135
+ routes={${JSON.stringify(
136
+ otherRoutes,
137
+ )}}
138
+ children={<WithFramerBreakpoints
132
139
  Component={Component}
133
- {...props}
134
- />,
135
- path: '/',
136
- },
137
- }}
140
+ {...rest}
141
+ />}
138
142
  framerSiteId={${JSON.stringify(
139
143
  config.fullFramerProjectId,
140
144
  )}}
@@ -148,13 +152,12 @@ export async function bundle({
148
152
  return (
149
153
  <ContextProviders
150
154
  routeId="x"
151
- routes={{
152
- x: {
153
- elements: {},
154
- page: <Component {...rest} />,
155
- path: '/',
156
- },
157
- }}
155
+ routes={${JSON.stringify(
156
+ otherRoutes,
157
+ null,
158
+ 2,
159
+ )}}
160
+ children={<Component {...rest} />}
158
161
  framerSiteId={${JSON.stringify(
159
162
  config.fullFramerProjectId,
160
163
  )}}
@@ -227,21 +230,21 @@ export async function bundle({
227
230
  `/* eslint-disable */\n` +
228
231
  doNotEditComment +
229
232
  formatted
230
- if (framerWebPages?.length) {
231
- codeNew = replaceWebPageIds({
232
- code: codeNew,
233
- elements: framerWebPages,
234
- })
235
- }
236
- const lines = findRelativeLinks(codeNew)
237
- if (lines.length) {
238
- spinner.error(
239
- `found broken links for ${path.relative(out, file.path)}`,
240
- )
241
- lines.forEach((line) => {
242
- logger.log(`${path.resolve(out, file.path)}:${line + 1}`)
243
- })
244
- }
233
+ // if (framerWebPages?.length) {
234
+ // codeNew = replaceWebPageIds({
235
+ // code: codeNew,
236
+ // elements: framerWebPages,
237
+ // })
238
+ // }
239
+ // const lines = findRelativeLinks(codeNew)
240
+ // if (lines.length) {
241
+ // spinner.error(
242
+ // `found broken links for ${path.relative(out, file.path)}`,
243
+ // )
244
+ // lines.forEach((line) => {
245
+ // logger.log(`${path.resolve(out, file.path)}:${line + 1}`)
246
+ // })
247
+ // }
245
248
 
246
249
  if (existing === codeNew) {
247
250
  continue
@@ -402,11 +405,15 @@ export async function bundle({
402
405
 
403
406
  // when user press ctrl+c dispose
404
407
  process.on('SIGINT', async () => {
408
+ spinner.stop()
409
+ console.log()
405
410
  await buildContext.cancel()
406
411
  buildContext.dispose()
407
412
  process.exit(0) // Ensure process exits
408
413
  })
409
414
  process.on('SIGABRT', async () => {
415
+ spinner.stop()
416
+ console.log()
410
417
  await buildContext.cancel()
411
418
  buildContext.dispose()
412
419
  process.exit(0) // Ensure process exits
@@ -529,6 +536,8 @@ export async function bundle({
529
536
 
530
537
  `),
531
538
  )
539
+ checkUnframerVersion({ cwd: out })
540
+ console.log()
532
541
  return { result, rebuild, buildContext }
533
542
 
534
543
  // // when user press ctrl+c dispose
@@ -578,6 +587,32 @@ export async function bundle({
578
587
  // return res
579
588
  }
580
589
 
590
+ export function checkUnframerVersion({ cwd }) {
591
+ const currentVersion = packageJson.version
592
+ try {
593
+ const code = `import('unframer/package.json', { with: { type: 'json' } }).then(pkg => console.log(pkg.version || pkg.default?.version));`
594
+
595
+ const command = [nodePath, '-e', JSON.stringify(code)].join(' ')
596
+ const installedVersion = execSync(command, {
597
+ stdio: ['pipe', 'pipe', 'pipe'],
598
+ cwd,
599
+ })
600
+ .toString()
601
+ .trim()
602
+
603
+ if (installedVersion !== currentVersion) {
604
+ spinner.error(
605
+ `Unframer version mismatch. Please run: npm update unframer@latest`,
606
+ )
607
+ }
608
+ } catch (e: any) {
609
+ // console.error(e.stderr.toString())
610
+ spinner.error(
611
+ 'Unframer is not installed in your project. Please run: npm install unframer',
612
+ )
613
+ }
614
+ }
615
+
581
616
  export function getDarkModeSelector(opts: {
582
617
  darkModeType?: 'class' | 'media'
583
618
  content: string