@visulima/packem 1.0.0-alpha.6 → 1.0.0-alpha.60
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/CHANGELOG.md +395 -0
- package/LICENSE.md +1 -1
- package/README.md +16 -3
- package/dist/cli.mjs +114 -1
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +6 -5
- package/dist/config.d.mts +6 -5
- package/dist/config.d.ts +6 -5
- package/dist/config.mjs +9 -1
- package/dist/create-bundler.cjs +65 -56
- package/dist/create-bundler.d.cts +6 -5
- package/dist/create-bundler.d.mts +6 -5
- package/dist/create-bundler.d.ts +6 -5
- package/dist/create-bundler.mjs +74 -57
- package/dist/rollup/plugins/esbuild/index.cjs +1 -1
- package/dist/rollup/plugins/esbuild/index.d.cts +1 -1
- package/dist/rollup/plugins/esbuild/index.d.mts +1 -1
- package/dist/rollup/plugins/esbuild/index.d.ts +1 -1
- package/dist/rollup/plugins/esbuild/index.mjs +2 -2
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.cjs +1 -0
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.d.cts +26 -0
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.d.mts +26 -0
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.d.ts +26 -0
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.mjs +9 -0
- package/dist/rollup/plugins/sucrase/index.cjs +1 -1
- package/dist/rollup/plugins/sucrase/index.mjs +9 -1
- package/dist/rollup/plugins/swc/isolated-declarations-swc-transformer.cjs +1 -0
- package/dist/rollup/plugins/swc/isolated-declarations-swc-transformer.d.cts +26 -0
- package/dist/rollup/plugins/swc/isolated-declarations-swc-transformer.d.mts +26 -0
- package/dist/rollup/plugins/swc/isolated-declarations-swc-transformer.d.ts +26 -0
- package/dist/rollup/plugins/swc/isolated-declarations-swc-transformer.mjs +9 -0
- package/dist/rollup/plugins/swc/{index.cjs → swc-plugin.cjs} +1 -1
- package/dist/rollup/plugins/swc/{index.d.cts → swc-plugin.d.cts} +1 -1
- package/dist/rollup/plugins/swc/{index.d.mts → swc-plugin.d.mts} +1 -1
- package/dist/rollup/plugins/swc/{index.d.ts → swc-plugin.d.ts} +1 -1
- package/dist/rollup/plugins/swc/swc-plugin.mjs +9 -0
- package/dist/rollup/plugins/typescript/isolated-declarations-typescript-transformer.cjs +1 -0
- package/dist/rollup/plugins/typescript/isolated-declarations-typescript-transformer.d.cts +27 -0
- package/dist/rollup/plugins/typescript/isolated-declarations-typescript-transformer.d.mts +27 -0
- package/dist/rollup/plugins/typescript/isolated-declarations-typescript-transformer.d.ts +27 -0
- package/dist/rollup/plugins/typescript/isolated-declarations-typescript-transformer.mjs +9 -0
- package/dist/shared/packem.0q8RrsjT.mjs +9 -0
- package/dist/shared/{packem.C44tLE3n.d.cts → packem.99scXwHP.d.cts} +34 -2
- package/dist/shared/{packem.C44tLE3n.d.mts → packem.99scXwHP.d.mts} +34 -2
- package/dist/shared/{packem.C44tLE3n.d.ts → packem.99scXwHP.d.ts} +34 -2
- package/dist/shared/{packem.D1XYCEcD.d.ts → packem.BQE1Mwim.d.ts} +30 -16
- package/dist/shared/{packem.B6x1BqsW.d.cts → packem.BmkzemMv.d.cts} +30 -16
- package/dist/shared/{packem.DbDxKBpP.d.mts → packem.CtbO2Mkx.d.mts} +30 -16
- package/dist/shared/packem.DUZi_m4G.cjs +1 -0
- package/dist/shared/{packem.D09xRBAa.d.cts → packem.Db-Z_7e-.d.cts} +1 -1
- package/dist/shared/{packem.D09xRBAa.d.mts → packem.Db-Z_7e-.d.mts} +1 -1
- package/dist/shared/{packem.D09xRBAa.d.ts → packem.Db-Z_7e-.d.ts} +1 -1
- package/dist/shared/packem.DpOIkJEJ.mjs +9 -0
- package/dist/shared/packem.NVRVuzg1.cjs +1 -0
- package/package.json +127 -81
- package/dist/cli.cjs +0 -2
- package/dist/cli.d.cts +0 -2
- package/dist/cli.d.mts +0 -2
- package/dist/cli.d.ts +0 -2
- package/dist/rollup/plugins/swc/index.mjs +0 -1
- package/dist/shared/packem.Bdmp1hC5.mjs +0 -1
- package/dist/shared/packem.Bj4QPFg7.mjs +0 -1
- package/dist/shared/packem.CEXB7aOL.cjs +0 -1
- package/dist/shared/packem.uvB0cQX0.cjs +0 -1
package/dist/create-bundler.mjs
CHANGED
|
@@ -1,36 +1,44 @@
|
|
|
1
|
-
var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
var wt=Object.defineProperty;var d=(e,t)=>wt(e,"name",{value:t,configurable:!0});import{chmod as jt,stat as Pe,readdir as kt}from"node:fs/promises";import fe from"node:module";import{env as E,versions as xt,cwd as Et}from"node:process";import{cyan as y,bold as S,gray as C,yellow as Ot,grey as Dt,green as St}from"@visulima/colorize";import{readFile as oe,writeFile as B,isAccessibleSync as O,collectSync as Nt,readFileSync as Me,writeFileSync as Ce,writeJsonSync as _t,ensureDirSync as Pt,emptyDir as Ie,walk as Mt,isAccessible as Ct}from"@visulima/fs";import{NotFoundError as It}from"@visulima/fs/error";import{formatBytes as P,duration as Ft}from"@visulima/humanizer";import{parsePackageJson as Rt}from"@visulima/package/package-json";import{resolve as g,join as b,normalize as re,extname as ne,relative as D,dirname as se,basename as H,isAbsolute as Fe,toNamespacedPath as ge}from"@visulima/path";import{readTsConfig as Tt,findTsConfig as At}from"@visulima/tsconfig";import{defu as Jt}from"defu";import{createHooks as Bt}from"hookable";import{rollup as Re,watch as he,VERSION as Wt}from"rollup";import{D as F,R as Lt,E as Y}from"./shared/packem.DpOIkJEJ.mjs";import{pathToFileURL as zt,fileURLToPath as Ut}from"node:url";import{resolvePath as Ht,resolveModuleExportNames as Vt,findStaticImports as Te}from"mlly";import _ from"magic-string";import Ae from"jiti";import{existsSync as ie,rmSync as qt}from"node:fs";import Je from"@rollup/plugin-alias";import Yt from"@rollup/plugin-commonjs";import Gt from"@rollup/plugin-dynamic-import-vars";import{nodeResolve as Be}from"@rollup/plugin-node-resolve";import We from"@rollup/plugin-replace";import{wasm as Kt}from"@rollup/plugin-wasm";import Xt from"rollup-plugin-polyfill-node";import{visualizer as Qt}from"rollup-plugin-visualizer";import{minVersion as Le}from"semver";import{glob as Zt}from"glob";import eo from"glob-parent";import{createFilter as V,normalizePath as ye}from"@rollup/pluginutils";import to from"@rollup/plugin-json";import oo from"rollup-plugin-license";import{createHash as ro}from"node:crypto";import{parse as no}from"@babel/parser";import{findCacheDirSync as so}from"@visulima/find-cache-dir";import{distance as io}from"fastest-levenshtein";
|
|
2
|
+
// -- pack CommonJS Shims --
|
|
3
|
+
import __cjs_url__ from "node:url";
|
|
4
|
+
import __cjs_path__ from "node:path";
|
|
5
|
+
import __cjs_mod__ from "node:module";
|
|
6
|
+
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = __cjs_path__.dirname(__filename);
|
|
8
|
+
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
9
|
+
var ao=Object.defineProperty,q=d((e,t)=>ao(e,"name",{value:t,configurable:!0}),"i$d");const ae=/^#![^\n]*/,ee=q(async e=>{await jt(e,493).catch(()=>{})},"makeExecutable"),lo=q((e,t=`#!/usr/bin/env node
|
|
10
|
+
`)=>({name:"packem:shebang",renderChunk:{handler(o,r,n){if(!r.isEntry||!r.facadeModuleId||o.startsWith("#")&&o[1]==="!")return null;if(e.includes(r.name)){const s=new _(o);return s.prepend(t),{code:s.toString(),map:n.sourcemap?s.generateMap({hires:!0}):void 0}}return null},order:"post"},async writeBundle(o,r){for(const[n,s]of Object.entries(r))if(s.type==="chunk"&&ae.test(s.code)&&o.dir){const i=g(o.dir,n);await ee(i)}}}),"shebangPlugin"),co=q(()=>({name:"packem:remove-shebang",renderChunk(e){return e.replace(ae,"")}}),"removeShebangPlugin"),po=q((e,t=`
|
|
11
|
+
`)=>{const o=ae.exec(e);return o?o+t:""},"getShebang");var uo=Object.defineProperty,mo=d((e,t)=>uo(e,"name",{value:t,configurable:!0}),"p$4");const le=mo((e,t)=>{let o={};if(e.pkg.name&&(o[e.pkg.name]=e.options.rootDir),e.pkg.imports){const{imports:r}=e.pkg;for(const n in r){if(n.startsWith("#"))continue;const s=r[n];typeof s=="string"&&(o[n]=b(e.options.rootDir,s))}}return o={...o,...e.options.alias},e.options.rollup.alias&&(Array.isArray(e.options.rollup.alias.entries)?Object.assign(o,Object.fromEntries(e.options.rollup.alias.entries.map(r=>[r.find,r.replacement]))):Object.assign(o,e.options.rollup.alias.entries??e.options.rollup.alias)),e.logger.debug({message:"Resolved aliases: "+JSON.stringify(o),prefix:t}),o},"resolveAliases");var fo=Object.defineProperty,go=d((e,t)=>fo(e,"name",{value:t,configurable:!0}),"o$3");const ho=go((e,t)=>{const o=Ae(t,{esmResolve:!0,interopDefault:!0});try{return o.resolve(e)}catch(r){if(r.code!=="MODULE_NOT_FOUND")throw new Error(`Error trying import ${e} from ${t}`,{cause:r});return e}},"tryResolve");var yo=Object.defineProperty,vo=d((e,t)=>yo(e,"name",{value:t,configurable:!0}),"r$9");const J=vo((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var bo=Object.defineProperty,$o=d((e,t)=>bo(e,"name",{value:t,configurable:!0}),"u$9");const wo=$o(async e=>{const t=await Ht("jiti",{url:import.meta.url}),o=JSON.stringify({...e.options.stubOptions.jiti,alias:{...le(e,"jit"),...e.options.stubOptions.jiti.alias}},null,2);for(const r of e.options.entries){const n=g(e.options.rootDir,e.options.outDir,r.name),s=re(ho(r.input,e.options.rootDir)||r.input),i=s.slice(0,Math.max(0,s.length-ne(s).length)),a=await oe(s),l=po(a);e.options.emitCJS&&await B(`${n}.cjs`,l+[`const jiti = require(${JSON.stringify(t)})`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(i)})} */`,`module.exports = _jiti(${JSON.stringify(s)})`].join(`
|
|
12
|
+
`));let c=[];try{c=await Vt(s,{extensions:F})}catch(u){J(e,`Cannot analyze ${s} for exports: ${u.toString()}`);return}const p=c.includes("default")||c.length===0;await B(`${n}.mjs`,l+[`import jiti from ${JSON.stringify(zt(t).href)};`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(s)})} */`,`const _module = await _jiti.import(${JSON.stringify(s)});`,p?`
|
|
13
|
+
export default _module;`:"",...c.filter(u=>u!=="default").map(u=>`export const ${u} = _module.${u};`)].join(`
|
|
14
|
+
`)),await B(`${n}.d.cts`,[`export * from ${JSON.stringify(i)};`,p?`export { default } from ${JSON.stringify(i)};`:""].join(`
|
|
15
|
+
`)),await B(`${n}.d.mts`,[`export * from ${JSON.stringify(s)};`,p?`export { default } from ${JSON.stringify(s)};`:""].join(`
|
|
16
|
+
`)),l&&(await ee(`${n}.cjs`),await ee(`${n}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var jo=Object.defineProperty,ko=d((e,t)=>jo(e,"name",{value:t,configurable:!0}),"r$8");const ze=ko((e,t)=>Ae(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var xo=Object.defineProperty,Ue=d((e,t)=>xo(e,"name",{value:t,configurable:!0}),"t$5");const U=Ue(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),He=Ue((e,t,o,r)=>{if(o){const i=U(o);if(i)return i}if(e==="module"||e==="import")return"esm";if(e==="require")return"cjs";if(t.length===0)return r==="commonjs"?"cjs":"esm";const[n,...s]=t;return He(n,s,o,r)},"inferExportType");var Eo=Object.defineProperty,Oo=d((e,t)=>Eo(e,"name",{value:t,configurable:!0}),"n$7");const ce=Oo((e,t,o,r=[])=>{if(!e)return[];if(typeof e=="string"){const n=U(e),s=t==="module"?"esm":"cjs";if(n&&n!==s)throw new Error(`Exported file "${e}" has an extension that does not match the package.json type "${t}".`);return[{file:e,key:"exports",type:n??s}]}return Object.entries(e).filter(([n])=>!n.endsWith(".json")).flatMap(([n,s])=>n==="types"&&o===!1?[]:typeof s=="string"?{file:s,key:"exports",...["browser","default","deno","development","import","node","node-addons","production","require","types"].includes(n)?{subKey:n}:{},type:He(n,r,s,t)}:ce(s,t,o,[...r,n]))},"extractExportFilenames");var Do=Object.defineProperty,pe=d((e,t)=>Do(e,"name",{value:t,configurable:!0}),"y$1");const So=pe(e=>{if(e.key==="exports"&&e.subKey==="production")return"production";if(e.key==="exports"&&e.subKey==="development")return"development";if(E.NODE_ENV){if(!E.NODE_ENV.includes("production")&&!E.NODE_ENV.includes("development"))throw new Error(`Invalid NODE_ENV value: ${E.NODE_ENV}, must be either "production" or "development".`);return E.NODE_ENV}return"production"},"getEnvironment"),W=pe((e,t,o,r,n,s)=>{const i=e.find(a=>a.input===t)??e[e.push({input:t})-1];if(o&&(i.outDir=r),n.isExecutable)i.executable=!0,i.declaration=!1,n.type==="cjs"&&(i.cjs=!0),n.type==="esm"&&(i.esm=!0);else{/\.d\.[mc]?ts$/.test(n.file)&&s!==!1&&(i.declaration=s),n.type==="cjs"&&(i.cjs=!0),n.type==="esm"&&(i.esm=!0);for(const a of Lt)if(n.file.includes("."+a+".")){i.runtime=a;break}}i.runtime===void 0&&(i.runtime="node"),i.environment=So(n)},"createOrUpdateEntry"),ve=/(?:\.d\.[mc]?ts|\.\w+)$/;let be=!1;const No=pe((e,t,o)=>{const r=[];t.sort((a,l)=>a.split("/").length-l.split("/").length);const n=e.type==="module"?"esm":"cjs",s=ce(e.exports,e.type??"commonjs",o.options.declaration);if(e.bin){const a=(typeof e.bin=="string"?[e.bin]:Object.values(e.bin)).filter(Boolean);for(const l of a){const c=U(l);if(c&&c!==n)throw new Error(`Exported file "${l}" has an extension that does not match the package.json type "${e.type}".`);s.push({file:l,isExecutable:!0,key:"bin",type:c??n})}}e.main&&s.push({file:e.main,key:"main",type:U(e.main)??n}),e.module&&s.push({file:e.module,key:"module",type:"esm"}),o.options.declaration!==!1&&(e.types||e.typings)&&s.push({file:e.types??e.typings,key:"types"});const i=[];for(const a of s){const l=a.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const p=l.replace(new RegExp("(./)?"+o.options.outDir),o.options.sourceDir).replace("./","");if(a.file.includes("/*")&&a.key==="exports"){be||(o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),be=!0);const f=[],v=new RegExp("(?<=/|$)"+p.replace("*","(.*)")+(c?"":"\\.\\w+"));for(const $ of t)v.test($)&&f.push($.replace(ve,""));if(f.length===0){r.push(`Could not find entrypoint for \`${a.file}\``);continue}for(const $ of f)W(i,$,c,l,a,o.options.declaration);continue}const u=new RegExp("(?<=/|$)"+p+(c?"":"\\.\\w+")),m=t.find(f=>u.test(f))?.replace(ve,"");if(!m){ie(g(o.options.rootDir,a.file))||r.push(`Could not find entrypoint for \`${a.file}\``);continue}O(m+".cts")&&O(m+".mts")?(W(i,m+".cts",c,l,{...a,type:"cjs"},o.options.declaration),W(i,m+".mts",c,l,{...a,type:"esm"},o.options.declaration)):W(i,m,c,l,a,o.options.declaration)}return{entries:i,warnings:r}},"inferEntries");var _o=Object.defineProperty,Po=d((e,t)=>_o(e,"name",{value:t,configurable:!0}),"t$4");const Mo=Po((e,t)=>{const{publishConfig:o}=e;return o&&(o.bin&&(typeof o.bin=="object"||typeof o.bin=="string")&&(e.bin=o.bin),o.type&&typeof o.type=="string"&&o.type!==""&&(e.type=o.type),o.main&&typeof o.main=="string"&&o.main!==""&&(e.main=o.main),o.module&&typeof o.module=="string"&&o.module!==""&&(e.module=o.module),t===void 0&&o.types&&typeof o.types=="string"&&o.types!==""?e.types=o.types:t===void 0&&o.typings&&typeof o.typings=="string"&&o.typings!==""&&(e.typings=o.typings),o.exports&&typeof o.exports=="object"&&(e.exports=o.exports)),e},"overwriteWithPublishConfig");var Co=Object.defineProperty,Io=d((e,t)=>Co(e,"name",{value:t,configurable:!0}),"t$3");const Fo={hooks:{"build:prepare":Io(function(e){if(e.options.entries.length>0)return;const t=b(e.options.rootDir,e.options.sourceDir);if(!ie(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=Nt(t,{extensions:[],includeDirs:!1,includeSymlinks:!1});if(o.length===0)throw new Error("No source files found in 'src' directory. Please provide entries manually.");let r={...e.pkg};r.publishConfig&&(r=Mo(r,e.options.declaration));const n=No(r,o,e);for(const s of n.warnings)J(e,s);if(e.options.entries.push(...n.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",y(e.options.entries.map(s=>S(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),C([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Ro=Object.defineProperty,To=d((e,t)=>Ro(e,"name",{value:t,configurable:!0}),"t$2");const Ao=To((e,t)=>(e==="auto"?e=Fo:typeof e=="string"&&(e=ze(e,t)),typeof e=="function"&&(e=e()),e),"resolvePreset");var Jo=Object.defineProperty,Bo=d((e,t)=>Jo(e,"name",{value:t,configurable:!0}),"a$c");const te=Bo((e,t)=>e.some(o=>o instanceof RegExp?o.test(t):o===t),"arrayIncludes");var Wo=Object.defineProperty,Lo=d((e,t)=>Wo(e,"name",{value:t,configurable:!0}),"a$b");const G=Lo(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var zo=Object.defineProperty,Uo=d((e,t)=>zo(e,"name",{value:t,configurable:!0}),"a$a");const Ve=Uo((e="")=>{const t=e.split("/");return t[0].startsWith("@")?t[0]+"/"+t[1]:t[0]},"getPackageName");var Ho=Object.defineProperty,qe=d((e,t)=>Ho(e,"name",{value:t,configurable:!0}),"s$c");const Vo=qe((e,t,o)=>{const r=o??new Map;return(...n)=>{const s=t?typeof t=="function"?t(...n):t:JSON.stringify({args:n}),i=r.get(s);if(i!==void 0)return i;const a=e(...n);return r.set(s,a),a}},"memoize"),qo=qe(e=>{const t=new Map;return o=>Vo(e,o,t)},"memoizeByKey");var Yo=Object.defineProperty,Go=d((e,t)=>Yo(e,"name",{value:t,configurable:!0}),"m$6");const Ye=Go(({addDefaultProperty:e=!1,logger:t,type:o})=>({name:"packem:cjs-interop",renderChunk(r,n,s){if(n.type!=="chunk"||!n.isEntry)return null;if(s.format==="cjs"&&s.exports==="auto"){const i=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(r);if(i===null||i.length<3)return null;const a=new _(r);a.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),a.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&a.append(`
|
|
17
|
+
module.exports.default = `+i[2]+";");let l=a.toString();return l=l.replace(/(?:module\.)?exports(?:\['default'\]|\.default)/i,"module.exports"),t.debug({message:"Applied CommonJS interop to entry chunk "+n.fileName+".",prefix:"plugin:cjs-interop"}),{code:l,map:a.generateMap({hires:!0})}}if(s.format==="es"&&/\.d\.(?:ts|cts)$/.test(n.fileName)){if(o!=="commonjs"&&n.fileName.endsWith(".d.ts"))return null;const i=/export\s\{\s(.*)\s\}/i.exec(r);if(i===null||i.length<2)return null;const a=i[1].split(", "),l=[];let c="";for(const u of a)if(!u.includes("type"))if(u.includes("as")){const[m,f]=u.split(" as ");if(f==="default"&&(c=m,!e))continue;l.push(f+": typeof "+m+";")}else l.push(u+": typeof "+u+";");const p=new _(r);return p.replace(" "+c+" as default,",""),p.append(`
|
|
10
18
|
|
|
11
19
|
declare const defaultExport: {
|
|
12
|
-
`+(
|
|
20
|
+
`+(l.length>0?" ":"")+l.join(`
|
|
13
21
|
`)+`
|
|
14
|
-
} & typeof `+
|
|
22
|
+
} & typeof `+c+`;
|
|
15
23
|
|
|
16
|
-
export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+
|
|
17
|
-
${
|
|
18
|
-
$2`)},"replaceContentWithin"),
|
|
19
|
-
`;
|
|
20
|
-
`);const
|
|
21
|
-
`),
|
|
22
|
-
`)
|
|
23
|
-
|
|
24
|
+
export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+n.fileName+".",prefix:"plugin:cjs-interop"}),{code:p.toString(),map:p.generateMap({hires:!0})}}return null}}),"cjsInterop");var Ko=Object.defineProperty,Xo=d((e,t)=>Ko(e,"name",{value:t,configurable:!0}),"f$5");const Qo=Xo((e,t)=>{const o=new Map,r={copyOnce:!0,exactFileNames:!0,flatten:!1,...e};let{targets:n}=r;return Array.isArray(n)?n=n.map(s=>{if(typeof s=="string")return{src:s};if(typeof s=="object"&&"src"in s)return s}).filter(Boolean):typeof n=="string"&&(n=[{src:n}]),{async buildStart(){const s=await Promise.all(n.flatMap(i=>Array.isArray(i.src)?i.src.map(a=>({...i,src:a})):i).map(async i=>await Zt(i.src,{ignore:i.exclude}).then(a=>({dest:i.dest??"",parent:eo(i.src),src:a}))));for(const i of s)for(const a of i.src){let l;o.has(a)?l=o.get(a):(l={copied:[],dest:[],timestamp:0},o.set(a,l));const c=r.flatten?re(i.dest):b(i.dest,D(i.parent,se(a)));l.dest.includes(c)||l.dest.push(c),this.addWatchFile(a)}t.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all([...o].map(async([i,a])=>{let l;try{const c=await Pe(i);if(!c.isFile())return;const p=c.mtime.getTime();p>a.timestamp&&(a.timestamp=p,a.copied=[]),l=await oe(i,{buffer:!0})}catch(c){t.error({context:[c],message:`error reading file ${i}`,prefix:"plugin:copy"});return}for(const c of a.dest){if(r.copyOnce&&a.copied.includes(c))continue;const p=H(i),u=b(c,p);try{this.emitFile({[r.exactFileNames?"fileName":"name"]:u,source:l,type:"asset"}),t.debug({message:`copied ${i} → ${u}`,prefix:"plugin:copy"}),a.copied.push(c)}catch(m){t.error({context:[m],message:`error copying file ${i} → ${u}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");var Zo=Object.defineProperty,$e=d((e,t)=>Zo(e,"name",{value:t,configurable:!0}),"c$8");const er=$e(e=>(t,o={})=>{const r=V(o.include,o.exclude),n={},s=$e((i,a)=>{n[i.replace(/\..?[jt]s$/,"")]=a},"addOutput");return{generateBundle(i,a){let{entryFileNames:l}=i;typeof l=="function"&&(l=l(a));const c=l.replace(/\.(.)?[jt]s$/,(p,u)=>`.d.${u||""}ts`);for(const[p,u]of Object.entries(n))this.emitFile({fileName:c.replace("[name]",D(e,p)),source:u,type:"asset"})},name:"packem:isolated-declarations",async transform(i,a){if(!r(a))return;const l=await t(a,i),{errors:c,sourceText:p}=l;c.length>0?o.ignoreErrors?this.warn(c[0]):this.error(c[0]):s(a,p)}}},"isolatedDeclarationsPlugin");var tr=Object.defineProperty,or=d((e,t)=>tr(e,"name",{value:t,configurable:!0}),"n$2");const we="export default ",Ge=or(e=>{const t=to(e);return{...t,name:"packem:json",transform(o,r){const n=t.transform?.call(this,o,r);return n&&typeof n!="string"&&"code"in n&&n.code?.startsWith(we)&&(n.code=n.code.replace(we,"module.exports = ")),n}}},"JSONPlugin");class rr{static{d(this,"WalkerBase")}constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:d(()=>this.should_skip=!0,"skip"),remove:d(()=>this.should_remove=!0,"remove"),replace:d(t=>this.replacement=t,"replace")}}replace(t,o,r,n){t&&o&&(r!=null?t[o][r]=n:t[o]=n)}remove(t,o,r){t&&o&&(r!=null?t[o].splice(r,1):delete t[o])}}class nr extends rr{static{d(this,"SyncWalker")}constructor(t,o){super(),this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:d(()=>this.should_skip=!0,"skip"),remove:d(()=>this.should_remove=!0,"remove"),replace:d(r=>this.replacement=r,"replace")},this.enter=t,this.leave=o}visit(t,o,r,n){if(t){if(this.enter){const i=this.should_skip,a=this.should_remove,l=this.replacement;this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,t,o,r,n),this.replacement&&(t=this.replacement,this.replace(o,r,n,t)),this.should_remove&&this.remove(o,r,n);const c=this.should_skip,p=this.should_remove;if(this.should_skip=i,this.should_remove=a,this.replacement=l,c)return t;if(p)return null}let s;for(s in t){const i=t[s];if(i&&typeof i=="object")if(Array.isArray(i)){const a=i;for(let l=0;l<a.length;l+=1){const c=a[l];je(c)&&(this.visit(c,t,s,l)||l--)}}else je(i)&&this.visit(i,t,s,null)}if(this.leave){const i=this.replacement,a=this.should_remove;this.replacement=null,this.should_remove=!1,this.leave.call(this.context,t,o,r,n),this.replacement&&(t=this.replacement,this.replace(o,r,n,t)),this.should_remove&&this.remove(o,r,n);const l=this.should_remove;if(this.replacement=i,this.should_remove=a,l)return null}}return t}}function je(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"}d(je,"isNode");function Ke(e,{enter:t,leave:o}){return new nr(t,o).visit(e,null)}d(Ke,"walk");var sr=Object.defineProperty,ir=d((e,t)=>sr(e,"name",{value:t,configurable:!0}),"u$7");const ar=ir(({attributes:e,logger:t})=>{const o=V([/\.[tj]sx$/],/node_modules/);if(!Array.isArray(e)||e.length===0)throw new Error("[packem:jsx-remove-attributes]: attributes must be a non-empty array of strings.");return{name:"packem:jsx-remove-attributes",transform(r,n){if(!o(n))return null;let s=null;try{s=this.parse(r,{allowReturnOutsideFunction:!0})}catch(l){return this.warn({code:"PARSE_ERROR",message:`[packem:jsx-remove-attributes]: failed to parse "${n}" and remove the jsx attribute.`}),t.warn(l),null}let i=!1;const a=new _(r);return Ke(s,{enter(l){if(l.type==="CallExpression"&&l.callee.type==="Identifier"&&l.callee.name==="jsx"){const c=l.arguments.filter(p=>p.type==="ObjectExpression"&&Array.isArray(p.properties));for(const p of c)for(const u of p.properties)u.type==="Property"&&u.key.type==="Literal"&&u.value.type==="Literal"&&e.includes(u.key.value)&&(a.overwrite(u.start-2,u.end,""),i=!0)}}}),i?{code:a.toString(),map:a.generateMap({hires:!0})}:null}}},"jsxRemoveAttributes");var lr=Object.defineProperty,ue=d((e,t)=>lr(e,"name",{value:t,configurable:!0}),"p$2");const cr=ue(e=>{const t=[],o=[];return e.forEach(r=>{r.startsWith("(")?t.push(r):o.push(r)}),[...o.sort(),...t.sort()]},"sortLicenses"),pr=ue((e,t,o)=>{const r=new RegExp(`(<!-- ${t} -->)[\\s\\S]*?(<!-- ${t} -->)`,"g");if(r.test(e))return e.replace(r,`$1
|
|
25
|
+
${o}
|
|
26
|
+
$2`)},"replaceContentWithin"),Xe=ue(({licenseFilePath:e,licenseTemplate:t,logger:o,marker:r,mode:n,packageName:s})=>oo({thirdParty(i){const a=new Set,l=i.sort(({name:p},{name:u})=>(p||0)>(u||0)?1:(u||0)>(p||0)?-1:0).map(({author:p,contributors:u,license:m,licenseText:f,maintainers:v,name:$,repository:k})=>{let h="## "+$+`
|
|
27
|
+
`;m&&(h+=`License: ${m}
|
|
28
|
+
`);const R=new Set;for(const T of[p,...v,...u]){const me=typeof T=="string"?T:T?.name;me&&R.add(me)}return R.size>0&&(h+=`By: ${[...R].join(", ")}
|
|
29
|
+
`),k&&(h+=`Repository: ${typeof k=="string"?k:k.url}
|
|
30
|
+
`),f&&(h+=`
|
|
31
|
+
`+f.trim().replaceAll(/\r\n|\r/g,`
|
|
24
32
|
`).split(`
|
|
25
|
-
`).map(
|
|
33
|
+
`).map(T=>`> ${T}`).join(`
|
|
26
34
|
`)+`
|
|
27
|
-
`),
|
|
35
|
+
`),m&&a.add(m),h}).join(`
|
|
28
36
|
---------------------------------------
|
|
29
37
|
|
|
30
|
-
`),
|
|
38
|
+
`);if(l===""){o.info({message:"No dependencies license information found.",prefix:"plugin:license:"+n});return}const c=t(cr(a),l,s);try{const p=Me(e),u=pr(p,r,c);if(!u){o.error({message:`Could not find the license marker: <!-- ${r} --> in ${e}`,prefix:"plugin:license:"+n});return}p!==u&&(Ce(e,u),o.info({message:`${e} updated.`,prefix:"plugin:license:"+n}))}catch(p){o.error(p)}}}),"license");var ur=Object.defineProperty,dr=d((e,t)=>ur(e,"name",{value:t,configurable:!0}),"i$9");const mr=dr(e=>({async buildEnd(){const t=[];for(const r of this.getModuleIds()){const n=this.getModuleInfo(r);if(n!=null&&!n.isExternal)for(const s of n.importedIds)t.push({source:r,target:s})}if(Array.isArray(t)&&t.length===0)return;const o=g(e.rootDir,e.outDir,"graph.json");_t(o,t)},name:"packem:metafile"}),"metafilePlugin");var fr=Object.defineProperty,gr=d((e,t)=>fr(e,"name",{value:t,configurable:!0}),"r$5");const M=gr(e=>{const t=ro("md5");return t.update(e),t.digest("hex")},"getHash");var hr=Object.defineProperty,Qe=d((e,t)=>hr(e,"name",{value:t,configurable:!0}),"m$4");const A=Qe(e=>e.handler||e,"getHandler"),x=Qe((e,t)=>({...e,async buildEnd(o){e.buildEnd&&await A(e.buildEnd).call(this,o)},async buildStart(o){e.buildStart&&await A(e.buildStart).call(this,o)},async load(o){if(!e.load)return null;const r=b("load",M(o));if(t.has(r,e.name))return await t.get(r,e.name);const n=await A(e.load).call(this,o);return t.set(r,n,e.name),n},name:`cached(${e.name})`,async resolveId(o,r,n){if(!e.resolveId)return null;const s=b("resolveId",M(o),r?M(r):"",M(JSON.stringify(n)));if(t.has(s,e.name))return await t.get(s,e.name);const i=await A(e.resolveId).call(this,o,r,n);return t.set(s,i,e.name),i},async transform(o,r){if(!e.transform)return null;const n=b("transform",M(r),M(o));if(t.has(n,e.name))return await t.get(n,e.name);const s=await A(e.transform).call(this,o,r);return t.set(n,s,e.name),s}}),"cachingPlugin");var yr=Object.defineProperty,vr=d((e,t)=>yr(e,"name",{value:t,configurable:!0}),"c$6");const br=/\.(?:m|c)?(?:j|t)sx?$/,$r=/^use \w+$/,wr=vr(e=>{const t={},o={};return{name:"packem:preserve-directives",onLog(r,n){return n.code==="MODULE_LEVEL_DIRECTIVE"&&r==="warn"?!1:null},renderChunk:{handler(r,n,{sourcemap:s}){const i=n.moduleIds.map(c=>t[c]?t[c]:null).reduce((c,p)=>(p&&p.forEach(u=>{c.add(u)}),c),new Set),a=new _(r);i.size>0&&(e.debug({message:`directives for chunk "${n.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${[...i].map(c=>`'${c}';`).join(`
|
|
31
39
|
`)}
|
|
32
|
-
`));let
|
|
33
|
-
`)),
|
|
40
|
+
`));let l=null;return n.facadeModuleId&&typeof o[n.facadeModuleId]=="string"&&(l=o[n.facadeModuleId]),l&&(e.debug({message:`shebang for chunk "${n.fileName}" is preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${l}
|
|
41
|
+
`)),i.size===0&&l===null?null:{code:a.toString(),map:s?a.generateMap({hires:!0}):null}},order:"post"},transform:{handler(r,n){const s=ne(n);if(!br.test(s))return null;let i=!1;const a=new _(r);if(r.startsWith("#")&&r[1]==="!"){let c=0;for(let p=2,u=r.length;p<u;p++){const m=r.codePointAt(p);if(m===10||m===13||m===8232||m===8233){c=p;break}}c&&(o[n]=r.slice(0,c),a.remove(0,c+1),i=!0,e.debug({message:`shebang for module "${n}" is preserved.`,prefix:"plugin:preserve-directives"}))}let l=null;try{l=this.parse(a.toString(),{allowReturnOutsideFunction:!0})}catch(c){return this.warn({code:"PARSE_ERROR",message:`[packem:preserve-directives]: failed to parse "${n}" and extract the directives.`}),e.warn(c),null}if(l.type!=="Program")return null;for(const c of l.body.filter(Boolean)){if(c.type!=="ExpressionStatement")break;let p=null;"directive"in c?p=c.directive:c.expression.type==="Literal"&&typeof c.expression.value=="string"&&$r.test(c.expression.value)&&(p=c.expression.value),p!=="use strict"&&p&&(t[n]||=new Set,t[n].add(p),"start"in c&&typeof c.start=="number"&&"end"in c&&typeof c.end=="number"&&(a.remove(c.start,c.end),i=!0),e.debug({message:`directive "${p}" for module "${n}" is preserved.`,prefix:"plugin:preserve-directives"}))}return i?{code:a.toString(),map:a.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...t[n]??[]],shebang:o[n]??null}}}:null},order:"post"}}},"preserveDirectives");var jr=Object.defineProperty,kr=d((e,t)=>jr(e,"name",{value:t,configurable:!0}),"r$4");const xr={exclude:[],include:[/\.(md|txt|css|htm|html)$/]},Er=kr((e={})=>{e={...e,...xr};const t=V(e.include,e.exclude);return{name:"packem:raw",transform(o,r){return t(r)?{code:`export default ${JSON.stringify(o)}`,map:null}:null}}},"rawPlugin");var Or=Object.defineProperty,Dr=d((e,t)=>Or(e,"name",{value:t,configurable:!0}),"l$4");const K="\0__file_url__",Ze=Dr(()=>({async load(e){if(e.startsWith(K)){const t=Ut(e.slice(K.length));return await oe(t)}},name:"packem:resolve-file-url",resolveId(e){if(e.startsWith("file://"))return`${K}${e}`}}),"resolveFileUrl");var Sr=Object.defineProperty,et=d((e,t)=>Sr(e,"name",{value:t,configurable:!0}),"i$5");const Nr=/__filename|__dirname|require\(|require\.resolve\(/,tt=`
|
|
34
42
|
// -- pack CommonJS Shims --
|
|
35
43
|
import __cjs_url__ from "node:url";
|
|
36
44
|
import __cjs_path__ from "node:path";
|
|
@@ -38,54 +46,63 @@ import __cjs_mod__ from "node:module";
|
|
|
38
46
|
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
|
|
39
47
|
const __dirname = __cjs_path__.dirname(__filename);
|
|
40
48
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
41
|
-
`,
|
|
49
|
+
`,ot=`
|
|
42
50
|
// -- pack CommonJS Shims Node 20.11 --
|
|
43
51
|
import __cjs_mod__ from "node:module";
|
|
44
52
|
const __filename = import.meta.filename;
|
|
45
53
|
const __dirname = import.meta.dirname;
|
|
46
54
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
47
|
-
`,
|
|
55
|
+
`,_r=et((e,t)=>{if(E.INTERNAL_PACKEM_BUILD!=="1"&&(e.includes(tt)||e.includes(ot)||!Nr.test(e)))return null;const o=Te(e).pop(),r=o?o.end:0,n=new _(e);return n.appendRight(r,t),{code:n.toString(),map:n.generateMap()}},"CJSToESM"),Pr=et(e=>({name:"packem:cjs",renderChunk(t,o,r){if(r.format==="es"){let n=tt;if(e.engines?.node){const s=Le(e.engines.node);s&&s.major>=20&&s.minor>=11&&(n=ot)}return _r(t,n)}return null}}),"cjsPlugin");var Mr=Object.defineProperty,I=d((e,t)=>Mr(e,"name",{value:t,configurable:!0}),"r$3");const Cr=/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g,Ir=/MIT License|MIT license|BSD license/,Fr=/\n{2,}/g,Rr=/\b(\w+)\$\d+\b/g,Tr=/[-/\\^$*+?.()|[\]{}]/g,Ar=I(e=>e.replaceAll(Tr,"\\$&"),"escapeRegex"),Jr=I(e=>[...new Set(e)],"unique"),Br=I(e=>e.replaceAll(Cr,t=>Ir.test(t)?"":t).replaceAll(Fr,`
|
|
48
56
|
|
|
49
|
-
`),"cleanUnnecessaryComments"),
|
|
50
|
-
- ${
|
|
57
|
+
`),"cleanUnnecessaryComments"),ke=new Map;function rt(e,t,{identifierReplacements:o},r){const n=Te(e);for(const i in o){const a=n.find(c=>c.specifier===i&&c.imports.includes("{"));if(!a){this.warn(`${t.fileName} does not import "${i}" for replacement`),process.exitCode=1;continue}const l=o[i];for(const c in l){if(!a.imports.includes(c))throw new Error(`${t.fileName} does not import "${c}" from "${i}" for replacement`);const p=l[c],u=Ar(c);p.includes(".")&&(e=e.replace(new RegExp(`\\b\\w+\\b as ${u},?\\s?`),"")),e=e.replaceAll(new RegExp(`\\b${u}\\b`,"g"),p)}}const s=Jr(Array.from(e.matchAll(Rr),i=>i[0]));if(s.length>0){const i=s.map(l=>`
|
|
58
|
+
- ${l}`).join(""),a=t.fileName.replace(/\.[^/.]+$/,"");ke.has(a)||r.warn({message:`${t.fileName} contains confusing identifier names${i}
|
|
51
59
|
|
|
52
|
-
To replace these, add them to the "patchTypes -> identifierReplacements" option in your packem config.`,prefix:"patch-types"}),
|
|
60
|
+
To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),ke.set(a,!0)}return e}d(rt,"I$1");I(rt,"replaceConfusingTypeNames");function nt(e,t){if(t.leadingComments?.some(o=>o.type==="CommentBlock"&&o.value.includes("@internal"))){const o=e.original[t.end]===","?t.end+1:t.end;return e.remove(t.leadingComments[0].start,o),!0}return!1}d(nt,"N");I(nt,"removeInternal");function st(e,t){if(e.includes("@internal")){const o=new _(e),r=no(e,{plugins:["typescript"],sourceType:"module"});if(Ke(r,{enter(n){nt(o,n)&&this.skip()}}),e=o.toString(),e.includes("@internal"))throw new Error(`${t.fileName} has unhandled @internal declarations`)}return e}d(st,"S");I(st,"stripInternalTypes");const Wr=I((e,t)=>({name:"packem:patch-types",renderChunk(o,r){return o=rt.call(this,o,r,e,t),o=st.call(this,o,r),o=Br(o),o},resolveId(o){return o.startsWith("types/")?{external:!0,id:"../../"+(o.endsWith(".js")?o:o+".js")}:null}}),"patchTypescriptTypes");var Lr=Object.defineProperty,it=d((e,t)=>Lr(e,"name",{value:t,configurable:!0}),"u$5");const at=it((e,t=!0)=>{if(!e)return null;const{config:o,path:r}=e;if(!o.compilerOptions)return null;const{baseUrl:n,paths:s}=o.compilerOptions;if(!n)return null;const i=g(se(r),n),a=[];if(s)for(const[l,c]of Object.entries(s)){const p=new RegExp(`^${[...l].map(m=>m==="*"?"(.+)":m.replace(/[\\^$*+?.()|[\]{}]/,"\\$&")).join("")}$`);let u=0;for(const m of c){const f=[...ye(g(i,m))].map(v=>v==="*"?"$"+(++u+""):v==="$"?"$$":v).join("");a.push({find:p,replacement:f})}}return t&&a.push({find:/^(?!\.*\/|\.*$|\w:)(.+)$/,replacement:`${[...ye(i)].map(l=>l==="$"?"$$":l).join("")}/$1`}),a},"getConfigAlias"),lt=it((e,t)=>{const o=at(e);return{name:"packem:resolve-tsconfig-paths",async resolveId(r,n,s){if(!o||r.includes("\0"))return null;for(const{find:i,replacement:a}of o)if(i.test(r)){const l=r.replace(i,a),c=await this.resolve(l,n,{skipSelf:!0,...s});if(c)return t.debug({message:`Resolved ${r} to ${c.id} using paths from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-paths"}),c.id}return null}}},"resolveTsconfigPaths");var zr=Object.defineProperty,ct=d((e,t)=>zr(e,"name",{value:t,configurable:!0}),"u$4");const Ur=ct((e,t)=>{if(!t)return null;const{config:o,path:r}=t;if(!o.compilerOptions)return null;const{rootDirs:n}=o.compilerOptions;if(!n)return null;const s=[];for(const i of n){if(i.startsWith("."))throw new Error(`Invalid rootDir value '.' in ${r}.`);if(i.startsWith(".."))throw new Error(`Invalid rootDir value '..' in ${r}.`);s.push(g(e,i))}return s},"getRootDirectories"),pt=ct((e,t,o)=>{const r=Ur(e,o);return{name:"packem:resolve-tsconfig-root-dirs",async resolveId(n,s,i){if(r===null||r.length===0)return null;if(n.startsWith("."))for(const a of r){const l=b(a,n),c=await this.resolve(l,s,{skipSelf:!0,...i});if(c)return t.debug({message:`Resolved ${n} to ${c.id} using rootDirs from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-root-dirs"}),c.id}return null}}},"resolveTsconfigRootDirectories");var Hr=Object.defineProperty,Vr=d((e,t)=>Hr(e,"name",{value:t,configurable:!0}),"r$2");const ut=Vr(()=>{const e=/\.(?:[mc]?js|jsx)$/;return{name:"packem:resolve-typescript-mjs-cjs",async resolveId(t,o,r){return e.test(t)&&o?await this.resolve(t.replace(/js(x?)$/,"ts$1"),o,r):null}}},"resolveTypescriptMjsCts");var qr=Object.defineProperty,Yr=d((e,t)=>qr(e,"name",{value:t,configurable:!0}),"s$8");const Gr=Yr(e=>{const t=H(e).split(".");if(t.length>=2){const[o,r]=t.slice(-2),n=t[0],s=/^(\w+)-runtime$/.exec(o)?.[1];if(F.includes(r)&&s&&s.length>0)return n+"-"+s}},"getCustomModuleLayer");var Kr=Object.defineProperty,Xr=d((e,t)=>Kr(e,"name",{value:t,configurable:!0}),"i$4");const X=Xr(e=>(e.preserveDirectives||{directives:[]}).directives.map(t=>t.replace(/^use /,"")).find(t=>t!=="strict"),"getModuleLayer");var Qr=Object.defineProperty,xe=d((e,t)=>Qr(e,"name",{value:t,configurable:!0}),"c$4");const Ee=xe((e,t)=>{const o=new Map;return xe(function(r,n){const s=n.getModuleInfo(r);if(!s)return;const{isEntry:i}=s,a=s.meta,l=X(a);if(!i){const c=o.get(r);if(c)return c;const p=Gr(r);if(p)return o.set(r,p),p}if(i){const c=n.getModuleIds();for(const p of c)n.getModuleInfo(p)&&X(a)===l&&(e.has(p)||e.set(p,new Set),e.get(p).add([r,l]))}if(l&&!i&&e.has(r)){const c=[...e.get(r)];if(c.some(([u])=>{if(t.some(m=>m.path===u)){const m=n.getModuleInfo(u);return X(m?m.meta:{})===l}return!1}))return;if(c.every(([,u])=>u===l))return o.has(r)?o.get(r):void 0;const p=`${H(r,ne(r))}-${l}`;return o.set(r,p),p}},"splitChunks")},"createSplitChunks");var Zr=Object.defineProperty,en=d((e,t)=>Zr(e,"name",{value:t,configurable:!0}),"n");const N=en((e,t,o)=>t.isDynamicEntry?`chunks/[name].${o}`:`shared/${e.options.name}.[hash].${o}`,"getChunkFilename");var tn=Object.defineProperty,on=d((e,t)=>tn(e,"name",{value:t,configurable:!0}),"s$6");const rn=process.platform==="win32",Oe=on((e,t)=>{const o=rn?"\\":"/";return e.name?.includes("node_modules"+o+".pnpm")?(e.name.replace("node_modules"+o+".pnpm","external")+"."+t).replace("node_modules"+o,""):e.name?.includes("node_modules")?e.name.replace("node_modules","external")+"."+t:"[name]."+t},"getEntryFileNames");var nn=Object.defineProperty,w=d((e,t)=>nn(e,"name",{value:t,configurable:!0}),"p$1");const sn=w((e,t)=>{if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");t.tsconfig?.config.compilerOptions?.target?.toLowerCase()==="es3"&&(t.logger.warn(["ES3 target is not supported by esbuild, so ES5 will be used instead..","Please set 'target' option in tsconfig to at least ES5 to disable this error"].join(" ")),t.tsconfig.config.compilerOptions.target="es5",t.options.rollup.esbuild.target="es5");let o="node"+xt.node.split(".")[0];if(t.pkg.engines?.node){const r=Le(t.pkg.engines.node);r&&(o="node"+r.major)}if(t.options.rollup.esbuild.target){const r=G(t.options.rollup.esbuild.target);r.some(n=>n.startsWith("node"))||(t.options.rollup.esbuild.target=[...new Set([...G(o),...r])])}else t.options.rollup.esbuild.target=G(o);return t.tsconfig?.config.compilerOptions?.target==="es5"&&(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because target is set to es5")),{logger:t.logger,minify:t.options.minify,minifyWhitespace:t.options.minify,sourceMap:t.options.sourcemap,...t.options.rollup.esbuild}}if(e==="swc"){if(!t.options.rollup.swc)throw new Error("No swc options found in your configuration.");return{minify:t.options.minify,...t.options.rollup.swc,jsc:{minify:{compress:{directives:!1},format:{comments:"some"},mangle:{toplevel:!0},sourceMap:t.options.sourcemap,toplevel:t.options.emitCJS??t.options.emitESM},...t.options.rollup.swc.jsc},sourceMaps:t.options.sourcemap}}if(e==="sucrase"){if(!t.options.rollup.sucrase)throw new Error("No sucrase options found in your configuration.");return{...t.options.rollup.sucrase}}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),dt=w((e,t)=>{if(e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message))return!0;if(e.code==="UNRESOLVED_IMPORT")throw new Error(`Failed to resolve the module "${e.exporter}" imported by "${y(D(g(),e.id))}"
|
|
53
61
|
Is the module installed? Note:
|
|
54
62
|
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
55
|
-
↳ to depend on a module via import/require, install it to "dependencies".`)
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
↳ to depend on a module via import/require, install it to "dependencies".`);return e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),De=new Map,mt=w((e,t,o)=>{const r=w(s=>{for(const[i,a]of Object.entries(t))if(s.startsWith(i))return s.replace(i,a)},"findAlias"),n=at(e.tsconfig,!1);return{external(s){const i=r(s);i&&(s=i);const a=Ve(s);if(te(e.options.externals,a)||te(e.options.externals,s))return!0;const{pkg:l}=e;if(s.startsWith(".")||Fe(s)||/src[/\\]/.test(s)||l.name&&s.startsWith(l.name))return!1;if(n){for(const{find:c}of n)if(c.test(s))return e.logger.debug({message:`Resolved alias ${s} to ${c.source}`,prefix:o}),!1}return De.has(s)||e.logger.info({message:'Inlined implicit external "'+y(s)+'". If this is incorrect, add it to the "externals" option.',prefix:o}),De.set(s,!0),!1},input:Object.fromEntries(e.options.entries.map(s=>[s.name,g(e.options.rootDir,s.input)])),logLevel:e.options.debug?"debug":"info",onLog:w((s,i)=>{let a=i.message;switch(i.stack&&(a=`${a}
|
|
64
|
+
${i.stack}`),s){case"info":{e.logger.info({message:a,prefix:o+(i.plugin?":plugin:"+i.plugin:"")});return}case"warn":{e.logger.warn({message:a,prefix:o+(i.plugin?":plugin:"+i.plugin:"")});return}case"debug":e.logger.debug({message:a,prefix:o+(i.plugin?":plugin:"+i.plugin:"")})}},"onLog"),onwarn(s,i){dt(s,e)||s.code||i(s)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),ft=w(async(e,t)=>{const o=le(e,"build");let r;return e.options.rollup.resolve&&(r=x(Be({extensions:F,...e.options.rollup.resolve}),t)),{...mt(e,o,"dependencies"),output:[e.options.emitCJS&&{chunkFileNames:w(n=>N(e,n,"cjs"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:w(n=>Oe(n,"cjs"),"entryFileNames"),exports:"auto",externalLiveBindings:!1,format:"cjs",freeze:!1,generatedCode:{arrowFunctions:!0,constBindings:!0,objectShorthand:!0,preset:e.tsconfig?.config.compilerOptions?.target==="es5"?"es5":"es2015",reservedNamesAsProps:!0,symbols:!0},hoistTransitiveImports:!1,interop:"compat",sourcemap:e.options.sourcemap,validate:!0,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:Ee(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}},e.options.emitESM&&{chunkFileNames:w(n=>N(e,n,"mjs"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:w(n=>Oe(n,"mjs"),"entryFileNames"),exports:"auto",externalLiveBindings:!1,format:"esm",freeze:!1,generatedCode:{arrowFunctions:!0,constBindings:!0,objectShorthand:!0,preset:e.tsconfig?.config.compilerOptions?.target==="es5"?"es5":"es2015",reservedNamesAsProps:!0,symbols:!0},hoistTransitiveImports:!1,sourcemap:e.options.sourcemap,validate:!0,...e.options.rollup.output,...e.options.rollup.output?.preserveModules?{preserveModules:!0,preserveModulesRoot:e.options.rollup.output.preserveModulesRoot??"src"}:{manualChunks:Ee(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}}].filter(Boolean),plugins:[x(Ze(),t),x(ut(),t),e.tsconfig&&x(pt(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&x(lt(e.tsconfig,e.logger),t),e.options.rollup.replace&&We({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Je({customResolver:r?.resolveId,...e.options.rollup.alias,entries:o}),r,e.options.rollup.polyfillNode&&Xt({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&Ge({...e.options.rollup.json}),wr(e.logger),lo(e.options.entries.filter(n=>n.executable).map(n=>n.name).filter(Boolean)),e.options.rollup.wsam&&Kt(e.options.rollup.wsam),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer&&er(b(e.options.rootDir,e.options.sourceDir))(e.options.isolatedDeclarationTransformer,e.options.rollup.isolatedDeclarations),e.options.transformer?.(sn(e.options.transformerName,e)),e.options.cjsInterop&&e.options.emitCJS&&Ye({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.dynamicVars&&Gt(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&x(Yt({extensions:F,sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),t),e.options.rollup.preserveDynamicImports&&{renderDynamicImport(){return{left:"import(",right:")"}}},e.options.rollup.shim&&Pr(e.pkg),e.options.rollup.raw&&Er(e.options.rollup.raw),e.options.rollup.jsxRemoveAttributes&&ar({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),e.options.rollup.metafile&&mr({outDir:g(e.options.rootDir,e.options.outDir),rootDir:e.options.rootDir}),e.options.rollup.copy&&Qo(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&Xe({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.dependenciesTemplate,logger:e.logger,marker:e.options.rollup.license.dependenciesMarker??"DEPENDENCIES",mode:"dependencies",packageName:e.pkg.name}),e.options.rollup.visualizer&&Qt({brotliSize:!0,filename:"packem-bundle-analyze.html",gzipSize:!0,projectRoot:e.options.rootDir,sourcemap:e.options.sourcemap,title:"Packem Visualizer",...e.options.rollup.visualizer})].filter(Boolean)}},"getRollupOptions"),an=w(async e=>{const{dts:t}=require("rollup-plugin-dts");return t({compilerOptions:{...e.options.rollup.dts.compilerOptions,incremental:void 0,inlineSources:void 0,sourceMap:void 0,tsBuildInfoFile:void 0},respectExternal:e.options.rollup.dts.respectExternal,tsconfig:e.tsconfig?.path})},"createDtsPlugin"),ln=qo(an),gt=w(async(e,t)=>{const o=le(e,"types"),r={load(a){return/\.(?:js|cjs|mjs|jsx|ts|tsx|mts|json)$/.test(a)?null:""},name:"packem:ignore-files"},n=e.tsconfig?.config.compilerOptions;delete n?.lib;let s;e.options.rollup.resolve&&(s=x(Be({extensions:F,...e.options.rollup.resolve}),t));const i="dts-plugin:"+process.pid+e.tsconfig.path;return{...mt(e,o,"dts"),onwarn(a,l){dt(a,e)||a.code!=="EMPTY_BUNDLE"&&l(a)},output:[e.options.emitCJS&&{chunkFileNames:w(a=>N(e,a,"d.cts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.emitESM&&{chunkFileNames:w(a=>N(e,a,"d.mts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts",format:"esm",sourcemap:e.options.sourcemap,...e.options.rollup.output},(e.options.declaration===!0||e.options.declaration==="compatible")&&{chunkFileNames:w(a=>N(e,a,"d.ts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[x(Ze(),t),x(ut(),t),e.options.rollup.json&&Ge({...e.options.rollup.json}),r,e.tsconfig&&x(pt(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&x(lt(e.tsconfig,e.logger),t),e.options.rollup.replace&&We({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Je({customResolver:s?.resolveId,...e.options.rollup.alias,entries:o}),s,await ln(i)(e),e.options.cjsInterop&&e.options.emitCJS&&Ye({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.patchTypes&&Wr(e.options.rollup.patchTypes,e.logger),co(),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&Xe({licenseFilePath:e.options.rollup.license.path,licenseTemplate:e.options.rollup.license.dtsTemplate,logger:e.logger,marker:e.options.rollup.license.dependenciesMarker??"TYPE_DEPENDENCIES",mode:"types",packageName:e.pkg.name})].filter(Boolean)}},"getRollupDtsOptions");var cn=Object.defineProperty,pn=d((e,t)=>cn(e,"name",{value:t,configurable:!0}),"c$3");const Q=pn(async(e,t)=>{const o=await ft(e,t);if(await e.hooks.callHook("rollup:options",e,o),Object.keys(o.input).length===0)return;const r="rollup-build.json";o.cache=t.get(r);const n=await Re(o);t.set(r,n.cache),await e.hooks.callHook("rollup:build",e,n);const s=new Map;for(const i of o.output){const{output:a}=await n.write(i),l=new Set,c=a.filter(u=>u.type==="chunk");for(const u of c){l.add(u.fileName);for(const m of u.imports)e.usedImports.add(m);u.isEntry&&e.buildEntries.push({bytes:Buffer.byteLength(u.code,"utf8"),chunks:u.imports.filter(m=>c.find(f=>f.fileName===m)),exports:u.exports,modules:Object.entries(u.modules).map(([m,f])=>({bytes:f.renderedLength,id:m})),path:u.fileName,type:"entry"})}const p=a.filter(u=>u.type==="asset");for(const u of p)s.has(u.fileName)||s.set(u.fileName,{bytes:Buffer.byteLength(u.source,"utf8"),path:u.fileName,type:"asset"});for(const u of l)e.usedImports.delete(u)}e.buildEntries.push(...s.values())},"build");var un=Object.defineProperty,L=d((e,t)=>un(e,"name",{value:t,configurable:!0}),"s$5");const Z=L(async(e,t)=>{if(e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer){e.logger.debug({message:"Skipping declaration file generation as isolated declaration transformer is enabled.",prefix:"dts"});return}const o=await gt(e,t);if(await e.hooks.callHook("rollup:dts:options",e,o),Object.keys(o.input).length===0)return;const r="rollup-dts.json";o.cache=t.get(r);const n=await Re(o);t.set(r,n.cache),await e.hooks.callHook("rollup:dts:build",e,n),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS&&await n.write({chunkFileNames:L(s=>N(e,s,"d.cts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts"}),e.options.emitESM&&await n.write({chunkFileNames:L(s=>N(e,s,"d.mts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts"}),(e.options.declaration===!0||e.options.declaration==="compatible")&&await n.write({chunkFileNames:L(s=>N(e,s,"d.ts"),"chunkFileNames"),dir:g(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"}),await e.hooks.callHook("rollup:dts:done",e)},"buildTypes");var dn=Object.defineProperty,de=d((e,t)=>dn(e,"name",{value:t,configurable:!0}),"i$2");const mn=de(e=>{const{message:t,name:o="Error",stack:r}=e;if(!r)return r;const n=`${o}: ${t}
|
|
65
|
+
`;return r.startsWith(n)?r.slice(n.length):r},"extractStack"),fn=de(e=>`
|
|
66
|
+
${e.replaceAll(/^\n|\n$/g,"")}
|
|
67
|
+
`,"normalizeCodeFrame"),ht=de(e=>{const t=mn(e);let o=(e.plugin?`[${e.plugin}] `:"")+e.message;e.id&&(o+=`
|
|
68
|
+
file: ${y(e.id+(e.loc?":"+e.loc.line+":"+e.loc.column:""))}`),e.frame&&(o+=`
|
|
69
|
+
`+Ot(fn(e.frame))),e.message=o,t!==void 0&&(e.stack=`${e.message}
|
|
70
|
+
${t}`)},"enhanceRollupError");var gn=Object.defineProperty,yt=d((e,t)=>gn(e,"name",{value:t,configurable:!0}),"l$3");const Se=yt((e,t,o)=>{const r="watcher:"+t;e.on("change",(n,{event:s})=>{o.info({message:`${y(D(".",n))} was ${s}d`,prefix:r})}),e.on("restart",()=>{o.info({message:"Rebuilding "+t+"...",prefix:r})}),e.on("event",async n=>{switch(n.code){case"END":{o.success({message:"Rebuild "+t+" finished",prefix:r});break}case"BUNDLE_START":{o.info({message:y("build started..."),prefix:r});break}case"BUNDLE_END":{await n.result.close(),o.info({message:y(`built in ${n.duration+""}ms.`),prefix:r});break}case"ERROR":{ht(n.error),o.error({context:[n.error],message:"Rebuild "+t+" failed: "+n.error.message,prefix:r});break}}})},"watchHandler"),hn=yt(async(e,t)=>{const o=await ft(e,t);if(await e.hooks.callHook("rollup:options",e,o),Object.keys(o.input).length===0)return;o.cache=t.get("rollup-watch"),typeof o.watch=="object"&&o.watch.include===void 0&&(o.watch.include=[b(e.options.sourceDir,"**")],o.watch.chokidar={cwd:e.options.rootDir,...o.watch.chokidar});const r=he(o);await e.hooks.callHook("rollup:watch",e,r);const n=[...Array.isArray(o.input)?o.input:typeof o.input=="string"?[o.input]:Object.keys(o.input??{})];let s="Starting watchers for entries:";for(const i of n)s+=C(`
|
|
71
|
+
└─ ${D(process.cwd(),i)}`);if(e.logger.info(s),Se(r,"bundle",e.logger),e.options.declaration){const i=await gt(e,t);await e.hooks.callHook("rollup:dts:options",e,i);const a=he(i);await e.hooks.callHook("rollup:watch",e,a),Se(a,"types",e.logger)}},"watch");var yn=Object.defineProperty,vn=d((e,t)=>yn(e,"name",{value:t,configurable:!0}),"i$1");const vt=vn(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var bn=Object.defineProperty,$n=d((e,t)=>bn(e,"name",{value:t,configurable:!0}),"a$3");class wn{static{d(this,"p")}static{$n(this,"FileCache")}#r;#e;#n;#t=!0;#o=new Map;#s;constructor(t,o,r){this.#r=t,this.#e=so("@visulima/packem",{cwd:t}),this.#n=o,this.#s=r,this.#e===void 0?r.debug("Could not create cache directory."):r.debug(`Cache path is: ${this.#e}`)}set isEnabled(t){this.#t=t}get cachePath(){return this.#e}has(t,o){return!this.#t||this.#e===void 0?!1:O(this.getFilePath(t,o))}get(t,o){if(!this.#t||this.#e===void 0)return;const r=this.getFilePath(t,o);if(this.#o.has(r))return this.#o.get(r);if(!O(r))return;const n=Me(r);try{const s=JSON.parse(n);return this.#o.set(r,s),s}catch{this.#s.warn(`Could not parse cache file: ${r}, deleting the broken cache file.`),this.#o.delete(r),qt(r,{force:!0});return}}set(t,o,r){if(!this.#t||this.#e===void 0||o===void 0)return;const n=this.getFilePath(t,r);typeof o=="object"&&(o=JSON.stringify(o)),Ce(n,o,{overwrite:!0})}getFilePath(t,o){let r=t.replaceAll(ge(this.#r),"");return r=r.replaceAll(":","-"),b(this.#e,this.#n,o?.replaceAll(":","-")??"",ge(r))}}var jn=Object.defineProperty,z=d((e,t)=>jn(e,"name",{value:t,configurable:!0}),"l$2");const kn=V,xn=z((e,t)=>{const{sideEffects:o}=t;let r;if(typeof o=="boolean")r=z(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)r=z(()=>!1,"hasSideEffects");else{const n=o.map(s=>s.includes("/")?s:`**/${s}`);r=kn(n,null,{resolve:e})}else r=z(()=>null,"hasSideEffects");return r},"getPackageSideEffect");var En=Object.defineProperty,On=d((e,t)=>En(e,"name",{value:t,configurable:!0}),"y");const Dn=On((e,t,o)=>e.reduce((r,n)=>{const s=n[t],i=n[o];return r[s]||(r[s]={}),r[s][i]||(r[s][i]=[]),r[s][i].push(n),r},{}),"groupByKeys");var Sn=Object.defineProperty,Nn=d((e,t)=>Sn(e,"name",{value:t,configurable:!0}),"o");const _n=Nn(e=>{const t=new Set,o=new Set(Object.keys(e.pkg.dependencies??{})),r=new Set;for(const n of e.usedImports)o.delete(n),t.add(n);if(e.pkg.dependencies)for(const n of Object.keys(e.pkg.dependencies))o.delete(n);for(const n of t){const s=Ve(n);!te(e.options.externals,n)&&!n.startsWith("chunks/")&&e.pkg.dependencies?.[s]===void 0&&e.pkg.peerDependencies?.[s]===void 0&&r.add(n)}o.size>0&&J(e,`Potential unused dependencies found: ${[...o].map(n=>y(n)).join(", ")}`),r.size>0&&J(e,`Potential implicit dependencies found: ${[...r].map(n=>y(n)).join(", ")}`)},"validateDependencies");var Pn=Object.defineProperty,bt=d((e,t)=>Pn(e,"name",{value:t,configurable:!0}),"i");const Mn=bt((e,t)=>io(e,t)<=e.length/3||t.includes(e),"isSimilar"),Cn=bt((e,t)=>{const o=e.toLowerCase();return t.filter(r=>Mn(r.toLowerCase(),o))},"findAlternatives");var In=Object.defineProperty,Ne=d((e,t)=>In(e,"name",{value:t,configurable:!0}),"s$1");const Fn=Ne((e,t)=>{const o=new Set([...typeof e.bin=="string"?[e.bin]:Object.values(e.bin??{}),e.main,e.module,t.options.declaration?e.types:"",t.options.declaration?e.typings:"",...ce(e.exports,e.type??"commonjs",t.options.declaration).map(n=>n.file)].map(n=>n&&g(t.options.rootDir,n.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),r=[];for(const n of o)n&&!n.includes("*")&&!ie(n)&&r.push(n.replace(`${t.options.rootDir}/`,""));if(r.length>0){const n=Ne(a=>D(t.options.rootDir,g(t.options.outDir,a)),"rPath"),s=t.buildEntries.filter(a=>!a.chunk).map(a=>n(a.path));let i="Potential missing or wrong package.json files:";for(const a of r){const l=Cn(a,s);i+=`
|
|
72
|
+
- `+y(a)+(l.length>0?Dt` (did you mean ${l.map(c=>`"${c}"`).join(", ")}?)`:"")}J(t,i)}},"validatePackage");var Rn=Object.defineProperty,Tn=d((e,t)=>Rn(e,"name",{value:t,configurable:!0}),"a");const An=/^[^a-z_@#~]|[^\w/@#~-]|@\/|#\/|~\//i,Jn=new Set(["abstract","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield"]),_e=Tn(e=>{if(!Array.isArray(e)&&e!==null)for(const[t,o]of Object.entries(e)){if(typeof t!="string"||t.trim()==="")throw new Error(`Alias name "${t}" is invalid. Alias names should be non-empty strings.`);if(An.test(t))throw new Error(`Alias name "${t}" is invalid. Alias names should start with a letter or underscore and only contain letters, numbers, underscores, and dashes.`);if(Jn.has(t))throw new Error(`Alias name "${t}" is a reserved keyword and cannot be used.`);const r=g(o);if(!O(r))throw new Error(`Target path "${r}" for alias "${t}" does not exist.`)}},"validateAliasEntries");var Bn=Object.defineProperty,j=d((e,t)=>Bn(e,"name",{value:t,configurable:!0}),"h");const $t=j((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
|
|
58
73
|
`),e.logger.warn(`Build is done with some warnings:
|
|
59
74
|
|
|
60
|
-
${[...e.warnings].map(
|
|
61
|
-
`)}`),e.options.failOnWarn
|
|
62
|
-
# Licenses of bundled types
|
|
63
|
-
The published ${y} artifact additionally contains code with the following licenses:
|
|
64
|
-
${m.join(", ")}
|
|
65
|
-
|
|
66
|
-
# Bundled types:
|
|
67
|
-
`+g,"dtsTemplate"),template:C((m,g,y)=>`
|
|
75
|
+
${[...e.warnings].map(o=>`- ${o}`).join(`
|
|
76
|
+
`)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logErrors"),Wn=j(e=>{switch(e){case"preserve":case"react-native":return"preserve";case"react":return"transform";case"react-jsx":case"react-jsxdev":return"automatic";default:return}},"resolveTsconfigJsxToJsxRuntime"),Ln=j((e,t,o,r,n,s,i,a,l)=>{const c=Wn(l?.config.compilerOptions?.jsx),p=Jt(s,n,i,{alias:{},clean:!0,debug:r,declaration:!0,emitCJS:!0,emitESM:!0,entries:[],externals:[...fe.builtinModules,...fe.builtinModules.map(u=>`node:${u}`)],failOnWarn:!0,fileCache:!0,minify:E.NODE_ENV==="production",name:(a.name??"").split("/").pop()??"default",outDir:"dist",replace:{},rollup:{alias:{},cjsInterop:{addDefaultProperty:!1},commonjs:{ignoreTryCatch:!0,preserveSymlinks:!0,transformMixedEsModules:!1},dts:{compilerOptions:{baseUrl:l?.config.compilerOptions?.baseUrl??".",checkJs:!1,composite:!1,declaration:!0,declarationMap:!1,emitDeclarationOnly:!0,incremental:!1,noEmit:!1,noEmitOnError:!0,preserveSymlinks:!1,skipLibCheck:!0,target:99},respectExternal:!0},dynamicVars:{errorWhenNoFilesFound:!0,include:/\bimport\s*[(/]/},esbuild:{charset:"utf8",include:/\.[jt]sx?$/,jsx:c,jsxDev:l?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:l?.config.compilerOptions?.jsxFactory,jsxFragment:l?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:l?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,sourcesContent:!1,target:l?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:l?.config},isolatedDeclarations:{exclude:Y,ignoreErrors:!1,include:[/\.[cm]?ts$/]},json:{preferConst:!0},license:{dependenciesTemplate:j((u,m,f)=>`
|
|
68
77
|
# Licenses of bundled dependencies
|
|
69
|
-
The published ${
|
|
70
|
-
${
|
|
78
|
+
The published ${f} artifact additionally contains code with the following licenses:
|
|
79
|
+
${u.join(", ")}
|
|
71
80
|
|
|
72
81
|
# Bundled dependencies:
|
|
73
|
-
`+
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
`+m,"dependenciesTemplate"),dtsTemplate:j((u,m,f)=>`
|
|
83
|
+
# Licenses of bundled types
|
|
84
|
+
The published ${f} artifact additionally contains code with the following licenses:
|
|
85
|
+
${u.join(", ")}
|
|
86
|
+
|
|
87
|
+
# Bundled types:
|
|
88
|
+
`+m,"dtsTemplate")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:Y,include:["**/*.data","**/*.txt"]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,preferBuiltins:!1},shim:!0,sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:l?.config.compilerOptions?.esModuleInterop===!1,include:/\.[jt]sx?$/,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:E.NODE_ENV==="production",...l?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(l.config.compilerOptions.jsx)?{jsxFragmentPragma:l.config.compilerOptions.jsxFragmentFactory,jsxImportSource:l.config.compilerOptions.jsxImportSource,jsxPragma:l.config.compilerOptions.jsxFactory,jsxRuntime:c,transforms:["typescript","jsx",...l.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...l?.config.compilerOptions?.esModuleInterop?["imports"]:[]]}},swc:{include:/\.[jt]sx?$/,inlineSourcesContent:!1,inputSourceMap:!1,isModule:!0,jsc:{experimental:{keepImportAttributes:!0},externalHelpers:!1,keepClassNames:!0,loose:!0,parser:{decorators:l?.config.compilerOptions?.experimentalDecorators,syntax:l?"typescript":"ecmascript",[l?"tsx":"jsx"]:!0},target:l?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:l?.config.compilerOptions?.emitDecoratorMetadata,legacyDecorator:l?.config.compilerOptions?.experimentalDecorators,react:{development:E.NODE_ENV!=="production",pragma:l?.config.compilerOptions?.jsxFactory,pragmaFrag:l?.config.compilerOptions?.jsxFragmentFactory,runtime:c,throwIfNamespace:!0},treatConstEnumAsEnum:l?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:l?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"},transform:{decoratorVersion:"2022-03"}},treeshake:{moduleSideEffects:xn(t,a),preset:"recommended"},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:Y}},rootDir:t,sourceDir:"src",sourcemap:!1,stub:o==="jit",stubOptions:{jiti:{alias:{},esmResolve:!0,interopDefault:!0}},transformerName:void 0});if(!p.transformerName){const u=new Map([...Object.entries(a.dependencies??{}),...Object.entries(a.devDependencies??{})]);let m="0.0.0";if(u.has("esbuild"))p.transformerName="esbuild",m=u.get("esbuild");else if(u.has("@swc/core"))p.transformerName="swc",m=u.get("@swc/core");else if(u.has("sucrase"))p.transformerName="sucrase",m=u.get("sucrase");else throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");e.info("Using "+y("rollup ")+Wt),e.info({message:"Using "+y(p.transformerName)+" "+m,prefix:"transformer"})}return p.rollup.resolve&&p.rollup.resolve.preferBuiltins===!0&&(p.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true")),a.devDependencies?.typescript&&!l?.config.compilerOptions?.isolatedModules&&e.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
|
|
89
|
+
Because none of the third-party transpiler, packem uses under the hood is type-aware, some techniques or features often used in TypeScript are not properly checked and can cause mis-compilation or even runtime errors.
|
|
90
|
+
To mitigate this, you should set the isolatedModules option to true in tsconfig and let your IDE warn you when such incompatible constructs are used.`),a.dependencies&&p.externals.push(...Object.keys(a.dependencies)),a.peerDependencies&&p.externals.push(...Object.keys(a.peerDependencies)),a.optionalDependencies&&p.externals.push(...Object.keys(a.optionalDependencies)),_e(p.alias),p.rollup.alias&&p.rollup.alias.entries&&_e(p.rollup.alias.entries),p},"generateOptions"),zn=j(e=>e.replace(/\.(?:js|mjs|cjs|ts|mts|cts|json|jsx|tsx)$/,""),"removeExtension"),Un=j(async(e,t)=>{e.options.entries=e.options.entries.map(o=>typeof o=="string"?{input:o}:o);for await(const o of e.options.entries){if(typeof o.name!="string"){let r=Fe(o.input)?D(t,o.input):re(o.input);r.startsWith("./")&&(r=r.slice(2)),o.name=zn(r.replace(/^src\//,""))}if(!o.input)throw new Error(`Missing entry input: ${vt(o)}`);if(o.input=g(e.options.rootDir,o.input),!O(o.input)){const r=new Set(await kt(se(o.input)));let n=!1;for(const s of F)if(r.has(H(o.input)+s)){n=!0;break}if(!n)throw new It("Your configured entry: "+y(o.input)+" does not exist.")}o.outDir=g(e.options.rootDir,o.outDir??e.options.outDir)}},"prepareEntries"),Hn=j((e,t,o)=>{const r=j(s=>D(t.options.rootDir,g(t.options.outDir,s)),"rPath");let n=!1;for(const s of t.buildEntries.filter(i=>!i.chunk)){let i=s.bytes??0;for(const l of s.chunks??[])i+=t.buildEntries.find(c=>c.path===l)?.bytes??0;let a=` ${S(r(s.path))} (${["total size: "+y(P(i)),s.type!=="asset"&&s.bytes&&"chunk size: "+y(P(s.bytes))].filter(Boolean).join(", ")})`;if(a+=s.exports?.length?`
|
|
91
|
+
exports: `+C(s.exports.join(", ")):"",s.chunks?.length&&(a+=`
|
|
92
|
+
${s.chunks.map(l=>{const c=t.buildEntries.find(p=>p.path===l)??{};return C(" └─ "+r(l)+S(c.bytes?" ("+P(c?.bytes)+")":""))}).join(`
|
|
93
|
+
`)}`),s.modules&&s.modules.length>0){const l=s.modules.filter(c=>c.id.includes("node_modules")).sort((c,p)=>(p.bytes||0)-(c.bytes||0)).map(c=>C(" 📦 "+r(c.id)+S(c.bytes?" ("+P(c.bytes)+")":""))).join(`
|
|
94
|
+
`);a+=l.length>0?`
|
|
83
95
|
inlined modules:
|
|
84
|
-
`+
|
|
96
|
+
`+l:""}if(t.options.declaration&&s.type==="entry"){let l=s.path.replace(/\.js$/,".d.ts"),c="commonjs";s.path.endsWith(".cjs")?l=s.path.replace(/\.cjs$/,".d.cts"):s.path.endsWith(".mjs")&&(c="module",l=s.path.replace(/\.mjs$/,".d.mts"));const p=t.buildEntries.find(u=>u.path.endsWith(l));if(p){let u;(t.options.declaration===!0||t.options.declaration==="compatible")&&!l.includes(".d.ts")&&(l=l.replace(c==="commonjs"?".d.c":".d.m",".d."),u=t.buildEntries.find(m=>m.path.endsWith(l))),a+=u&&c===o.type?`
|
|
85
97
|
types:
|
|
86
|
-
`+[
|
|
98
|
+
`+[p,u].map(m=>C(" └─ ")+S(r(m.path))+" (total size: "+y(P(m.bytes??0))+")").join(`
|
|
87
99
|
`):`
|
|
88
|
-
types: `+
|
|
100
|
+
types: `+S(r(p.path))+" (total size: "+y(P(p.bytes??0))+")"}}n=!0,a+=`
|
|
89
101
|
|
|
90
|
-
`,e.raw(
|
|
91
|
-
`),
|
|
102
|
+
`,e.raw(s.chunk?C(a):a)}return n&&e.raw("Σ Total dist size (byte size):",y(P(t.buildEntries.reduce((s,i)=>s+(i.bytes??0),0))),`
|
|
103
|
+
`),n},"showSizeInformation"),Vn=j(async(e,t,o,r,n,s,i,a)=>{const l=Ao(s.preset??n.preset??"auto",t),c=Ln(e,t,o,r,n,s,l,i,a);Pt(b(c.rootDir,c.outDir));const p={buildEntries:[],dependencyGraphMap:new Map,hooks:Bt(),logger:e,mode:o,options:c,pkg:i,tsconfig:a,usedImports:new Set,warnings:new Set};if(l.hooks&&p.hooks.addHooks(l.hooks),n.hooks&&p.hooks.addHooks(n.hooks),s.hooks&&p.hooks.addHooks(s.hooks),await p.hooks.callHook("build:prepare",p),!p.options.emitESM&&!p.options.emitCJS)throw new Error("Both emitESM and emitCJS are disabled. At least one of them must be enabled.");if(p.options.declaration&&a===void 0&&i.devDependencies?.typescript)throw new Error(" Cannot build declaration files without a tsconfig.json");return p.options.emitESM===void 0&&p.logger.info("Emitting ESM bundles, is disabled."),p.options.emitCJS===void 0&&p.logger.info("Emitting CJS bundles, is disabled."),i.devDependencies?.typescript||(p.options.declaration=!1),p.options.declaration||p.logger.info("Declaration files, are disabled."),p},"createContext"),qn=j(async e=>{const t=[];if(e.options.clean)for(const o of new Set(e.options.entries.map(r=>r.outDir).filter(Boolean).sort()))o===e.options.rootDir||o===e.options.sourceDir||e.options.rootDir.startsWith(o.endsWith("/")?o:`${o}/`)||t.some(r=>o.startsWith(r))||(t.push(o),e.logger.info(`Cleaning dist directory: \`./${D(e.options.rootDir,o)}\``),await Ie(o))},"cleanDistributionDirectories"),Yn=j(async(e,t,o)=>{await e.hooks.callHook("build:before",e),e.options.minify&&e.logger.info("Minification is enabled, the output will be minified");const r=Dn(e.options.entries,"environment","runtime"),n=[];for(const[i,a]of Object.entries(r))for(const[l,c]of Object.entries(a)){e.logger.info("Preparing build for "+y(i)+" environment with "+y(l)+" runtime"),e.options.rollup.replace?(e.options.rollup.replace.values={...e.options.rollup.replace.values,production:i},l==="edge-light"&&(e.options.rollup.replace.values.EdgeRuntime="edge-runtime")):e.logger.warn("'replace' plugin is disabled. You should enable it to replace 'process.env.*' environments.");const p=[],u=[],m=[];for(const f of c)f.cjs&&f.esm?p.push(f):f.cjs?m.push(f):f.esm&&u.push(f);if(p.length>0){const f={...e,options:{...e.options,emitCJS:!0,emitESM:!0,entries:p}};n.push(Q(f,o));const v=f.options.entries.filter($=>$.declaration);e.options.declaration&&v.length>0&&n.push(Z({...f,options:{...f.options,entries:v}},o))}if(u.length>0){const f={...e,options:{...e.options,emitCJS:!1,emitESM:!0,entries:u}};n.push(Q(f,o));const v=f.options.entries.filter($=>$.declaration);e.options.declaration&&v.length>0&&n.push(Z({...f,options:{...f.options,entries:v}},o))}if(m.length>0){const f={...e,options:{...e.options,emitCJS:!0,emitESM:!1,entries:m}};n.push(Q(f,o));const v=f.options.entries.filter($=>$.declaration);e.options.declaration&&v.length>0&&n.push(Z({...f,options:{...f.options,entries:v}},o))}}await Promise.all(n),e.logger.success(St(e.options.name?"Build succeeded for "+e.options.name:"Build succeeded"));for await(const i of Mt(b(e.options.rootDir,e.options.outDir))){let a=e.buildEntries.find(l=>b(e.options.rootDir,e.options.outDir,l.path)===i.path);if(a||(a={chunk:!0,path:i.path},e.buildEntries.push(a)),!a.bytes){const l=await Pe(g(e.options.rootDir,e.options.outDir,i.path));a.bytes=l.size}}const s=Hn(e.logger,e,t);_n(e),Fn(t,e),await e.hooks.callHook("build:done",e),$t(e,s)},"build"),Cs=j(async(e,t,o,r={})=>{const{configPath:n,debug:s,tsconfigPath:i,...a}=r;o.wrapAll(),e=g(Et(),e),o.debug("Root directory:",e);const l=b(e,"package.json");if(!O(l))throw new Error("package.json not found at "+l);const c=Rt(l);o.debug("Using package.json found at",l);let p;if(i){const u=b(e,i);if(!await Ct(u))throw new Error("tsconfig.json not found at "+u);p={config:Tt(u),path:u},o.info("Using tsconfig settings at",u)}else if(c.devDependencies?.typescript)try{p=await At(e),o.debug("Using tsconfig settings found at",p.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}try{const u=n??"./packem.config.ts";if(!/\.(?:js|mjs|cjs|ts)$/.test(u))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts extensions are allowed.");const m=ze(u,e);o.debug("Using packem config found at",b(e,u));const f=Date.now(),v=j(()=>Ft(Math.floor(Date.now()-f)),"getDuration"),$=M(JSON.stringify({version:c.version,...c.dependencies,...c.devDependencies,...c.peerDependencies,...c.peerDependenciesMeta,browser:c.browser,eNode:c.engines?.node,exports:c.exports,main:c.main,module:c.module,type:c.type,types:c.types})),k=new wn(e,$,o);k.cachePath&&!O(b(k.cachePath,$))&&O(k.cachePath)&&(o.info("Clearing file cache because the cache key has changed."),await Ie(k.cachePath));const h=await Vn(o,e,t,s??!1,a,m,c,p);if(k.isEnabled=h.options.fileCache,await Un(h,e),h.logger.info(y((t==="watch"?"Watching":t==="jit"?"Stubbing":"Building")+" "+h.options.name)),h.logger.debug(`${S("Root dir:")} ${h.options.rootDir}
|
|
104
|
+
${S("Entries:")}
|
|
105
|
+
${h.options.entries.map(R=>` ${vt(R)}`).join(`
|
|
106
|
+
`)}`),await qn(h),h.options.stub){await wo(h),await h.hooks.callHook("build:done",h);return}if(t==="watch"){if(h.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem.config file.");await hn(h,k),$t(h,!1);return}await Yn(h,c,k),o.raw(`
|
|
107
|
+
⚡️ Build run in `+v()),o.restoreAll()}catch(u){throw o.raw(`
|
|
108
|
+
`),ht(u),u}},"createBundler");export{Cs as default};
|