@@ -7,7 +7,14 @@ import * as fs from "node:fs";
77 * @typedef {import("esbuild").BuildOptions } BuildOptions
88 * @typedef {BuildOptions["platform"] } Platform
99 * @typedef {{ node?: string } } Engines
10- * @typedef {{ name: string, main: string, dependencies?: Record<string, string>, peerDependencies?: Record<string, string>, engines?: Record<string, string> } } Manifest
10+ * @typedef {{
11+ * name: string;
12+ * main: string;
13+ * dependencies?: Record<string, string>;
14+ * peerDependencies?: Record<string, string>;
15+ * peerDependenciesMeta?: Record<string, { optional: boolean; }>;
16+ * engines?: Record<string, string>;
17+ * }} Manifest
1118 * @typedef {{ minify?: boolean, platform?: string, sourceMap?: boolean } } BundleOptions
1219 * @typedef {(manifest: Manifest) => Partial<BuildOptions> } OptionPreset
1320 */
@@ -73,7 +80,7 @@ function neutralPreset(manifest) {
7380 * @returns {Partial<BuildOptions> }
7481 */
7582function yarnPreset ( manifest ) {
76- const name = manifest . name ;
83+ const { name, peerDependenciesMeta } = manifest ;
7784 return {
7885 banner : {
7986 js : [
@@ -90,7 +97,10 @@ function yarnPreset(manifest) {
9097 js : [ `return plugin;` , `}` , `};` ] . join ( `\n` ) ,
9198 } ,
9299 resolveExtensions : [ `.tsx` , `.ts` , `.jsx` , `.mjs` , `.js` , `.css` , `.json` ] ,
93- external : [ ...getDynamicLibs ( ) . keys ( ) ] ,
100+ external : [
101+ ...( peerDependenciesMeta ? Object . keys ( peerDependenciesMeta ) : [ ] ) ,
102+ ...getDynamicLibs ( ) . keys ( ) ,
103+ ] ,
94104 platform : "node" ,
95105 target : getNodeTarget ( manifest ) ,
96106 supported : {
0 commit comments