unframer 2.27.2 → 3.0.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.
- package/dist/babel-jsx.js +2 -2
- package/dist/babel-jsx.js.map +1 -1
- package/dist/babel-typedoc.d.ts +39 -0
- package/dist/babel-typedoc.d.ts.map +1 -0
- package/dist/babel-typedoc.js +77 -0
- package/dist/babel-typedoc.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/esbuild.d.ts +2 -1
- package/dist/esbuild.d.ts.map +1 -1
- package/dist/esbuild.js +16 -9
- package/dist/esbuild.js.map +1 -1
- package/dist/exporter.d.ts +25 -8
- package/dist/exporter.d.ts.map +1 -1
- package/dist/exporter.js +381 -195
- package/dist/exporter.js.map +1 -1
- package/dist/exporter.test.js +0 -4
- package/dist/exporter.test.js.map +1 -1
- package/dist/framer.js +229 -102
- package/dist/generated/api-client.d.ts +3 -3
- package/dist/generated/api-client.d.ts.map +1 -1
- package/dist/package-manager.d.ts +10 -0
- package/dist/package-manager.d.ts.map +1 -0
- package/dist/package-manager.js +145 -0
- package/dist/package-manager.js.map +1 -0
- package/dist/react.d.ts +32 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -3
- package/dist/react.js.map +1 -1
- package/dist/undici-dispatcher.js +1 -2
- package/dist/undici-dispatcher.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/esm/babel-jsx.js +2 -2
- package/esm/babel-jsx.js.map +1 -1
- package/esm/babel-typedoc.d.ts +39 -0
- package/esm/babel-typedoc.d.ts.map +1 -0
- package/esm/babel-typedoc.js +74 -0
- package/esm/babel-typedoc.js.map +1 -0
- package/esm/cli.d.ts.map +1 -1
- package/esm/cli.js +7 -2
- package/esm/cli.js.map +1 -1
- package/esm/esbuild.d.ts +2 -1
- package/esm/esbuild.d.ts.map +1 -1
- package/esm/esbuild.js +16 -9
- package/esm/esbuild.js.map +1 -1
- package/esm/exporter.d.ts +25 -8
- package/esm/exporter.d.ts.map +1 -1
- package/esm/exporter.js +378 -194
- package/esm/exporter.js.map +1 -1
- package/esm/exporter.test.js +0 -4
- package/esm/exporter.test.js.map +1 -1
- package/esm/framer.js +229 -102
- package/esm/package-manager.d.ts +10 -0
- package/esm/package-manager.d.ts.map +1 -0
- package/esm/package-manager.js +141 -0
- package/esm/package-manager.js.map +1 -0
- package/esm/react.d.ts +32 -0
- package/esm/react.d.ts.map +1 -1
- package/esm/react.js +1 -3
- package/esm/react.js.map +1 -1
- package/esm/undici-dispatcher.js +1 -2
- package/esm/undici-dispatcher.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.d.ts.map +1 -1
- package/esm/version.js +1 -1
- package/esm/version.js.map +1 -1
- package/package.json +5 -4
- package/src/babel-jsx.ts +2 -2
- package/src/babel-typedoc.ts +132 -0
- package/src/cli.ts +7 -2
- package/src/esbuild.ts +17 -12
- package/src/exporter.test.ts +0 -5
- package/src/exporter.ts +448 -237
- package/src/framer.js +237 -103
- package/src/package-manager.ts +164 -0
- package/src/react.tsx +33 -0
- package/src/undici-dispatcher.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/framer.d.ts.map +0 -1
- package/dist/framer.js.map +0 -1
- package/esm/framer-chunks/chunk-22NYTOTD.d.ts +0 -14
- package/esm/framer-chunks/chunk-22NYTOTD.d.ts.map +0 -1
- package/esm/framer-chunks/chunk-22NYTOTD.js +0 -99
- package/esm/framer-chunks/chunk-22NYTOTD.js.map +0 -1
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.d.ts +0 -115
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.d.ts.map +0 -1
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.js +0 -5
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.js.map +0 -1
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.d.ts +0 -781
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.d.ts.map +0 -1
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.js +0 -5
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.js.map +0 -1
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.d.ts +0 -634
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.d.ts.map +0 -1
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.js +0 -5
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.js.map +0 -1
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.d.ts +0 -18
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.d.ts.map +0 -1
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.js +0 -5
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.js.map +0 -1
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.d.ts +0 -9827
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.d.ts.map +0 -1
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.js +0 -5
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.js.map +0 -1
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.d.ts +0 -3231
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.d.ts.map +0 -1
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.js +0 -5
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.js.map +0 -1
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.d.ts +0 -1499
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.d.ts.map +0 -1
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.js +0 -5
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.js.map +0 -1
- package/esm/framer.d.ts.map +0 -1
- package/esm/framer.js.map +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { exec, spawn } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
import { spinner } from './utils.js';
|
|
4
|
+
const execAsync = promisify(exec);
|
|
5
|
+
export async function getPackageManager(targetDir) {
|
|
6
|
+
const { detect } = await import('@antfu/ni');
|
|
7
|
+
const packageManager = await detect({ programmatic: true, cwd: targetDir });
|
|
8
|
+
if (packageManager === 'yarn@berry') {
|
|
9
|
+
return 'yarn';
|
|
10
|
+
}
|
|
11
|
+
else if (packageManager === 'pnpm@6' || packageManager === 'pnpm') {
|
|
12
|
+
return 'pnpm';
|
|
13
|
+
}
|
|
14
|
+
else if (packageManager === 'bun') {
|
|
15
|
+
return 'bun';
|
|
16
|
+
}
|
|
17
|
+
else if (packageManager === 'deno') {
|
|
18
|
+
return 'deno';
|
|
19
|
+
}
|
|
20
|
+
else if (packageManager === 'npm' || packageManager === 'yarn') {
|
|
21
|
+
return packageManager;
|
|
22
|
+
}
|
|
23
|
+
const userAgent = process.env.npm_config_user_agent || '';
|
|
24
|
+
if (userAgent.startsWith('yarn')) {
|
|
25
|
+
return 'yarn';
|
|
26
|
+
}
|
|
27
|
+
if (userAgent.startsWith('pnpm')) {
|
|
28
|
+
return 'pnpm';
|
|
29
|
+
}
|
|
30
|
+
if (userAgent.startsWith('bun')) {
|
|
31
|
+
return 'bun';
|
|
32
|
+
}
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
export async function installPackagesBatch({ packageNames, cwd, isDev = false, }) {
|
|
36
|
+
if (packageNames.length === 0) {
|
|
37
|
+
return { success: true };
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const packageManager = await getPackageManager(cwd);
|
|
41
|
+
// If no package manager is detected, skip installation
|
|
42
|
+
if (packageManager === '') {
|
|
43
|
+
spinner.error(`No package manager detected in ${cwd}, skipping installation of packages: ${packageNames.join(', ')}`);
|
|
44
|
+
return { success: false, error: 'No package manager detected' };
|
|
45
|
+
}
|
|
46
|
+
const devFlag = isDev
|
|
47
|
+
? packageManager === 'npm'
|
|
48
|
+
? '--save-dev'
|
|
49
|
+
: '-D'
|
|
50
|
+
: '';
|
|
51
|
+
const packagesStr = packageNames.join(' ');
|
|
52
|
+
spinner.info(`Installing packages with ${packageManager}: ${packagesStr}`);
|
|
53
|
+
spinner.start(`Installing packages: ${packagesStr}`);
|
|
54
|
+
return new Promise((resolve) => {
|
|
55
|
+
let command;
|
|
56
|
+
let args;
|
|
57
|
+
switch (packageManager) {
|
|
58
|
+
case 'npm':
|
|
59
|
+
command = 'npm';
|
|
60
|
+
args = ['install', ...packageNames];
|
|
61
|
+
if (devFlag)
|
|
62
|
+
args.push(devFlag);
|
|
63
|
+
break;
|
|
64
|
+
case 'yarn':
|
|
65
|
+
command = 'yarn';
|
|
66
|
+
args = ['add', ...packageNames];
|
|
67
|
+
if (devFlag)
|
|
68
|
+
args.push(devFlag);
|
|
69
|
+
break;
|
|
70
|
+
case 'pnpm':
|
|
71
|
+
command = 'pnpm';
|
|
72
|
+
args = ['add', ...packageNames];
|
|
73
|
+
if (devFlag)
|
|
74
|
+
args.push(devFlag);
|
|
75
|
+
break;
|
|
76
|
+
case 'bun':
|
|
77
|
+
command = 'bun';
|
|
78
|
+
args = ['add', ...packageNames];
|
|
79
|
+
if (devFlag)
|
|
80
|
+
args.push(devFlag);
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
command = 'npm';
|
|
84
|
+
args = ['install', ...packageNames];
|
|
85
|
+
if (devFlag)
|
|
86
|
+
args.push(devFlag);
|
|
87
|
+
}
|
|
88
|
+
const child = spawn(command, args, {
|
|
89
|
+
cwd,
|
|
90
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
91
|
+
});
|
|
92
|
+
let hasOutput = false;
|
|
93
|
+
child.stdout?.on('data', (data) => {
|
|
94
|
+
hasOutput = true;
|
|
95
|
+
const lines = data
|
|
96
|
+
.toString()
|
|
97
|
+
.split('\n')
|
|
98
|
+
.filter((line) => line.trim());
|
|
99
|
+
lines.forEach((line) => {
|
|
100
|
+
if (line.trim()) {
|
|
101
|
+
spinner.update(`Installing: ${line.trim()}`);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
child.stderr?.on('data', (data) => {
|
|
106
|
+
hasOutput = true;
|
|
107
|
+
const lines = data
|
|
108
|
+
.toString()
|
|
109
|
+
.split('\n')
|
|
110
|
+
.filter((line) => line.trim());
|
|
111
|
+
lines.forEach((line) => {
|
|
112
|
+
if (line.trim()) {
|
|
113
|
+
spinner.update(`Installing: ${line.trim()}`);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
child.on('close', (code) => {
|
|
118
|
+
if (code === 0) {
|
|
119
|
+
spinner.info(`Successfully installed packages`);
|
|
120
|
+
resolve({ success: true });
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const errorMessage = `Installation failed with exit code ${code}`;
|
|
124
|
+
spinner.error(`Failed to install packages: ${errorMessage}`);
|
|
125
|
+
resolve({ success: false, error: errorMessage });
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
child.on('error', (error) => {
|
|
129
|
+
const errorMessage = error.message || 'Unknown error';
|
|
130
|
+
spinner.error(`Failed to install packages: ${errorMessage}`);
|
|
131
|
+
resolve({ success: false, error: errorMessage });
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
const errorMessage = error.message || 'Unknown error';
|
|
137
|
+
spinner.error(`Failed to install packages: ${errorMessage}`);
|
|
138
|
+
return { success: false, error: errorMessage };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"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"}
|
package/esm/react.d.ts
CHANGED
|
@@ -35,7 +35,39 @@ export declare function ContextProviders({ locale: locale_, children, framerSite
|
|
|
35
35
|
locales: any;
|
|
36
36
|
}): import("react/jsx-runtime.js").JSX.Element;
|
|
37
37
|
type UnframerProviderProps = {
|
|
38
|
+
/**
|
|
39
|
+
* Optional function to handle client-side navigation.
|
|
40
|
+
* You can provide a navigation function such as one from React Router's `useNavigate`
|
|
41
|
+
* or Next.js's `useRouter().push`, for example:
|
|
42
|
+
*
|
|
43
|
+
* ```tsx
|
|
44
|
+
* // Using React Router:
|
|
45
|
+
* import { useNavigate } from "react-router-dom";
|
|
46
|
+
* const navigate = useNavigate();
|
|
47
|
+
*
|
|
48
|
+
* <UnframerProvider navigate={navigate}>...</UnframerProvider>
|
|
49
|
+
*
|
|
50
|
+
* // Using Next.js:
|
|
51
|
+
* import { useRouter } from "next/navigation";
|
|
52
|
+
* const router = useRouter();
|
|
53
|
+
* const navigate = (url: string) => router.push(url);
|
|
54
|
+
*
|
|
55
|
+
* <UnframerProvider navigate={navigate}>...</UnframerProvider>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
38
58
|
navigate?: (url: string) => void;
|
|
59
|
+
/**
|
|
60
|
+
* The locale slug for the language, e.g. "de" for German, "it" for Italian, etc.
|
|
61
|
+
* This should be a short identifier (typically two or more lowercase letters)
|
|
62
|
+
* that uniquely identifies the active language/region. Used for language resolution,
|
|
63
|
+
* translations, routing, etc.
|
|
64
|
+
* Examples:
|
|
65
|
+
* - "en" for English
|
|
66
|
+
* - "de" for German
|
|
67
|
+
* - "it" for Italian
|
|
68
|
+
* - "fr" for French
|
|
69
|
+
* - "es" for Spanish
|
|
70
|
+
*/
|
|
39
71
|
locale?: string;
|
|
40
72
|
children: React.ReactNode;
|
|
41
73
|
};
|
package/esm/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,wBAAwB,EACxB,aAAa,EAMhB,MAAM,OAAO,CAAA;AACd,OAAO,EAEH,sBAAsB,EAEzB,MAAM,UAAU,CAAA;AAmBjB,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AA8BpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CAmD9D;AAyBD,eAAO,MAAM,qBAAqB,GAC9B,CAAC,SAAS,aAAa,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAChE,mDAIC;IACC,SAAS,EAAE,CAAC,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAC/E,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,wBAAwB,EACxB,aAAa,EAMhB,MAAM,OAAO,CAAA;AACd,OAAO,EAEH,sBAAsB,EAEzB,MAAM,UAAU,CAAA;AAmBjB,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AA8BpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CAmD9D;AAyBD,eAAO,MAAM,qBAAqB,GAC9B,CAAC,SAAS,aAAa,CAAC;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAChE,mDAIC;IACC,SAAS,EAAE,CAAC,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAC/E,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAG,GA8ElD,CAAA;AAsBD,OAAO,KAAK,MAAM,OAAO,CAAA;AAsCzB,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;;;CAAA,OAGtD;AAeD,wBAAgB,WAAW,CAAC,EACxB,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,GAAG,IAAI,EACV;;;;;;;CAAA,8CAgDA;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,QAAQ,EACR,YAAY,EACZ,MAAM,EAEN,OAAO,GACV;;;;;;CAAA,8CA8BA;AAyBD,KAAK,qBAAqB,GAAG;IACzB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B,CAAA;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,8CAO5D"}
|
package/esm/react.js
CHANGED
|
@@ -118,9 +118,7 @@ export const WithFramerBreakpoints = ({ Component, variants: _breakpointsMap, ..
|
|
|
118
118
|
const c = classNames(className, rest.className);
|
|
119
119
|
return (
|
|
120
120
|
// @ts-ignore
|
|
121
|
-
_jsx(Component
|
|
122
|
-
// LayoutGroup is used internally
|
|
123
|
-
, {
|
|
121
|
+
_jsx(Component, { suppressHydrationWarning: true,
|
|
124
122
|
// LayoutGroup is used internally
|
|
125
123
|
layoutId: variant, ...rest, className: c, variant: variant }, variant));
|
|
126
124
|
});
|
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/undici-dispatcher.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Agent, interceptors, setGlobalDispatcher } from 'undici';
|
|
2
2
|
import { FlatCacheStore } from './flat-cache-interceptor';
|
|
3
|
-
import { version } from './version';
|
|
4
3
|
export const dispatcher = new Agent({
|
|
5
4
|
keepAliveTimeout: 20,
|
|
6
5
|
keepAliveMaxTimeout: 20,
|
|
7
6
|
}).compose(interceptors.cache({
|
|
8
|
-
store: new FlatCacheStore({ cacheDir: `.unframer
|
|
7
|
+
store: new FlatCacheStore({ cacheDir: `.unframer` }),
|
|
9
8
|
}));
|
|
10
9
|
setGlobalDispatcher(dispatcher);
|
|
11
10
|
//# sourceMappingURL=undici-dispatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undici-dispatcher.js","sourceRoot":"","sources":["../src/undici-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"undici-dispatcher.js","sourceRoot":"","sources":["../src/undici-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC;IAChC,gBAAgB,EAAE,EAAE;IACpB,mBAAmB,EAAE,EAAE;CAC1B,CAAC,CAAC,OAAO,CACN,YAAY,CAAC,KAAK,CAAC;IACf,KAAK,EAAE,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;CACvD,CAAC,CACL,CAAA;AAED,mBAAmB,CAAC,UAAU,CAAC,CAAA"}
|
package/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "3.0.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/esm/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA"}
|
package/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '
|
|
1
|
+
export const version = '3.0.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unframer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.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",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"node": ">=18.0.0"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
+
"@antfu/ni": "^25.0.0",
|
|
48
49
|
"@babel/core": "^7.26.7",
|
|
49
50
|
"@biomejs/js-api": "^0.7.1",
|
|
50
51
|
"@biomejs/wasm-nodejs": "^1.9.4",
|
|
@@ -55,7 +56,7 @@
|
|
|
55
56
|
"nanospinner": "^1.2.2",
|
|
56
57
|
"picocolors": "^1.1.1",
|
|
57
58
|
"real-framer-motion": "npm:framer-motion@^12.16.0",
|
|
58
|
-
"spiceflow": "^1.
|
|
59
|
+
"spiceflow": "^1.13.2",
|
|
59
60
|
"string-dedent": "^3.0.1",
|
|
60
61
|
"undici": "^7.10.0"
|
|
61
62
|
},
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
"@types/babel__traverse": "^7.20.6",
|
|
71
72
|
"@types/bun": "^1.1.6",
|
|
72
73
|
"@types/node": "^22.15.21",
|
|
73
|
-
"@types/react": "^19.1.
|
|
74
|
+
"@types/react": "^19.1.8",
|
|
74
75
|
"@types/react-dom": "^19.1.5",
|
|
75
76
|
"@xmorse/deployment-utils": "^0.2.19",
|
|
76
77
|
"concurrently": "^9.1.2",
|
|
@@ -83,7 +84,7 @@
|
|
|
83
84
|
"typescript": "^5.8.3"
|
|
84
85
|
},
|
|
85
86
|
"scripts": {
|
|
86
|
-
"build": "rm -rf dist && pnpm concurrently \"pnpm tsc -m esnext --moduleResolution node --outDir esm\" \"pnpm tsc\" && echo copying && cp ../README.md ./README.md && cp ./src/framer.d.ts ./dist/framer.d.ts && cp ./src/framer.d.ts ./esm/framer.d.ts",
|
|
87
|
+
"build": "rm -rf dist && pnpm concurrently \"pnpm tsc -m esnext --moduleResolution node --outDir esm\" \"pnpm tsc\" && echo copying && cp ../README.md ./README.md && cp ./src/framer.d.ts ./dist/framer.d.ts && cp ./src/framer.d.ts ./esm/framer.d.ts && rm ./esm/framer.*.map ./dist/framer.*.map",
|
|
87
88
|
"test": "vitest",
|
|
88
89
|
"download-framer": "tsx scripts/download.ts",
|
|
89
90
|
"watch": "rm -rf dist esm && pnpm concurrently 'pnpm tsc -w' 'pnpm tsc -m esnext --moduleResolution node --outDir esm --watch'"
|
package/src/babel-jsx.ts
CHANGED
|
@@ -177,11 +177,11 @@ export function babelPluginJsxTransform({
|
|
|
177
177
|
name: elementName,
|
|
178
178
|
},
|
|
179
179
|
attributes: [],
|
|
180
|
-
selfClosing: !propsArg.properties
|
|
180
|
+
selfClosing: !propsArg.properties?.find(
|
|
181
181
|
(p) => p.key?.name === 'children',
|
|
182
182
|
),
|
|
183
183
|
},
|
|
184
|
-
closingElement: propsArg.properties
|
|
184
|
+
closingElement: propsArg.properties?.find(
|
|
185
185
|
(p) => p.key?.name === 'children',
|
|
186
186
|
)
|
|
187
187
|
? {
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
|
|
2
|
+
import type { PluginObj } from '@babel/core'
|
|
3
|
+
import type * as BabelTypes from '@babel/types'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Babel plugin that injects typed-documentation (typedoc/JSDoc) comments into the
|
|
7
|
+
* generated JSX files.
|
|
8
|
+
*
|
|
9
|
+
* The plugin receives, via its options, the comment blocks that must be added
|
|
10
|
+
* and places them in three different locations:
|
|
11
|
+
*
|
|
12
|
+
* 1. `headerComment` – added **once** at the very top of the file, right after
|
|
13
|
+
* any `"use client"` / `"use strict"` (directive literals) that may be
|
|
14
|
+
* present.
|
|
15
|
+
* 2. `responsiveComment` – added immediately **before** the statement that
|
|
16
|
+
* assigns to the `.Responsive` static member (i.e.
|
|
17
|
+
* `Component.Responsive = …`).
|
|
18
|
+
* 3. `defaultExportComment` – added **before** the default export declaration
|
|
19
|
+
* so that the exported value bears the correct `@type` annotation.
|
|
20
|
+
*
|
|
21
|
+
* The actual _content_ of the comments is produced elsewhere
|
|
22
|
+
* (in the logic that previously generated `.d.ts` files) and handed to this
|
|
23
|
+
* plugin through its options, therefore the plugin only concerns itself with
|
|
24
|
+
* finding the right AST nodes and attaching the supplied comments.
|
|
25
|
+
*
|
|
26
|
+
* Because this file lives in `src/`, it is written in ESM and must be imported
|
|
27
|
+
* with the `.js` extension once transpiled.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
interface InjectTypedocOptions {
|
|
31
|
+
/** Complete comment block, e.g. `/** … *\/` */
|
|
32
|
+
headerComment: string
|
|
33
|
+
/** `/** … *\/` that documents the `.Responsive` member. Optional. */
|
|
34
|
+
responsiveComment?: string
|
|
35
|
+
/** `/** … *\/` for the default export. Optional. */
|
|
36
|
+
defaultExportComment?: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function toBlockComment(value: string): BabelTypes.CommentBlock {
|
|
40
|
+
// Ensure we only keep the contents between /** and */
|
|
41
|
+
const cleaned = value
|
|
42
|
+
.trim()
|
|
43
|
+
// drop beginning "/**" (with optional extra *) and any leading whitespace
|
|
44
|
+
.replace(/^\/\*\*+/, '')
|
|
45
|
+
// drop ending "*/"
|
|
46
|
+
.replace(/\*\/$/, '')
|
|
47
|
+
// We deliberately keep the leading '*' characters in each line so Babel
|
|
48
|
+
// prints "/** … */" instead of "/* … */".
|
|
49
|
+
// Add a leading asterisk if none exists to ensure JSDoc-style comments
|
|
50
|
+
const withLeadingAsterisk = cleaned.startsWith('*') ? cleaned : '*' + cleaned
|
|
51
|
+
return {
|
|
52
|
+
type: 'CommentBlock',
|
|
53
|
+
value: withLeadingAsterisk,
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function babelPluginTypedoc(options: InjectTypedocOptions) {
|
|
58
|
+
return function ({ types: t }: { types: typeof BabelTypes }): PluginObj {
|
|
59
|
+
const {
|
|
60
|
+
headerComment,
|
|
61
|
+
responsiveComment,
|
|
62
|
+
defaultExportComment,
|
|
63
|
+
} = options
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
name: 'inject-typedoc-comments',
|
|
67
|
+
visitor: {
|
|
68
|
+
Program: {
|
|
69
|
+
enter(path) {
|
|
70
|
+
if (!headerComment) return
|
|
71
|
+
|
|
72
|
+
const comment = toBlockComment(headerComment)
|
|
73
|
+
|
|
74
|
+
const body = path.node.body
|
|
75
|
+
// Find the first non-directive statement. Directives are
|
|
76
|
+
// ExpressionStatements whose expression is a
|
|
77
|
+
// StringLiteral and which are placed at the top.
|
|
78
|
+
const firstNonDirective = body.find(
|
|
79
|
+
(stmt) =>
|
|
80
|
+
!(
|
|
81
|
+
t.isExpressionStatement(stmt) &&
|
|
82
|
+
t.isStringLiteral(stmt.expression)
|
|
83
|
+
),
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
if (firstNonDirective) {
|
|
87
|
+
firstNonDirective.leadingComments = (
|
|
88
|
+
firstNonDirective.leadingComments || []
|
|
89
|
+
).concat(comment)
|
|
90
|
+
} else if (body.length) {
|
|
91
|
+
// Fallback – attach to the very first node
|
|
92
|
+
body[0].leadingComments = (
|
|
93
|
+
body[0].leadingComments || []
|
|
94
|
+
).concat(comment)
|
|
95
|
+
} else {
|
|
96
|
+
// Empty file (unlikely) – create an empty statement
|
|
97
|
+
const empty = t.emptyStatement()
|
|
98
|
+
empty.leadingComments = [comment]
|
|
99
|
+
body.push(empty)
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
ExpressionStatement(path) {
|
|
105
|
+
if (!responsiveComment) return
|
|
106
|
+
const expr = path.node.expression
|
|
107
|
+
if (
|
|
108
|
+
t.isAssignmentExpression(expr) &&
|
|
109
|
+
t.isMemberExpression(expr.left) &&
|
|
110
|
+
!expr.left.computed &&
|
|
111
|
+
t.isIdentifier(expr.left.property) &&
|
|
112
|
+
expr.left.property.name === 'Responsive'
|
|
113
|
+
) {
|
|
114
|
+
path.node.leadingComments = (
|
|
115
|
+
path.node.leadingComments || []
|
|
116
|
+
).concat(toBlockComment(responsiveComment))
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
FunctionDeclaration(path) {
|
|
121
|
+
if (!defaultExportComment) return
|
|
122
|
+
// Look for ComponentWithRoot function declaration
|
|
123
|
+
if (path.node.id?.name === 'ComponentWithRoot') {
|
|
124
|
+
path.node.leadingComments = (
|
|
125
|
+
path.node.leadingComments || []
|
|
126
|
+
).concat(toBlockComment(defaultExportComment))
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
package/src/cli.ts
CHANGED
|
@@ -172,7 +172,8 @@ function fixOldUnframerPath() {
|
|
|
172
172
|
}
|
|
173
173
|
return false
|
|
174
174
|
}
|
|
175
|
-
|
|
175
|
+
import pkg from '../package.json'
|
|
176
|
+
const version = pkg.version
|
|
176
177
|
|
|
177
178
|
cli.version(version).help()
|
|
178
179
|
|
|
@@ -287,7 +288,11 @@ export async function configFromFetch({
|
|
|
287
288
|
const componentPathSlug = componentNameToPath(
|
|
288
289
|
component?.name || '',
|
|
289
290
|
)
|
|
290
|
-
const res: ComponentInstanceInPage = {
|
|
291
|
+
const res: ComponentInstanceInPage = {
|
|
292
|
+
...x,
|
|
293
|
+
controls: x.controls as any,
|
|
294
|
+
componentPathSlug,
|
|
295
|
+
}
|
|
291
296
|
return res
|
|
292
297
|
})
|
|
293
298
|
.sort((a, b) => {
|
package/src/esbuild.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { resolvePackage } from './exporter'
|
|
|
7
7
|
import { notifyError } from './sentry'
|
|
8
8
|
import { dispatcher } from './undici-dispatcher'
|
|
9
9
|
|
|
10
|
+
|
|
10
11
|
export const defaultExternalPackages = [
|
|
11
12
|
'react',
|
|
12
13
|
'react-dom',
|
|
@@ -45,10 +46,12 @@ export function esbuildPluginBundleDependencies({
|
|
|
45
46
|
externalizeNpm = false,
|
|
46
47
|
outDir,
|
|
47
48
|
onMissingPackage = (pkg: string) => {},
|
|
49
|
+
onCollectMissingPackage = (pkg: string) => {},
|
|
48
50
|
}) {
|
|
49
51
|
externalPackages = [...defaultExternalPackages, ...externalPackages]
|
|
50
52
|
// console.log(externalPackages)
|
|
51
53
|
const codeCache = new Map()
|
|
54
|
+
const reportedMissingPackages = new Set<string>()
|
|
52
55
|
|
|
53
56
|
spinner.start()
|
|
54
57
|
|
|
@@ -95,15 +98,16 @@ export function esbuildPluginBundleDependencies({
|
|
|
95
98
|
)
|
|
96
99
|
) {
|
|
97
100
|
const pkg = getPackageName(args.path)
|
|
98
|
-
const
|
|
101
|
+
const installed = await resolvePackage({
|
|
99
102
|
cwd: outDir,
|
|
100
103
|
pkg,
|
|
101
104
|
}).catch(() => '')
|
|
102
|
-
if (!
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
if (!installed) {
|
|
106
|
+
if (!reportedMissingPackages.has(pkg)) {
|
|
107
|
+
spinner.info(`Missing package detected: ${pkg}`)
|
|
108
|
+
reportedMissingPackages.add(pkg)
|
|
109
|
+
}
|
|
110
|
+
onCollectMissingPackage?.(pkg)
|
|
107
111
|
}
|
|
108
112
|
return {
|
|
109
113
|
path: args.path,
|
|
@@ -122,15 +126,16 @@ export function esbuildPluginBundleDependencies({
|
|
|
122
126
|
}
|
|
123
127
|
if (externalizeNpm) {
|
|
124
128
|
const pkg = getPackageName(args.path)
|
|
125
|
-
const
|
|
129
|
+
const installed = await resolvePackage({
|
|
126
130
|
cwd: outDir,
|
|
127
131
|
pkg,
|
|
128
132
|
}).catch(() => '')
|
|
129
|
-
if (!
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
133
|
+
if (!installed) {
|
|
134
|
+
if (!reportedMissingPackages.has(pkg)) {
|
|
135
|
+
spinner.info(`Missing package detected: ${pkg}`)
|
|
136
|
+
reportedMissingPackages.add(pkg)
|
|
137
|
+
}
|
|
138
|
+
onCollectMissingPackage?.(pkg)
|
|
134
139
|
}
|
|
135
140
|
return {
|
|
136
141
|
path: args.path,
|
package/src/exporter.test.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { describe, test, expect } from 'vitest'
|
|
2
|
-
import { checkUnframerVersion, } from './exporter'
|
|
3
2
|
import { replaceWebPageIds } from './esbuild'
|
|
4
3
|
import path from 'path'
|
|
5
4
|
|
|
6
|
-
test('checkUnframerVersion', () => {
|
|
7
|
-
checkUnframerVersion({ cwd: process.cwd() })
|
|
8
|
-
})
|
|
9
|
-
|
|
10
5
|
describe('replaceWebPageIds', () => {
|
|
11
6
|
test('replaces webPageIds with paths', () => {
|
|
12
7
|
const elements = [
|