@visulima/packem 1.0.0-alpha.34 → 1.0.0-alpha.35
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 +7 -0
- package/dist/cli.cjs +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/create-bundler.cjs +1 -1
- package/dist/create-bundler.mjs +15 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## @visulima/packem [1.0.0-alpha.35](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.34...@visulima/packem@1.0.0-alpha.35) (2024-06-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* fixed path handling without ./ ([e717627](https://github.com/visulima/packem/commit/e717627a8a8bc332a54126c79653cccee1aeea3d))
|
|
7
|
+
|
|
1
8
|
## @visulima/packem [1.0.0-alpha.34](https://github.com/visulima/packem/compare/@visulima/packem@1.0.0-alpha.33...@visulima/packem@1.0.0-alpha.34) (2024-06-02)
|
|
2
9
|
|
|
3
10
|
|
package/dist/cli.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var v=Object.defineProperty;var r=(n,e)=>v(n,"name",{value:e,configurable:!0});const k=require("@visulima/cerebro"),b=require("./create-bundler.cjs"),s=require("node:process"),h=require("@antfu/install-pkg"),i=require("@clack/prompts"),c=require("@visulima/fs"),j=require("@visulima/package/package-json"),l=require("@visulima/path"),w=r(n=>n&&typeof n=="object"&&"default"in n?n.default:n,"_interopDefaultCompat"),x=w(k),C="@visulima/packem",P="1.0.0-alpha.
|
|
2
|
+
"use strict";var v=Object.defineProperty;var r=(n,e)=>v(n,"name",{value:e,configurable:!0});const k=require("@visulima/cerebro"),b=require("./create-bundler.cjs"),s=require("node:process"),h=require("@antfu/install-pkg"),i=require("@clack/prompts"),c=require("@visulima/fs"),j=require("@visulima/package/package-json"),l=require("@visulima/path"),w=r(n=>n&&typeof n=="object"&&"default"in n?n.default:n,"_interopDefaultCompat"),x=w(k),C="@visulima/packem",P="1.0.0-alpha.34";var S=Object.defineProperty,p=r((n,e)=>S(n,"name",{value:e,configurable:!0}),"n");const q=p(n=>{n.addCommand({description:"Demonstrate options required",execute:p(async({options:e})=>{let t="build";e.watch?t="watch":e.jit&&(t="jit");const a={};if(e.env)for(const o of e.env)a[o.key]=o.value;await b(e.dir,t,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,minify:e.minify,replace:{...a},rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})},"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},{description:"Watch for changes",name:"watch",type:Boolean},{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:p(e=>{const[t,a]=e.split("=");return{key:t,value:a}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{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 z=Object.defineProperty,g=r((n,e)=>z(n,"name",{value:e,configurable:!0}),"i");const B=g(n=>{n.addCommand({description:"Initialize packem configuration",execute:g(async({logger:e,options:t})=>{if(i.intro("Welcome to packem setup"),c.isAccessibleSync(l.join(t.dir,"packem.config.ts")))return e.info("Packem project already initialized, you can use `packem build` to build your project"),s.exit(0);if(i.isCancel(t.transformer))return i.cancel("Operation cancelled"),s.exit(0);if(t.transformer===void 0){const u=l.join(t.dir,"package.json");if(!c.isAccessibleSync(u))return e.error("No package.json found in the directory"),s.exit(1);const d=j.parsePackageJson(u),y=[...Object.keys(d.dependencies??{}),...Object.keys(d.devDependencies??{})];if(t.transformer=await i.select({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!y.includes(t.transformer)&&await i.confirm({message:"Do you want to install "+t.transformer+"?"})){const f=i.spinner();f.start("Installing "+t.transformer),await h.installPackage(t.transformer==="swc"?"@swc/core":t.transformer,{cwd:t.dir,dev:!0,silent:!0}),f.stop("")}}const a=`import { defineConfig } from "@visulima/packem/config";
|
|
3
3
|
import transformer from "@visulima/packem/transformer/${t.transformer}";
|
|
4
4
|
|
|
5
5
|
export default defineConfig({
|
package/dist/cli.mjs
CHANGED
|
@@ -7,7 +7,7 @@ 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 I="@visulima/packem",N="1.0.0-alpha.
|
|
10
|
+
const I="@visulima/packem",N="1.0.0-alpha.34";var O=Object.defineProperty,c=r((i,e)=>O(i,"name",{value:e,configurable:!0}),"n");const V=c(i=>{i.addCommand({description:"Demonstrate options required",execute:c(async({options:e})=>{let t="build";e.watch?t="watch":e.jit&&(t="jit");const n={};if(e.env)for(const o of e.env)n[o.key]=o.value;await b(e.dir,t,{cjsInterop:e.cjsInterop,configPath:e.config??void 0,debug:e.debug,minify:e.minify,replace:{...n},rollup:{esbuild:{target:e.target},license:{path:e.license},metafile:e.metafile,...e.analyze?{visualizer:{}}:{visualizer:!1}},sourcemap:e.sourcemap,tsconfigPath:e.tsconfig??void 0})},"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},{description:"Watch for changes",name:"watch",type:Boolean},{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:c(e=>{const[t,n]=e.split("=");return{key:t,value:n}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{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 D=Object.defineProperty,g=r((i,e)=>D(i,"name",{value:e,configurable:!0}),"i");const E=g(i=>{i.addCommand({description:"Initialize packem configuration",execute:g(async({logger:e,options:t})=>{if(j("Welcome to packem setup"),u(s(t.dir,"packem.config.ts")))return e.info("Packem project already initialized, you can use `packem build` to build your project"),a(0);if(w(t.transformer))return C("Operation cancelled"),a(0);if(t.transformer===void 0){const p=s(t.dir,"package.json");if(!u(p))return e.error("No package.json found in the directory"),a(1);const l=B(p),y=[...Object.keys(l.dependencies??{}),...Object.keys(l.devDependencies??{})];if(t.transformer=await x({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"}]}),!y.includes(t.transformer)&&await P({message:"Do you want to install "+t.transformer+"?"})){const d=f();d.start("Installing "+t.transformer),await h(t.transformer==="swc"?"@swc/core":t.transformer,{cwd:t.dir,dev:!0,silent:!0}),d.stop("")}}const n=`import { defineConfig } from "@visulima/packem/config";
|
|
11
11
|
import transformer from "@visulima/packem/transformer/${t.transformer}";
|
|
12
12
|
|
|
13
13
|
export default defineConfig({
|
package/dist/create-bundler.cjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export default _module;`:"",...c.filter(p=>p!=="default").map(p=>`export const ${p} = _module.${p};`)].join(`
|
|
6
6
|
`)),await v.writeFile(`${n}.d.cts`,[`export * from ${JSON.stringify(a)};`,u?`export { default } from ${JSON.stringify(a)};`:""].join(`
|
|
7
7
|
`)),await v.writeFile(`${n}.d.mts`,[`export * from ${JSON.stringify(s)};`,u?`export { default } from ${JSON.stringify(s)};`:""].join(`
|
|
8
|
-
`)),l&&(await K(`${n}.cjs`),await K(`${n}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Ut=Object.defineProperty,Ht=f((e,t)=>Ut(e,"name",{value:t,configurable:!0}),"r$7");const Ee=Ht((e,t)=>we(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var Vt=Object.defineProperty,Oe=f((e,t)=>Vt(e,"name",{value:t,configurable:!0}),"t$4");const oe=Oe(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Se=Oe((e,t,o,r)=>{if(o){const a=oe(o);if(a)return a}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 Se(n,s,o,r)},"inferExportType");var Xt=Object.defineProperty,Gt=f((e,t)=>Xt(e,"name",{value:t,configurable:!0}),"o$2");const ne=Gt((e,t,o,r=[])=>{if(!e)return[];if(typeof e=="string"){const n=oe(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",subKey:n,type:Se(n,r,s,t)}:ne(s,t,o,[...r,n]))},"extractExportFilenames");var Kt=Object.defineProperty,_e=f((e,t)=>Kt(e,"name",{value:t,configurable:!0}),"d$4");const ae=_e((e,t,o,r,n,s,a)=>{const i=e.find(l=>l.input===t)??e[e.push({input:t})-1];if(o&&(i.outDir=r),n.file.includes(".min.")&&(i.minify=!0),n.isExecutable)i.executable=!0,i.declaration=!1,i.cjs=s.type==="commonjs",i.esm=s.type==="module";else{/\.d\.[mc]?ts$/.test(n.file)&&!a&&(i.declaration=a),n.type==="cjs"&&(i.cjs=!0),n.type==="esm"&&(i.esm=!0);for(const l of O.RUNTIME_EXPORT_CONVENTIONS)if(n.file.includes(l)){i.runtime=l;break}n.key==="exports"&&n.subKey==="production"?i.environment="production":n.key==="exports"&&n.subKey==="development"&&(i.environment="development")}},"createOrUpdateEntry"),le=/(?:\.d\.[mc]?ts|\.\w+)$/,Yt=_e((e,t,o)=>{const r=[];t.sort((i,l)=>i.split("/").length-l.split("/").length);const n=ne(e.exports,e.type??"commonjs",o.options.declaration);if(e.bin){const i=typeof e.bin=="string"?[e.bin]:Object.values(e.bin);for(const l of i)n.push({file:l,isExecutable:!0,key:"bin"})}e.main&&n.push({file:e.main,key:"main",type:oe(e.main)??(e.type==="module"?"esm":"cjs")}),e.module&&n.push({file:e.module,key:"module",type:"esm"}),o.options.declaration!==!1&&(e.types||e.typings)&&n.push({file:e.types??e.typings,key:"types"});const s=e.type==="module";for(const i of n.filter(l=>!l.type)){const l=i.file.endsWith(".js");s&&l||i.file.endsWith(".mjs")?i.type="esm":(!s&&l||i.file.endsWith(".cjs"))&&(i.type="cjs")}const a=[];for(const i of n){const l=i.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const u=l.replace("./"+o.options.outDir,o.options.sourceDir);if(i.file.includes("/*")&&i.key==="exports"){o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub.");const y=[],h=new RegExp("(?<=/|$)"+u.replace("*","(.*)")+(c?"":"\\.\\w+"));for(const b of t)h.test(b)&&y.push(b.replace(le,""));if(y.length===0){r.push(`Could not find entrypoints for \`${i.file}\``);continue}for(const b of y)ae(a,b,c,l,i,e,o.options.declaration);continue}const p=new RegExp("(?<=/|$)"+u+(c?"":"\\.\\w+")),d=t.find(y=>p.test(y))?.replace(le,"");if(!d){Z.existsSync(m.resolve(o.options.rootDir,i.file))||r.push(`Could not find entrypoint for \`${i.file}\``);continue}ae(a,d,c,l,i,e,o.options.declaration)}return{entries:a,warnings:r}},"inferEntries");var Qt=Object.defineProperty,Zt=f((e,t)=>Qt(e,"name",{value:t,configurable:!0}),"t$3");const eo=Zt((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 to=Object.defineProperty,oo=f((e,t)=>to(e,"name",{value:t,configurable:!0}),"n$8");const no={hooks:{"build:prepare":oo(function(e){if(e.options.entries.length>0)return;const t=m.join(e.options.rootDir,"src");if(!Z.existsSync(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=v.collectSync(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=eo(r,e.options.declaration));const n=Yt(r,o,e);for(const s of n.warnings)A(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:",g.cyan(e.options.entries.map(s=>g.bold(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),g.gray([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var ro=Object.defineProperty,so=f((e,t)=>ro(e,"name",{value:t,configurable:!0}),"t$2");const io=so((e,t)=>(e==="auto"?e=no:typeof e=="string"&&(e=Ee(e,t)),typeof e=="function"&&(e=e()),e),"resolvePreset");var ao=Object.defineProperty,lo=f((e,t)=>ao(e,"name",{value:t,configurable:!0}),"a$a");const Y=lo((e,t)=>e.some(o=>o instanceof RegExp?o.test(t):o===t),"arrayIncludes");var co=Object.defineProperty,po=f((e,t)=>co(e,"name",{value:t,configurable:!0}),"a$9");const H=po(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var uo=Object.defineProperty,mo=f((e,t)=>uo(e,"name",{value:t,configurable:!0}),"e$1");const Q=mo((e="")=>{const t=e.split("/");return t[0][0]==="@"?`${t[0]}/${t[1]}`:t[0]},"getPackageName");var fo=Object.defineProperty,De=f((e,t)=>fo(e,"name",{value:t,configurable:!0}),"s$a");const go=De((e,t,o)=>{const r=o??new Map;return(...n)=>{const s=t?typeof t=="function"?t(...n):t:JSON.stringify({args:n}),a=r.get(s);if(a!==void 0)return a;const i=e(...n);return r.set(s,i),i}},"memoize"),ho=De(e=>{const t=new Map;return o=>go(e,o,t)},"memoizeByKey");var yo=Object.defineProperty,vo=f((e,t)=>yo(e,"name",{value:t,configurable:!0}),"m$5");const Ne=vo(({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 a=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(r);if(a===null||a.length<3)return null;const i=new P(r);i.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),i.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&i.append(`
|
|
8
|
+
`)),l&&(await K(`${n}.cjs`),await K(`${n}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var Ut=Object.defineProperty,Ht=f((e,t)=>Ut(e,"name",{value:t,configurable:!0}),"r$7");const Ee=Ht((e,t)=>we(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var Vt=Object.defineProperty,Oe=f((e,t)=>Vt(e,"name",{value:t,configurable:!0}),"t$4");const oe=Oe(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Se=Oe((e,t,o,r)=>{if(o){const a=oe(o);if(a)return a}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 Se(n,s,o,r)},"inferExportType");var Xt=Object.defineProperty,Gt=f((e,t)=>Xt(e,"name",{value:t,configurable:!0}),"o$2");const ne=Gt((e,t,o,r=[])=>{if(!e)return[];if(typeof e=="string"){const n=oe(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",subKey:n,type:Se(n,r,s,t)}:ne(s,t,o,[...r,n]))},"extractExportFilenames");var Kt=Object.defineProperty,_e=f((e,t)=>Kt(e,"name",{value:t,configurable:!0}),"d$4");const ae=_e((e,t,o,r,n,s,a)=>{const i=e.find(l=>l.input===t)??e[e.push({input:t})-1];if(o&&(i.outDir=r),n.file.includes(".min.")&&(i.minify=!0),n.isExecutable)i.executable=!0,i.declaration=!1,i.cjs=s.type==="commonjs",i.esm=s.type==="module";else{/\.d\.[mc]?ts$/.test(n.file)&&!a&&(i.declaration=a),n.type==="cjs"&&(i.cjs=!0),n.type==="esm"&&(i.esm=!0);for(const l of O.RUNTIME_EXPORT_CONVENTIONS)if(n.file.includes(l)){i.runtime=l;break}n.key==="exports"&&n.subKey==="production"?i.environment="production":n.key==="exports"&&n.subKey==="development"&&(i.environment="development")}},"createOrUpdateEntry"),le=/(?:\.d\.[mc]?ts|\.\w+)$/,Yt=_e((e,t,o)=>{const r=[];t.sort((i,l)=>i.split("/").length-l.split("/").length);const n=ne(e.exports,e.type??"commonjs",o.options.declaration);if(e.bin){const i=typeof e.bin=="string"?[e.bin]:Object.values(e.bin);for(const l of i)n.push({file:l,isExecutable:!0,key:"bin"})}e.main&&n.push({file:e.main,key:"main",type:oe(e.main)??(e.type==="module"?"esm":"cjs")}),e.module&&n.push({file:e.module,key:"module",type:"esm"}),o.options.declaration!==!1&&(e.types||e.typings)&&n.push({file:e.types??e.typings,key:"types"});const s=e.type==="module";for(const i of n.filter(l=>!l.type)){const l=i.file.endsWith(".js");s&&l||i.file.endsWith(".mjs")?i.type="esm":(!s&&l||i.file.endsWith(".cjs"))&&(i.type="cjs")}const a=[];for(const i of n){const l=i.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const u=l.replace(new RegExp("(./)?"+o.options.outDir),o.options.sourceDir);if(i.file.includes("/*")&&i.key==="exports"){o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub.");const y=[],h=new RegExp("(?<=/|$)"+u.replace("*","(.*)")+(c?"":"\\.\\w+"));for(const b of t)h.test(b)&&y.push(b.replace(le,""));if(y.length===0){r.push(`Could not find entrypoints for \`${i.file}\``);continue}for(const b of y)ae(a,b,c,l,i,e,o.options.declaration);continue}const p=new RegExp("(?<=/|$)"+u+(c?"":"\\.\\w+")),d=t.find(y=>p.test(y))?.replace(le,"");if(!d){Z.existsSync(m.resolve(o.options.rootDir,i.file))||r.push(`Could not find entrypoint for \`${i.file}\``);continue}ae(a,d,c,l,i,e,o.options.declaration)}return{entries:a,warnings:r}},"inferEntries");var Qt=Object.defineProperty,Zt=f((e,t)=>Qt(e,"name",{value:t,configurable:!0}),"t$3");const eo=Zt((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 to=Object.defineProperty,oo=f((e,t)=>to(e,"name",{value:t,configurable:!0}),"n$8");const no={hooks:{"build:prepare":oo(function(e){if(e.options.entries.length>0)return;const t=m.join(e.options.rootDir,"src");if(!Z.existsSync(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=v.collectSync(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=eo(r,e.options.declaration));const n=Yt(r,o,e);for(const s of n.warnings)A(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:",g.cyan(e.options.entries.map(s=>g.bold(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),g.gray([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var ro=Object.defineProperty,so=f((e,t)=>ro(e,"name",{value:t,configurable:!0}),"t$2");const io=so((e,t)=>(e==="auto"?e=no:typeof e=="string"&&(e=Ee(e,t)),typeof e=="function"&&(e=e()),e),"resolvePreset");var ao=Object.defineProperty,lo=f((e,t)=>ao(e,"name",{value:t,configurable:!0}),"a$a");const Y=lo((e,t)=>e.some(o=>o instanceof RegExp?o.test(t):o===t),"arrayIncludes");var co=Object.defineProperty,po=f((e,t)=>co(e,"name",{value:t,configurable:!0}),"a$9");const H=po(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var uo=Object.defineProperty,mo=f((e,t)=>uo(e,"name",{value:t,configurable:!0}),"e$1");const Q=mo((e="")=>{const t=e.split("/");return t[0][0]==="@"?`${t[0]}/${t[1]}`:t[0]},"getPackageName");var fo=Object.defineProperty,De=f((e,t)=>fo(e,"name",{value:t,configurable:!0}),"s$a");const go=De((e,t,o)=>{const r=o??new Map;return(...n)=>{const s=t?typeof t=="function"?t(...n):t:JSON.stringify({args:n}),a=r.get(s);if(a!==void 0)return a;const i=e(...n);return r.set(s,i),i}},"memoize"),ho=De(e=>{const t=new Map;return o=>go(e,o,t)},"memoizeByKey");var yo=Object.defineProperty,vo=f((e,t)=>yo(e,"name",{value:t,configurable:!0}),"m$5");const Ne=vo(({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 a=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(r);if(a===null||a.length<3)return null;const i=new P(r);i.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),i.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&i.append(`
|
|
9
9
|
module.exports.default = `+a[2]+";");let l=i.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:i.generateMap({hires:!0})}}if(s.format==="es"&&/\.d\.(?:ts|cts)$/.test(n.fileName)){if(o!=="commonjs"&&n.fileName.endsWith(".d.ts"))return null;const a=/export\s\{\s(.*)\s\}/i.exec(r);if(a===null||a.length<2)return null;const i=a[1].split(", "),l=[];let c="";for(const p of i)if(!p.includes("type"))if(p.includes("as")){const[d,y]=p.split(" as ");if(y==="default"&&(c=d,!e))continue;l.push(y+": typeof "+d+";")}else l.push(p+": typeof "+p+";");const u=new P(r);return u.replace(" "+c+" as default,",""),u.append(`
|
|
10
10
|
|
|
11
11
|
declare const defaultExport: {
|
package/dist/create-bundler.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ht=Object.defineProperty;var d=(e,t)=>ht(e,"name",{value:t,configurable:!0});import{chmod as yt,stat as
|
|
1
|
+
var ht=Object.defineProperty;var d=(e,t)=>ht(e,"name",{value:t,configurable:!0});import{chmod as yt,stat as De,readdir as vt}from"node:fs/promises";import pe from"node:module";import{env as W,exit as I,versions as bt,cwd as $t}from"node:process";import{cyan as b,bold as E,gray as F,grey as jt,green as wt}from"@visulima/colorize";import{readFile as Z,writeFile as L,collectSync as kt,readFileSync as Se,writeFileSync as Ne,writeJsonSync as xt,isAccessibleSync as J,ensureDirSync as Ot,emptyDir as Pe,walk as Et,isAccessible as Dt}from"@visulima/fs";import{NotFoundError as St}from"@visulima/fs/error";import{formatBytes as M,duration as Nt}from"@visulima/humanizer";import{findCacheDirectorySync as Pt,readTsConfig as _t,findTSConfig as Mt}from"@visulima/package";import{parsePackageJson as Ct}from"@visulima/package/package-json";import{createPail as Ft}from"@visulima/pail";import{MessageFormatterProcessor as It,ErrorProcessor as Rt,CallerProcessor as Tt}from"@visulima/pail/processor";import{resolve as h,join as v,normalize as ee,extname as te,relative as N,dirname as oe,basename as H,isAbsolute as _e,toNamespacedPath as ue}from"@visulima/path";import{defu as At}from"defu";import{createHooks as Wt}from"hookable";import{a as T,R as Jt,E as me}from"./shared/packem.HRXF255z.mjs";import{pathToFileURL as Bt,fileURLToPath as Lt}from"node:url";import{resolvePath as zt,resolveModuleExportNames as Ut,findStaticImports as Me}from"mlly";import S from"magic-string";import Ce from"jiti";import{existsSync as re}from"node:fs";import{rollup as Fe,watch as de}from"rollup";import Ie from"@rollup/plugin-alias";import Ht from"@rollup/plugin-commonjs";import qt from"@rollup/plugin-dynamic-import-vars";import{nodeResolve as Re}from"@rollup/plugin-node-resolve";import Te from"@rollup/plugin-replace";import{wasm as Vt}from"@rollup/plugin-wasm";import Gt from"rollup-plugin-polyfill-node";import{visualizer as Xt}from"rollup-plugin-visualizer";import{minVersion as Ae}from"semver";import{glob as Kt}from"glob";import Yt from"glob-parent";import Qt from"@rollup/plugin-json";import{createFilter as ne,normalizePath as fe}from"@rollup/pluginutils";import Zt from"rollup-plugin-license";import{createHash as eo}from"node:crypto";import{parse as to}from"@babel/parser";import{distance as oo}from"fastest-levenshtein";
|
|
2
2
|
// -- pack CommonJS Shims --
|
|
3
3
|
import __cjs_url__ from "node:url";
|
|
4
4
|
import __cjs_path__ from "node:path";
|
|
@@ -7,21 +7,21 @@ const __filename = __cjs_url__.fileURLToPath(import.meta.url);
|
|
|
7
7
|
const __dirname = __cjs_path__.dirname(__filename);
|
|
8
8
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
9
9
|
var ro=Object.defineProperty,q=d((e,t)=>ro(e,"name",{value:t,configurable:!0}),"i$b");const se=/^#![^\n]*/,K=q(async e=>{await yt(e,493).catch(()=>{})},"makeExecutable"),no=q((e,t=`#!/usr/bin/env node
|
|
10
|
-
`)=>({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
|
|
10
|
+
`)=>({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 S(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"&&se.test(s.code)&&o.dir){const a=h(o.dir,r);await K(a)}}}),"shebangPlugin"),so=q(()=>({name:"packem:remove-shebang",renderChunk(e){return e.replace(se,"")}}),"removeShebangPlugin"),io=q((e,t=`
|
|
11
11
|
`)=>{const o=se.exec(e);return o?o+t:""},"getShebang");var ao=Object.defineProperty,lo=d((e,t)=>ao(e,"name",{value:t,configurable:!0}),"p$3");const ie=lo((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]=v(e.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 co=Object.defineProperty,po=d((e,t)=>co(e,"name",{value:t,configurable:!0}),"o$3");const uo=po((e,t)=>{const o=Ce(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 mo=Object.defineProperty,fo=d((e,t)=>mo(e,"name",{value:t,configurable:!0}),"r$8");const B=fo((e,t)=>{e.warnings.has(t)||e.warnings.add(t)},"warn");var go=Object.defineProperty,ho=d((e,t)=>go(e,"name",{value:t,configurable:!0}),"u$7");const yo=ho(async e=>{const t=await zt("jiti",{url:import.meta.url}),o=JSON.stringify({...e.options.stubOptions.jiti,alias:{...ie(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=ee(uo(n.input,e.options.rootDir)||n.input),a=s.slice(0,Math.max(0,s.length-te(s).length)),i=await Z(s),l=io(i);e.options.emitCJS&&await L(`${r}.cjs`,l+[`const jiti = require(${JSON.stringify(t)})`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(a)})} */`,`module.exports = _jiti(${JSON.stringify(s)})`].join(`
|
|
12
12
|
`));let c=[];try{c=await Ut(s,{extensions:T})}catch(p){B(e,`Cannot analyze ${s} for exports:${p}`);return}const u=c.includes("default")||c.length===0;await L(`${r}.mjs`,l+[`import jiti from ${JSON.stringify(Bt(t).href)};`,"",`const _jiti = jiti(null, ${o})`,"",`/** @type {import(${JSON.stringify(s)})} */`,`const _module = await _jiti.import(${JSON.stringify(s)});`,u?`
|
|
13
13
|
export default _module;`:"",...c.filter(p=>p!=="default").map(p=>`export const ${p} = _module.${p};`)].join(`
|
|
14
14
|
`)),await L(`${r}.d.cts`,[`export * from ${JSON.stringify(a)};`,u?`export { default } from ${JSON.stringify(a)};`:""].join(`
|
|
15
15
|
`)),await L(`${r}.d.mts`,[`export * from ${JSON.stringify(s)};`,u?`export { default } from ${JSON.stringify(s)};`:""].join(`
|
|
16
|
-
`)),l&&(await K(`${r}.cjs`),await K(`${r}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var vo=Object.defineProperty,bo=d((e,t)=>vo(e,"name",{value:t,configurable:!0}),"r$7");const We=bo((e,t)=>Ce(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var $o=Object.defineProperty,Je=d((e,t)=>$o(e,"name",{value:t,configurable:!0}),"t$4");const ae=Je(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Be=Je((e,t,o,n)=>{if(o){const a=ae(o);if(a)return a}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 Be(r,s,o,n)},"inferExportType");var jo=Object.defineProperty,wo=d((e,t)=>jo(e,"name",{value:t,configurable:!0}),"o$2");const le=wo((e,t,o,n=[])=>{if(!e)return[];if(typeof e=="string"){const r=ae(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",subKey:r,type:Be(r,n,s,t)}:le(s,t,o,[...n,r]))},"extractExportFilenames");var ko=Object.defineProperty,Le=d((e,t)=>ko(e,"name",{value:t,configurable:!0}),"d$4");const ge=Le((e,t,o,n,r,s,a)=>{const i=e.find(l=>l.input===t)??e[e.push({input:t})-1];if(o&&(i.outDir=n),r.file.includes(".min.")&&(i.minify=!0),r.isExecutable)i.executable=!0,i.declaration=!1,i.cjs=s.type==="commonjs",i.esm=s.type==="module";else{/\.d\.[mc]?ts$/.test(r.file)&&!a&&(i.declaration=a),r.type==="cjs"&&(i.cjs=!0),r.type==="esm"&&(i.esm=!0);for(const l of Jt)if(r.file.includes(l)){i.runtime=l;break}r.key==="exports"&&r.subKey==="production"?i.environment="production":r.key==="exports"&&r.subKey==="development"&&(i.environment="development")}},"createOrUpdateEntry"),he=/(?:\.d\.[mc]?ts|\.\w+)$/,xo=Le((e,t,o)=>{const n=[];t.sort((i,l)=>i.split("/").length-l.split("/").length);const r=le(e.exports,e.type??"commonjs",o.options.declaration);if(e.bin){const i=typeof e.bin=="string"?[e.bin]:Object.values(e.bin);for(const l of i)r.push({file:l,isExecutable:!0,key:"bin"})}e.main&&r.push({file:e.main,key:"main",type:ae(e.main)??(e.type==="module"?"esm":"cjs")}),e.module&&r.push({file:e.module,key:"module",type:"esm"}),o.options.declaration!==!1&&(e.types||e.typings)&&r.push({file:e.types??e.typings,key:"types"});const s=e.type==="module";for(const i of r.filter(l=>!l.type)){const l=i.file.endsWith(".js");s&&l||i.file.endsWith(".mjs")?i.type="esm":(!s&&l||i.file.endsWith(".cjs"))&&(i.type="cjs")}const a=[];for(const i of r){const l=i.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const u=l.replace("./"+o.options.outDir,o.options.sourceDir);if(i.file.includes("/*")&&i.key==="exports"){o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub.");const g=[],f=new RegExp("(?<=/|$)"+u.replace("*","(.*)")+(c?"":"\\.\\w+"));for(const y of t)f.test(y)&&g.push(y.replace(he,""));if(g.length===0){n.push(`Could not find entrypoints for \`${i.file}\``);continue}for(const y of g)ge(a,y,c,l,i,e,o.options.declaration);continue}const p=new RegExp("(?<=/|$)"+u+(c?"":"\\.\\w+")),m=t.find(g=>p.test(g))?.replace(he,"");if(!m){re(h(o.options.rootDir,i.file))||n.push(`Could not find entrypoint for \`${i.file}\``);continue}ge(a,m,c,l,i,e,o.options.declaration)}return{entries:a,warnings:n}},"inferEntries");var Oo=Object.defineProperty,Eo=d((e,t)=>Oo(e,"name",{value:t,configurable:!0}),"t$3");const
|
|
17
|
-
module.exports.default = `+a[2]+";");let l=i.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:i.generateMap({hires:!0})}}if(s.format==="es"&&/\.d\.(?:ts|cts)$/.test(r.fileName)){if(o!=="commonjs"&&r.fileName.endsWith(".d.ts"))return null;const a=/export\s\{\s(.*)\s\}/i.exec(n);if(a===null||a.length<2)return null;const i=a[1].split(", "),l=[];let c="";for(const p of i)if(!p.includes("type"))if(p.includes("as")){const[m,g]=p.split(" as ");if(g==="default"&&(c=m,!e))continue;l.push(g+": typeof "+m+";")}else l.push(p+": typeof "+p+";");const u=new
|
|
16
|
+
`)),l&&(await K(`${r}.cjs`),await K(`${r}.mjs`))}await e.hooks.callHook("rollup:done",e)},"createStub");var vo=Object.defineProperty,bo=d((e,t)=>vo(e,"name",{value:t,configurable:!0}),"r$7");const We=bo((e,t)=>Ce(t,{esmResolve:!0,interopDefault:!0})(e),"tryRequire");var $o=Object.defineProperty,Je=d((e,t)=>$o(e,"name",{value:t,configurable:!0}),"t$4");const ae=Je(e=>{if(e.endsWith(".mjs")||e.endsWith(".d.mts"))return"esm";if(e.endsWith(".cjs")||e.endsWith(".d.cts"))return"cjs"},"inferExportTypeFromFileName"),Be=Je((e,t,o,n)=>{if(o){const a=ae(o);if(a)return a}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 Be(r,s,o,n)},"inferExportType");var jo=Object.defineProperty,wo=d((e,t)=>jo(e,"name",{value:t,configurable:!0}),"o$2");const le=wo((e,t,o,n=[])=>{if(!e)return[];if(typeof e=="string"){const r=ae(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",subKey:r,type:Be(r,n,s,t)}:le(s,t,o,[...n,r]))},"extractExportFilenames");var ko=Object.defineProperty,Le=d((e,t)=>ko(e,"name",{value:t,configurable:!0}),"d$4");const ge=Le((e,t,o,n,r,s,a)=>{const i=e.find(l=>l.input===t)??e[e.push({input:t})-1];if(o&&(i.outDir=n),r.file.includes(".min.")&&(i.minify=!0),r.isExecutable)i.executable=!0,i.declaration=!1,i.cjs=s.type==="commonjs",i.esm=s.type==="module";else{/\.d\.[mc]?ts$/.test(r.file)&&!a&&(i.declaration=a),r.type==="cjs"&&(i.cjs=!0),r.type==="esm"&&(i.esm=!0);for(const l of Jt)if(r.file.includes(l)){i.runtime=l;break}r.key==="exports"&&r.subKey==="production"?i.environment="production":r.key==="exports"&&r.subKey==="development"&&(i.environment="development")}},"createOrUpdateEntry"),he=/(?:\.d\.[mc]?ts|\.\w+)$/,xo=Le((e,t,o)=>{const n=[];t.sort((i,l)=>i.split("/").length-l.split("/").length);const r=le(e.exports,e.type??"commonjs",o.options.declaration);if(e.bin){const i=typeof e.bin=="string"?[e.bin]:Object.values(e.bin);for(const l of i)r.push({file:l,isExecutable:!0,key:"bin"})}e.main&&r.push({file:e.main,key:"main",type:ae(e.main)??(e.type==="module"?"esm":"cjs")}),e.module&&r.push({file:e.module,key:"module",type:"esm"}),o.options.declaration!==!1&&(e.types||e.typings)&&r.push({file:e.types??e.typings,key:"types"});const s=e.type==="module";for(const i of r.filter(l=>!l.type)){const l=i.file.endsWith(".js");s&&l||i.file.endsWith(".mjs")?i.type="esm":(!s&&l||i.file.endsWith(".cjs"))&&(i.type="cjs")}const a=[];for(const i of r){const l=i.file.replace(/(?:\*[^/\\]|\.d\.[mc]?ts|\.\w+)$/,""),c=l.endsWith("/");if(c&&["./","/"].includes(l))continue;const u=l.replace(new RegExp("(./)?"+o.options.outDir),o.options.sourceDir);if(i.file.includes("/*")&&i.key==="exports"){o.logger.debug("Private subfolders are not supported, if you need this feature please open an issue on GitHub.");const g=[],f=new RegExp("(?<=/|$)"+u.replace("*","(.*)")+(c?"":"\\.\\w+"));for(const y of t)f.test(y)&&g.push(y.replace(he,""));if(g.length===0){n.push(`Could not find entrypoints for \`${i.file}\``);continue}for(const y of g)ge(a,y,c,l,i,e,o.options.declaration);continue}const p=new RegExp("(?<=/|$)"+u+(c?"":"\\.\\w+")),m=t.find(g=>p.test(g))?.replace(he,"");if(!m){re(h(o.options.rootDir,i.file))||n.push(`Could not find entrypoint for \`${i.file}\``);continue}ge(a,m,c,l,i,e,o.options.declaration)}return{entries:a,warnings:n}},"inferEntries");var Oo=Object.defineProperty,Eo=d((e,t)=>Oo(e,"name",{value:t,configurable:!0}),"t$3");const Do=Eo((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 So=Object.defineProperty,No=d((e,t)=>So(e,"name",{value:t,configurable:!0}),"n$8");const Po={hooks:{"build:prepare":No(function(e){if(e.options.entries.length>0)return;const t=v(e.options.rootDir,"src");if(!re(t))throw new Error("No 'src' directory found. Please provide entries manually.");const o=kt(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=Do(n,e.options.declaration));const r=xo(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:",b(e.options.entries.map(s=>E(s.input.replace(`${e.options.rootDir}/`,"").replace(/\/$/,"/*"))).join(", ")),F([e.options.emitESM&&"esm",e.options.emitCJS&&"cjs",e.options.declaration&&"dts"].filter(Boolean).map(s=>`[${s}]`).join(" ")))},"build:prepare")}};var _o=Object.defineProperty,Mo=d((e,t)=>_o(e,"name",{value:t,configurable:!0}),"t$2");const Co=Mo((e,t)=>(e==="auto"?e=Po:typeof e=="string"&&(e=We(e,t)),typeof e=="function"&&(e=e()),e),"resolvePreset");var Fo=Object.defineProperty,Io=d((e,t)=>Fo(e,"name",{value:t,configurable:!0}),"a$a");const Y=Io((e,t)=>e.some(o=>o instanceof RegExp?o.test(t):o===t),"arrayIncludes");var Ro=Object.defineProperty,To=d((e,t)=>Ro(e,"name",{value:t,configurable:!0}),"a$9");const V=To(e=>e===void 0?[]:Array.isArray(e)?e:[e],"arrayify");var Ao=Object.defineProperty,Wo=d((e,t)=>Ao(e,"name",{value:t,configurable:!0}),"e$1");const Q=Wo((e="")=>{const t=e.split("/");return t[0][0]==="@"?`${t[0]}/${t[1]}`:t[0]},"getPackageName");var Jo=Object.defineProperty,ze=d((e,t)=>Jo(e,"name",{value:t,configurable:!0}),"s$a");const Bo=ze((e,t,o)=>{const n=o??new Map;return(...r)=>{const s=t?typeof t=="function"?t(...r):t:JSON.stringify({args:r}),a=n.get(s);if(a!==void 0)return a;const i=e(...r);return n.set(s,i),i}},"memoize"),Lo=ze(e=>{const t=new Map;return o=>Bo(e,o,t)},"memoizeByKey");var zo=Object.defineProperty,Uo=d((e,t)=>zo(e,"name",{value:t,configurable:!0}),"m$5");const Ue=Uo(({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 a=/(exports(?:\['default'\]|\.default)) = (.*);/i.exec(n);if(a===null||a.length<3)return null;const i=new S(n);i.replace("Object.defineProperty(exports, '__esModule', { value: true });",""),i.replaceAll(/exports\.(.*) = (.*);/g,"module.exports.$1 = $2;"),e&&i.append(`
|
|
17
|
+
module.exports.default = `+a[2]+";");let l=i.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:i.generateMap({hires:!0})}}if(s.format==="es"&&/\.d\.(?:ts|cts)$/.test(r.fileName)){if(o!=="commonjs"&&r.fileName.endsWith(".d.ts"))return null;const a=/export\s\{\s(.*)\s\}/i.exec(n);if(a===null||a.length<2)return null;const i=a[1].split(", "),l=[];let c="";for(const p of i)if(!p.includes("type"))if(p.includes("as")){const[m,g]=p.split(" as ");if(g==="default"&&(c=m,!e))continue;l.push(g+": typeof "+m+";")}else l.push(p+": typeof "+p+";");const u=new S(n);return u.replace(" "+c+" as default,",""),u.append(`
|
|
18
18
|
|
|
19
19
|
declare const defaultExport: {
|
|
20
20
|
`+(l.length>0?" ":"")+l.join(`
|
|
21
21
|
`)+`
|
|
22
22
|
} & typeof `+c+`;
|
|
23
23
|
|
|
24
|
-
export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+r.fileName+".",prefix:"plugin:cjs-interop"}),{code:u.toString(),map:u.generateMap({hires:!0})}}return null}}),"cjsInterop");var Ho=Object.defineProperty,qo=d((e,t)=>Ho(e,"name",{value:t,configurable:!0}),"f$7");const Vo=qo((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(a=>Array.isArray(a.src)?a.src.map(i=>({...a,src:i})):a).map(async a=>await Kt(a.src,{ignore:a.exclude}).then(i=>({dest:a.dest??"",parent:Yt(a.src),src:i}))));for(const a of s)for(const i of a.src){let l;o.has(i)?l=o.get(i):(l={copied:[],dest:[],timestamp:0},o.set(i,l));const c=n.flatten?ee(a.dest):v(a.dest,N(a.parent,oe(i)));l.dest.includes(c)||l.dest.push(c),this.addWatchFile(i)}t.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all([...o].map(async([a,i])=>{let l;try{const c=await
|
|
24
|
+
export default defaultExport;`),t.debug({message:"Applied CommonJS interop to entry chunk "+r.fileName+".",prefix:"plugin:cjs-interop"}),{code:u.toString(),map:u.generateMap({hires:!0})}}return null}}),"cjsInterop");var Ho=Object.defineProperty,qo=d((e,t)=>Ho(e,"name",{value:t,configurable:!0}),"f$7");const Vo=qo((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(a=>Array.isArray(a.src)?a.src.map(i=>({...a,src:i})):a).map(async a=>await Kt(a.src,{ignore:a.exclude}).then(i=>({dest:a.dest??"",parent:Yt(a.src),src:i}))));for(const a of s)for(const i of a.src){let l;o.has(i)?l=o.get(i):(l={copied:[],dest:[],timestamp:0},o.set(i,l));const c=n.flatten?ee(a.dest):v(a.dest,N(a.parent,oe(i)));l.dest.includes(c)||l.dest.push(c),this.addWatchFile(i)}t.info({message:"Copying files...",prefix:"plugin:copy"}),await Promise.all([...o].map(async([a,i])=>{let l;try{const c=await De(a);if(!c.isFile())return;const u=c.mtime.getTime();u>i.timestamp&&(i.timestamp=u,i.copied=[]),l=await Z(a,{buffer:!0})}catch(c){t.error({context:[c],message:`error reading file ${a}`,prefix:"plugin:copy"});return}for(const c of i.dest){if(n.copyOnce&&i.copied.includes(c))continue;const u=H(a),p=v(c,u);try{this.emitFile({[n.exactFileNames?"fileName":"name"]:p,source:l,type:"asset"}),t.debug({message:`copied ${a} → ${p}`,prefix:"plugin:copy"}),i.copied.push(c)}catch(m){t.error({context:[m],message:`error copying file ${a} → ${p}`,prefix:"plugin:copy"})}}}))},name:"packem:copy"}},"copyPlugin");var Go=Object.defineProperty,Xo=d((e,t)=>Go(e,"name",{value:t,configurable:!0}),"n$4");const ye="export default ",He=Xo(e=>{const t=Qt(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(ye)&&(r.code=r.code.replace(ye,"module.exports = ")),r}}},"JSONPlugin");class Ko{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,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 Yo extends Ko{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(n=>this.replacement=n,"replace")},this.enter=t,this.leave=o}visit(t,o,n,r){if(t){if(this.enter){const a=this.should_skip,i=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,u=this.should_remove;if(this.should_skip=a,this.should_remove=i,this.replacement=l,c)return t;if(u)return null}let s;for(s in t){const a=t[s];if(a&&typeof a=="object")if(Array.isArray(a)){const i=a;for(let l=0;l<i.length;l+=1){const c=i[l];ve(c)&&(this.visit(c,t,s,l)||l--)}}else ve(a)&&this.visit(a,t,s,null)}if(this.leave){const a=this.replacement,i=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=a,this.should_remove=i,l)return null}}return t}}function ve(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"}d(ve,"isNode");function qe(e,{enter:t,leave:o}){return new Yo(t,o).visit(e,null)}d(qe,"walk");var Qo=Object.defineProperty,Zo=d((e,t)=>Qo(e,"name",{value:t,configurable:!0}),"u$5");const er=Zo(({attributes:e,logger:t})=>{const o=ne([/\.[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 a=!1;const i=new S(n);return qe(s,{enter(l){if(l.type==="CallExpression"&&l.callee.type==="Identifier"&&l.callee.name==="jsx"){const c=l.arguments.filter(u=>u.type==="ObjectExpression"&&Array.isArray(u.properties));for(const u of c)for(const p of u.properties)p.type==="Property"&&p.key.type==="Literal"&&p.value.type==="Literal"&&e.includes(p.key.value)&&(i.overwrite(p.start-2,p.end,""),a=!0)}}}),a?{code:i.toString(),map:i.generateMap({hires:!0})}:null}}},"jsxRemoveAttributes");var tr=Object.defineProperty,ce=d((e,t)=>tr(e,"name",{value:t,configurable:!0}),"p$1");const or=ce(e=>{const t=[],o=[];return e.forEach(n=>{n.startsWith("(")?t.push(n):o.push(n)}),[...o.sort(),...t.sort()]},"sortLicenses"),rr=ce((e,t,o)=>{const n=new RegExp(`(<!-- ${t} -->)[\\s\\S]*?(<!-- ${t} -->)`,"g");if(n.test(e))return e.replace(n,`$1
|
|
25
25
|
${o}
|
|
26
26
|
$2`)},"replaceContentWithin"),Ve=ce(({licenseFilePath:e,licenseTemplate:t,logger:o,marker:n,mode:r,packageName:s})=>Zt({thirdParty(a){const i=new Set,l=a.sort(({name:u},{name:p})=>u>p?1:p>u?-1:0).map(({author:u,contributors:p,license:m,licenseText:g,maintainers:f,name:y,repository:k})=>{let P="## "+y+`
|
|
27
27
|
`;m&&(P+=`License: ${m}
|
|
@@ -35,10 +35,10 @@ $2`)},"replaceContentWithin"),Ve=ce(({licenseFilePath:e,licenseTemplate:t,logger
|
|
|
35
35
|
`),m&&i.add(m),P}).join(`
|
|
36
36
|
---------------------------------------
|
|
37
37
|
|
|
38
|
-
`);if(l===""){o.info({message:"No dependencies license information found.",prefix:"plugin:license:"+r});return}const c=t(or(i),l,s);try{const u=
|
|
38
|
+
`);if(l===""){o.info({message:"No dependencies license information found.",prefix:"plugin:license:"+r});return}const c=t(or(i),l,s);try{const u=Se(e),p=rr(u,n,c);if(!p){o.error({message:`Could not find the license marker: <!-- ${n} --> in ${e}`,prefix:"plugin:license:"+r});return}u!==p&&(Ne(e,p),o.info({message:`${e} updated.`,prefix:"plugin:license:"+r}))}catch(u){o.error(u)}}}),"license");var nr=Object.defineProperty,sr=d((e,t)=>nr(e,"name",{value:t,configurable:!0}),"i$7");const ir=sr(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");xt(o,t)},name:"packem:metafile"}),"metafilePlugin");var ar=Object.defineProperty,lr=d((e,t)=>ar(e,"name",{value:t,configurable:!0}),"r$5");const C=lr(e=>{const t=eo("md5");return t.update(e),t.digest("hex")},"getHash");var cr=Object.defineProperty,Ge=d((e,t)=>cr(e,"name",{value:t,configurable:!0}),"m$4");const A=Ge(e=>e.handler||e,"getHandler"),w=Ge((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=v("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=v("resolveId",C(o),n?C(n):"",C(JSON.stringify(r)));if(t.has(s,e.name))return await t.get(s,e.name);const a=await A(e.resolveId).call(this,o,n,r);return t.set(s,a,e.name),a},async transform(o,n){if(!e.transform)return null;const r=v("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 pr=Object.defineProperty,ur=d((e,t)=>pr(e,"name",{value:t,configurable:!0}),"c$4");const mr=/\.(?:m|c)?(?:j|t)sx?$/,dr=/^use \w+$/,fr=ur(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 a=r.moduleIds.map(c=>t[c]?t[c]:null).reduce((c,u)=>(u&&u.forEach(p=>{c.add(p)}),c),new Set),i=new S(n);a.size>0&&(e.debug({message:`directives for chunk "${r.fileName}" are preserved.`,prefix:"plugin:preserve-directives"}),i.prepend(`${[...a].map(c=>`'${c}';`).join(`
|
|
39
39
|
`)}
|
|
40
40
|
`));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"}),i.prepend(`${l}
|
|
41
|
-
`)),a.size===0&&l===null?null:{code:i.toString(),map:s?i.generateMap({hires:!0}):null}},order:"post"},transform:{handler(n,r){const s=te(r);if(!mr.test(s))return null;let a=!1;const i=new
|
|
41
|
+
`)),a.size===0&&l===null?null:{code:i.toString(),map:s?i.generateMap({hires:!0}):null}},order:"post"},transform:{handler(n,r){const s=te(r);if(!mr.test(s))return null;let a=!1;const i=new S(n);if(n.startsWith("#")&&n[1]==="!"){let c=0;for(let u=2,p=n.length;u<p;u++){const m=n.codePointAt(u);if(m===10||m===13||m===8232||m===8233){c=u;break}}c&&(o[r]=n.slice(0,c),i.remove(0,c+1),a=!0,e.debug({message:`shebang for module "${r}" is preserved.`,prefix:"plugin:preserve-directives"}))}let l=null;try{l=this.parse(i.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 u=null;"directive"in c?u=c.directive:c.expression.type==="Literal"&&typeof c.expression.value=="string"&&dr.test(c.expression.value)&&(u=c.expression.value),u!=="use strict"&&u&&(t[r]||=new Set,t[r].add(u),"start"in c&&typeof c.start=="number"&&"end"in c&&typeof c.end=="number"&&(i.remove(c.start,c.end),a=!0),e.debug({message:`directive "${u}" for module "${r}" is preserved.`,prefix:"plugin:preserve-directives"}))}return a?{code:i.toString(),map:i.generateMap({hires:!0}),meta:{preserveDirectives:{directives:[...t[r]??[]],shebang:o[r]??null}}}:null},order:"post"}}},"preserveDirectives");var gr=Object.defineProperty,hr=d((e,t)=>gr(e,"name",{value:t,configurable:!0}),"r$4");const yr={exclude:[],include:[/\.(md|txt|css|htm|html)$/]},vr=hr((e={})=>{e={...e,...yr};const t=ne(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 br=Object.defineProperty,$r=d((e,t)=>br(e,"name",{value:t,configurable:!0}),"l$2");const G="\0__file_url__",Xe=$r(()=>({async load(e){if(e.startsWith(G)){const t=Lt(e.slice(G.length));return await Z(t)}},name:"packem:resolve-file-url",resolveId(e){if(e.startsWith("file://"))return`${G}${e}`}}),"resolveFileUrl");var jr=Object.defineProperty,Ke=d((e,t)=>jr(e,"name",{value:t,configurable:!0}),"i$3");const wr=/__filename|__dirname|require\(|require\.resolve\(/,Ye=`
|
|
42
42
|
// -- pack CommonJS Shims --
|
|
43
43
|
import __cjs_url__ from "node:url";
|
|
44
44
|
import __cjs_path__ from "node:path";
|
|
@@ -52,22 +52,22 @@ import __cjs_mod__ from "node:module";
|
|
|
52
52
|
const __filename = import.meta.filename;
|
|
53
53
|
const __dirname = import.meta.dirname;
|
|
54
54
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
55
|
-
`,kr=Ke((e,t)=>{if(W.INTERNAL_PACKEM_BUILD!=="1"&&(e.includes(Ye)||e.includes(Qe)||!wr.test(e)))return null;const o=Me(e).pop(),n=o?o.end:0,r=new
|
|
55
|
+
`,kr=Ke((e,t)=>{if(W.INTERNAL_PACKEM_BUILD!=="1"&&(e.includes(Ye)||e.includes(Qe)||!wr.test(e)))return null;const o=Me(e).pop(),n=o?o.end:0,r=new S(e);return r.appendRight(n,t),{code:r.toString(),map:r.generateMap()}},"CJSToESM"),xr=Ke(e=>({name:"packem:cjs",renderChunk(t,o,n){if(n.format==="es"){let r=Ye;if(e.engines?.node){const s=Ae(e.engines.node);s&&s.major>=20&&s.minor>=11&&(r=Qe)}return kr(t,r)}return null}}),"cjsPlugin");var Or=Object.defineProperty,R=d((e,t)=>Or(e,"name",{value:t,configurable:!0}),"s$6");const Er=/\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g,Dr=/MIT License|MIT license|BSD license/,Sr=/\n{2,}/g,Nr=/\b(\w+)\$\d+\b/g,Pr=/[-/\\^$*+?.()|[\]{}]/g,_r=R(e=>e.replaceAll(Pr,"\\$&"),"escapeRegex"),Mr=R(e=>[...new Set(e)],"unique"),Cr=R(e=>e.replaceAll(Er,t=>Dr.test(t)?"":t).replaceAll(Sr,`
|
|
56
56
|
|
|
57
57
|
`),"cleanUnnecessaryComments"),be=new Map;function Ze(e,t,{identifierReplacements:o},n){const r=Me(e);for(const a in o){const i=r.find(c=>c.specifier===a&&c.imports.includes("{"));if(!i){this.warn(`${t.fileName} does not import "${a}" for replacement`),process.exitCode=1;continue}const l=o[a];for(const c in l){i.imports.includes(c)||(this.warn(`${t.fileName} does not import "${c}" from "${a}" for replacement`),I(1));const u=l[c],p=_r(c);u.includes(".")&&(e=e.replace(new RegExp(`\\b\\w+\\b as ${p},?\\s?`),"")),e=e.replaceAll(new RegExp(`\\b${p}\\b`,"g"),u)}}const s=Mr(Array.from(e.matchAll(Nr),a=>a[0]));if(s.length>0){const a=s.map(l=>`
|
|
58
58
|
- ${l}`).join(""),i=t.fileName.replace(/\.[^/.]+$/,"");be.has(i)||n.warn({message:`${t.fileName} contains confusing identifier names${a}
|
|
59
59
|
|
|
60
|
-
To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),be.set(i,!0)}return e}d(Ze,"v$1");R(Ze,"replaceConfusingTypeNames");function et(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(et,"N");R(et,"removeInternal");function tt(e,t){if(e.includes("@internal")){const o=new
|
|
60
|
+
To replace these, add them to the "rollup -> patchTypes -> identifierReplacements" option in your packem config.`,prefix:"plugin:patch-types"}),be.set(i,!0)}return e}d(Ze,"v$1");R(Ze,"replaceConfusingTypeNames");function et(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(et,"N");R(et,"removeInternal");function tt(e,t){if(e.includes("@internal")){const o=new S(e),n=to(e,{plugins:["typescript"],sourceType:"module"});qe(n,{enter(r){et(o,r)&&this.skip()}}),e=o.toString(),e.includes("@internal")&&(this.warn(`${t.fileName} has unhandled @internal declarations`),I(1))}return e}d(tt,"S");R(tt,"stripInternalTypes");const Fr=R((e,t)=>({name:"packem:patch-types",renderChunk(o,n){return o=Ze.call(this,o,n,e,t),o=tt.call(this,o,n),o=Cr(o),o},resolveId(o){return o.startsWith("types/")?{external:!0,id:"../../"+(o.endsWith(".js")?o:o+".js")}:null}}),"patchTypescriptTypes");var Ir=Object.defineProperty,ot=d((e,t)=>Ir(e,"name",{value:t,configurable:!0}),"u$3");const rt=ot((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 a=h(oe(n),r),i=[];if(s)for(const[l,c]of Object.entries(s)){const u=new RegExp(`^${[...l].map(m=>m==="*"?"(.+)":m.replace(/[\\^$*+?.()|[\]{}]/,"\\$&")).join("")}$`);let p=0;for(const m of c){const g=[...fe(h(a,m))].map(f=>f==="*"?`$${++p}`:f==="$"?"$$":f).join("");i.push({find:u,replacement:g})}}return t&&i.push({find:/^(?!\.*\/|\.*$|\w:)(.+)$/,replacement:`${[...fe(a)].map(l=>l==="$"?"$$":l).join("")}/$1`}),i},"getConfigAlias"),nt=ot((e,t)=>{const o=rt(e);return{name:"packem:resolve-tsconfig-paths",async resolveId(n,r,s){if(!o||n.includes("\0"))return null;for(const{find:a,replacement:i}of o)if(a.test(n)){const l=n.replace(a,i),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 Rr=Object.defineProperty,st=d((e,t)=>Rr(e,"name",{value:t,configurable:!0}),"u$2");const Tr=st((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 a of r){if(a.startsWith("."))throw new Error(`Invalid rootDir value '.' in ${n}.`);if(a.startsWith(".."))throw new Error(`Invalid rootDir value '..' in ${n}.`);s.push(h(e,a))}return s},"getRootDirectories"),it=st((e,t,o)=>{const n=Tr(e,o);return{name:"packem:resolve-tsconfig-root-dirs",async resolveId(r,s,a){if(n===null||n.length===0)return null;if(r.startsWith("."))for(const i of n){const l=v(i,r),c=await this.resolve(l,s,{skipSelf:!0,...a});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 Ar=Object.defineProperty,Wr=d((e,t)=>Ar(e,"name",{value:t,configurable:!0}),"r$3");const at=Wr(()=>{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 Jr=Object.defineProperty,Br=d((e,t)=>Jr(e,"name",{value:t,configurable:!0}),"s$5");const Lr=Br(e=>{const t=H(e).split(".");if(t.length>=2){const[o,n]=t.slice(-2),r=t[0],s=/^(\w+)-runtime$/.exec(o)?.[1];if(T.includes(n)&&s&&s.length>0)return r+"-"+s}},"getCustomModuleLayer");var zr=Object.defineProperty,Ur=d((e,t)=>zr(e,"name",{value:t,configurable:!0}),"i$2");const X=Ur(e=>(e.preserveDirectives||{directives:[]}).directives.map(t=>t.replace(/^use /,"")).find(t=>t!=="strict"),"getModuleLayer");var Hr=Object.defineProperty,$e=d((e,t)=>Hr(e,"name",{value:t,configurable:!0}),"c$2");const je=$e((e,t)=>{const o=new Map;return $e(function(n,r){const s=r.getModuleInfo(n);if(!s)return;const{isEntry:a}=s,i=s.meta,l=X(i);if(!a){const c=o.get(n);if(c)return c;const u=Lr(n);if(u)return o.set(n,u),u}if(a){const c=r.getModuleIds();for(const u of c)r.getModuleInfo(u)&&X(i)===l&&(e.has(u)||e.set(u,new Set),e.get(u).add([n,l]))}if(l&&!a&&e.has(n)){const c=[...e.get(n)];if(c.some(([p])=>{if(t.some(m=>m.path===p)){const m=r.getModuleInfo(p);return X(m?m.meta:{})===l}return!1}))return;if(c.every(([,p])=>p===l))return o.has(n)?o.get(n):void 0;const u=`${H(n,te(n))}-${l}`;return o.set(n,u),u}},"splitChunks")},"createSplitChunks");var qr=Object.defineProperty,Vr=d((e,t)=>qr(e,"name",{value:t,configurable:!0}),"n$2");const D=Vr((e,t,o)=>t.isDynamicEntry?`chunks/[name].${o}`:`shared/${e.options.name}.[hash].${o}`,"getChunkFilename");var Gr=Object.defineProperty,Xr=d((e,t)=>Gr(e,"name",{value:t,configurable:!0}),"s$3");const Kr=process.platform==="win32",we=Xr((e,t)=>{const o=Kr?"\\":"/";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 Yr=Object.defineProperty,$=d((e,t)=>Yr(e,"name",{value:t,configurable:!0}),"p");const Qr=$((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"+bt.node.split(".")[0];if(t.pkg.engines?.node){const n=Ae(t.pkg.engines.node);n&&(o="node"+n.major)}if(t.options.rollup.esbuild.target){const n=V(t.options.rollup.esbuild.target);n.some(r=>r.startsWith("node"))||(t.options.rollup.esbuild.target=[...new Set([...V(o),...n])])}else t.options.rollup.esbuild.target=V(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"),lt=$((e,t)=>e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message)?!0:e.code==="UNRESOLVED_IMPORT"?(t.logger.error(`Failed to resolve the module "${e.exporter}" imported by "${b(N(h(),e.id))}"
|
|
61
61
|
Is the module installed? Note:
|
|
62
62
|
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
63
63
|
↳ to depend on a module via import/require, install it to "dependencies".`),process.exitCode=1,!0):e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0,"sharedOnWarn"),ke=new Map,ct=$((e,t,o)=>{const n=$(s=>{for(const[a,i]of Object.entries(t))if(s.startsWith(a))return s.replace(a,i)},"findAlias"),r=rt(e.tsconfig,!1);return{external(s){const a=n(s);a&&(s=a);const i=Q(s),l=Y(e.options.externals,i)||Y(e.options.externals,s);if(l)return!0;if(s.startsWith(".")||_e(s)||/src[/\\]/.test(s)||e.pkg.name&&s.startsWith(e.pkg.name))return!1;if(r){for(const{find:c}of r)if(c.test(s))return e.logger.debug({message:`Resolved alias ${s} to ${c.source}`,prefix:o}),!1}return!l&&!ke.has(s)&&e.logger.info({message:'Inlined implicit external "'+b(s)+'". If this is incorrect, add it to the "externals" option.',prefix:o}),ke.set(s,!0),l},input:Object.fromEntries(e.options.entries.map(s=>[s.name,h(e.options.rootDir,s.input)])),onLog:$((s,a)=>{let i=a.message;switch(a.stack&&(i=`${i}
|
|
64
|
-
${a.stack}`),s){case"info":{e.logger.info({message:i,prefix:o+(a.plugin?":plugin:"+a.plugin:"")});return}case"warn":{e.logger.warn({message:i,prefix:o+(a.plugin?":plugin:"+a.plugin:"")});return}case"debug":e.logger.debug({message:i,prefix:o+(a.plugin?":plugin:"+a.plugin:"")})}},"onLog"),onwarn(s,a){lt(s,e)||s.code||a(s)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),pt=$(async(e,t)=>{const o=ie(e,"build");let n;return e.options.rollup.resolve&&(n=w(Re({extensions:T,...e.options.rollup.resolve}),t)),{...ct(e,o,"dependencies"),output:[e.options.emitCJS&&{chunkFileNames:$(r=>
|
|
65
|
-
└─ ${N(process.cwd(),a)}`);if(e.logger.info(s),xe(n,"bundle",e.logger),e.options.declaration){const a=await ut(e,t);await e.hooks.callHook("rollup:dts:options",e,a);const i=de(a);await e.hooks.callHook("rollup:watch",e,i),xe(i,"types",e.logger)}},"watch");var cn=Object.defineProperty,pn=d((e,t)=>cn(e,"name",{value:t,configurable:!0}),"i$1");const dt=pn(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var un=Object.defineProperty,mn=d((e,t)=>un(e,"name",{value:t,configurable:!0}),"a$2");let dn=class{static{d(this,"g")}static{mn(this,"FileCache")}#r;#e;#n;#t=!0;#o=new Map;constructor(t,o,n){this.#r=t,this.#e=Pt("visulima-packem",{cwd:t}),this.#n=o,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:J(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(!J(n))return;const r=
|
|
64
|
+
${a.stack}`),s){case"info":{e.logger.info({message:i,prefix:o+(a.plugin?":plugin:"+a.plugin:"")});return}case"warn":{e.logger.warn({message:i,prefix:o+(a.plugin?":plugin:"+a.plugin:"")});return}case"debug":e.logger.debug({message:i,prefix:o+(a.plugin?":plugin:"+a.plugin:"")})}},"onLog"),onwarn(s,a){lt(s,e)||s.code||a(s)},watch:e.mode==="watch"?e.options.rollup.watch:!1}},"baseRollupOptions"),pt=$(async(e,t)=>{const o=ie(e,"build");let n;return e.options.rollup.resolve&&(n=w(Re({extensions:T,...e.options.rollup.resolve}),t)),{...ct(e,o,"dependencies"),output:[e.options.emitCJS&&{chunkFileNames:$(r=>D(e,r,"cjs"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:$(r=>we(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:je(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}},e.options.emitESM&&{chunkFileNames:$(r=>D(e,r,"mjs"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:$(r=>we(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:je(e.dependencyGraphMap,e.buildEntries),preserveModules:!1}}].filter(Boolean),plugins:[w(Xe(),t),w(at(),t),e.tsconfig&&w(it(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&w(nt(e.tsconfig,e.logger),t),e.options.rollup.replace&&Te({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Ie({customResolver:n?.resolveId,...e.options.rollup.alias,entries:o}),n,e.options.rollup.polyfillNode&&Gt({sourceMap:e.options.sourcemap,...e.options.rollup.polyfillNode}),e.options.rollup.json&&He({...e.options.rollup.json}),fr(e.logger),no(e.options.entries.filter(r=>r.executable).map(r=>r.name).filter(Boolean)),e.options.rollup.wsam&&Vt(e.options.rollup.wsam),e.options.transformer?.(Qr(e.options.transformerName,e)),e.options.cjsInterop&&e.options.emitCJS&&Ue({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.dynamicVars&&qt(e.options.rollup.dynamicVars),e.options.rollup.commonjs&&w(Ht({extensions:T,sourceMap:e.options.sourcemap,...e.options.rollup.commonjs}),t),e.options.rollup.preserveDynamicImports&&{renderDynamicImport(){return{left:"import(",right:")"}}},e.options.rollup.shim&&xr(e.pkg),e.options.rollup.raw&&vr(e.options.rollup.raw),e.options.rollup.jsxRemoveAttributes&&er({attributes:e.options.rollup.jsxRemoveAttributes.attributes,logger:e.logger}),e.options.rollup.metafile&&ir({outDir:h(e.options.rootDir,e.options.outDir),rootDir:e.options.rootDir}),e.options.rollup.copy&&Vo(e.options.rollup.copy,e.logger),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dependenciesTemplate=="function"&&Ve({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&&Xt({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"),Zr=$(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=Lo(Zr),ut=$(async(e,t)=>{const o=ie(e,"types"),n={load(i){return/\.(?:js|cjs|mjs|jsx|ts|tsx|mts|json)$/.test(i)?null:""},name:"packem:ignore-files"},r=e.tsconfig?.config.compilerOptions;delete r?.lib;let s;e.options.rollup.resolve&&(s=w(Re({extensions:T,...e.options.rollup.resolve}),t));const a="dts-plugin:"+process.pid+e.tsconfig.path;return{...ct(e,o,"dts"),onwarn(i,l){lt(i,e)||i.code!=="EMPTY_BUNDLE"&&l(i)},output:[e.options.emitCJS&&{chunkFileNames:$(i=>D(e,i,"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},{chunkFileNames:$(i=>D(e,i,"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:$(i=>D(e,i,"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:[w(Xe(),t),w(at(),t),e.options.rollup.json&&He({...e.options.rollup.json}),n,e.tsconfig&&w(it(e.options.rootDir,e.logger,e.tsconfig),t),e.tsconfig&&w(nt(e.tsconfig,e.logger),t),e.options.rollup.replace&&Te({...e.options.rollup.replace,values:{...e.options.replace,...e.options.rollup.replace.values}}),e.options.rollup.alias&&Ie({customResolver:s?.resolveId,...e.options.rollup.alias,entries:o}),s,await en(a)(e),e.options.cjsInterop&&e.options.emitCJS&&Ue({...e.options.rollup.cjsInterop,logger:e.logger,type:e.pkg.type??"commonjs"}),e.options.rollup.patchTypes&&Fr(e.options.rollup.patchTypes,e.logger),so(),e.options.rollup.license&&e.options.rollup.license.path&&typeof e.options.rollup.license.dtsTemplate=="function"&&Ve({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 tn=Object.defineProperty,on=d((e,t)=>tn(e,"name",{value:t,configurable:!0}),"c$1");const rn=on(async(e,t)=>{const o=await pt(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 Fe(o);t.set(n,r.cache),await e.hooks.callHook("rollup:build",e,r);const s=o.output,a=new Map;for(const i of s){const{output:l}=await r.write(i),c=new Set,u=l.filter(m=>m.type==="chunk");for(const m of u){c.add(m.fileName);for(const g of m.imports)e.usedImports.add(g);m.isEntry&&e.buildEntries.push({bytes:Buffer.byteLength(m.code,"utf8"),chunks:m.imports.filter(g=>u.find(f=>f.fileName===g)),exports:m.exports,modules:Object.entries(m.modules).map(([g,f])=>({bytes:f.renderedLength,id:g})),path:m.fileName,type:"entry"})}const p=l.filter(m=>m.type==="asset");for(const m of p)a.has(m.fileName)||a.set(m.fileName,{bytes:Buffer.byteLength(m.source,"utf8"),path:m.fileName,type:"asset"});for(const m of c)e.usedImports.delete(m)}e.buildEntries.push(...a.values())},"build");var nn=Object.defineProperty,z=d((e,t)=>nn(e,"name",{value:t,configurable:!0}),"r$1");const sn=z(async(e,t)=>{const o=await ut(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 Fe(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:z(s=>D(e,s,"d.cts"),"chunkFileNames"),dir:h(e.options.rootDir,e.options.outDir),entryFileNames:"[name].d.cts"}),e.options.emitESM&&await r.write({chunkFileNames:z(s=>D(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:z(s=>D(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 an=Object.defineProperty,mt=d((e,t)=>an(e,"name",{value:t,configurable:!0}),"e");const xe=mt((e,t,o)=>{const n="watcher:"+t;e.on("change",(r,{event:s})=>{o.info({message:`${b(N(".",r))} was ${s}d`,prefix:n})}),e.on("restart",()=>{o.info({message:"Rebuilding "+t+"...",prefix:n})}),e.on("event",r=>{r.code==="END"&&o.success({message:"Rebuild "+t+" finished",prefix:n}),r.code==="ERROR"&&o.error({context:[r.error],message:"Rebuild "+t+" failed: "+r.error.message,prefix:n})})},"watchHandler"),ln=mt(async(e,t)=>{const o=await pt(e,t);if(await e.hooks.callHook("rollup:options",e,o),Object.keys(o.input).length===0)return;o.cache=t.get("rollup-watch");const n=de(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 a of r)s+=F(`
|
|
65
|
+
└─ ${N(process.cwd(),a)}`);if(e.logger.info(s),xe(n,"bundle",e.logger),e.options.declaration){const a=await ut(e,t);await e.hooks.callHook("rollup:dts:options",e,a);const i=de(a);await e.hooks.callHook("rollup:watch",e,i),xe(i,"types",e.logger)}},"watch");var cn=Object.defineProperty,pn=d((e,t)=>cn(e,"name",{value:t,configurable:!0}),"i$1");const dt=pn(e=>`{ ${Object.keys(e).map(t=>`${t}: ${JSON.stringify(e[t])}`).join(", ")} }`,"dumpObject");var un=Object.defineProperty,mn=d((e,t)=>un(e,"name",{value:t,configurable:!0}),"a$2");let dn=class{static{d(this,"g")}static{mn(this,"FileCache")}#r;#e;#n;#t=!0;#o=new Map;constructor(t,o,n){this.#r=t,this.#e=Pt("visulima-packem",{cwd:t}),this.#n=o,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:J(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(!J(n))return;const r=Se(n),s=JSON.parse(r);return this.#o.set(n,s),s}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)),Ne(r,o,{overwrite:!0})}getFilePath(t,o){let n=t.replaceAll(ue(this.#r),"");return n=n.replaceAll(":","-"),v(this.#e,this.#n,o?.replaceAll(":","-")??"",ue(n))}};var fn=Object.defineProperty,U=d((e,t)=>fn(e,"name",{value:t,configurable:!0}),"l$1");const gn=ne,hn=U((e,t)=>{const{sideEffects:o}=t;let n;if(typeof o=="boolean")n=U(()=>o,"hasSideEffects");else if(Array.isArray(o))if(o.length<=0)n=U(()=>!1,"hasSideEffects");else{const r=o.map(s=>s.includes("/")?s:`**/${s}`);n=gn(r,null,{resolve:e})}else n=U(()=>null,"hasSideEffects");return n},"getPackageSideEffect");var yn=Object.defineProperty,vn=d((e,t)=>yn(e,"name",{value:t,configurable:!0}),"o");const bn=vn(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)!Y(e.options.externals,r)&&!r.startsWith("chunks/")&&!e.options.dependencies.includes(Q(r))&&!e.options.peerDependencies.includes(Q(r))&&n.add(r);o.size>0&&B(e,`Potential unused dependencies found: ${[...o].map(r=>b(r)).join(", ")}`),n.size>0&&B(e,`Potential implicit dependencies found: ${[...n].map(r=>b(r)).join(", ")}`)},"validateDependencies");var $n=Object.defineProperty,ft=d((e,t)=>$n(e,"name",{value:t,configurable:!0}),"i");const jn=ft((e,t)=>oo(e,t)<=e.length/3||t.includes(e),"isSimilar"),wn=ft((e,t)=>{const o=e.toLowerCase();return t.filter(n=>jn(n.toLowerCase(),o))},"findAlternatives");var kn=Object.defineProperty,Oe=d((e,t)=>kn(e,"name",{value:t,configurable:!0}),"n");const xn=Oe((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:"",...le(e.exports,e.type??"commonjs",t.options.declaration).map(r=>r.file)].map(r=>r&&h(t.rootDir,r.replace(/\/[^*/]*\*[^\n\r/\u2028\u2029]*(?:[\n\r\u2028\u2029][^*/]*\*[^\n\r/\u2028\u2029]*)*(?:\/.*)?$/,"")))),n=[];for(const r of o)r&&!r.includes("*")&&!re(r)&&n.push(r.replace(`${t.rootDir}/`,""));if(n.length>0){const r=Oe(i=>N(t.rootDir,h(t.options.outDir,i)),"rPath"),s=t.buildEntries.filter(i=>!i.chunk).map(i=>r(i.path));let a="Potential missing or wrong package.json files:";for(const i of n){const l=wn(i,s);a+=`
|
|
66
66
|
- `+b(i)+(l.length>0?jt` (did you mean ${l.map(c=>`"${c}"`).join(", ")}?)`:"")}B(t,a)}},"validatePackage");var On=Object.defineProperty,j=d((e,t)=>On(e,"name",{value:t,configurable:!0}),"f");const Ee=j((e,t)=>{e.warnings.size>0&&(t&&e.logger.raw(`
|
|
67
67
|
`),e.logger.warn(`Build is done with some warnings:
|
|
68
68
|
|
|
69
69
|
${[...e.warnings].map(o=>`- ${o}`).join(`
|
|
70
|
-
`)}`),e.options.failOnWarn&&(e.logger.error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`."),I(1)))},"logErrors"),En=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"),
|
|
70
|
+
`)}`),e.options.failOnWarn&&(e.logger.error("Exiting with code (1). You can change this behavior by setting `failOnWarn: false`."),I(1)))},"logErrors"),En=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"),Dn=j((e,t,o,n,r,s,a,i)=>{const l=En(i?.config.compilerOptions?.jsx),c=At(r,n,s,{alias:{},clean:!0,declaration:!0,dependencies:[],devDependencies:[],emitCJS:!0,emitESM:!0,entries:[],externals:[...pe.builtinModules,...pe.builtinModules.map(u=>`node:${u}`)],failOnWarn:!0,fileCache:!0,minify:W.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:i?.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:l,jsxDev:i?.config.compilerOptions?.jsx==="react-jsxdev",jsxFactory:i?.config.compilerOptions?.jsxFactory,jsxFragment:i?.config.compilerOptions?.jsxFragmentFactory,jsxImportSource:i?.config.compilerOptions?.jsxImportSource,jsxSideEffects:!0,keepNames:!0,minifyWhitespace:W.NODE_ENV==="production",sourcesContent:!1,target:i?.config.compilerOptions?.target,treeShaking:!0,tsconfigRaw:i?.config},json:{preferConst:!0},license:{dependenciesTemplate:j((u,p,m)=>`
|
|
71
71
|
# Licenses of bundled dependencies
|
|
72
72
|
The published ${m} artifact additionally contains code with the following licenses:
|
|
73
73
|
${u.join(", ")}
|
|
@@ -81,7 +81,7 @@ ${u.join(", ")}
|
|
|
81
81
|
# Bundled types:
|
|
82
82
|
`+p,"dtsTemplate")},patchTypes:{},polyfillNode:{},preserveDynamicImports:!0,raw:{exclude:me,include:["**/*.data","**/*.txt"]},replace:{objectGuards:!0,preventAssignment:!0},resolve:{allowExportsFolderMapping:!1,preferBuiltins:!1},shim:!0,sucrase:{disableESTransforms:!0,enableLegacyBabel5ModuleInterop:!1,enableLegacyTypeScriptModuleInterop:i?.config.compilerOptions?.esModuleInterop===!1,include:/\.[jt]sx?$/,injectCreateRequireForImportRequire:!1,preserveDynamicImport:!0,production:W.NODE_ENV==="production",...i?.config.compilerOptions?.jsx&&["react","react-jsx","react-jsxdev"].includes(i.config.compilerOptions.jsx)?{jsxFragmentPragma:i.config.compilerOptions.jsxFragmentFactory,jsxImportSource:i.config.compilerOptions.jsxImportSource,jsxPragma:i.config.compilerOptions.jsxFactory,jsxRuntime:l,transforms:["typescript","jsx",...i.config.compilerOptions.esModuleInterop?["imports"]:[]]}:{transforms:["typescript",...i?.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:i?.config.compilerOptions?.experimentalDecorators,syntax:i?"typescript":"ecmascript",[i?"tsx":"jsx"]:!0},target:i?.config.compilerOptions?.target?.toLowerCase(),transform:{decoratorMetadata:i?.config.compilerOptions?.emitDecoratorMetadata,legacyDecorator:i?.config.compilerOptions?.experimentalDecorators,react:{development:W.NODE_ENV!=="production",pragma:i?.config.compilerOptions?.jsxFactory,pragmaFrag:i?.config.compilerOptions?.jsxFragmentFactory,runtime:l,throwIfNamespace:!0},treatConstEnumAsEnum:i?.config.compilerOptions?.preserveConstEnums,useDefineForClassFields:i?.config.compilerOptions?.useDefineForClassFields}},module:{ignoreDynamic:!0,importInterop:"none",preserveImportMeta:!0,strict:!1,strictMode:!1,type:"es6"}},treeshake:{moduleSideEffects:hn(t,a),preset:"recommended"},watch:{clearScreen:!0,exclude:me}},rootDir:t,sourceDir:"src",sourcemap:!1,stub:o==="jit",stubOptions:{jiti:{alias:{},esmResolve:!0,interopDefault:!0}},transformerName:void 0});if(!c.transformerName){const u=new Set([...Object.keys(a.dependencies??{}),...Object.keys(a.devDependencies??{})]);if(u.has("esbuild"))c.transformerName="esbuild";else if(u.has("@swc/core"))c.transformerName="swc";else if(u.has("sucrase"))c.transformerName="sucrase";else throw new Error("Unknown transformer, check your transformer options or install one of the supported transformers: esbuild, swc, sucrase");e.info('Using "'+b(c.transformerName)+'" as transformer.')}return c.rollup.resolve&&c.rollup.resolve.preferBuiltins===!0&&(c.rollup.polyfillNode=!1,e.debug("Disabling polyfillNode because preferBuiltins is set to true")),i?.config.compilerOptions?.isolatedModules||e.warn(`'compilerOptions.isolatedModules' is not enabled in tsconfig.
|
|
83
83
|
Because none of the third-party transpilers, 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.
|
|
84
|
-
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.`),c.dependencies=Object.keys(a.dependencies??{}),c.peerDependencies=Object.keys(a.peerDependencies??{}),c.devDependencies=Object.keys(a.devDependencies??{}),c.optionalDependencies=Object.keys(a.optionalDependencies??{}),c.externals.push(...c.dependencies,...c.peerDependencies,...c.optionalDependencies),c},"generateOptions"),
|
|
84
|
+
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.`),c.dependencies=Object.keys(a.dependencies??{}),c.peerDependencies=Object.keys(a.peerDependencies??{}),c.devDependencies=Object.keys(a.devDependencies??{}),c.optionalDependencies=Object.keys(a.optionalDependencies??{}),c.externals.push(...c.dependencies,...c.peerDependencies,...c.optionalDependencies),c},"generateOptions"),Sn=j(e=>e.replace(/\.(?:js|mjs|cjs|ts|mts|cts|json|jsx|tsx)$/,""),"removeExtension"),Nn=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 n=_e(o.input)?N(t,o.input):ee(o.input);n.startsWith("./")&&(n=n.slice(2)),o.name=Sn(n.replace(/^src\//,""))}if(!o.input)throw new Error(`Missing entry input: ${dt(o)}`);if(o.input=h(e.options.rootDir,o.input),!J(o.input)){const n=new Set(await vt(oe(o.input)));let r=!1;for(const s of T)if(n.has(H(o.input)+s)){r=!0;break}if(!r)throw new St("Your configured entry: "+b(o.input)+" does not exist.")}o.outDir=h(e.options.rootDir,o.outDir??e.options.outDir)}},"prepareEntries"),Pn=j((e,t,o)=>{const n=j(s=>N(t.rootDir,h(t.options.outDir,s)),"rPath");let r=!1;for(const s of t.buildEntries.filter(a=>!a.chunk)){let a=s.bytes??0;for(const l of s.chunks??[])a+=t.buildEntries.find(c=>c.path===l)?.bytes??0;let i=` ${E(n(s.path))} (${["total size: "+b(M(a)),s.type!=="asset"&&s.bytes&&"chunk size: "+b(M(s.bytes))].filter(Boolean).join(", ")})`;if(i+=s.exports?.length?`
|
|
85
85
|
exports: `+F(s.exports.join(", ")):"",s.chunks?.length&&(i+=`
|
|
86
86
|
${s.chunks.map(l=>{const c=t.buildEntries.find(u=>u.path===l)??{};return F(" └─ "+n(l)+E(c.bytes?" ("+M(c?.bytes)+")":""))}).join(`
|
|
87
87
|
`)}`),s.modules&&s.modules.length>0){const l=s.modules.filter(c=>c.id.includes("node_modules")).sort((c,u)=>(u.bytes||0)-(c.bytes||0)).map(c=>F(" 📦 "+n(c.id)+E(c.bytes?" ("+M(c.bytes)+")":""))).join(`
|
|
@@ -94,8 +94,8 @@ ${s.chunks.map(l=>{const c=t.buildEntries.find(u=>u.path===l)??{};return F("
|
|
|
94
94
|
types: `+E(n(u.path))+" (total size: "+b(M(u.bytes??0))+")"}}r=!0,i+=`
|
|
95
95
|
|
|
96
96
|
`,e.raw(s.chunk?F(i):i)}return r&&e.raw("Σ Total dist size (byte size):",b(M(t.buildEntries.reduce((s,a)=>s+(a.bytes??0),0))),`
|
|
97
|
-
`),r},"showSizeInformation"),_n=j(async(e,t,o,n,r,s,a,i,l)=>{const c=Co(r.preset??n.preset??"auto",t),u=
|
|
97
|
+
`),r},"showSizeInformation"),_n=j(async(e,t,o,n,r,s,a,i,l)=>{const c=Co(r.preset??n.preset??"auto",t),u=Dn(e,t,o,n,r,c,s,a);Ot(v(u.rootDir,u.outDir));const p={buildEntries:[],dependencyGraphMap:new Map,hooks:Wt(),logger:e,mode:o,options:u,pkg:s,rootDir:t,tsconfig:a,usedImports:new Set,warnings:new Set};if(c.hooks&&p.hooks.addHooks(c.hooks),n.hooks&&p.hooks.addHooks(n.hooks),r.hooks&&p.hooks.addHooks(r.hooks),i.isEnabled=p.options.fileCache,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");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."),await Nn(p,t),await p.hooks.callHook("build:before",p);let m="Building";if(o==="watch"?m="Watching":o==="jit"&&(m="Stubbing"),p.logger.info(b(`${m} ${p.options.name}`)),p.logger.debug(`${E("Root dir:")} ${p.options.rootDir}
|
|
98
98
|
${E("Entries:")}
|
|
99
99
|
${p.options.entries.map(f=>` ${dt(f)}`).join(`
|
|
100
|
-
`)}`),p.options.clean)for(const f of new Set(p.options.entries.map(y=>y.outDir).filter(Boolean).sort()))f===p.options.rootDir||p.options.rootDir.startsWith(f.endsWith("/")?f:`${f}/`)||l.some(y=>f.startsWith(y))||(l.push(f),p.logger.info(`Cleaning dist directory: \`./${N(p.options.rootDir,f)}\``),await Pe(f));if(p.options.stub){await yo(p),await p.hooks.callHook("build:done",p);return}if(o==="watch"){await ln(p,i),Ee(p,!1);return}await Promise.all([rn(p,i),p.options.declaration&&sn(p,i)]),p.logger.success(wt(`Build succeeded for ${p.options.name}`));for await(const f of Et(v(p.options.rootDir,p.options.outDir))){let y=p.buildEntries.find(k=>v(p.options.rootDir,p.options.outDir,k.path)===f.path);if(y||(y={chunk:!0,path:f.path},p.buildEntries.push(y)),!y.bytes){const k=await
|
|
100
|
+
`)}`),p.options.clean)for(const f of new Set(p.options.entries.map(y=>y.outDir).filter(Boolean).sort()))f===p.options.rootDir||p.options.rootDir.startsWith(f.endsWith("/")?f:`${f}/`)||l.some(y=>f.startsWith(y))||(l.push(f),p.logger.info(`Cleaning dist directory: \`./${N(p.options.rootDir,f)}\``),await Pe(f));if(p.options.stub){await yo(p),await p.hooks.callHook("build:done",p);return}if(o==="watch"){await ln(p,i),Ee(p,!1);return}await Promise.all([rn(p,i),p.options.declaration&&sn(p,i)]),p.logger.success(wt(`Build succeeded for ${p.options.name}`));for await(const f of Et(v(p.options.rootDir,p.options.outDir))){let y=p.buildEntries.find(k=>v(p.options.rootDir,p.options.outDir,k.path)===f.path);if(y||(y={chunk:!0,path:f.path},p.buildEntries.push(y)),!y.bytes){const k=await De(h(p.options.rootDir,p.options.outDir,f.path));y.bytes=k.size}}const g=Pn(p.logger,p,s);bn(p),xn(s,p),await p.hooks.callHook("build:done",p),Ee(p,g)},"build"),vs=j(async(e,t,o={})=>{const{configPath:n,debug:r,tsconfigPath:s,...a}=o,i=[new It,new Rt];r&&i.push(new Tt);const l=Ft({logLevel:r?"debug":"informational",processors:i,scope:"packem"});e=h($t(),e),l.debug("Root directory:",e);const c=v(e,"package.json"),u=Ct(c);l.debug("Using package.json found at",c);let p;if(s){const m=v(e,s);await Dt(m)||(l.error("tsconfig.json not found at",m),I(1)),p={config:_t(m),path:m},l.info("Using tsconfig settings at",m)}else try{p=await Mt(e),l.debug("Using tsconfig settings found at",p.path)}catch{l.info("No tsconfig.json or jsconfig.json found.")}try{const m=n??"./packem.config.ts";/\.(?:js|mjs|cjs|ts)$/.test(m)||(l.error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts extensions are allowed."),I(1));const g=We(m,e);l.debug("Using packem config found at",v(e,m));const f=(Array.isArray(g)?g:[g]).filter(Boolean),y=Date.now(),k=j(()=>Nt(Math.floor(Date.now()-y)),"getDuration"),P=[],_=[],x=C(u.version+JSON.stringify({...u.dependencies,...u.devDependencies,eNode:u.engines?.node})),O=new dn(e,x,l);O.cachePath&&!J(v(O.cachePath,x))&&J(O.cachePath)&&(l.info("Clearing file cache because the cache key has changed."),await Pe(O.cachePath));for(const gt of f)_.push(_n(l,e,t,a,gt,u,p,O,P));await Promise.all(_),l.raw(`
|
|
101
101
|
⚡️ Build`+(_.length>1?"s":"")+" run in "+k()),l.restoreAll(),I(0)}catch(m){l.error("An error occurred while building",m),I(1)}},"createBundler");export{vs as default};
|