@visulima/packem 1.0.0-alpha.52 → 1.0.0-alpha.53
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 +6 -0
- package/dist/cli.mjs +46 -46
- package/dist/config.d.cts +2 -2
- package/dist/config.d.mts +2 -2
- package/dist/config.d.ts +2 -2
- package/dist/create-bundler.cjs +43 -43
- package/dist/create-bundler.d.cts +1 -1
- package/dist/create-bundler.d.mts +1 -1
- package/dist/create-bundler.d.ts +1 -1
- package/dist/create-bundler.mjs +45 -45
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.cjs +1 -0
- package/dist/rollup/plugins/{swc/isolated-declarations-swc-plugin.d.cts → oxc/isolated-declarations-oxc-transformer.d.cts} +3 -3
- package/dist/rollup/plugins/{swc/isolated-declarations-swc-plugin.d.mts → oxc/isolated-declarations-oxc-transformer.d.mts} +3 -3
- package/dist/rollup/plugins/{swc/isolated-declarations-swc-plugin.d.ts → oxc/isolated-declarations-oxc-transformer.d.ts} +3 -3
- package/dist/rollup/plugins/oxc/{isolated-declarations-oxc-plugin.mjs → isolated-declarations-oxc-transformer.mjs} +2 -2
- package/dist/rollup/plugins/swc/{isolated-declarations-swc-plugin.cjs → isolated-declarations-swc-transformer.cjs} +1 -1
- package/dist/rollup/plugins/{oxc/isolated-declarations-oxc-plugin.d.cts → swc/isolated-declarations-swc-transformer.d.cts} +3 -3
- package/dist/rollup/plugins/{oxc/isolated-declarations-oxc-plugin.d.mts → swc/isolated-declarations-swc-transformer.d.mts} +3 -3
- package/dist/rollup/plugins/{oxc/isolated-declarations-oxc-plugin.d.ts → swc/isolated-declarations-swc-transformer.d.ts} +3 -3
- package/dist/rollup/plugins/swc/{isolated-declarations-swc-plugin.mjs → isolated-declarations-swc-transformer.mjs} +2 -2
- 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.zptSY3F2.d.cts → packem.CHF1KnO3.d.cts} +0 -1
- package/dist/shared/{packem.EAyscW7M.d.ts → packem.DE4VC5GP.d.ts} +0 -1
- package/dist/shared/{packem.CXBj45xL.d.mts → packem.EYDpUhuM.d.mts} +0 -1
- package/package.json +23 -9
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-plugin.cjs +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## @visulima/packem [1.0.0-alpha.53](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.52...@visulima/packem@1.0.0-alpha.53) (2024-07-18)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* added isolated declarations transformer based on typescript, and fixed the plugin ([6bec80b](https://github.com/visulima/packem/commit/6bec80b5555beaa8812a78b5ab6f1a16010dd4fd))
|
|
6
|
+
|
|
1
7
|
## @visulima/packem [1.0.0-alpha.52](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.51...@visulima/packem@1.0.0-alpha.52) (2024-07-18)
|
|
2
8
|
|
|
3
9
|
### Features
|
package/dist/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
var Ot=Object.defineProperty;var m=(e,t)=>Ot(e,"name",{value:t,configurable:!0});import Dt from"@visulima/cerebro";import{SimpleReporter as St}from"@visulima/pail/reporter";import{env as E,versions as Nt,cwd as Pt,exit as _t}from"node:process";import{chmod as Ct,stat as Re,readdir as Mt}from"node:fs/promises";import ve from"node:module";import{cyan as v,bold as S,gray as M,yellow as It,grey as Ft,green as Rt}from"@visulima/colorize";import{readFile as ne,writeFile as W,isAccessibleSync as O,collectSync as Tt,readFileSync as Te,writeFileSync as se,writeJsonSync as At,ensureDirSync as Bt,emptyDir as Ae,walk as Wt,isAccessible as Jt}from"@visulima/fs";import{NotFoundError as Lt}from"@visulima/fs/error";import{formatBytes as _,duration as zt}from"@visulima/humanizer";import{parsePackageJson as Be}from"@visulima/package/package-json";import{resolve as h,join as b,normalize as ie,extname as ae,relative as D,dirname as le,basename as V,isAbsolute as We,toNamespacedPath as be}from"@visulima/path";import{readTsConfig as Ut,findTsConfig as Vt}from"@visulima/tsconfig";import{defu as Ht}from"defu";import{createHooks as qt}from"hookable";import{rollup as Je,watch as $e,VERSION as Gt}from"rollup";import{DEFAULTS as Yt,nodeResolve as Le}from"@rollup/plugin-node-resolve";import{pathToFileURL as Kt,fileURLToPath as Xt}from"node:url";import{resolvePath as Zt,resolveModuleExportNames as Qt,findStaticImports as ze}from"mlly";import P from"magic-string";import Ue from"jiti";import{existsSync as ce,rmSync as eo}from"node:fs";import Ve from"@rollup/plugin-alias";import to from"@rollup/plugin-commonjs";import oo from"@rollup/plugin-dynamic-import-vars";import He from"@rollup/plugin-replace";import{wasm as ro}from"@rollup/plugin-wasm";import no from"rollup-plugin-polyfill-node";import{visualizer as so}from"rollup-plugin-visualizer";import{minVersion as qe}from"semver";import{glob as io}from"glob";import ao from"glob-parent";import{createFilter as H,normalizePath as we}from"@rollup/pluginutils";import lo from"@rollup/plugin-json";import co from"rollup-plugin-license";import{createHash as po}from"node:crypto";import{parse as uo}from"@babel/parser";import{findCacheDirSync as mo}from"@visulima/find-cache-dir";import{distance as fo}from"fastest-levenshtein";import{installPackage as go}from"@antfu/install-pkg";import{intro as ho,isCancel as yo,cancel as vo,select as bo,confirm as $o,spinner as je,outro as wo}from"@clack/prompts";
|
|
3
3
|
// -- pack CommonJS Shims --
|
|
4
4
|
import __cjs_url__ from "node:url";
|
|
5
5
|
import __cjs_path__ from "node:path";
|
|
@@ -7,39 +7,39 @@ import __cjs_mod__ from "node:module";
|
|
|
7
7
|
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
|
|
8
8
|
const __dirname = __cjs_path__.dirname(__filename);
|
|
9
9
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
10
|
-
const
|
|
11
|
-
`)=>({name:"packem:shebang",renderChunk:{handler(o,r
|
|
12
|
-
`)=>{const o=
|
|
13
|
-
`));let c=[];try{c=await
|
|
10
|
+
const jo="@visulima/packem",ko="1.0.0-alpha.52",F=[...Yt.extensions,".cjs",".ts",".cts",".mts",".tsx",".jsx"],xo=["development","production"],Ge=["react-server","react-native","edge-light"];[...xo,...Ge];const G=/node_modules/;var Eo=Object.defineProperty,q=m((e,t)=>Eo(e,"name",{value:t,configurable:!0}),"i$d");const pe=/^#![^\n]*/,te=q(async e=>{await Ct(e,493).catch(()=>{})},"makeExecutable"),Oo=q((e,t=`#!/usr/bin/env node
|
|
11
|
+
`)=>({name:"packem:shebang",renderChunk:{handler(o,n,r){if(!n.isEntry||!n.facadeModuleId||o.startsWith("#")&&o[1]==="!")return null;if(e.includes(n.name)){const s=new P(o);return s.prepend(t),{code:s.toString(),map:r.sourcemap?s.generateMap({hires:!0}):void 0}}return null},order:"post"},async writeBundle(o,n){for(const[r,s]of Object.entries(n))if(s.type==="chunk"&&pe.test(s.code)&&o.dir){const i=h(o.dir,r);await te(i)}}}),"shebangPlugin"),Do=q(()=>({name:"packem:remove-shebang",renderChunk(e){return e.replace(pe,"")}}),"removeShebangPlugin"),So=q((e,t=`
|
|
12
|
+
`)=>{const o=pe.exec(e);return o?o+t:""},"getShebang");var No=Object.defineProperty,Po=m((e,t)=>No(e,"name",{value:t,configurable:!0}),"p$4");const ue=Po((e,t)=>{let o={};if(e.pkg.name&&(o[e.pkg.name]=e.options.rootDir),e.pkg.imports){const{imports:n}=e.pkg;for(const r in n){if(r.startsWith("#"))continue;const s=n[r];typeof s=="string"&&(o[r]=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(n=>[n.find,n.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 _o=Object.defineProperty,Co=m((e,t)=>_o(e,"name",{value:t,configurable:!0}),"o$3");const Mo=Co((e,t)=>{const o=Ue(t,{esmResolve:!0,interopDefault:!0});try{return o.resolve(e)}catch(n){if(n.code!=="MODULE_NOT_FOUND")throw new Error(`Error trying import ${e} from ${t}`,{cause:n});return e}},"tryResolve");var Io=Object.defineProperty,Fo=m((e,t)=>Io(e,"name",{value:t,configurable:!0}),"r$a");const B=Fo((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var Ro=Object.defineProperty,To=m((e,t)=>Ro(e,"name",{value:t,configurable:!0}),"u$a");const Ao=To(async e=>{const t=await Zt("jiti",{url:import.meta.url}),o=JSON.stringify({...e.options.stubOptions.jiti,alias:{...ue(e,"jit"),...e.options.stubOptions.jiti.alias}},null,2);for(const n of e.options.entries){const r=h(e.options.rootDir,e.options.outDir,n.name),s=ie(Mo(n.input,e.options.rootDir)||n.input),i=s.slice(0,Math.max(0,s.length-ae(s).length)),a=await ne(s),l=So(a);e.options.emitCJS&&await W(`${r}.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(`
|
|
13
|
+
`));let c=[];try{c=await Qt(s,{extensions:F})}catch(u){B(e,`Cannot analyze ${s} for exports: ${u.toString()}`);return}const p=c.includes("default")||c.length===0;await W(`${r}.mjs`,l+[`import jiti from ${JSON.stringify(Kt(t).href)};`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(s)})} */`,`const _module = await _jiti.import(${JSON.stringify(s)});`,p?`
|
|
14
14
|
export default _module;`:"",...c.filter(u=>u!=="default").map(u=>`export const ${u} = _module.${u};`)].join(`
|
|
15
|
-
`)),await
|
|
16
|
-
`)),await
|
|
17
|
-
`)),
|
|
18
|
-
module.exports.default = `+i[2]+";");let a
|
|
15
|
+
`)),await W(`${r}.d.cts`,[`export * from ${JSON.stringify(i)};`,p?`export { default } from ${JSON.stringify(i)};`:""].join(`
|
|
16
|
+
`)),await W(`${r}.d.mts`,[`export * from ${JSON.stringify(s)};`,p?`export { default } from ${JSON.stringify(s)};`:""].join(`
|
|
17
|
+
`)),l&&(await te(`${r}.cjs`),await te(`${r}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Bo=Object.defineProperty,Wo=m((e,t)=>Bo(e,"name",{value:t,configurable:!0}),"r$9");const Ye=Wo((e,t)=>Ue(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var Jo=Object.defineProperty,Ke=m((e,t)=>Jo(e,"name",{value:t,configurable:!0}),"t$6");const U=Ke(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Xe=Ke((e,t,o,n)=>{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 n==="commonjs"?"cjs":"esm";const[r,...s]=t;return Xe(r,s,o,n)},"inferExportType");var Lo=Object.defineProperty,zo=m((e,t)=>Lo(e,"name",{value:t,configurable:!0}),"n$7");const de=zo((e,t,o,n=[])=>{if(!e)return[];if(typeof e=="string"){const r=U(e),s=t==="module"?"esm":"cjs";if(r&&r!==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:r??s}]}return Object.entries(e).filter(([r])=>!r.endsWith(".json")).flatMap(([r,s])=>r==="types"&&o===!1?[]:typeof s=="string"?{file:s,key:"exports",...["browser","default","deno","development","import","node","node-addons","production","require","types"].includes(r)?{subKey:r}:{},type:Xe(r,n,s,t)}:de(s,t,o,[...n,r]))},"extractExportFilenames");var Uo=Object.defineProperty,me=m((e,t)=>Uo(e,"name",{value:t,configurable:!0}),"y$2");const Vo=me(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"),J=me((e,t,o,n,r,s)=>{const i=e.find(a=>a.input===t)??e[e.push({input:t})-1];if(o&&(i.outDir=n),r.isExecutable)i.executable=!0,i.declaration=!1,r.type==="cjs"&&(i.cjs=!0),r.type==="esm"&&(i.esm=!0);else{/\.d\.[mc]?ts$/.test(r.file)&&s!==!1&&(i.declaration=s),r.type==="cjs"&&(i.cjs=!0),r.type==="esm"&&(i.esm=!0);for(const a of Ge)if(r.file.includes("."+a+".")){i.runtime=a;break}}i.runtime===void 0&&(i.runtime="node"),i.environment=Vo(r)},"createOrUpdateEntry"),ke=/(?:\.d\.[mc]?ts|\.\w+)$/;let xe=!1;const Ho=me((e,t,o)=>{const n=[];t.sort((a,l)=>a.split("/").length-l.split("/").length);const r=e.type==="module"?"esm":"cjs",s=de(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!==r)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??r})}}e.main&&s.push({file:e.main,key:"main",type:U(e.main)??r}),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"){xe||(o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub."),xe=!0);const g=[],f=new RegExp("(?<=/|$)"+p.replace("*","(.*)")+(c?"":"\\.\\w+"));for(const $ of t)f.test($)&&g.push($.replace(ke,""));if(g.length===0){n.push(`Could not find entrypoint for \`${a.file}\``);continue}for(const $ of g)J(i,$,c,l,a,o.options.declaration);continue}const u=new RegExp("(?<=/|$)"+p+(c?"":"\\.\\w+")),d=t.find(g=>u.test(g))?.replace(ke,"");if(!d){ce(h(o.options.rootDir,a.file))||n.push(`Could not find entrypoint for \`${a.file}\``);continue}O(d+".cts")&&O(d+".mts")?(J(i,d+".cts",c,l,{...a,type:"cjs"},o.options.declaration),J(i,d+".mts",c,l,{...a,type:"esm"},o.options.declaration)):J(i,d,c,l,a,o.options.declaration)}return{entries:i,warnings:n}},"inferEntries");var qo=Object.defineProperty,Go=m((e,t)=>qo(e,"name",{value:t,configurable:!0}),"t$5");const Yo=Go((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 Ko=Object.defineProperty,Xo=m((e,t)=>Ko(e,"name",{value:t,configurable:!0}),"t$4");const Zo={hooks:{"build:prepare":Xo(function(e){if(e.options.entries.length>0)return;const t=b(e.options.rootDir,e.options.sourceDir);if(!ce(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=Tt(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 n={...e.pkg};n.publishConfig&&(n=Yo(n,e.options.declaration));const r=Ho(n,o,e);for(const s of r.warnings)B(e,s);if(e.options.entries.push(...r.entries),e.options.entries.length===0)throw new Error("No entries detected. Please provide entries manually.");e.logger.info("Automatically detected entries:",v(e.options.entries.map(s=>S(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),M([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var Qo=Object.defineProperty,er=m((e,t)=>Qo(e,"name",{value:t,configurable:!0}),"t$3");const tr=er((e,t)=>(e==="auto"?e=Zo:typeof e=="string"&&(e=Ye(e,t)),typeof e=="function"&&(e=e()),e),"resolvePreset");var or=Object.defineProperty,rr=m((e,t)=>or(e,"name",{value:t,configurable:!0}),"a$c");const oe=rr((e,t)=>e.some(o=>o instanceof RegExp?o.test(t):o===t),"arrayIncludes");var nr=Object.defineProperty,sr=m((e,t)=>nr(e,"name",{value:t,configurable:!0}),"a$b");const Y=sr(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var ir=Object.defineProperty,ar=m((e,t)=>ir(e,"name",{value:t,configurable:!0}),"a$a");const re=ar((e="")=>{const t=e.split("/");return t[0].startsWith("@")?t[0]+"/"+t[1]:t[0]},"getPackageName");var lr=Object.defineProperty,Ze=m((e,t)=>lr(e,"name",{value:t,configurable:!0}),"s$c");const cr=Ze((e,t,o)=>{const n=o??new Map;return(...r)=>{const s=t?typeof t=="function"?t(...r):t:JSON.stringify({args:r}),i=n.get(s);if(i!==void 0)return i;const a=e(...r);return n.set(s,a),a}},"memoize"),pr=Ze(e=>{const t=new Map;return o=>cr(e,o,t)},"memoizeByKey");var ur=Object.defineProperty,dr=m((e,t)=>ur(e,"name",{value:t,configurable:!0}),"m$5");const Qe=dr(({addDefaultProperty:e=!1,logger:t,type:o})=>({name:"packem:cjs-interop",renderChunk(n,r,s){if(r.type!=="chunk"||!r.isEntry)return null;if(s.format==="cjs"&&s.exports==="auto"){const i=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(n);if(i===null||i.length<3)return null;const a=new P(n);a.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),a.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&a.append(`
|
|
18
|
+
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 "+r.fileName+".",prefix:"plugin:cjs-interop"}),{code:l,map:a.generateMap({hires:!0})}}if(s.format==="es"&&/\.d\.(?:ts|cts)$/.test(r.fileName)){if(o!=="commonjs"&&r.fileName.endsWith(".d.ts"))return null;const i=/export\s\{\s(.*)\s\}/i.exec(n);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[d,g]=u.split(" as ");if(g==="default"&&(c=d,!e))continue;l.push(g+": typeof "+d+";")}else l.push(u+": typeof "+u+";");const p=new P(n);return p.replace(" "+c+" as default,",""),p.append(`
|
|
19
19
|
|
|
20
20
|
declare const defaultExport: {
|
|
21
|
-
`+(
|
|
21
|
+
`+(l.length>0?" ":"")+l.join(`
|
|
22
22
|
`)+`
|
|
23
23
|
} & typeof `+c+`;
|
|
24
24
|
|
|
25
|
-
export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+
|
|
25
|
+
export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+r.fileName+".",prefix:"plugin:cjs-interop"}),{code:p.toString(),map:p.generateMap({hires:!0})}}return null}}),"cjsInterop");var mr=Object.defineProperty,fr=m((e,t)=>mr(e,"name",{value:t,configurable:!0}),"f$6");const gr=fr((e,t)=>{const o=new Map,n={copyOnce:!0,exactFileNames:!0,flatten:!1,...e};let{targets:r}=n;return Array.isArray(r)?r=r.map(s=>{if(typeof s=="string")return{src:s};if(typeof s=="object"&&"src"in s)return s}).filter(Boolean):typeof r=="string"&&(r=[{src:r}]),{async buildStart(){const s=await Promise.all(r.flatMap(i=>Array.isArray(i.src)?i.src.map(a=>({...i,src:a})):i).map(async i=>await io(i.src,{ignore:i.exclude}).then(a=>({dest:i.dest??"",parent:ao(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=n.flatten?ie(i.dest):b(i.dest,D(i.parent,le(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 Re(i);if(!c.isFile())return;const p=c.mtime.getTime();p>a.timestamp&&(a.timestamp=p,a.copied=[]),l=await ne(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(n.copyOnce&&a.copied.includes(c))continue;const p=V(i),u=b(c,p);try{this.emitFile({[n.exactFileNames?"fileName":"name"]:u,source:l,type:"asset"}),t.debug({message:`copied ${i} → ${u}`,prefix:"plugin:copy"}),a.copied.push(c)}catch(d){t.error({context:[d],message:`error copying file ${i} → ${u}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");var hr=Object.defineProperty,Ee=m((e,t)=>hr(e,"name",{value:t,configurable:!0}),"c$8");const yr=Ee(e=>(t,o={})=>{const n=H(o.include,o.exclude),r={},s=Ee((i,a)=>{r[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(r))this.emitFile({fileName:c.replace("[name]",D(e,p)),source:u,type:"asset"})},name:"packem:isolated-declarations",async transform(i,a){if(!n(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 vr=Object.defineProperty,br=m((e,t)=>vr(e,"name",{value:t,configurable:!0}),"n$2");const Oe="export default ",et=br(e=>{const t=lo(e);return{...t,name:"packem:json",transform(o,n){const r=t.transform?.call(this,o,n);return r&&typeof r!="string"&&"code"in r&&r.code?.startsWith(Oe)&&(r.code=r.code.replace(Oe,"module.exports = ")),r}}},"JSONPlugin");class $r{static{m(this,"WalkerBase")}constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:m(()=>this.should_skip=!0,"skip"),remove:m(()=>this.should_remove=!0,"remove"),replace:m(t=>this.replacement=t,"replace")}}replace(t,o,n,r){t&&o&&(n!=null?t[o][n]=r:t[o]=r)}remove(t,o,n){t&&o&&(n!=null?t[o].splice(n,1):delete t[o])}}class wr extends $r{static{m(this,"SyncWalker")}constructor(t,o){super(),this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:m(()=>this.should_skip=!0,"skip"),remove:m(()=>this.should_remove=!0,"remove"),replace:m(n=>this.replacement=n,"replace")},this.enter=t,this.leave=o}visit(t,o,n,r){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,n,r),this.replacement&&(t=this.replacement,this.replace(o,n,r,t)),this.should_remove&&this.remove(o,n,r);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];De(c)&&(this.visit(c,t,s,l)||l--)}}else De(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,n,r),this.replacement&&(t=this.replacement,this.replace(o,n,r,t)),this.should_remove&&this.remove(o,n,r);const l=this.should_remove;if(this.replacement=i,this.should_remove=a,l)return null}}return t}}function De(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"}m(De,"isNode");function tt(e,{enter:t,leave:o}){return new wr(t,o).visit(e,null)}m(tt,"walk");var jr=Object.defineProperty,kr=m((e,t)=>jr(e,"name",{value:t,configurable:!0}),"u$8");const xr=kr(({attributes:e,logger:t})=>{const o=H([/\.[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(n,r){if(!o(r))return null;let s=null;try{s=this.parse(n,{allowReturnOutsideFunction:!0})}catch(l){return this.warn({code:"PARSE_ERROR",message:`[packem:jsx-remove-attributes]: failed to parse "${r}" and remove the jsx attribute.`}),t.warn(l),null}let i=!1;const a=new P(n);return tt(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 Er=Object.defineProperty,fe=m((e,t)=>Er(e,"name",{value:t,configurable:!0}),"p$2");const Or=fe(e=>{const t=[],o=[];return e.forEach(n=>{n.startsWith("(")?t.push(n):o.push(n)}),[...o.sort(),...t.sort()]},"sortLicenses"),Dr=fe((e,t,o)=>{const n=new RegExp(`(<!-- ${t} -->)[\\s\\S]*?(<!-- ${t} -->)`,"g");if(n.test(e))return e.replace(n,`$1
|
|
26
26
|
${o}
|
|
27
|
-
$2`)},"replaceContentWithin"),
|
|
27
|
+
$2`)},"replaceContentWithin"),ot=fe(({licenseFilePath:e,licenseTemplate:t,logger:o,marker:n,mode:r,packageName:s})=>co({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:d,licenseText:g,maintainers:f,name:$,repository:w})=>{let y="## "+$+`
|
|
28
28
|
`;d&&(y+=`License: ${d}
|
|
29
|
-
`);const R=new Set;for(const T of[p,...f,...u]){const
|
|
29
|
+
`);const R=new Set;for(const T of[p,...f,...u]){const ye=typeof T=="string"?T:T?.name;ye&&R.add(ye)}return R.size>0&&(y+=`By: ${[...R].join(", ")}
|
|
30
30
|
`),w&&(y+=`Repository: ${typeof w=="string"?w:w.url}
|
|
31
31
|
`),g&&(y+=`
|
|
32
32
|
`+g.trim().replaceAll(/\r\n|\r/g,`
|
|
33
33
|
`).split(`
|
|
34
34
|
`).map(T=>`> ${T}`).join(`
|
|
35
35
|
`)+`
|
|
36
|
-
`),d&&
|
|
36
|
+
`),d&&a.add(d),y}).join(`
|
|
37
37
|
---------------------------------------
|
|
38
38
|
|
|
39
|
-
`);if(
|
|
39
|
+
`);if(l===""){o.info({message:"No dependencies license information found.",prefix:"plugin:license:"+r});return}const c=t(Or(a),l,s);try{const p=Te(e),u=Dr(p,n,c);if(!u){o.error({message:`Could not find the license marker: <!-- ${n} --> in ${e}`,prefix:"plugin:license:"+r});return}p!==u&&(se(e,u),o.info({message:`${e} updated.`,prefix:"plugin:license:"+r}))}catch(p){o.error(p)}}}),"license");var Sr=Object.defineProperty,Nr=m((e,t)=>Sr(e,"name",{value:t,configurable:!0}),"i$9");const Pr=Nr(e=>({async buildEnd(){const t=[];for(const n of this.getModuleIds()){const r=this.getModuleInfo(n);if(r!=null&&!r.isExternal)for(const s of r.importedIds)t.push({source:n,target:s})}if(Array.isArray(t)&&t.length===0)return;const o=h(e.rootDir,e.outDir,"graph.json");At(o,t)},name:"packem:metafile"}),"metafilePlugin");var _r=Object.defineProperty,Cr=m((e,t)=>_r(e,"name",{value:t,configurable:!0}),"r$6");const C=Cr(e=>{const t=po("md5");return t.update(e),t.digest("hex")},"getHash");var Mr=Object.defineProperty,rt=m((e,t)=>Mr(e,"name",{value:t,configurable:!0}),"m$3");const A=rt(e=>e.handler||e,"getHandler"),x=rt((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 n=b("load",C(o));if(t.has(n,e.name))return await t.get(n,e.name);const r=await A(e.load).call(this,o);return t.set(n,r,e.name),r},name:`cached(${e.name})`,async resolveId(o,n,r){if(!e.resolveId)return null;const s=b("resolveId",C(o),n?C(n):"",C(JSON.stringify(r)));if(t.has(s,e.name))return await t.get(s,e.name);const i=await A(e.resolveId).call(this,o,n,r);return t.set(s,i,e.name),i},async transform(o,n){if(!e.transform)return null;const r=b("transform",C(n),C(o));if(t.has(r,e.name))return await t.get(r,e.name);const s=await A(e.transform).call(this,o,n);return t.set(r,s,e.name),s}}),"cachingPlugin");var Ir=Object.defineProperty,Fr=m((e,t)=>Ir(e,"name",{value:t,configurable:!0}),"c$6");const Rr=/\.(?:m|c)?(?:j|t)sx?$/,Tr=/^use \w+$/,Ar=Fr(e=>{const t={},o={};return{name:"packem:preserve-directives",onLog(n,r){return r.code==="MODULE_LEVEL_DIRECTIVE"&&n==="warn"?!1:null},renderChunk:{handler(n,r,{sourcemap:s}){const i=r.moduleIds.map(c=>t[c]?t[c]:null).reduce((c,p)=>(p&&p.forEach(u=>{c.add(u)}),c),new Set),a=new P(n);i.size>0&&(e.debug({message:`directives for chunk "${r.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${[...i].map(c=>`'${c}';`).join(`
|
|
40
40
|
`)}
|
|
41
|
-
`));let
|
|
42
|
-
`)),i.size===0&&
|
|
41
|
+
`));let l=null;return r.facadeModuleId&&typeof o[r.facadeModuleId]=="string"&&(l=o[r.facadeModuleId]),l&&(e.debug({message:`shebang for chunk "${r.fileName}" is preserved.`,prefix:"plugin:preserve-directives"}),a.prepend(`${l}
|
|
42
|
+
`)),i.size===0&&l===null?null:{code:a.toString(),map:s?a.generateMap({hires:!0}):null}},order:"post"},transform:{handler(n,r){const s=ae(r);if(!Rr.test(s))return null;let i=!1;const a=new P(n);if(n.startsWith("#")&&n[1]==="!"){let c=0;for(let p=2,u=n.length;p<u;p++){const d=n.codePointAt(p);if(d===10||d===13||d===8232||d===8233){c=p;break}}c&&(o[r]=n.slice(0,c),a.remove(0,c+1),i=!0,e.debug({message:`shebang for module "${r}" 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 "${r}" 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"&&Tr.test(c.expression.value)&&(p=c.expression.value),p!=="use strict"&&p&&(t[r]||=new Set,t[r].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 "${r}" is preserved.`,prefix:"plugin:preserve-directives"}))}return i?{code:a.toString(),map:a.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...t[r]??[]],shebang:o[r]??null}}}:null},order:"post"}}},"preserveDirectives");var Br=Object.defineProperty,Wr=m((e,t)=>Br(e,"name",{value:t,configurable:!0}),"r$5");const Jr={exclude:[],include:[/\.(md|txt|css|htm|html)$/]},Lr=Wr((e={})=>{e={...e,...Jr};const t=H(e.include,e.exclude);return{name:"packem:raw",transform(o,n){return t(n)?{code:`export default ${JSON.stringify(o)}`,map:null}:null}}},"rawPlugin");var zr=Object.defineProperty,Ur=m((e,t)=>zr(e,"name",{value:t,configurable:!0}),"l$3");const K="\0__file_url__",nt=Ur(()=>({async load(e){if(e.startsWith(K)){const t=Xt(e.slice(K.length));return await ne(t)}},name:"packem:resolve-file-url",resolveId(e){if(e.startsWith("file://"))return`${K}${e}`}}),"resolveFileUrl");var Vr=Object.defineProperty,st=m((e,t)=>Vr(e,"name",{value:t,configurable:!0}),"i$5");const Hr=/__filename|__dirname|require\(|require\.resolve\(/,it=`
|
|
43
43
|
// -- pack CommonJS Shims --
|
|
44
44
|
import __cjs_url__ from "node:url";
|
|
45
45
|
import __cjs_path__ from "node:path";
|
|
@@ -47,34 +47,34 @@ import __cjs_mod__ from "node:module";
|
|
|
47
47
|
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
|
|
48
48
|
const __dirname = __cjs_path__.dirname(__filename);
|
|
49
49
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
50
|
-
`,
|
|
50
|
+
`,at=`
|
|
51
51
|
// -- pack CommonJS Shims Node 20.11 --
|
|
52
52
|
import __cjs_mod__ from "node:module";
|
|
53
53
|
const __filename = import.meta.filename;
|
|
54
54
|
const __dirname = import.meta.dirname;
|
|
55
55
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
56
|
-
`,
|
|
56
|
+
`,qr=st((e,t)=>{if(E.INTERNAL_PACKEM_BUILD!=="1"&&(e.includes(it)||e.includes(at)||!Hr.test(e)))return null;const o=ze(e).pop(),n=o?o.end:0,r=new P(e);return r.appendRight(n,t),{code:r.toString(),map:r.generateMap()}},"CJSToESM"),Gr=st(e=>({name:"packem:cjs",renderChunk(t,o,n){if(n.format==="es"){let r=it;if(e.engines?.node){const s=qe(e.engines.node);s&&s.major>=20&&s.minor>=11&&(r=at)}return qr(t,r)}return null}}),"cjsPlugin");var Yr=Object.defineProperty,I=m((e,t)=>Yr(e,"name",{value:t,configurable:!0}),"r$4");const Kr=/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g,Xr=/MIT License|MIT license|BSD license/,Zr=/\n{2,}/g,Qr=/\b(\w+)\$\d+\b/g,en=/[-/\\^$*+?.()|[\]{}]/g,tn=I(e=>e.replaceAll(en,"\\$&"),"escapeRegex"),on=I(e=>[...new Set(e)],"unique"),rn=I(e=>e.replaceAll(Kr,t=>Xr.test(t)?"":t).replaceAll(Zr,`
|
|
57
57
|
|
|
58
|
-
`),"cleanUnnecessaryComments"),
|
|
59
|
-
- ${
|
|
58
|
+
`),"cleanUnnecessaryComments"),Se=new Map;function lt(e,t,{identifierReplacements:o},n){const r=ze(e);for(const i in o){const a=r.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=tn(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=on(Array.from(e.matchAll(Qr),i=>i[0]));if(s.length>0){const i=s.map(l=>`
|
|
59
|
+
- ${l}`).join(""),a=t.fileName.replace(/\.[^/.]+$/,"");Se.has(a)||n.warn({message:`${t.fileName} contains confusing identifier names${i}
|
|
60
60
|
|
|
61
|
-
To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),
|
|
61
|
+
To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),Se.set(a,!0)}return e}m(lt,"I");I(lt,"replaceConfusingTypeNames");function ct(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}m(ct,"N");I(ct,"removeInternal");function pt(e,t){if(e.includes("@internal")){const o=new P(e),n=uo(e,{plugins:["typescript"],sourceType:"module"});if(tt(n,{enter(r){ct(o,r)&&this.skip()}}),e=o.toString(),e.includes("@internal"))throw new Error(`${t.fileName} has unhandled @internal declarations`)}return e}m(pt,"S");I(pt,"stripInternalTypes");const nn=I((e,t)=>({name:"packem:patch-types",renderChunk(o,n){return o=lt.call(this,o,n,e,t),o=pt.call(this,o,n),o=rn(o),o},resolveId(o){return o.startsWith("types/")?{external:!0,id:"../../"+(o.endsWith(".js")?o:o+".js")}:null}}),"patchTypescriptTypes");var sn=Object.defineProperty,ut=m((e,t)=>sn(e,"name",{value:t,configurable:!0}),"u$6");const dt=ut((e,t=!0)=>{if(!e)return null;const{config:o,path:n}=e;if(!o.compilerOptions)return null;const{baseUrl:r,paths:s}=o.compilerOptions;if(!r)return null;const i=h(le(n),r),a=[];if(s)for(const[l,c]of Object.entries(s)){const p=new RegExp(`^${[...l].map(d=>d==="*"?"(.+)":d.replace(/[\\^$*+?.()|[\]{}]/,"\\$&")).join("")}$`);let u=0;for(const d of c){const g=[...we(h(i,d))].map(f=>f==="*"?"$"+(++u+""):f==="$"?"$$":f).join("");a.push({find:p,replacement:g})}}return t&&a.push({find:/^(?!\.*\/|\.*$|\w:)(.+)$/,replacement:`${[...we(i)].map(l=>l==="$"?"$$":l).join("")}/$1`}),a},"getConfigAlias"),mt=ut((e,t)=>{const o=dt(e);return{name:"packem:resolve-tsconfig-paths",async resolveId(n,r,s){if(!o||n.includes("\0"))return null;for(const{find:i,replacement:a}of o)if(i.test(n)){const l=n.replace(i,a),c=await this.resolve(l,r,{skipSelf:!0,...s});if(c)return t.debug({message:`Resolved ${n} to ${c.id} using paths from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-paths"}),c.id}return null}}},"resolveTsconfigPaths");var an=Object.defineProperty,ft=m((e,t)=>an(e,"name",{value:t,configurable:!0}),"u$5");const ln=ft((e,t)=>{if(!t)return null;const{config:o,path:n}=t;if(!o.compilerOptions)return null;const{rootDirs:r}=o.compilerOptions;if(!r)return null;const s=[];for(const i of r){if(i.startsWith("."))throw new Error(`Invalid rootDir value '.' in ${n}.`);if(i.startsWith(".."))throw new Error(`Invalid rootDir value '..' in ${n}.`);s.push(h(e,i))}return s},"getRootDirectories"),gt=ft((e,t,o)=>{const n=ln(e,o);return{name:"packem:resolve-tsconfig-root-dirs",async resolveId(r,s,i){if(n===null||n.length===0)return null;if(r.startsWith("."))for(const a of n){const l=b(a,r),c=await this.resolve(l,s,{skipSelf:!0,...i});if(c)return t.debug({message:`Resolved ${r} to ${c.id} using rootDirs from tsconfig.json.`,prefix:"plugin:resolve-tsconfig-root-dirs"}),c.id}return null}}},"resolveTsconfigRootDirectories");var cn=Object.defineProperty,pn=m((e,t)=>cn(e,"name",{value:t,configurable:!0}),"r$3");const ht=pn(()=>{const e=/\.(?:[mc]?js|jsx)$/;return{name:"packem:resolve-typescript-mjs-cjs",async resolveId(t,o,n){return e.test(t)&&o?await this.resolve(t.replace(/js(x?)$/,"ts$1"),o,n):null}}},"resolveTypescriptMjsCts");var un=Object.defineProperty,dn=m((e,t)=>un(e,"name",{value:t,configurable:!0}),"s$8");const mn=dn(e=>{const t=V(e).split(".");if(t.length>=2){const[o,n]=t.slice(-2),r=t[0],s=/^(\w+)-runtime$/.exec(o)?.[1];if(F.includes(n)&&s&&s.length>0)return r+"-"+s}},"getCustomModuleLayer");var fn=Object.defineProperty,gn=m((e,t)=>fn(e,"name",{value:t,configurable:!0}),"i$4");const X=gn(e=>(e.preserveDirectives||{directives:[]}).directives.map(t=>t.replace(/^use /,"")).find(t=>t!=="strict"),"getModuleLayer");var hn=Object.defineProperty,Ne=m((e,t)=>hn(e,"name",{value:t,configurable:!0}),"c$4");const Pe=Ne((e,t)=>{const o=new Map;return Ne(function(n,r){const s=r.getModuleInfo(n);if(!s)return;const{isEntry:i}=s,a=s.meta,l=X(a);if(!i){const c=o.get(n);if(c)return c;const p=mn(n);if(p)return o.set(n,p),p}if(i){const c=r.getModuleIds();for(const p of c)r.getModuleInfo(p)&&X(a)===l&&(e.has(p)||e.set(p,new Set),e.get(p).add([n,l]))}if(l&&!i&&e.has(n)){const c=[...e.get(n)];if(c.some(([u])=>{if(t.some(d=>d.path===u)){const d=r.getModuleInfo(u);return X(d?d.meta:{})===l}return!1}))return;if(c.every(([,u])=>u===l))return o.has(n)?o.get(n):void 0;const p=`${V(n,ae(n))}-${l}`;return o.set(n,p),p}},"splitChunks")},"createSplitChunks");var yn=Object.defineProperty,vn=m((e,t)=>yn(e,"name",{value:t,configurable:!0}),"n");const N=vn((e,t,o)=>t.isDynamicEntry?`chunks/[name].${o}`:`shared/${e.options.name}.[hash].${o}`,"getChunkFilename");var bn=Object.defineProperty,$n=m((e,t)=>bn(e,"name",{value:t,configurable:!0}),"s$6");const wn=process.platform==="win32",_e=$n((e,t)=>{const o=wn?"\\":"/";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 jn=Object.defineProperty,j=m((e,t)=>jn(e,"name",{value:t,configurable:!0}),"p$1");const kn=j((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"+Nt.node.split(".")[0];if(t.pkg.engines?.node){const n=qe(t.pkg.engines.node);n&&(o="node"+n.major)}if(t.options.rollup.esbuild.target){const n=Y(t.options.rollup.esbuild.target);n.some(r=>r.startsWith("node"))||(t.options.rollup.esbuild.target=[...new Set([...Y(o),...n])])}else t.options.rollup.esbuild.target=Y(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")),{minify:t.options.minify,sourceMap:t.options.sourcemap,...t.options.rollup.esbuild,logger:t.logger}}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"),yt=j((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 "${v(D(h(),e.id))}"
|
|
62
62
|
Is the module installed? Note:
|
|
63
63
|
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
64
|
-
↳ to depend on a module via import/require, install it to "dependencies".`);return e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),
|
|
65
|
-
${i.stack}`),s){case"info":{e.logger.info({message:
|
|
66
|
-
`;return
|
|
64
|
+
↳ to depend on a module via import/require, install it to "dependencies".`);return e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),Ce=new Map,vt=j((e,t,o)=>{const n=j(s=>{for(const[i,a]of Object.entries(t))if(s.startsWith(i))return s.replace(i,a)},"findAlias"),r=dt(e.tsconfig,!1);return{external(s){const i=n(s);i&&(s=i);const a=re(s),l=oe(e.options.externals,a)||oe(e.options.externals,s);if(l)return!0;const{pkg:c}=e,p=c.peerDependencies;if(p&&s in p&&!c.dependencies?.[s]&&!c.peerDependencies?.[s]&&!c.peerDependenciesMeta?.[s]?.optional)return!0;if(s.startsWith(".")||We(s)||/src[/\\]/.test(s)||c.name&&s.startsWith(c.name))return!1;if(r){for(const{find:u}of r)if(u.test(s))return e.logger.debug({message:`Resolved alias ${s} to ${u.source}`,prefix:o}),!1}return!l&&!Ce.has(s)&&e.logger.info({message:'Inlined implicit external "'+v(s)+'". If this is incorrect, add it to the "externals" option.',prefix:o}),Ce.set(s,!0),l},input:Object.fromEntries(e.options.entries.map(s=>[s.name,h(e.options.rootDir,s.input)])),logLevel:e.options.debug?"debug":"info",onLog:j((s,i)=>{let a=i.message;switch(i.stack&&(a=`${a}
|
|
65
|
+
${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){yt(s,e)||s.code||i(s)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),bt=j(async(e,t)=>{const o=ue(e,"build");let n;return e.options.rollup.resolve&&(n=x(Le({extensions:F,...e.options.rollup.resolve}),t)),{...vt(e,o,"dependencies"),output:[e.options.emitCJS&&{chunkFileNames:j(r=>N(e,r,"cjs"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:j(r=>_e(r,"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:Pe(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}},e.options.emitESM&&{chunkFileNames:j(r=>N(e,r,"mjs"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:j(r=>_e(r,"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:Pe(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}}].filter(Boolean),plugins:[x(nt(),t),x(ht(),t),e.tsconfig&&x(gt(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&x(mt(e.tsconfig,e.logger),t),e.options.rollup.replace&&He({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Ve({customResolver:n?.resolveId,...e.options.rollup.alias,entries:o}),n,e.options.rollup.polyfillNode&&no({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&et({...e.options.rollup.json}),Ar(e.logger),Oo(e.options.entries.filter(r=>r.executable).map(r=>r.name).filter(Boolean)),e.options.rollup.wsam&&ro(e.options.rollup.wsam),e.options.declaration&&e.options.rollup.isolatedDeclarations&&e.options.isolatedDeclarationTransformer&&yr(b(e.options.rootDir,e.options.sourceDir))(e.options.isolatedDeclarationTransformer,e.options.rollup.isolatedDeclarations),e.options.transformer?.(kn(e.options.transformerName,e)),e.options.cjsInterop&&e.options.emitCJS&&Qe({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.dynamicVars&&oo(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&x(to({extensions:F,sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),t),e.options.rollup.preserveDynamicImports&&{renderDynamicImport(){return{left:"import(",right:")"}}},e.options.rollup.shim&&Gr(e.pkg),e.options.rollup.raw&&Lr(e.options.rollup.raw),e.options.rollup.jsxRemoveAttributes&&xr({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),e.options.rollup.metafile&&Pr({outDir:h(e.options.rootDir,e.options.outDir),rootDir:e.options.rootDir}),e.options.rollup.copy&&gr(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&ot({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&&so({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"),xn=j(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"),En=pr(xn),$t=j(async(e,t)=>{const o=ue(e,"types"),n={load(a){return/\.(?:js|cjs|mjs|jsx|ts|tsx|mts|json)$/.test(a)?null:""},name:"packem:ignore-files"},r=e.tsconfig?.config.compilerOptions;delete r?.lib;let s;e.options.rollup.resolve&&(s=x(Le({extensions:F,...e.options.rollup.resolve}),t));const i="dts-plugin:"+process.pid+e.tsconfig.path;return{...vt(e,o,"dts"),onwarn(a,l){yt(a,e)||a.code!=="EMPTY_BUNDLE"&&l(a)},output:[e.options.emitCJS&&{chunkFileNames:j(a=>N(e,a,"d.cts"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output},e.options.emitESM&&{chunkFileNames:j(a=>N(e,a,"d.mts"),"chunkFileNames"),dir:h(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:j(a=>N(e,a,"d.ts"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts",format:"cjs",sourcemap:e.options.sourcemap,...e.options.rollup.output}].filter(Boolean),plugins:[x(nt(),t),x(ht(),t),e.options.rollup.json&&et({...e.options.rollup.json}),n,e.tsconfig&&x(gt(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&x(mt(e.tsconfig,e.logger),t),e.options.rollup.replace&&He({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Ve({customResolver:s?.resolveId,...e.options.rollup.alias,entries:o}),s,await En(i)(e),e.options.cjsInterop&&e.options.emitCJS&&Qe({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.patchTypes&&nn(e.options.rollup.patchTypes,e.logger),Do(),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&ot({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 On=Object.defineProperty,Dn=m((e,t)=>On(e,"name",{value:t,configurable:!0}),"c$3");const Z=Dn(async(e,t)=>{const o=await bt(e,t);if(await e.hooks.callHook("rollup:options",e,o),Object.keys(o.input).length===0)return;const n="rollup-build.json";o.cache=t.get(n);const r=await Je(o);t.set(n,r.cache),await e.hooks.callHook("rollup:build",e,r);const s=o.output,i=new Map;for(const a of s){const{output:l}=await r.write(a),c=new Set,p=l.filter(d=>d.type==="chunk");for(const d of p){c.add(d.fileName);for(const g of d.imports)e.usedImports.add(g);d.isEntry&&e.buildEntries.push({bytes:Buffer.byteLength(d.code,"utf8"),chunks:d.imports.filter(g=>p.find(f=>f.fileName===g)),exports:d.exports,modules:Object.entries(d.modules).map(([g,f])=>({bytes:f.renderedLength,id:g})),path:d.fileName,type:"entry"})}const u=l.filter(d=>d.type==="asset");for(const d of u)i.has(d.fileName)||i.set(d.fileName,{bytes:Buffer.byteLength(d.source,"utf8"),path:d.fileName,type:"asset"});for(const d of c)e.usedImports.delete(d)}e.buildEntries.push(...i.values())},"build");var Sn=Object.defineProperty,L=m((e,t)=>Sn(e,"name",{value:t,configurable:!0}),"s$5");const Q=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 $t(e,t);if(await e.hooks.callHook("rollup:dts:options",e,o),Object.keys(o.input).length===0)return;const n="rollup-dts.json";o.cache=t.get(n);const r=await Je(o);t.set(n,r.cache),await e.hooks.callHook("rollup:dts:build",e,r),e.logger.info({message:"Building declaration files...",prefix:"dts"}),e.options.emitCJS&&await r.write({chunkFileNames:L(s=>N(e,s,"d.cts"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts"}),e.options.emitESM&&await r.write({chunkFileNames:L(s=>N(e,s,"d.mts"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.mts"}),(e.options.declaration===!0||e.options.declaration==="compatible")&&await r.write({chunkFileNames:L(s=>N(e,s,"d.ts"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.ts"}),await e.hooks.callHook("rollup:dts:done",e)},"buildTypes");var Nn=Object.defineProperty,ge=m((e,t)=>Nn(e,"name",{value:t,configurable:!0}),"i$2");const Pn=ge(e=>{const{message:t,name:o="Error",stack:n}=e;if(!n)return n;const r=`${o}: ${t}
|
|
66
|
+
`;return n.startsWith(r)?n.slice(r.length):n},"extractStack"),_n=ge(e=>`
|
|
67
67
|
${e.replaceAll(/^\n|\n$/g,"")}
|
|
68
|
-
`,"normalizeCodeFrame"),
|
|
68
|
+
`,"normalizeCodeFrame"),wt=ge(e=>{const t=Pn(e);let o=(e.plugin?`[${e.plugin}] `:"")+e.message;e.id&&(o+=`
|
|
69
69
|
file: ${v(e.id+(e.loc?":"+e.loc.line+":"+e.loc.column:""))}`),e.frame&&(o+=`
|
|
70
|
-
`+
|
|
71
|
-
${t}`)},"enhanceRollupError");var
|
|
72
|
-
└─ ${D(process.cwd(),i)}`);if(e.logger.info(s),
|
|
73
|
-
- `+v(
|
|
70
|
+
`+It(_n(e.frame))),e.message=o,t!==void 0&&(e.stack=`${e.message}
|
|
71
|
+
${t}`)},"enhanceRollupError");var Cn=Object.defineProperty,jt=m((e,t)=>Cn(e,"name",{value:t,configurable:!0}),"l$2");const Me=jt((e,t,o)=>{const n="watcher:"+t;e.on("change",(r,{event:s})=>{o.info({message:`${v(D(".",r))} was ${s}d`,prefix:n})}),e.on("restart",()=>{o.info({message:"Rebuilding "+t+"...",prefix:n})}),e.on("event",async r=>{switch(r.code){case"END":{o.success({message:"Rebuild "+t+" finished",prefix:n});break}case"BUNDLE_START":{o.info({message:v("build started..."),prefix:n});break}case"BUNDLE_END":{await r.result.close(),o.info({message:v(`built in ${r.duration+""}ms.`),prefix:n});break}case"ERROR":{wt(r.error),o.error({context:[r.error],message:"Rebuild "+t+" failed: "+r.error.message,prefix:n});break}}})},"watchHandler"),Mn=jt(async(e,t)=>{const o=await bt(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 n=$e(o);await e.hooks.callHook("rollup:watch",e,n);const r=[...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 r)s+=M(`
|
|
72
|
+
└─ ${D(process.cwd(),i)}`);if(e.logger.info(s),Me(n,"bundle",e.logger),e.options.declaration){const i=await $t(e,t);await e.hooks.callHook("rollup:dts:options",e,i);const a=$e(i);await e.hooks.callHook("rollup:watch",e,a),Me(a,"types",e.logger)}},"watch");var In=Object.defineProperty,Fn=m((e,t)=>In(e,"name",{value:t,configurable:!0}),"i$1");const kt=Fn(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var Rn=Object.defineProperty,Tn=m((e,t)=>Rn(e,"name",{value:t,configurable:!0}),"a$3");class An{static{m(this,"p")}static{Tn(this,"FileCache")}#r;#e;#n;#t=!0;#o=new Map;#s;constructor(t,o,n){this.#r=t,this.#e=mo("@visulima/packem",{cwd:t}),this.#n=o,this.#s=n,this.#e===void 0?n.debug("Could not create cache directory."):n.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 n=this.getFilePath(t,o);if(this.#o.has(n))return this.#o.get(n);if(!O(n))return;const r=Te(n);try{const s=JSON.parse(r);return this.#o.set(n,s),s}catch{this.#s.warn(`Could not parse cache file: ${n}, deleting the broken cache file.`),this.#o.delete(n),eo(n,{force:!0});return}}set(t,o,n){if(!this.#t||this.#e===void 0||o===void 0)return;const r=this.getFilePath(t,n);typeof o=="object"&&(o=JSON.stringify(o)),se(r,o,{overwrite:!0})}getFilePath(t,o){let n=t.replaceAll(be(this.#r),"");return n=n.replaceAll(":","-"),b(this.#e,this.#n,o?.replaceAll(":","-")??"",be(n))}}var Bn=Object.defineProperty,z=m((e,t)=>Bn(e,"name",{value:t,configurable:!0}),"l$1");const Wn=H,Jn=z((e,t)=>{const{sideEffects:o}=t;let n;if(typeof o=="boolean")n=z(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)n=z(()=>!1,"hasSideEffects");else{const r=o.map(s=>s.includes("/")?s:`**/${s}`);n=Wn(r,null,{resolve:e})}else n=z(()=>null,"hasSideEffects");return n},"getPackageSideEffect");var Ln=Object.defineProperty,zn=m((e,t)=>Ln(e,"name",{value:t,configurable:!0}),"y");const Un=zn((e,t,o)=>e.reduce((n,r)=>{const s=r[t],i=r[o];return n[s]||(n[s]={}),n[s][i]||(n[s][i]=[]),n[s][i].push(r),n},{}),"groupByKeys");var Vn=Object.defineProperty,Hn=m((e,t)=>Vn(e,"name",{value:t,configurable:!0}),"o");const qn=Hn(e=>{const t=new Set,o=new Set(Object.keys(e.pkg.dependencies??{})),n=new Set;for(const r of e.usedImports)o.delete(r),t.add(r);if(Array.isArray(e.options.dependencies))for(const r of e.options.dependencies)o.delete(r);for(const r of t)!oe(e.options.externals,r)&&!r.startsWith("chunks/")&&!e.options.dependencies.includes(re(r))&&!e.options.peerDependencies.includes(re(r))&&n.add(r);o.size>0&&B(e,`Potential unused dependencies found: ${[...o].map(r=>v(r)).join(", ")}`),n.size>0&&B(e,`Potential implicit dependencies found: ${[...n].map(r=>v(r)).join(", ")}`)},"validateDependencies");var Gn=Object.defineProperty,xt=m((e,t)=>Gn(e,"name",{value:t,configurable:!0}),"i");const Yn=xt((e,t)=>fo(e,t)<=e.length/3||t.includes(e),"isSimilar"),Kn=xt((e,t)=>{const o=e.toLowerCase();return t.filter(n=>Yn(n.toLowerCase(),o))},"findAlternatives");var Xn=Object.defineProperty,Ie=m((e,t)=>Xn(e,"name",{value:t,configurable:!0}),"s$1");const Zn=Ie((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:"",...de(e.exports,e.type??"commonjs",t.options.declaration).map(r=>r.file)].map(r=>r&&h(t.options.rootDir,r.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const r of o)r&&!r.includes("*")&&!ce(r)&&n.push(r.replace(`${t.options.rootDir}/`,""));if(n.length>0){const r=Ie(a=>D(t.options.rootDir,h(t.options.outDir,a)),"rPath"),s=t.buildEntries.filter(a=>!a.chunk).map(a=>r(a.path));let i="Potential missing or wrong package.json files:";for(const a of n){const l=Kn(a,s);i+=`
|
|
73
|
+
- `+v(a)+(l.length>0?Ft` (did you mean ${l.map(c=>`"${c}"`).join(", ")}?)`:"")}B(t,i)}},"validatePackage");var Qn=Object.defineProperty,k=m((e,t)=>Qn(e,"name",{value:t,configurable:!0}),"h$1");const Et=k((e,t)=>{if(e.warnings.size>0&&(t&&e.logger.raw(`
|
|
74
74
|
`),e.logger.warn(`Build is done with some warnings:
|
|
75
75
|
|
|
76
76
|
${[...e.warnings].map(o=>`- ${o}`).join(`
|
|
77
|
-
`)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logErrors"),
|
|
77
|
+
`)}`),e.options.failOnWarn))throw new Error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`.")},"logErrors"),es=k(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"),ts=k((e,t,o,n,r,s,i,a,l)=>{const c=es(l?.config.compilerOptions?.jsx),p=Ht(s,r,i,{alias:{},clean:!0,debug:n,declaration:!0,dependencies:[],devDependencies:[],emitCJS:!0,emitESM:!0,entries:[],externals:[...ve.builtinModules,...ve.builtinModules.map(u=>`node:${u}`)],failOnWarn:!0,fileCache:!0,minify:E.NODE_ENV==="production",name:(a.name??"").split("/").pop()??"default",optionalDependencies:[],outDir:"dist",peerDependencies:[],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,minifyWhitespace:E.NODE_ENV==="production",sourcesContent:!1,target:l?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:l?.config},isolatedDeclarations:{exclude:G,ignoreErrors:!1,include:[/\.[cm]?ts$/]},json:{preferConst:!0},license:{dependenciesTemplate:k((u,d,g)=>`
|
|
78
78
|
# Licenses of bundled dependencies
|
|
79
79
|
The published ${g} artifact additionally contains code with the following licenses:
|
|
80
80
|
${u.join(", ")}
|
|
@@ -86,30 +86,30 @@ The published ${g} artifact additionally contains code with the following licens
|
|
|
86
86
|
${u.join(", ")}
|
|
87
87
|
|
|
88
88
|
# Bundled types:
|
|
89
|
-
`+d,"dtsTemplate")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:
|
|
89
|
+
`+d,"dtsTemplate")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:G,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:Jn(t,a),preset:"recommended"},watch:{chokidar:{ignoreInitial:!0,ignorePermissionErrors:!0},clearScreen:!0,exclude:G}},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 d="0.0.0";if(u.has("esbuild"))p.transformerName="esbuild",d=u.get("esbuild");else if(u.has("@swc/core"))p.transformerName="swc",d=u.get("@swc/core");else if(u.has("sucrase"))p.transformerName="sucrase",d=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 "+v("rollup ")+Gt),e.info({message:"Using "+v(p.transformerName)+" "+d,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")),l?.config.compilerOptions?.isolatedModules||e.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
|
|
90
90
|
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.
|
|
91
|
-
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.`),p.dependencies=Object.keys(
|
|
92
|
-
exports: `+M(s.exports.join(", ")):"",s.chunks?.length&&(
|
|
93
|
-
${s.chunks.map(
|
|
94
|
-
`)}`),s.modules&&s.modules.length>0){const
|
|
95
|
-
`);l
|
|
91
|
+
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.`),p.dependencies=Object.keys(a.dependencies??{}),p.peerDependencies=Object.keys(a.peerDependencies??{}),p.devDependencies=Object.keys(a.devDependencies??{}),p.optionalDependencies=Object.keys(a.optionalDependencies??{}),p.externals.push(...p.dependencies,...p.peerDependencies,...p.optionalDependencies),p},"generateOptions"),os=k(e=>e.replace(/\.(?:js|mjs|cjs|ts|mts|cts|json|jsx|tsx)$/,""),"removeExtension"),rs=k(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 n=We(o.input)?D(t,o.input):ie(o.input);n.startsWith("./")&&(n=n.slice(2)),o.name=os(n.replace(/^src\//,""))}if(!o.input)throw new Error(`Missing entry input: ${kt(o)}`);if(o.input=h(e.options.rootDir,o.input),!O(o.input)){const n=new Set(await Mt(le(o.input)));let r=!1;for(const s of F)if(n.has(V(o.input)+s)){r=!0;break}if(!r)throw new Lt("Your configured entry: "+v(o.input)+" does not exist.")}o.outDir=h(e.options.rootDir,o.outDir??e.options.outDir)}},"prepareEntries"),ns=k((e,t,o)=>{const n=k(s=>D(t.options.rootDir,h(t.options.outDir,s)),"rPath");let r=!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(n(s.path))} (${["total size: "+v(_(i)),s.type!=="asset"&&s.bytes&&"chunk size: "+v(_(s.bytes))].filter(Boolean).join(", ")})`;if(a+=s.exports?.length?`
|
|
92
|
+
exports: `+M(s.exports.join(", ")):"",s.chunks?.length&&(a+=`
|
|
93
|
+
${s.chunks.map(l=>{const c=t.buildEntries.find(p=>p.path===l)??{};return M(" └─ "+n(l)+S(c.bytes?" ("+_(c?.bytes)+")":""))}).join(`
|
|
94
|
+
`)}`),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=>M(" 📦 "+n(c.id)+S(c.bytes?" ("+_(c.bytes)+")":""))).join(`
|
|
95
|
+
`);a+=l.length>0?`
|
|
96
96
|
inlined modules:
|
|
97
|
-
`+
|
|
97
|
+
`+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(d=>d.path.endsWith(l))),a+=u&&c===o.type?`
|
|
98
98
|
types:
|
|
99
|
-
`+[p,u].map(d=>M(" └─ ")+S(
|
|
99
|
+
`+[p,u].map(d=>M(" └─ ")+S(n(d.path))+" (total size: "+v(_(d.bytes??0))+")").join(`
|
|
100
100
|
`):`
|
|
101
|
-
types: `+S(
|
|
101
|
+
types: `+S(n(p.path))+" (total size: "+v(_(p.bytes??0))+")"}}r=!0,a+=`
|
|
102
102
|
|
|
103
|
-
`,e.raw(s.chunk?M(
|
|
104
|
-
`),
|
|
103
|
+
`,e.raw(s.chunk?M(a):a)}return r&&e.raw("Σ Total dist size (byte size):",v(_(t.buildEntries.reduce((s,i)=>s+(i.bytes??0),0))),`
|
|
104
|
+
`),r},"showSizeInformation"),ss=k(async(e,t,o,n,r,s,i,a)=>{const l=tr(s.preset??r.preset??"auto",t),c=ts(e,t,o,n,r,s,l,i,a);Bt(b(c.rootDir,c.outDir));const p={buildEntries:[],dependencyGraphMap:new Map,hooks:qt(),logger:e,mode:o,options:c,pkg:i,tsconfig:a,usedImports:new Set,warnings:new Set};if(l.hooks&&p.hooks.addHooks(l.hooks),r.hooks&&p.hooks.addHooks(r.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)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."),p.options.declaration||p.logger.info("Declaration files, are disabled."),p},"createContext"),is=k(async e=>{const t=[];if(e.options.clean)for(const o of new Set(e.options.entries.map(n=>n.outDir).filter(Boolean).sort()))o===e.options.rootDir||o===e.options.sourceDir||e.options.rootDir.startsWith(o.endsWith("/")?o:`${o}/`)||t.some(n=>o.startsWith(n))||(t.push(o),e.logger.info(`Cleaning dist directory: \`./${D(e.options.rootDir,o)}\``),await Ae(o))},"cleanDistributionDirectories"),as=k(async(e,t,o)=>{await e.hooks.callHook("build:before",e);const n=Un(e.options.entries,"environment","runtime"),r=[];for(const[i,a]of Object.entries(n))for(const[l,c]of Object.entries(a)){e.logger.info("Preparing build for "+v(i)+" environment with "+v(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=[],d=[];for(const f of c)f.cjs&&f.esm?p.push(f):f.cjs?d.push(f):f.esm&&u.push(f);const g=i!=="development"&&e.options.minify;if(p.length>0){const f={...e,options:{...e.options,emitCJS:!0,emitESM:!0,entries:p,minify:g}};r.push(Z(f,o));const $=f.options.entries.filter(w=>w.declaration);e.options.declaration&&$.length>0&&r.push(Q({...f,options:{...f.options,entries:$}},o))}if(u.length>0){const f={...e,options:{...e.options,emitCJS:!1,emitESM:!0,entries:u,minify:g}};r.push(Z(f,o));const $=f.options.entries.filter(w=>w.declaration);e.options.declaration&&$.length>0&&r.push(Q({...f,options:{...f.options,entries:$}},o))}if(d.length>0){const f={...e,options:{...e.options,emitCJS:!1,emitESM:!1,entries:d,minify:g}};r.push(Z(f,o));const $=f.options.entries.filter(w=>w.declaration);e.options.declaration&&$.length>0&&r.push(Q({...f,options:{...f.options,entries:$}},o))}}await Promise.all(r),e.logger.success(Rt(`Build succeeded for ${e.options.name}`));for await(const i of Wt(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 Re(h(e.options.rootDir,e.options.outDir,i.path));a.bytes=l.size}}const s=ns(e.logger,e,t);qn(e),Zn(t,e),await e.hooks.callHook("build:done",e),Et(e,s)},"build"),ls=k(async(e,t,o,n={})=>{const{configPath:r,debug:s,tsconfigPath:i,...a}=n;o.wrapAll(),e=h(Pt(),e),o.debug("Root directory:",e);const l=b(e,"package.json"),c=Be(l);o.debug("Using package.json found at",l);let p;if(i){const u=b(e,i);if(!await Jt(u))throw new Error("tsconfig.json not found at "+u);p={config:Ut(u),path:u},o.info("Using tsconfig settings at",u)}else try{p=await Vt(e),o.debug("Using tsconfig settings found at",p.path)}catch{o.info("No tsconfig.json or jsconfig.json found.")}try{const u=r??"./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 d=Ye(u,e);o.debug("Using packem config found at",b(e,u));const g=Date.now(),f=k(()=>zt(Math.floor(Date.now()-g)),"getDuration"),$=C(JSON.stringify({version:c.version,...c.dependencies,...c.devDependencies,browser:c.browser,eNode:c.engines?.node,exports:c.exports,main:c.main,module:c.module,type:c.type,types:c.types})),w=new An(e,$,o);w.cachePath&&!O(b(w.cachePath,$))&&O(w.cachePath)&&(o.info("Clearing file cache because the cache key has changed."),await Ae(w.cachePath));const y=await ss(o,e,t,s??!1,a,d,c,p);if(w.isEnabled=y.options.fileCache,await rs(y,e),y.logger.info(v((t==="watch"?"Watching":t==="jit"?"Stubbing":"Building")+" "+y.options.name)),y.logger.debug(`${S("Root dir:")} ${y.options.rootDir}
|
|
105
105
|
${S("Entries:")}
|
|
106
|
-
${y.options.entries.map(R=>` ${
|
|
107
|
-
`)}`),await
|
|
106
|
+
${y.options.entries.map(R=>` ${kt(R)}`).join(`
|
|
107
|
+
`)}`),await is(y),y.options.stub){await Ao(y),await y.hooks.callHook("build:done",y);return}if(t==="watch"){if(y.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem.config file.");await Mn(y,w),Et(y,!1);return}await as(y,c,w),o.raw(`
|
|
108
108
|
⚡️ Build run in `+f()),o.restoreAll()}catch(u){throw o.raw(`
|
|
109
|
-
`),
|
|
109
|
+
`),wt(u),u}},"createBundler");var cs=Object.defineProperty,ee=m((e,t)=>cs(e,"name",{value:t,configurable:!0}),"a");const ps=ee(e=>{e.addCommand({description:"Demonstrate options required",execute:ee(async({logger:t,options:o})=>{let n="build";o.watch?n="watch":o.jit&&(n="jit");const r={};if(o.env)for(const s of o.env)r[s.key]=s.value;try{await ls(o.dir,n,t,{cjsInterop:o.cjsInterop,configPath:o.config??void 0,debug:o.debug,minify:o.minify,replace:{...r},rollup:{esbuild:{target:o.target},license:{path:o.license},metafile:o.metafile,...o.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:o.sourcemap,tsconfigPath:o.tsconfig??void 0})}catch(s){t.error(s),_t(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:ee(t=>{const[o,n]=t.split("=");return{key:o,value:n}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean}]})},"createBuildCommand");var us=Object.defineProperty,Fe=m((e,t)=>us(e,"name",{value:t,configurable:!0}),"t");const ds=Fe(e=>{e.addCommand({description:"Initialize packem configuration",execute:Fe(async({logger:t,options:o})=>{if(ho("Welcome to packem setup"),O(b(o.dir,"packem.config.ts"))){t.info("Packem project already initialized, you can use `packem build` to build your project");return}if(yo(o.transformer)){vo("Operation cancelled");return}if(o.transformer===void 0){const s=b(o.dir,"package.json");if(!O(s))throw new Error("No package.json found in the directory");const i=Be(s),a=[...Object.keys(i.dependencies??{}),...Object.keys(i.devDependencies??{})];if(o.transformer=await bo({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!a.includes(o.transformer)&&await $o({message:"Do you want to install "+o.transformer+"?"})){const l=je();l.start("Installing "+o.transformer),await go(o.transformer==="swc"?"@swc/core":o.transformer,{cwd:o.dir,dev:!0,silent:!0}),l.stop("")}}const n=`import { defineConfig } from "@visulima/packem/config";
|
|
110
110
|
import transformer from "@visulima/packem/transformer/${o.transformer}";
|
|
111
111
|
|
|
112
112
|
export default defineConfig({
|
|
113
113
|
transformer
|
|
114
114
|
});
|
|
115
|
-
`,
|
|
115
|
+
`,r=je();r.start("Creating packem.config.ts"),se(b(o.dir,"packem.config.ts"),n),r.stop("Created packem.config.ts"),wo("Now you can run `packem build` to build your project")},"execute"),name:"init",options:[{defaultValue:".",description:"The directory to initialize",name:"dir",type:String},{description:"Choose a transformer to use for packem",name:"transformer",type:String}]})},"createInitCommand"),he=new Dt("packem",{logger:{reporters:[new St({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem"},packageName:jo,packageVersion:ko});ds(he);ps(he);he.run({shouldExitProcess:!1});
|