@visulima/packem 2.0.0-alpha.74 → 2.0.0-alpha.75
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
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## @visulima/packem [2.0.0-alpha.75](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.74...@visulima/packem@2.0.0-alpha.75) (2026-04-24)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **packem:** declared deps win over tsconfig `paths` catch-all ([28450bf](https://github.com/visulima/packem/commit/28450bfe6339b1f077e14c911898936d1ce0f733))
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Dependencies
|
|
9
|
+
|
|
10
|
+
* **@visulima/packem-rollup:** upgraded to 1.0.0-alpha.62
|
|
11
|
+
* **@visulima/packem-share:** upgraded to 1.0.0-alpha.43
|
|
12
|
+
* **@visulima/rollup-plugin-css:** upgraded to 1.0.0-alpha.42
|
|
13
|
+
* **@visulima/rollup-plugin-dts:** upgraded to 1.0.0-alpha.23
|
|
14
|
+
|
|
1
15
|
## @visulima/packem [2.0.0-alpha.74](https://github.com/visulima/packem/compare/@visulima/packem@2.0.0-alpha.73...@visulima/packem@2.0.0-alpha.74) (2026-04-24)
|
|
2
16
|
|
|
3
17
|
### Bug Fixes
|
package/dist/cli/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var Q=Object.defineProperty;var w=(s,t)=>Q(s,"name",{value:t,configurable:!0});import{createCerebro as Z}from"@visulima/cerebro";import ee from"@visulima/cerebro/logger/pail";import{SimpleReporter as te}from"@visulima/pail/reporter/simple";import C,{cwd as V,exit as se}from"node:process";import{installPackage as x}from"@antfu/install-pkg";import{confirm as v,select as h,multiselect as U,spinner as B,cancel as ae,intro as ie,log as T,outro as ne}from"@clack/prompts";import{isAccessible as re,readFile as oe,writeFile as ce,isAccessibleSync as L,writeJsonSync as le,writeFileSync as de}from"@visulima/fs";import{parsePackageJson as G}from"@visulima/package/package-json";import{join as $,resolve as N}from"@visulima/path";import pe from"magic-string";import{exec as ue}from"tinyexec";import{PRODUCTION_ENV as R,DEVELOPMENT_ENV as me}from"@visulima/packem-share/constants";import{createJiti as fe}from"jiti";import{c as ge,$ as ye,S as be}from"../packem_shared/index-
|
|
2
|
+
var Q=Object.defineProperty;var w=(s,t)=>Q(s,"name",{value:t,configurable:!0});import{createCerebro as Z}from"@visulima/cerebro";import ee from"@visulima/cerebro/logger/pail";import{SimpleReporter as te}from"@visulima/pail/reporter/simple";import C,{cwd as V,exit as se}from"node:process";import{installPackage as x}from"@antfu/install-pkg";import{confirm as v,select as h,multiselect as U,spinner as B,cancel as ae,intro as ie,log as T,outro as ne}from"@clack/prompts";import{isAccessible as re,readFile as oe,writeFile as ce,isAccessibleSync as L,writeJsonSync as le,writeFileSync as de}from"@visulima/fs";import{parsePackageJson as G}from"@visulima/package/package-json";import{join as $,resolve as N}from"@visulima/path";import pe from"magic-string";import{exec as ue}from"tinyexec";import{PRODUCTION_ENV as R,DEVELOPMENT_ENV as me}from"@visulima/packem-share/constants";import{createJiti as fe}from"jiti";import{c as ge,$ as ye,S as be}from"../packem_shared/index-BoQcwxAT.js";import{existsSync as A}from"node:fs";import{parseEnv as F}from"node:util";import{readFile as ve,writeFile as we}from"node:fs/promises";import{createInterface as he}from"node:readline/promises";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
|
|
3
3
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
4
|
-
var ke="@visulima/packem",z="2.0.0-alpha.
|
|
4
|
+
var ke="@visulima/packem",z="2.0.0-alpha.74";const q={version:z};var Se=Object.defineProperty,$e=w((s,t)=>Se(s,"name",{value:t,configurable:!0}),"t");const W=$e(async(s,t="")=>{let a=t;if(!a){const e=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const n of e)if(await re($(s,n))){a=`./${n}`;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(a))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return a},"findPackemFile"),_={less:["less"],lightningcss:["lightningcss"],"node-sass":["node-sass"],postcss:["postcss","postcss-load-config","postcss-modules-extract-imports","postcss-modules-local-by-default","postcss-modules-scope","postcss-modules-values","postcss-value-parser","@csstools/css-parser-algorithms","@csstools/css-tokenizer","@csstools/postcss-slow-plugins","icss-utils","@visulima/css-style-inject"],sass:["sass"],"sass-embedded":["sass-embedded"],stylus:["stylus"],tailwindcss:["@tailwindcss/node","@tailwindcss/oxide","tailwindcss"]};var je=Object.defineProperty,b=w((s,t)=>je(s,"name",{value:t,configurable:!0}),"r$1");const Ce=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],Pe=["@babel/core","@babel/preset-react"],xe=["react","react-dom"],De=["@babel/core","babel-preset-solid"],Me=["solid-js"],Oe=["@babel/core","@babel/preset-react","babel-plugin-transform-hook-names"],Ee=["preact"],Ie=["unplugin-vue"],Ne=["vue"],Le=["rollup-plugin-svelte"],Be=["svelte"],D=b((s,t,a)=>s.includes(`preset: '${t}'`)||s.includes(`preset: "${t}"`)||s.includes(`preset: '${t}',`)||s.includes(`preset: "${t}",`)||s.includes(a)||s.includes(`@visulima/packem/config/preset/${t}`),"checkPresetExists"),M=b((s,t)=>{const{logger:a,magic:e,packemConfig:n}=s,r=n.match(/defineConfig\s*\(\s*\{/);if(r&&r.index!==void 0){const o=r.index+r[0].length;if(n.includes("preset:")){const i=n.match(/preset:\s*['"]([^'"]+)['"]/);if(i)e.replace(i[0],`preset: '${t}'`);else throw a.warn(`A preset already exists in the config. Please manually set it to '${t}'.`),new Error("Preset exists but is not a string")}else e.appendLeft(o,`
|
|
5
5
|
preset: '${t}',`)}else if(n.includes("transformer:"))e.replace("transformer:",`preset: '${t}',
|
|
6
6
|
transformer:`);else{const o=n.indexOf("{");o!==-1&&e.appendLeft(o+1,`
|
|
7
7
|
preset: '${t}',`)}},"insertPreset"),Ve=b(async s=>{try{return((await ue("git",["status","--porcelain"],{nodeOptions:{cwd:s,stdio:["pipe","pipe","pipe"]}})).stdout?.trim().length??0)>0}catch{return!1}},"checkGitDirty"),H=b(async s=>{const t=$(s,"package.json"),a=await G(t,{resolveCatalogs:!0});return!!(a.devDependencies?.typescript??a.dependencies?.typescript)},"checkTypeScriptInstalled"),Ae=b(async s=>{const t=await H(s),a=[...xe],e=[...Pe];return t?e.push("@types/react","@types/react-dom"):await v({initialValue:!1,message:"Do you want to use TypeScript?"})&&e.push("typescript","@types/react","@types/react-dom"),{devPackages:e,packages:a}},"getReactTypeDependencies"),O=b(async(s,t,a)=>{const{rootDirectory:e,spinner:n}=s;n.start("Installing packages"),await x(a,{cwd:e,dev:!1,silent:!0}),await x(t,{cwd:e,dev:!0,silent:!0}),n.stop("Installed packages")},"installPackages"),Te=b(async s=>{const{logger:t,magic:a,packemConfig:e,packemConfigFormat:n,rootDirectory:r,spinner:o,transformerReplaceKey:i,transformerSearchKey:l}=s;if(e.includes("typedoc: typedocBuilder")||e.includes("@visulima/packem/builder/typedoc")){t.warn("Typedoc has already been added to the packem config.");return}n==="cjs"?a.prepend(`const typedocBuilder = require("@visulima/packem/builder/typedoc");
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{createPail as s}from"@visulima/pail";import{SimpleReporter as u}from"@visulima/pail/reporter/simple";import{S as g}from"./packem_shared/index-
|
|
1
|
+
var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{createPail as s}from"@visulima/pail";import{SimpleReporter as u}from"@visulima/pail/reporter/simple";import{S as g}from"./packem_shared/index-BoQcwxAT.js";var f=Object.defineProperty,l=o((e,r)=>f(e,"name",{value:r,configurable:!0}),"r");const C=l(async(e,r={})=>{const{debug:t,environment:i,logger:a,mode:n,tsconfigPath:m,...d}={debug:!1,environment:"production",logger:{},mode:"build",tsconfigPath:void 0,...r},p=s({reporters:[new u({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem",...a});await g(e,n,i,p,t,d,m)},"packem");export{C as packem};
|
|
@@ -6,7 +6,7 @@ export { ${C} as ${JSON.stringify(y)} };`})].join(`
|
|
|
6
6
|
`)),e.options.declaration&&Ce(`${s}.${g}`,`export * from "${h}";
|
|
7
7
|
${p?`export { default } from "${h}";`:""}`)}if(e.options.emitCJS){const d=f(pe(s),await kt("jiti",{conditions:["node","require"],url:import.meta.url})),g=se(e,"cjs"),h=`${a}.${g}`;Ce(`${s}.${te(e,"cjs")}`,c+[`const { createJiti } = require("${d}");`,...o.map((y,m)=>`const plugin${m} = require(${JSON.stringify(y)})`),"",`const jiti = createJiti(__filename, ${n});`,"",`/** @type {import("${h}")} */`,`module.exports = jiti("${r}")`].join(`
|
|
8
8
|
`)),e.options.declaration&&Ce(`${s}.${g}`,`export * from "${h}";
|
|
9
|
-
${p?`export { default } from "${h}";`:""}`)}c&&(await jt(`${s}.${te(e,"cjs")}`),await jt(`${s}.${te(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var mr=Object.defineProperty,Ge=k((e,t)=>mr(e,"name",{value:t,configurable:!0}),"s$7");const it=Ge(e=>{const t=e.indexOf("/");if(t===-1)return[e,void 0];if(e[0]==="@"){const o=e.indexOf("/",t+1);return o===-1?[e,void 0]:[e.slice(0,o),e.slice(o+1)]}return[e.slice(0,t),e.slice(t+1)]},"parseSpecifier"),be=Ge(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||lt(e))},"isBareSpecifier"),Ye=Ge((e,t=process.cwd())=>Q(t,e).split("/").includes("node_modules"),"isFromNodeModules"),gr=Ge((e,t=process.cwd())=>{const o=Q(t,e);return o.startsWith("..")?!0:o.split("/").includes("node_modules")},"isOutsideProject");var hr=Object.defineProperty,ne=k((e,t)=>hr(e,"name",{value:t,configurable:!0}),"f$4");const Nt=ne((e,t,o)=>e.reduce((n,i,s)=>(i instanceof RegExp?n.push(i):typeof i=="string"&&i.length>0?n.push(new RegExp(`^${i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}$`)):o.warn(`Ignoring wrong entry type #${s} in '${t}' option: ${JSON.stringify(i)}`),n),[]),"getRegExps"),Ct=new Map,yr=ne((e,t)=>{Ct.has(e)||t.info({message:`Inlined implicit external "${K(e)}". If this is incorrect, add it to the "externals" option.`,prefix:"plugin:packem:externals"}),Ct.set(e,!0)},"logExternalMessage"),Mt=new Set(["node:sqlite","node:test"]),br=/[\\:]/,wr=ne(e=>e.length>0&&!br.test(e),"isValidPackageName"),ut="@types/",Tt=ne(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${ut}${e}`},"getAtTypesPackageName"),vr=ne(e=>{if(e.startsWith("@")){const t=e.split("/");if(t[1]==="types")return`@${t[0]}/${t.slice(2).join("/")}`}return e.replace(ut,"")},"getOriginalPackageName"),$r=["peerDependencies","dependencies","optionalDependencies"],Ro=ne((e,t)=>{const o=Jn.realpathSync.native(process.cwd()),{pkg:n}=e,i=new Set;for(const w of $r){const $=n[w];if($)for(const M of Object.keys($))M.startsWith(ut)?i.add(vr(M)):i.add(M)}const s=new Set(Object.keys(n.devDependencies||{})),r=e.options?.rollup?.resolveExternals??{},a=new Set(Nt([...e.options?.externals??[]],"include",e.logger)),u=new Set(Nt([...r.exclude??[]],"exclude",e.logger));if(t?.dtsResolve)if(t.dtsResolve===!0)u.add(/.*/);else for(const w of t.dtsResolve)typeof w=="string"?u.add(new RegExp(`^${w.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}(?:/.+)?$`)):u.add(w);const c=ne(w=>{const{dtsResolve:$}=t??{};return $?typeof $=="boolean"?$:$.some(M=>typeof M=="string"?w===M:M.test(w)):!1},"shouldResolveForDts"),l={...r.deps?n.dependencies??{}:void 0,...r.devDeps?n.devDependencies??{}:void 0,...r.peerDeps?n.peerDependencies??{}:void 0,...r.optDeps?n.optionalDependencies??{}:void 0},p=Object.keys(l);if(p.length>0&&a.add(new RegExp(`^(?:${p.join("|")})(?:/.+)?$`)),n?.peerDependenciesMeta)for(const[w,$]of Object.entries(n.peerDependenciesMeta))$&&typeof $=="object"&&"optional"in $&&$.optional&&a.add(new RegExp(`^${w}(?:/.+)?$`));const f=ne(w=>[...a].some($=>$.test(w)),"isIncluded"),d=ne(w=>[...u].some($=>$.test(w)),"isExcluded");let g=[];e.tsconfig&&(g=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([w])=>w.endsWith("*")?new RegExp(`^${w.replace("*","(.*)")}$`):new RegExp(`^${w}$`)));const h=qe(n,e.options),y=e.options?.sourceDir?new RegExp(String.raw`(?:^|/)${e.options.sourceDir.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}/`):void 0,m=new Set,C=new Set,v=new Map;return{name:"packem:externals",options:ne(w=>{w.external=($,M)=>{if(v.has($))return v.get($);const b=xt($),j=M?xt(M):void 0;let O;if(Object.keys(h).length>0){const N=Mn(b,h);N!==b&&(O=N)}const x=O&&be(O)&&Et(O)?.name||be(b)&&Et(b)?.name||(be(b)?dn(b):""),E=x&&be(x)&&wr(x)?x:"";if(E&&!Me(E)){e.usedDependencies.add(E);const N=!j||!Ye(j,e.options.rootDir),V=Object.keys(n.dependencies??{}).includes(E)||Object.keys(n.devDependencies??{}).includes(E)||Object.keys(n.peerDependencies??{}).includes(E)||Object.keys(n.optionalDependencies??{}).includes(E);N&&!V&&e.options.validation&&e.options.validation.dependencies!==!1&&e.options.validation.dependencies.hoisted!==!1&&!e.options.validation.dependencies.hoisted?.exclude.includes(E)&&e.hoistedDependencies.add(E)}for(const N of[b,O].filter(Boolean)){const V=n.name?N===n.name||N.startsWith(`${n.name}/`):!1;if(/^(?:\0|\.{1,2}\/)/.test(N)||lt(N)||(y?.test(N)??!1)||V)return v.set($,!1),!1;if(Me(N)||Mt.has(N)){let _=r.builtins;return _===void 0&&j&&(_=f(j)&&!d(j)),v.set($,_),_}if(N[0]==="#"&&!N.startsWith("#/")||g.some(_=>_.test(N))||E&&c(E))return v.set($,!1),!1;if(f(N)&&!d(N))return v.set($,!0),!0}return e.implicitDependencies.add(b),yr(b,e.logger),v.set($,!1),!1}},"options"),resolveId:{filter:{id:ne(w=>!w.startsWith("\0"),"id")},async handler(w,$,M){if(M.isEntry)return;if(w[0]==="#"&&!w.startsWith("#/")&&n.imports)return $&&!Ye($,e.options.rootDir)?{external:!0,id:w}:void 0;if(Mt.has(w))return{external:!0,id:w,moduleSideEffects:!1};if(Me(w)){const j=w.replace(/^node:/,"");let O=j;return(r.builtinsPrefix==="add"||!Me(j))&&(O=`node:${j}`),{external:(r.builtins||f(w))&&!d(w),id:r.builtinsPrefix==="ignore"?w:O,moduleSideEffects:!1}}if(!be(w)||w.includes("?")||w.includes(" "))return;const[b]=it(w);if(s.has(b)&&!i.has(b)){if(f(w)&&!d(w))return;if(t?.forTypes)return t.dtsResolve&&c(b)?void 0:{external:!0,id:w,moduleSideEffects:!1};const j=await this.resolve(w,$,{skipSelf:!0,...M});if(!j)throw new Error(`Could not resolve "${w}" even though it's declared in package.json. Try re-installing node_modules.`);if(t?.forTypes){const O=Tt(b);i.has(O)&&!m.has(O)&&(m.add(O),e.logger.warn(`Recommendation: "${O}" is externalized but "${b}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${b}" to dependencies or "${O}" to devDependencies.`))}return j}if(i.has(b)){if(t?.forTypes){const j=Tt(b);s.has(j)&&!m.has(j)&&(m.add(j),e.logger.warn(`Recommendation: "${j}" is bundled (devDependencies) but "${b}" is externalized. Place "${j}" in dependencies/peerDependencies as well so users don't have missing types.`))}return}if(!s.has(b)&&$&&!Ye($,o)&&!t?.skipUnlistedWarnings&&!C.has(b)&&(C.add(b),e.logger.warn(`"${b}" imported by "${$}" but not declared in package.json. Will be bundled to prevent failure at runtime.`)),t?.forTypes&&$&&gr($,o))return{external:!0,id:w,moduleSideEffects:!1}},order:"pre"}}},"externalsPlugin");var xr=Object.defineProperty,_e=k((e,t)=>xr(e,"name",{value:t,configurable:!0}),"l$a");const jr=_e(async e=>{try{const n=await pt(e);if(n.isFile())return e;if(n.isDirectory()){const i=T(e,"index.js");if(await le(i))return i;const s=T(e,"index.json");if(await le(s))return s}}catch{}const t=`${e}.js`;if(await le(t))return t;const o=`${e}.json`;if(await le(o))return o},"tryResolveImplicit"),kr=_e(async(e,t)=>{let o=e;const n=R("/");for(;o!==n&&o!==pe(o);){const i=T(o,"node_modules",t,"package.json");if(await le(i))return i;o=pe(o)}},"findPackageJson"),Fo=_e(e=>{const t=new Map,o=new Map,n=new Set;e.pkg.dependencies&&Object.keys(e.pkg.dependencies).forEach(s=>n.add(s)),e.pkg.peerDependencies&&Object.keys(e.pkg.peerDependencies).forEach(s=>n.add(s)),e.pkg.optionalDependencies&&Object.keys(e.pkg.optionalDependencies).forEach(s=>n.add(s));const i=_e(s=>n.has(s),"isExternalPackage");return{name:"packem:resolve-implicit-externals",async transform(s,r){if(r.includes("/node_modules/")||r.startsWith("\0"))return;const a=/\bfrom\s+['"`]([^'"`]+)['"`]/g,u=[];let c;for(;(c=a.exec(s))!==null;){const d=c[1];if(!d||!be(d))continue;const[g,h]=it(d);if(h&&g&&i(g)){const y=c.index+c[0].indexOf(d);u.push({importId:d,quoteEnd:y+d.length,quoteStart:y})}}if(u.length===0)return;const l=pe(r),p=(await Promise.all(u.map(async d=>{const[g,h]=it(d.importId);if(!h)return;const y=`${g}:${h}:${l}`,m=o.get(y);if(m!==void 0)return m?{...d,resolvedId:m}:void 0;const C=await kr(l,g);if(!C){o.set(y,void 0);return}let v=t.get(C);if(v===void 0)try{v=mo(C,{resolveCatalogs:!0}),t.set(C,v)}catch{t.set(C,void 0),o.set(y,void 0);return}if(!v){o.set(y,void 0);return}if(v.exports){o.set(y,void 0);return}const w=pe(C),$=T(w,h),M=await jr($);if(!M){o.set(y,void 0);return}const b=Q(w,M),j=`${g}/${b}`;return o.set(y,j),{...d,resolvedId:j}}))).filter(d=>d!==void 0);if(p.length===0)return;const f=new $i(s);for(const{quoteEnd:d,quoteStart:g,resolvedId:h}of p)f.overwrite(g,d,h),this.debug(`[resolve-implicit-externals] Rewriting ${s.slice(g,d)} -> ${h} in ${r}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Er=Object.defineProperty,G=k((e,t)=>Er(e,"name",{value:t,configurable:!0}),"p$6");const Ue=G(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),At=G((e,t)=>t?o=>{if(!Ue(o.name))return`${o.name}.${e()}`}:o=>{if(!Ue(o.name))return De(o,e())},"createChunkFileNames"),Rt=G((e,t)=>t?o=>{const{name:n}=o;if(!Ue(n))return`${n??"[name]"}.${e(o)}`}:o=>{const{name:n}=o;if(!Ue(n))return fn(o,e(o))},"createEntryFileNames"),Sr=G((e,t)=>{let o=`node${Be.node.split(".")[0]}`;if(t.pkg.engines?.node){const n=So(t.pkg.engines.node);n&&(o=`node${n.major}`)}if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");if(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"),t.options.rollup.esbuild.target){const n=ht(t.options.rollup.esbuild.target);t.options.runtime==="node"?t.options.rollup.esbuild.target=[...new Set([o,...n])]:t.options.runtime==="browser"&&(t.options.rollup.esbuild.target=[...new Set([...Te(t.options.browserTargets??[]),...n])])}else t.options.rollup.esbuild.target=t.options.runtime==="node"?[o]:Te(t.options.browserTargets??[]);return t.options.minify||(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because minify is disabled")),t.tsconfig?.config.compilerOptions?.target==="es5"&&(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because target is set to es5")),{logger:t.logger,minify:t.options.minify,minifyWhitespace:t.options.minify,sourceMap:t.options.sourcemap,...t.options.rollup.esbuild}}if(e==="swc"){if(!t.options.rollup.swc)throw new Error("No swc options found in your configuration.");return{minify:t.options.minify,...t.options.rollup.swc,jsc:{minify:{compress:{directives:!1,passes:2},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}if(e==="oxc"){if(!t.options.rollup.oxc)throw new Error("No oxc options found in your configuration.");if(t.options.rollup.oxc={...t.options.rollup.oxc,cwd:t.options.rootDir,jsx:typeof t.options.rollup.oxc.jsx=="string"?t.options.rollup.oxc.jsx:t.options.rollup.oxc.jsx?{...t.options.rollup.oxc.jsx,refresh:!1}:void 0,sourcemap:t.options.sourcemap,typescript:t.tsconfig?.config?{allowDeclareFields:!0,allowNamespaces:!0,declaration:void 0,jsxPragma:t.tsconfig.config.compilerOptions?.jsxFactory,jsxPragmaFrag:t.tsconfig.config.compilerOptions?.jsxFragmentFactory,onlyRemoveTypeImports:!0,rewriteImportExtensions:!1}:void 0},t.options.rollup.oxc.target){const n=ht(t.options.rollup.oxc.target);t.options.runtime==="node"?t.options.rollup.oxc.target=[...new Set([o,...n])]:t.options.runtime==="browser"&&(t.options.rollup.oxc.target=[...new Set([...Te(t.options.browserTargets??[]),...n])])}else t.options.rollup.oxc.target=t.options.runtime==="node"?[o]:Te(t.options.browserTargets??[]);return t.options.rollup.oxc}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),Io=G(e=>{if(e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0)return zn({...e.options.rollup.resolve});if(e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve)return ei(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path)},"createNodeResolver"),Wo=G((e,t)=>{if(e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message))return!0;if(e.code==="UNRESOLVED_IMPORT"){const o=new Error(`Failed to resolve the module "${e.exporter}" imported by "${K(Q(R(),e.id))}"
|
|
9
|
+
${p?`export { default } from "${h}";`:""}`)}c&&(await jt(`${s}.${te(e,"cjs")}`),await jt(`${s}.${te(e,"esm")}`))}await e.hooks.callHook("rollup:done",e)},"createStub");var mr=Object.defineProperty,Ge=k((e,t)=>mr(e,"name",{value:t,configurable:!0}),"s$7");const it=Ge(e=>{const t=e.indexOf("/");if(t===-1)return[e,void 0];if(e[0]==="@"){const o=e.indexOf("/",t+1);return o===-1?[e,void 0]:[e.slice(0,o),e.slice(o+1)]}return[e.slice(0,t),e.slice(t+1)]},"parseSpecifier"),be=Ge(e=>{const t=e[0];return!(t==="."||t==="/"||t==="#"||lt(e))},"isBareSpecifier"),Ye=Ge((e,t=process.cwd())=>Q(t,e).split("/").includes("node_modules"),"isFromNodeModules"),gr=Ge((e,t=process.cwd())=>{const o=Q(t,e);return o.startsWith("..")?!0:o.split("/").includes("node_modules")},"isOutsideProject");var hr=Object.defineProperty,ne=k((e,t)=>hr(e,"name",{value:t,configurable:!0}),"f$4");const Nt=ne((e,t,o)=>e.reduce((n,i,s)=>(i instanceof RegExp?n.push(i):typeof i=="string"&&i.length>0?n.push(new RegExp(`^${i.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}$`)):o.warn(`Ignoring wrong entry type #${s} in '${t}' option: ${JSON.stringify(i)}`),n),[]),"getRegExps"),Ct=new Map,yr=ne((e,t)=>{Ct.has(e)||t.info({message:`Inlined implicit external "${K(e)}". If this is incorrect, add it to the "externals" option.`,prefix:"plugin:packem:externals"}),Ct.set(e,!0)},"logExternalMessage"),Mt=new Set(["node:sqlite","node:test"]),br=/[\\:]/,wr=ne(e=>e.length>0&&!br.test(e),"isValidPackageName"),ut="@types/",Tt=ne(e=>{if(e.startsWith("@")){const[t,o]=e.split("/");return`${t}/types/${o}`}return`${ut}${e}`},"getAtTypesPackageName"),vr=ne(e=>{if(e.startsWith("@")){const t=e.split("/");if(t[1]==="types")return`@${t[0]}/${t.slice(2).join("/")}`}return e.replace(ut,"")},"getOriginalPackageName"),$r=["peerDependencies","dependencies","optionalDependencies"],Ro=ne((e,t)=>{const o=Jn.realpathSync.native(process.cwd()),{pkg:n}=e,i=new Set;for(const w of $r){const $=n[w];if($)for(const M of Object.keys($))M.startsWith(ut)?i.add(vr(M)):i.add(M)}const s=new Set(Object.keys(n.devDependencies||{})),r=e.options?.rollup?.resolveExternals??{},a=new Set(Nt([...e.options?.externals??[]],"include",e.logger)),u=new Set(Nt([...r.exclude??[]],"exclude",e.logger));if(t?.dtsResolve)if(t.dtsResolve===!0)u.add(/.*/);else for(const w of t.dtsResolve)typeof w=="string"?u.add(new RegExp(`^${w.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}(?:/.+)?$`)):u.add(w);const c=ne(w=>{const{dtsResolve:$}=t??{};return $?typeof $=="boolean"?$:$.some(M=>typeof M=="string"?w===M:M.test(w)):!1},"shouldResolveForDts"),l={...r.deps?n.dependencies??{}:void 0,...r.devDeps?n.devDependencies??{}:void 0,...r.peerDeps?n.peerDependencies??{}:void 0,...r.optDeps?n.optionalDependencies??{}:void 0},p=Object.keys(l);if(p.length>0&&a.add(new RegExp(`^(?:${p.join("|")})(?:/.+)?$`)),n?.peerDependenciesMeta)for(const[w,$]of Object.entries(n.peerDependenciesMeta))$&&typeof $=="object"&&"optional"in $&&$.optional&&a.add(new RegExp(`^${w}(?:/.+)?$`));const f=ne(w=>[...a].some($=>$.test(w)),"isIncluded"),d=ne(w=>[...u].some($=>$.test(w)),"isExcluded");let g=[];e.tsconfig&&(g=Object.entries(e.tsconfig.config.compilerOptions?.paths??{}).map(([w])=>w.endsWith("*")?new RegExp(`^${w.replace("*","(.*)")}$`):new RegExp(`^${w}$`)));const h=qe(n,e.options),y=e.options?.sourceDir?new RegExp(String.raw`(?:^|/)${e.options.sourceDir.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)}/`):void 0,m=new Set,C=new Set,v=new Map;return{name:"packem:externals",options:ne(w=>{w.external=($,M)=>{if(v.has($))return v.get($);const b=xt($),j=M?xt(M):void 0;let O;if(Object.keys(h).length>0){const N=Mn(b,h);N!==b&&(O=N)}const x=O&&be(O)&&Et(O)?.name||be(b)&&Et(b)?.name||(be(b)?dn(b):""),E=x&&be(x)&&wr(x)?x:"";if(E&&!Me(E)){e.usedDependencies.add(E);const N=!j||!Ye(j,e.options.rootDir),V=Object.keys(n.dependencies??{}).includes(E)||Object.keys(n.devDependencies??{}).includes(E)||Object.keys(n.peerDependencies??{}).includes(E)||Object.keys(n.optionalDependencies??{}).includes(E);N&&!V&&e.options.validation&&e.options.validation.dependencies!==!1&&e.options.validation.dependencies.hoisted!==!1&&!e.options.validation.dependencies.hoisted?.exclude.includes(E)&&e.hoistedDependencies.add(E)}for(const N of[b,O].filter(Boolean)){const V=n.name?N===n.name||N.startsWith(`${n.name}/`):!1;if(/^(?:\0|\.{1,2}\/)/.test(N)||lt(N)||(y?.test(N)??!1)||V)return v.set($,!1),!1;if(Me(N)||Mt.has(N)){let _=r.builtins;return _===void 0&&j&&(_=f(j)&&!d(j)),v.set($,_),_}if(N[0]==="#"&&!N.startsWith("#/"))return v.set($,!1),!1;if(f(N)&&!d(N))return v.set($,!0),!0;if(g.some(_=>_.test(N))||E&&c(E))return v.set($,!1),!1}return e.implicitDependencies.add(b),yr(b,e.logger),v.set($,!1),!1}},"options"),resolveId:{filter:{id:ne(w=>!w.startsWith("\0"),"id")},async handler(w,$,M){if(M.isEntry)return;if(w[0]==="#"&&!w.startsWith("#/")&&n.imports)return $&&!Ye($,e.options.rootDir)?{external:!0,id:w}:void 0;if(Mt.has(w))return{external:!0,id:w,moduleSideEffects:!1};if(Me(w)){const j=w.replace(/^node:/,"");let O=j;return(r.builtinsPrefix==="add"||!Me(j))&&(O=`node:${j}`),{external:(r.builtins||f(w))&&!d(w),id:r.builtinsPrefix==="ignore"?w:O,moduleSideEffects:!1}}if(!be(w)||w.includes("?")||w.includes(" "))return;const[b]=it(w);if(s.has(b)&&!i.has(b)){if(f(w)&&!d(w))return;if(t?.forTypes)return t.dtsResolve&&c(b)?void 0:{external:!0,id:w,moduleSideEffects:!1};const j=await this.resolve(w,$,{skipSelf:!0,...M});if(!j)throw new Error(`Could not resolve "${w}" even though it's declared in package.json. Try re-installing node_modules.`);if(t?.forTypes){const O=Tt(b);i.has(O)&&!m.has(O)&&(m.add(O),e.logger.warn(`Recommendation: "${O}" is externalized but "${b}" is bundled (devDependencies). This may cause type mismatches for consumers. Consider moving "${b}" to dependencies or "${O}" to devDependencies.`))}return j}if(i.has(b)){if(t?.forTypes){const j=Tt(b);s.has(j)&&!m.has(j)&&(m.add(j),e.logger.warn(`Recommendation: "${j}" is bundled (devDependencies) but "${b}" is externalized. Place "${j}" in dependencies/peerDependencies as well so users don't have missing types.`))}return}if(!s.has(b)&&$&&!Ye($,o)&&!t?.skipUnlistedWarnings&&!C.has(b)&&(C.add(b),e.logger.warn(`"${b}" imported by "${$}" but not declared in package.json. Will be bundled to prevent failure at runtime.`)),t?.forTypes&&$&&gr($,o))return{external:!0,id:w,moduleSideEffects:!1}},order:"pre"}}},"externalsPlugin");var xr=Object.defineProperty,_e=k((e,t)=>xr(e,"name",{value:t,configurable:!0}),"l$a");const jr=_e(async e=>{try{const n=await pt(e);if(n.isFile())return e;if(n.isDirectory()){const i=T(e,"index.js");if(await le(i))return i;const s=T(e,"index.json");if(await le(s))return s}}catch{}const t=`${e}.js`;if(await le(t))return t;const o=`${e}.json`;if(await le(o))return o},"tryResolveImplicit"),kr=_e(async(e,t)=>{let o=e;const n=R("/");for(;o!==n&&o!==pe(o);){const i=T(o,"node_modules",t,"package.json");if(await le(i))return i;o=pe(o)}},"findPackageJson"),Fo=_e(e=>{const t=new Map,o=new Map,n=new Set;e.pkg.dependencies&&Object.keys(e.pkg.dependencies).forEach(s=>n.add(s)),e.pkg.peerDependencies&&Object.keys(e.pkg.peerDependencies).forEach(s=>n.add(s)),e.pkg.optionalDependencies&&Object.keys(e.pkg.optionalDependencies).forEach(s=>n.add(s));const i=_e(s=>n.has(s),"isExternalPackage");return{name:"packem:resolve-implicit-externals",async transform(s,r){if(r.includes("/node_modules/")||r.startsWith("\0"))return;const a=/\bfrom\s+['"`]([^'"`]+)['"`]/g,u=[];let c;for(;(c=a.exec(s))!==null;){const d=c[1];if(!d||!be(d))continue;const[g,h]=it(d);if(h&&g&&i(g)){const y=c.index+c[0].indexOf(d);u.push({importId:d,quoteEnd:y+d.length,quoteStart:y})}}if(u.length===0)return;const l=pe(r),p=(await Promise.all(u.map(async d=>{const[g,h]=it(d.importId);if(!h)return;const y=`${g}:${h}:${l}`,m=o.get(y);if(m!==void 0)return m?{...d,resolvedId:m}:void 0;const C=await kr(l,g);if(!C){o.set(y,void 0);return}let v=t.get(C);if(v===void 0)try{v=mo(C,{resolveCatalogs:!0}),t.set(C,v)}catch{t.set(C,void 0),o.set(y,void 0);return}if(!v){o.set(y,void 0);return}if(v.exports){o.set(y,void 0);return}const w=pe(C),$=T(w,h),M=await jr($);if(!M){o.set(y,void 0);return}const b=Q(w,M),j=`${g}/${b}`;return o.set(y,j),{...d,resolvedId:j}}))).filter(d=>d!==void 0);if(p.length===0)return;const f=new $i(s);for(const{quoteEnd:d,quoteStart:g,resolvedId:h}of p)f.overwrite(g,d,h),this.debug(`[resolve-implicit-externals] Rewriting ${s.slice(g,d)} -> ${h} in ${r}`);return{code:f.toString(),map:f.generateMap({hires:!0})}}}},"resolveImplicitExternalsPlugin");var Er=Object.defineProperty,G=k((e,t)=>Er(e,"name",{value:t,configurable:!0}),"p$6");const Ue=G(e=>!!e?.endsWith(".d"),"isDeclarationOnlyName"),At=G((e,t)=>t?o=>{if(!Ue(o.name))return`${o.name}.${e()}`}:o=>{if(!Ue(o.name))return De(o,e())},"createChunkFileNames"),Rt=G((e,t)=>t?o=>{const{name:n}=o;if(!Ue(n))return`${n??"[name]"}.${e(o)}`}:o=>{const{name:n}=o;if(!Ue(n))return fn(o,e(o))},"createEntryFileNames"),Sr=G((e,t)=>{let o=`node${Be.node.split(".")[0]}`;if(t.pkg.engines?.node){const n=So(t.pkg.engines.node);n&&(o=`node${n.major}`)}if(e==="esbuild"){if(!t.options.rollup.esbuild)throw new Error("No esbuild options found in your configuration.");if(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"),t.options.rollup.esbuild.target){const n=ht(t.options.rollup.esbuild.target);t.options.runtime==="node"?t.options.rollup.esbuild.target=[...new Set([o,...n])]:t.options.runtime==="browser"&&(t.options.rollup.esbuild.target=[...new Set([...Te(t.options.browserTargets??[]),...n])])}else t.options.rollup.esbuild.target=t.options.runtime==="node"?[o]:Te(t.options.browserTargets??[]);return t.options.minify||(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because minify is disabled")),t.tsconfig?.config.compilerOptions?.target==="es5"&&(t.options.rollup.esbuild.keepNames=!1,t.logger.debug("Disabling keepNames because target is set to es5")),{logger:t.logger,minify:t.options.minify,minifyWhitespace:t.options.minify,sourceMap:t.options.sourcemap,...t.options.rollup.esbuild}}if(e==="swc"){if(!t.options.rollup.swc)throw new Error("No swc options found in your configuration.");return{minify:t.options.minify,...t.options.rollup.swc,jsc:{minify:{compress:{directives:!1,passes:2},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}if(e==="oxc"){if(!t.options.rollup.oxc)throw new Error("No oxc options found in your configuration.");if(t.options.rollup.oxc={...t.options.rollup.oxc,cwd:t.options.rootDir,jsx:typeof t.options.rollup.oxc.jsx=="string"?t.options.rollup.oxc.jsx:t.options.rollup.oxc.jsx?{...t.options.rollup.oxc.jsx,refresh:!1}:void 0,sourcemap:t.options.sourcemap,typescript:t.tsconfig?.config?{allowDeclareFields:!0,allowNamespaces:!0,declaration:void 0,jsxPragma:t.tsconfig.config.compilerOptions?.jsxFactory,jsxPragmaFrag:t.tsconfig.config.compilerOptions?.jsxFragmentFactory,onlyRemoveTypeImports:!0,rewriteImportExtensions:!1}:void 0},t.options.rollup.oxc.target){const n=ht(t.options.rollup.oxc.target);t.options.runtime==="node"?t.options.rollup.oxc.target=[...new Set([o,...n])]:t.options.runtime==="browser"&&(t.options.rollup.oxc.target=[...new Set([...Te(t.options.browserTargets??[]),...n])])}else t.options.rollup.oxc.target=t.options.runtime==="node"?[o]:Te(t.options.browserTargets??[]);return t.options.rollup.oxc}throw new Error("A Unknown transformer was provided")},"getTransformerConfig"),Io=G(e=>{if(e.options.rollup.resolve&&e.options.experimental?.oxcResolve!==!0)return zn({...e.options.rollup.resolve});if(e.options.experimental?.oxcResolve&&e.options.rollup.experimental?.resolve)return ei(e.options.rollup.experimental.resolve,e.options.rootDir,e.logger,e.tsconfig?.path)},"createNodeResolver"),Wo=G((e,t)=>{if(e.code==="CIRCULAR_DEPENDENCY"&&/Circular dependency:[\s\S]*node_modules/.test(e.message))return!0;if(e.code==="UNRESOLVED_IMPORT"){const o=new Error(`Failed to resolve the module "${e.exporter}" imported by "${K(Q(R(),e.id))}"
|
|
10
10
|
Is the module installed? Note:
|
|
11
11
|
↳ to inline a module into your bundle, install it to "devDependencies".
|
|
12
12
|
↳ to depend on a module via import/require, install it to "dependencies".`);throw o.id=e.id,o}return e.code==="MODULE_LEVEL_DIRECTIVE"?!0:e.code==="MIXED_EXPORTS"&&t.options.cjsInterop===!0},"sharedOnWarn"),Jo=G((e,t)=>({input:Object.fromEntries(e.options.entries.map(o=>[o.name,R(e.options.rootDir,o.input)])),logLevel:e.options.debug?"debug":"info",onLog:G((o,n)=>{if(t==="dts"&&n.code==="EMPTY_BUNDLE")return;let i=n.message;if(n.stack&&(i=`${i}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/packem",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.75",
|
|
4
4
|
"description": "A fast and modern bundler for Node.js and TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"anolilab",
|
|
@@ -179,12 +179,12 @@
|
|
|
179
179
|
"@visulima/fs": "5.0.0-alpha.12",
|
|
180
180
|
"@visulima/humanizer": "3.0.0-alpha.11",
|
|
181
181
|
"@visulima/package": "5.0.0-alpha.11",
|
|
182
|
-
"@visulima/packem-rollup": "1.0.0-alpha.
|
|
183
|
-
"@visulima/packem-share": "1.0.0-alpha.
|
|
182
|
+
"@visulima/packem-rollup": "1.0.0-alpha.62",
|
|
183
|
+
"@visulima/packem-share": "1.0.0-alpha.43",
|
|
184
184
|
"@visulima/pail": "4.0.0-alpha.11",
|
|
185
185
|
"@visulima/path": "3.0.0-alpha.10",
|
|
186
|
-
"@visulima/rollup-plugin-css": "1.0.0-alpha.
|
|
187
|
-
"@visulima/rollup-plugin-dts": "1.0.0-alpha.
|
|
186
|
+
"@visulima/rollup-plugin-css": "1.0.0-alpha.42",
|
|
187
|
+
"@visulima/rollup-plugin-dts": "1.0.0-alpha.23",
|
|
188
188
|
"@visulima/tabular": "4.0.0-alpha.11",
|
|
189
189
|
"@visulima/tsconfig": "3.0.0-alpha.11",
|
|
190
190
|
"browserslist": "4.28.2",
|