@visulima/packem 1.24.0 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/cli/index.mjs +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## @visulima/packem [1.24.1](https://github.com/visulima/packem/compare/@visulima/packem@1.24.0...@visulima/packem@1.24.1) (2025-06-21)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* enable sourcemap when minify by default ([dccf21b](https://github.com/visulima/packem/commit/dccf21b8c10c8a010bb1eb30ed8f81fc725086bd))
|
|
6
|
+
|
|
1
7
|
## @visulima/packem [1.24.0](https://github.com/visulima/packem/compare/@visulima/packem@1.23.1...@visulima/packem@1.24.0) (2025-06-21)
|
|
2
8
|
|
|
3
9
|
### Features
|
package/dist/cli/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
|
|
|
5
5
|
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __cjs_path__.dirname(__filename);
|
|
7
7
|
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
8
|
-
const Yn="@visulima/packem",Xn="1.
|
|
8
|
+
const Yn="@visulima/packem",Xn="1.24.0";var Qn=Object.defineProperty,Zn=h((e,t)=>Qn(e,"name",{value:t,configurable:!0}),"t$e");const Li=Zn(async(e,t="")=>{let i=t;if(!i){const o=["packem.config.js","packem.config.mjs","packem.config.cjs","packem.config.ts","packem.config.cts","packem.config.mts"];for(const n of o)if(await Xe(j(e,n))){i=`./${n}`;break}}if(!/\.(?:js|mjs|cjs|ts|cts|mts)$/.test(i))throw new Error("Invalid packem config file extension. Only .js, .mjs, .cjs, .ts, .cts and .mts extensions are allowed.");return i},"findPackemFile"),Ji={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","icss-utils"],sass:["sass"],"sass-embedded":["sass-embedded"],stylus:["stylus"]};var ea=Object.defineProperty,qt=h((e,t)=>ea(e,"name",{value:t,configurable:!0}),"g$7");const ta=["typedoc","typedoc-plugin-markdown","typedoc-plugin-rename-defaults"],ia=qt(e=>{e.addCommand({argument:{description:"Add a packem feature to your project",name:"feature",required:!0},description:"Add a optional packem feature to your project",execute:qt(async({argument:t,logger:i,options:o})=>{const n=xt(),s=S(Et(),o.dir??".");let a;try{a=await Li(s,o.config)}catch{i.error("Could not find a packem config file, please run `packem init` first.");return}const c=await Ce(a,{buffer:!1});let l="cjs";c.includes("import")&&(l="esm");const r=new L(c),p=" transformer,";let u=" transformer";if(c.includes(" transformer,")&&(u=" transformer,"),t.includes("typedoc")){if(c.includes("typedoc: typedocBuilder")||c.includes("@visulima/packem/builder/typedoc")){i.warn("Typedoc has already been added to the packem config.");return}l==="cjs"?r.prepend(`const typedocBuilder = require("@visulima/packem/builder/typedoc");
|
|
9
9
|
`):r.prepend(`import typedocBuilder from "@visulima/packem/builder/typedoc";
|
|
10
10
|
`),c.includes("builder: {")?r.replace("builder: {",`builder: {
|
|
11
11
|
typedoc: typedocBuilder,
|
|
@@ -182,7 +182,7 @@ To mitigate this, you should set the isolatedModules option to true in tsconfig
|
|
|
182
182
|
`)}},"runBuilder"),w=q(async()=>{if(f!==void 0)await qp({pid:f.pid,signal:s.killSignal??"SIGTERM"});else if(g!==void 0)try{await g()}catch(E){throw new Error(`onSuccess function cleanup failed: ${E.message}`,{cause:E})}f=void 0,g=void 0},"doOnSuccessCleanup"),y=q(async()=>{if(typeof m.options.onSuccess=="function")try{g=await m.options.onSuccess()}catch(E){throw new Error(`onSuccess function failed: ${E.message}`,{cause:E})}else if(typeof m.options.onSuccess=="string"){const E=m.options.onSuccessTimeout??3e4;if(f=on(m.options.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit",timeout:E}}),await f,f.exitCode&&f.exitCode!==0)throw new Error(`onSuccess script failed with exit code ${f.exitCode}. Check the output above for details.`)}},"runOnsuccess"),$=Date.now(),k=q(()=>Ft(Math.floor(Date.now()-$)),"getDuration");if(t==="watch"){if(m.options.rollup.watch===!1)throw new Error("Rollup watch is disabled. You should check your packem config.");await Ep(m,x,b,y,w),xi(m,!1);return}await Pp(m),t==="jit"?(await Ba(m),await m.hooks.callHook("build:done",m)):(d=await Bc(m,x),m.options.emitCJS&&m.options.declaration==="compatible"&&m.options.rollup.node10Compatibility&&(d&&m.logger.raw(`
|
|
183
183
|
`),await Uc(m.logger,m.options.entries,m.options.outDir,m.options.rootDir,m.options.rollup.node10Compatibility.writeToPackageJson?"file":"console",m.options.rollup.node10Compatibility.typeScriptVersion??"*")),await m.hooks.callHook("validate:before",m),typeof m.options.validation=="object"&&(m.options.validation.packageJson&&hc(m),m.options.validation.bundleLimit&&jc(m,d)),await m.hooks.callHook("validate:done",m),xi(m,d)),m.logger.raw(`
|
|
184
184
|
⚡️ Build run in ${k()}`),await b(),await y(),Ae.on("SIGINT",async()=>{await w()}),Ae.on("SIGTERM",async()=>{await w()})}catch(m){throw o.raw(`
|
|
185
|
-
`),Ui(m),m}finally{o.restoreAll(),await Gp(u,o,d)}},"packem");var Qc=Object.defineProperty,ke=h((e,t)=>Qc(e,"name",{value:t,configurable:!0}),"r");const Zc=ke(e=>{e.addCommand({description:"Demonstrate options required",execute:ke(async({logger:t,options:i})=>{let o="build";i.watch?o="watch":i.jit&&(o="jit");const n={};let s;if(i.env)for(const d of i.env)d.key==="NODE_ENV"?s=d.value:n[`process.env.${d.key}`]=JSON.stringify(d.value);s===void 0&&(i.production?s=oe:i.development&&(s=We));const a=[];if(i.external)for(const d of i.external)a.push(d.split(","));const c=S(Et(),i.dir??"."),l=Di(c,{debug:i.debug}),{config:r,path:p}=await aa(l,c,s,o,i.config??void 0);t.debug("Using packem config found at",p);const u=await Ea(r.preset??"auto",l);try{await Xc(c,o,s,t,i.debug,Pi(r,u,{analyze:i.analyze,cjsInterop:i.cjsInterop,clean:i.clean,dtsOnly:i.dtsOnly,externals:a,killSignal:i.killSignal,minify:i.minify===void 0?s===oe:i.minify,onSuccess:i.onSuccess,rollup:{esbuild:{target:i.target},license:{path:i.license},metafile:i.metafile,replace:{values:n},resolveExternals:i.noExternal?{builtins:!1,deps:!1,devDeps:!1,optDeps:!1,peerDeps:!1}:{}},runtime:i.runtime,sourcemap:i.metafile||i.analyze||i.sourcemap,validation:i.validation===!1?!1:{},...i.typedoc?{typedoc:{format:"html"}}:{}}),i.tsconfig??void 0)}catch(d){t.error(d),Ro(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:ke(t=>{const[i,o]=t.split("=");return{key:i,value:o}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean},{description:"Do not clean the dist directory before building",name:"no-clean",type:Boolean},{description:"Only generate .d.ts files",name:"dts-only",type:Boolean},{description:"Enable or disable the output validation",name:"no-validation",type:Boolean},{description:"Generate type documentation",name:"typedoc",type:Boolean},{description:"Execute command after successful build, specially useful for watch mode",name:"onSuccess",type:String},{description:'Signal to kill child process, "SIGTERM" or "SIGKILL"',name:"killSignal",type:ke(t=>{if(t==="SIGTERM"||t==="SIGKILL")return t;throw new Error("Invalid kill signal. Use 'SIGTERM' or 'SIGKILL'.")},"type")},{description:"Specify an external dependency, separate by comma (eg. --external lodash,react,react-dom)",multiple:!0,name:"external",typeLabel:"string[]"},{description:"do not bundle external dependencies",name:"no-external",type:Boolean},{description:"Specify the build runtime (nodejs, browser).",name:"runtime",type:ke(t=>{if(t==="node"||t==="browser")return t;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")}]})},"createBuildCommand");var ed=Object.defineProperty,je=h((e,t)=>ed(e,"name",{value:t,configurable:!0}),"f");const td=je(e=>{e.addCommand({description:"Initialize packem configuration",execute:je(async({logger:t,options:i})=>{if(Lo("Welcome to packem setup"),R(j(i.dir,"packem.config.ts"))){t.info("Packem project already initialized, you can use `packem build` to build your project");return}const o=S(Et(),i.dir??"."),n=j(o,"package.json");if(!R(n))throw new Error("No package.json found in the directory");const s=Mi(n),a=[];s.dependencies&&a.push(...Object.keys(s.dependencies)),s.devDependencies&&a.push(...Object.keys(s.devDependencies));const c=!!(s.devDependencies?.typescript??s.dependencies?.typescript),l=[];if(i.typescript===void 0&&!c?(i.typescript=await V({message:"Do you want to install TypeScript?"}),i.typescript&&l.push("typescript@latest")):_t.message(`TypeScript version ${s.devDependencies?.typescript??s.dependencies?.typescript} is already installed`),!R(j(o,"tsconfig.json"))){const v=await V({message:"Do you want to use generate a tsconfig.json?"}),x=await V({message:"Do you want to run your code in the DOM?"});if(v){const m=xt();m.start("Generating tsconfig.json"),Si(j(o,"tsconfig.json"),{compilerOptions:{esModuleInterop:!0,skipLibCheck:!0,target:"es2022",allowJs:!0,resolveJsonModule:!0,moduleDetection:"force",isolatedModules:!0,verbatimModuleSyntax:!0,strict:!0,noUncheckedIndexedAccess:!0,noImplicitOverride:!0,module:"NodeNext",outDir:"dist",sourceMap:!0,declaration:!0,lib:x?["es2022","dom","dom.iterable"]:["es2022"]}}),m.stop("")}}if(i.runtime===void 0&&(i.runtime=await ee({message:"Pick a build runtime",options:[{label:"Node",value:"node"},{label:"Browser",value:"browser"}]})),a.includes("esbuild")?i.transformer="esbuild":a.includes("@swc/core")?i.transformer="swc":a.includes("sucrase")&&(i.transformer="sucrase"),i.transformer===void 0?(i.transformer=await ee({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"},{label:"OXC",value:"oxc"}]}),i.transformer&&i.transformer!=="oxc"&&!a.includes(i.transformer)&&await V({message:`Do you want to install ${i.transformer}?`})&&l.push(i.transformer==="swc"?"@swc/core":i.transformer)):_t.message(`Transformer ${i.transformer} is already installed.`),i.isolatedDeclarationTransformer===void 0&&(i.isolatedDeclarationTransformer=await V({message:"Do you want to use an isolated declaration types?",initialValue:!1})),i.isolatedDeclarationTransformer===void 0&&(i.isolatedDeclarationTransformer=await ee({message:"Pick a isolated declaration transformer",options:[{label:"Typescript",value:"typescript"},{label:"swc",value:"swc"},{label:"OXC",value:"oxc"},{label:"None",value:void 0}]}),i.isolatedDeclarationTransformer!==void 0)){let v;switch(i.isolatedDeclarationTransformer){case"oxc":{v="oxc-transform";break}case"swc":{v="@swc/core";break}case"typescript":{v="typescript";break}default:Jo("Invalid isolated declaration transformer")}v!==void 0&&!a.includes(v)&&await V({message:`Do you want to install ${v}?`})&&l.push(v)}i.css===void 0&&(i.css=await V({message:"Do you want to use css in your project?",initialValue:!1}));const r=[];if(i.css){const v=await ee({message:"Pick a css loader",options:[{label:"PostCSS",value:"postcss"},{hint:"experimental",label:"Lightning CSS",value:"lightningcss"}]});r.push(v);let x=await ji({message:"Pick your loaders",options:[{label:"Sass",value:"sass"},{label:"Stylus",value:"stylus"},{label:"Less",value:"less"}],required:!1});if(x.includes("sass")){const m=await ee({message:"Pick a sass loader",options:[{label:"Sass embedded",value:"sass-embedded",hint:"recommended"},{label:"Sass",value:"sass"},{label:"Node Sass",value:"node-sass",hint:"legacy"}]});m!=="sass"&&(x=x.filter(b=>b!=="sass"),x.push(m))}if(r.push(...x),await V({message:`Do you want to install "${r.join('", "')}"?`}))for(const m of r)l.push(...Ji[m]);r.push("sourceMap")}i.cssMinifier===void 0&&(i.cssMinifier=await V({message:"Do you want to minify your css?",initialValue:!1}));let p;i.cssMinifier&&(p=await ee({message:"Pick a css minifier",options:[{label:"CSSNano",value:"cssnano"},{label:"Lightning CSS",value:"lightningcss"}]}),r.includes("lightningcss")||await V({message:`Do you want to install "${p}"?`})&&l.push(p));let u="",d="";if(i.isolatedDeclarationTransformer&&(d+=`,
|
|
185
|
+
`),Ui(m),m}finally{o.restoreAll(),await Gp(u,o,d)}},"packem");var Qc=Object.defineProperty,ke=h((e,t)=>Qc(e,"name",{value:t,configurable:!0}),"r");const Zc=ke(e=>{e.addCommand({description:"Demonstrate options required",execute:ke(async({logger:t,options:i})=>{let o="build";i.watch?o="watch":i.jit&&(o="jit");const n={};let s;if(i.env)for(const d of i.env)d.key==="NODE_ENV"?s=d.value:n[`process.env.${d.key}`]=JSON.stringify(d.value);s===void 0&&(i.production?s=oe:i.development&&(s=We));const a=[];if(i.external)for(const d of i.external)a.push(d.split(","));const c=S(Et(),i.dir??"."),l=Di(c,{debug:i.debug}),{config:r,path:p}=await aa(l,c,s,o,i.config??void 0);t.debug("Using packem config found at",p);const u=await Ea(r.preset??"auto",l);i.minify&&i.sourcemap===void 0&&(i.sourcemap=!0);try{await Xc(c,o,s,t,i.debug,Pi(r,u,{analyze:i.analyze,cjsInterop:i.cjsInterop,clean:i.clean,dtsOnly:i.dtsOnly,externals:a,killSignal:i.killSignal,minify:i.minify===void 0?s===oe:i.minify,onSuccess:i.onSuccess,rollup:{esbuild:{target:i.target},license:{path:i.license},metafile:i.metafile,replace:{values:n},resolveExternals:i.noExternal?{builtins:!1,deps:!1,devDeps:!1,optDeps:!1,peerDeps:!1}:{}},runtime:i.runtime,sourcemap:i.metafile||i.analyze||i.sourcemap,validation:i.validation===!1?!1:{},...i.typedoc?{typedoc:{format:"html"}}:{}}),i.tsconfig??void 0)}catch(d){t.error(d),Ro(1)}},"execute"),name:"build",options:[{defaultValue:".",description:"The directory to build",name:"dir",type:String},{alias:"t",description:"Environments to support. `target` in tsconfig.json is automatically added. Defaults to the current Node.js version.",name:"target"},{description:"Use a custom config file",name:"config",type:String},{description:"Path to the tsconfig.json file",name:"tsconfig",type:String},{description:"Minify the output",name:"minify",type:Boolean},{description:"Generate sourcemaps (experimental)",name:"sourcemap",type:Boolean},{conflicts:"jit",description:"Watch for changes",name:"watch",type:Boolean},{conflicts:"watch",description:"Stub the package for JIT compilation",name:"jit",type:Boolean},{description:"Compile-time environment variables (eg. --env.NODE_ENV=production)",multiple:!0,name:"env",type:ke(t=>{const[i,o]=t.split("=");return{key:i,value:o}},"type")},{defaultValue:!1,description:"Generate meta file (experimental)",name:"metafile",type:Boolean},{description:"Path to the license file",name:"license",type:String},{conflicts:"watch",description:"Visualize and analyze the bundle",name:"analyze",type:Boolean},{description:"CJS interop mode, can export default and named export, (experimental).",name:"cjsInterop",type:Boolean},{conflicts:"development",description:"Run code in production environment",name:"production",type:Boolean},{conflicts:"production",description:"Run code in development environment",name:"development",type:Boolean},{description:"Do not clean the dist directory before building",name:"no-clean",type:Boolean},{description:"Only generate .d.ts files",name:"dts-only",type:Boolean},{description:"Enable or disable the output validation",name:"no-validation",type:Boolean},{description:"Generate type documentation",name:"typedoc",type:Boolean},{description:"Execute command after successful build, specially useful for watch mode",name:"onSuccess",type:String},{description:'Signal to kill child process, "SIGTERM" or "SIGKILL"',name:"killSignal",type:ke(t=>{if(t==="SIGTERM"||t==="SIGKILL")return t;throw new Error("Invalid kill signal. Use 'SIGTERM' or 'SIGKILL'.")},"type")},{description:"Specify an external dependency, separate by comma (eg. --external lodash,react,react-dom)",multiple:!0,name:"external",typeLabel:"string[]"},{description:"do not bundle external dependencies",name:"no-external",type:Boolean},{description:"Specify the build runtime (nodejs, browser).",name:"runtime",type:ke(t=>{if(t==="node"||t==="browser")return t;throw new Error("Invalid runtime. Use 'node' or 'browser'.")},"type")}]})},"createBuildCommand");var ed=Object.defineProperty,je=h((e,t)=>ed(e,"name",{value:t,configurable:!0}),"f");const td=je(e=>{e.addCommand({description:"Initialize packem configuration",execute:je(async({logger:t,options:i})=>{if(Lo("Welcome to packem setup"),R(j(i.dir,"packem.config.ts"))){t.info("Packem project already initialized, you can use `packem build` to build your project");return}const o=S(Et(),i.dir??"."),n=j(o,"package.json");if(!R(n))throw new Error("No package.json found in the directory");const s=Mi(n),a=[];s.dependencies&&a.push(...Object.keys(s.dependencies)),s.devDependencies&&a.push(...Object.keys(s.devDependencies));const c=!!(s.devDependencies?.typescript??s.dependencies?.typescript),l=[];if(i.typescript===void 0&&!c?(i.typescript=await V({message:"Do you want to install TypeScript?"}),i.typescript&&l.push("typescript@latest")):_t.message(`TypeScript version ${s.devDependencies?.typescript??s.dependencies?.typescript} is already installed`),!R(j(o,"tsconfig.json"))){const v=await V({message:"Do you want to use generate a tsconfig.json?"}),x=await V({message:"Do you want to run your code in the DOM?"});if(v){const m=xt();m.start("Generating tsconfig.json"),Si(j(o,"tsconfig.json"),{compilerOptions:{esModuleInterop:!0,skipLibCheck:!0,target:"es2022",allowJs:!0,resolveJsonModule:!0,moduleDetection:"force",isolatedModules:!0,verbatimModuleSyntax:!0,strict:!0,noUncheckedIndexedAccess:!0,noImplicitOverride:!0,module:"NodeNext",outDir:"dist",sourceMap:!0,declaration:!0,lib:x?["es2022","dom","dom.iterable"]:["es2022"]}}),m.stop("")}}if(i.runtime===void 0&&(i.runtime=await ee({message:"Pick a build runtime",options:[{label:"Node",value:"node"},{label:"Browser",value:"browser"}]})),a.includes("esbuild")?i.transformer="esbuild":a.includes("@swc/core")?i.transformer="swc":a.includes("sucrase")&&(i.transformer="sucrase"),i.transformer===void 0?(i.transformer=await ee({message:"Pick a transformer",options:[{label:"esbuild",value:"esbuild"},{label:"swc",value:"swc"},{label:"Sucrase",value:"sucrase"},{label:"OXC",value:"oxc"}]}),i.transformer&&i.transformer!=="oxc"&&!a.includes(i.transformer)&&await V({message:`Do you want to install ${i.transformer}?`})&&l.push(i.transformer==="swc"?"@swc/core":i.transformer)):_t.message(`Transformer ${i.transformer} is already installed.`),i.isolatedDeclarationTransformer===void 0&&(i.isolatedDeclarationTransformer=await V({message:"Do you want to use an isolated declaration types?",initialValue:!1})),i.isolatedDeclarationTransformer===void 0&&(i.isolatedDeclarationTransformer=await ee({message:"Pick a isolated declaration transformer",options:[{label:"Typescript",value:"typescript"},{label:"swc",value:"swc"},{label:"OXC",value:"oxc"},{label:"None",value:void 0}]}),i.isolatedDeclarationTransformer!==void 0)){let v;switch(i.isolatedDeclarationTransformer){case"oxc":{v="oxc-transform";break}case"swc":{v="@swc/core";break}case"typescript":{v="typescript";break}default:Jo("Invalid isolated declaration transformer")}v!==void 0&&!a.includes(v)&&await V({message:`Do you want to install ${v}?`})&&l.push(v)}i.css===void 0&&(i.css=await V({message:"Do you want to use css in your project?",initialValue:!1}));const r=[];if(i.css){const v=await ee({message:"Pick a css loader",options:[{label:"PostCSS",value:"postcss"},{hint:"experimental",label:"Lightning CSS",value:"lightningcss"}]});r.push(v);let x=await ji({message:"Pick your loaders",options:[{label:"Sass",value:"sass"},{label:"Stylus",value:"stylus"},{label:"Less",value:"less"}],required:!1});if(x.includes("sass")){const m=await ee({message:"Pick a sass loader",options:[{label:"Sass embedded",value:"sass-embedded",hint:"recommended"},{label:"Sass",value:"sass"},{label:"Node Sass",value:"node-sass",hint:"legacy"}]});m!=="sass"&&(x=x.filter(b=>b!=="sass"),x.push(m))}if(r.push(...x),await V({message:`Do you want to install "${r.join('", "')}"?`}))for(const m of r)l.push(...Ji[m]);r.push("sourceMap")}i.cssMinifier===void 0&&(i.cssMinifier=await V({message:"Do you want to minify your css?",initialValue:!1}));let p;i.cssMinifier&&(p=await ee({message:"Pick a css minifier",options:[{label:"CSSNano",value:"cssnano"},{label:"Lightning CSS",value:"lightningcss"}]}),r.includes("lightningcss")||await V({message:`Do you want to install "${p}"?`})&&l.push(p));let u="",d="";if(i.isolatedDeclarationTransformer&&(d+=`,
|
|
186
186
|
isolatedDeclarationTransformer`),(i.css||i.cssMinifier)&&(d+=`,
|
|
187
187
|
rollup: {
|
|
188
188
|
css: {`),i.css){const v=r.map(x=>((x==="sass-embedded"||x==="node-sass")&&(x="sass"),`${x}Loader`)).join(", ");d+=`
|