@tailwindcss/upgrade 0.0.0-insiders.ec1d7d4 → 0.0.0-insiders.f014108
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/dist/index.mjs +2 -2
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -236,6 +236,6 @@ ${a.stdout}
|
|
|
236
236
|
${a.stderr}`,{prefix:"\u21B3 "}),a}},async remove(t){let n=`${await Xi.get(e)} remove ${t.join(" ")}`;try{return await Yi(n,{cwd:e})}catch(i){throw T(`An error occurred while running \`${n}\`
|
|
237
237
|
|
|
238
238
|
${i.stdout}
|
|
239
|
-
${i.stderr}`,{prefix:"\u21B3 "}),i}}}}var Zi=!1,Xi=new k(async e=>{do{let t=ke(e,"package.json");try{let n=await we.readFile(t,"utf-8"),i=JSON.parse(n);if(i.packageManager){if(i.packageManager.includes("bun"))return"bun";if(i.packageManager.includes("yarn"))return"yarn";if(i.packageManager.includes("pnpm"))return"pnpm";if(i.packageManager.includes("npm"))return"npm"}}catch{}try{return await we.access(ke(e,"bun.lockb")),"bun"}catch{}try{return await we.access(ke(e,"bun.lock")),"bun"}catch{}try{return await we.access(ke(e,"pnpm-lock.yaml")),"pnpm"}catch{}try{return await we.access(ke(e,"yarn.lock")),"yarn"}catch{}try{return await we.access(ke(e,"package-lock.json")),"npm"}catch{}let r=e;if(e=Jl(e),r===e)return Zi||(Zi=!0,Ie("Could not detect a package manager. Please manually update `tailwindcss` to v4.")),Promise.reject("No package manager detected")}while(!0)});async function tn(e){let t=!1,r=!1,n=!1,i=!1,l=!1,a=Ft.resolve(e,"package.json"),s;try{s=JSON.parse(await G.readFile(a,"utf-8"))}catch{}let o=await Zl(e);if(o){let u=await Yl(o);t=!0,u&&(r=!0,n=u.didAddPostcssClient,i=u.didRemoveAutoprefixer,l=u.didRemovePostCSSImport)}if(!t&&s&&"postcss"in s){let u=await en(s.postcss);t=!0,u&&(await G.writeFile(a,JSON.stringify({...s,postcss:u?.json},null,2)),r=!0,n=u.didAddPostcssClient,i=u.didRemoveAutoprefixer,l=u.didRemovePostCSSImport)}if(!t){let u=await ea(e),c=null;if(u){try{c=JSON.parse(await G.readFile(u,"utf-8"))}catch{}if(c){let f=await en(c);t=!0,f&&(await G.writeFile(u,JSON.stringify(f.json,null,2)),r=!0,n=f.didAddPostcssClient,i=f.didRemoveAutoprefixer,l=f.didRemovePostCSSImport)}}}if(!t){I("No PostCSS config found, skipping migration.",{prefix:"\u21B3 "});return}if(n){let u=Object.hasOwn(s?.dependencies??{},"tailwindcss")?"dependencies":Object.hasOwn(s?.devDependencies??{},"tailwindcss")?"devDependencies":null;if(u!==null)try{await se(e).add(["@tailwindcss/postcss@
|
|
239
|
+
${i.stderr}`,{prefix:"\u21B3 "}),i}}}}var Zi=!1,Xi=new k(async e=>{do{let t=ke(e,"package.json");try{let n=await we.readFile(t,"utf-8"),i=JSON.parse(n);if(i.packageManager){if(i.packageManager.includes("bun"))return"bun";if(i.packageManager.includes("yarn"))return"yarn";if(i.packageManager.includes("pnpm"))return"pnpm";if(i.packageManager.includes("npm"))return"npm"}}catch{}try{return await we.access(ke(e,"bun.lockb")),"bun"}catch{}try{return await we.access(ke(e,"bun.lock")),"bun"}catch{}try{return await we.access(ke(e,"pnpm-lock.yaml")),"pnpm"}catch{}try{return await we.access(ke(e,"yarn.lock")),"yarn"}catch{}try{return await we.access(ke(e,"package-lock.json")),"npm"}catch{}let r=e;if(e=Jl(e),r===e)return Zi||(Zi=!0,Ie("Could not detect a package manager. Please manually update `tailwindcss` to v4.")),Promise.reject("No package manager detected")}while(!0)});async function tn(e){let t=!1,r=!1,n=!1,i=!1,l=!1,a=Ft.resolve(e,"package.json"),s;try{s=JSON.parse(await G.readFile(a,"utf-8"))}catch{}let o=await Zl(e);if(o){let u=await Yl(o);t=!0,u&&(r=!0,n=u.didAddPostcssClient,i=u.didRemoveAutoprefixer,l=u.didRemovePostCSSImport)}if(!t&&s&&"postcss"in s){let u=await en(s.postcss);t=!0,u&&(await G.writeFile(a,JSON.stringify({...s,postcss:u?.json},null,2)),r=!0,n=u.didAddPostcssClient,i=u.didRemoveAutoprefixer,l=u.didRemovePostCSSImport)}if(!t){let u=await ea(e),c=null;if(u){try{c=JSON.parse(await G.readFile(u,"utf-8"))}catch{}if(c){let f=await en(c);t=!0,f&&(await G.writeFile(u,JSON.stringify(f.json,null,2)),r=!0,n=f.didAddPostcssClient,i=f.didRemoveAutoprefixer,l=f.didRemovePostCSSImport)}}}if(!t){I("No PostCSS config found, skipping migration.",{prefix:"\u21B3 "});return}if(n){let u=Object.hasOwn(s?.dependencies??{},"tailwindcss")?"dependencies":Object.hasOwn(s?.devDependencies??{},"tailwindcss")?"devDependencies":null;if(u!==null)try{await se(e).add(["@tailwindcss/postcss@next"],u),N(`Installed package: ${v("@tailwindcss/postcss")}`,{prefix:"\u21B3 "})}catch{}}if(i)try{await se(e).remove(["autoprefixer"]),N(`Removed package: ${v("autoprefixer")}`,{prefix:"\u21B3 "})}catch{}if(l)try{await se(e).remove(["postcss-import"]),N(`Removed package: ${v("postcss-import")}`,{prefix:"\u21B3 "})}catch{}r&&o&&N(`Migrated PostCSS configuration: ${v(O(o,e))}`,{prefix:"\u21B3 "})}async function Yl(e){function t(p){return/['"]?tailwindcss['"]?\: ?\{\}/.test(p)}function r(p){return/['"]?postcss-import['"]?\: ?\{\}/.test(p)}function n(p){return/['"]?autoprefixer['"]?\: ?\{\}/.test(p)}function i(p){return/['"]tailwindcss\/nesting['"]\: ?(\{\}|['"]postcss-nesting['"])/.test(p)}if(I("Migrating PostCSS configuration\u2026"),!await ta(e))return Ie("The PostCSS config contains dynamic JavaScript and can not be automatically migrated.",{prefix:"\u21B3 "}),null;let a=!1,s=!1,o=!1,c=(await G.readFile(e,"utf-8")).split(`
|
|
240
240
|
`),f=[];for(let p=0;p<c.length;p++){let d=c[p];if(t(d))a=!0,f.push(d.replace("tailwindcss:","'@tailwindcss/postcss':"));else if(n(d))s=!0;else if(r(d)){let m=!1;for(let h=p+1;h<c.length;h++){let g=c[h];if(t(g))break;if(!i(g)){m=!0;break}}m?f.push(d):o=!0}else if(i(d)){let m=c[p+1];t(m)||f.push(d)}else f.push(d)}return await G.writeFile(e,f.join(`
|
|
241
|
-
`)),{didAddPostcssClient:a,didRemoveAutoprefixer:s,didRemovePostCSSImport:o}}async function en(e){function t(c,f){return c==="tailwindcss"&&nt(f)}function r(c,f){return c==="postcss-import"&&nt(f)}function n(c,f){return c==="autoprefixer"&&nt(f)}function i(c,f){return c==="tailwindcss/nesting"&&(f==="postcss-nesting"||nt(f))}let l=!1,a=!1,s=!1,o=Object.entries(e.plugins||{}),u=[];for(let c=0;c<o.length;c++){let[f,p]=o[c];if(t(f,p))l=!0,u.push(["@tailwindcss/postcss",p]);else if(n(f,p))a=!0;else if(r(f,p)){let d=!1;for(let m=c+1;m<o.length;m++){let[h,g]=o[m];if(t(h,g))break;if(!i(h,g)){d=!0;break}}d?u.push([f,p]):s=!0}else if(i(f,p)){let[d,m]=o[c+1];t(d,m)||u.push([f,p])}else u.push([f,p])}return{json:{...e,plugins:Object.fromEntries(u)},didAddPostcssClient:l,didRemoveAutoprefixer:a,didRemovePostCSSImport:s}}var Ql=[".postcssrc.js",".postcssrc.mjs",".postcssrc.cjs",".postcssrc.ts",".postcssrc.mts",".postcssrc.cts","postcss.config.js","postcss.config.mjs","postcss.config.cjs","postcss.config.ts","postcss.config.mts","postcss.config.cts"];async function Zl(e){for(let t of Ql){let r=Ft.resolve(e,t);try{return await G.access(r),r}catch{}}return null}var Xl=[".postcssrc",".postcssrc.json"];async function ea(e){for(let t of Xl){let r=Ft.resolve(e,t);try{return await G.access(r),r}catch{}}return null}async function ta(e){let t=await G.readFile(e,"utf-8");return t.includes("tailwindcss:")&&!(t.includes("require")||t.includes("import "))}function nt(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}import ra from"node:fs/promises";import ia from"node:path";async function rn(e){let t=ia.resolve(e,"package.json");try{(await ra.readFile(t,"utf-8")).includes("prettier-plugin-tailwindcss")&&(await se(e).add(["prettier-plugin-tailwindcss@latest"]),N(`Updated package: ${v("prettier-plugin-tailwindcss")}`,{prefix:"\u21B3 "}))}catch{}}import na from"mri";function on(e,t=process.argv.slice(2)){let r=na(t),n={_:r._};for(let[i,{type:l,alias:a,default:s=l==="boolean"?!1:null}]of Object.entries(e)){if(n[i]=s,a){let o=a.slice(1);r[o]!==void 0&&(n[i]=nn(r[o],l))}{let o=i.slice(2);r[o]!==void 0&&(n[i]=nn(r[o],l))}}return n}function nn(e,t){switch(t){case"string":return at(e);case"boolean":return ot(e);case"number":return lt(e);case"boolean | string":return ot(e)??at(e);case"number | string":return lt(e)??at(e);case"boolean | number":return ot(e)??lt(e);case"boolean | number | string":return ot(e)??lt(e)??at(e);default:throw new Error(`Unhandled type: ${t}`)}}function ot(e){if(e===!0||e===!1)return e;if(e==="true")return!0;if(e==="false")return!1}function lt(e){if(typeof e=="number")return e;{let t=Number(e);if(!Number.isNaN(t))return t}}function at(e){return`${e}`}import{execSync as oa}from"node:child_process";function Lt(){try{return oa("git status --porcelain",{encoding:"utf-8"}).trim()!==""}catch(e){return!e?.toString?.().includes("not a git repository")}}import{normalizePath as la}from"@tailwindcss/node";import aa from"braces";import Mt from"node:path";function ln(e){return aa(e.pattern,{expand:!0}).map(t=>{let r={...e},[n,i]=sa(t),l=la(e.base);n!==null?r.base=Mt.posix.join(l,n):r.base=l,i===null?r.pattern="**/*":r.pattern=i;let a=Mt.basename(r.base);return a.includes(".")&&(r.pattern=a,r.base=Mt.dirname(r.base)),r})}function sa(e){if(!e.includes("*"))return[e,null];let t=null;for(let i=0;i<e.length;i++){let l=e[i];if(l==="/"&&(t=i),l==="*"||l==="!")break}if(t===null)return[null,e];let r=e.slice(0,t).trim(),n=e.slice(t+1).trim();return[r||null,n||null]}import ua from"node:fs/promises";async function an(e,t){try{let r=Zt(`${e}/package.json`,t);if(!r)return null;let{version:n}=JSON.parse(await ua.readFile(r,"utf8"));return n}catch{return null}}var cn={"--config":{type:"string",description:"Path to the configuration file",alias:"-c"},"--help":{type:"boolean",description:"Display usage information",alias:"-h"},"--force":{type:"boolean",description:"Force the migration",alias:"-f"},"--version":{type:"boolean",description:"Display the version number",alias:"-v"}},st=on(cn);st["--help"]&&(tr({usage:["npx @tailwindcss/upgrade"],options:cn}),process.exit(0));async function pa(){let e=process.cwd();Q(Oe()),Q();let t=[];st["--force"]||Lt()&&(T("Git directory is not clean. Please stash or commit your changes before migrating."),I(`You may use the ${v("--force")} flag to silence this warning and perform the migration.`),process.exit(1));let r=await an("tailwindcss",e);r&&Number(r.split(".")[0])!==3&&(T(`Tailwind CSS v${r} found. The migration tool can only be run on v3 projects.`),process.exit(1));{let n=st._.map(o=>ca.resolve(e,o));n.length===0&&(I("Searching for CSS files in the current directory and its subdirectories\u2026"),n=await sn(["**/*.css"],{absolute:!0,gitignore:!0})),n=n.filter(o=>o.endsWith(".css"));let i=await Promise.allSettled(n.map(o=>ie.load(o)));for(let o of i)o.status==="rejected"&&T(`${o.reason?.message??o.reason}`,{prefix:"\u21B3 "});let l=i.filter(o=>o.status==="fulfilled").map(o=>o.value);try{await Ii(l)}catch(o){T(`${o?.message??o}`,{prefix:"\u21B3 "})}try{await Ui(l,{configPath:st["--config"],base:e})}catch(o){T(`${o?.message??o}`,{prefix:"\u21B3 "})}l.some(o=>o.isTailwindRoot)&&I("Migrating JavaScript configuration files\u2026");let a=new Map,s=new Map;for(let o of l){if(!o.isTailwindRoot)continue;let u=await Oi(o.linkedConfigPath,{base:e});a.set(o,u);let c=await Gi(u.designSystem,u.configFilePath,e);s.set(o,c),c!==null&&t.push(()=>un.rm(u.configFilePath)),c!==null&&N(`Migrated configuration file: ${v(O(u.configFilePath,e))}`,{prefix:"\u21B3 "})}a.size>0&&I("Migrating templates\u2026");for(let o of a.values()){let u=new Set;for(let f of o.globs.flatMap(p=>ln(p))){let p=await sn([f.pattern],{absolute:!0,gitignore:!0,cwd:f.base});for(let d of p)u.add(d)}let c=Array.from(u);c.sort(),await Promise.allSettled(c.map(f=>Jr(o.designSystem,o.userConfig,f))),N(`Migrated templates for configuration file: ${v(O(o.configFilePath,e))}`,{prefix:"\u21B3 "})}l.length>0&&I("Migrating stylesheets\u2026"),await Promise.all(l.map(async o=>{try{let u=a.get(o),c=s.get(o);if(!u){for(let f of o.ancestors())if(f.isTailwindRoot){u??=a.get(f),c??=s.get(f);break}}await Di(o,{...u,jsConfigMigration:c})}catch(u){T(`${u?.message??u} in ${v(O(o.file,e))}`,{prefix:"\u21B3 "})}}));try{await ji(l)}catch(o){T(`${o?.message??o}`,{prefix:"\u21B3 "})}for(let o of l)for(let u of o.importRules){if(!u.raws.tailwind_injected_layer)continue;let c=l.find(f=>f.id===u.raws.tailwind_destination_sheet_id);c&&c.containsRule(f=>f.type==="atrule"&&f.name==="utility")&&(u.params=u.params.replace(/ layer\([^)]+\)/,"").trim())}for(let o of l)await fa([Yt(),qt()]).process(o.root,{from:o.file});for(let o of l)o.file&&(await un.writeFile(o.file,o.root.toString()),o.isTailwindRoot&&N(`Migrated stylesheet: ${v(O(o.file,e))}`,{prefix:"\u21B3 "}))}await tn(e),I("Updating dependencies\u2026"),await rn(e);try{await se(e).add(["tailwindcss@
|
|
241
|
+
`)),{didAddPostcssClient:a,didRemoveAutoprefixer:s,didRemovePostCSSImport:o}}async function en(e){function t(c,f){return c==="tailwindcss"&&nt(f)}function r(c,f){return c==="postcss-import"&&nt(f)}function n(c,f){return c==="autoprefixer"&&nt(f)}function i(c,f){return c==="tailwindcss/nesting"&&(f==="postcss-nesting"||nt(f))}let l=!1,a=!1,s=!1,o=Object.entries(e.plugins||{}),u=[];for(let c=0;c<o.length;c++){let[f,p]=o[c];if(t(f,p))l=!0,u.push(["@tailwindcss/postcss",p]);else if(n(f,p))a=!0;else if(r(f,p)){let d=!1;for(let m=c+1;m<o.length;m++){let[h,g]=o[m];if(t(h,g))break;if(!i(h,g)){d=!0;break}}d?u.push([f,p]):s=!0}else if(i(f,p)){let[d,m]=o[c+1];t(d,m)||u.push([f,p])}else u.push([f,p])}return{json:{...e,plugins:Object.fromEntries(u)},didAddPostcssClient:l,didRemoveAutoprefixer:a,didRemovePostCSSImport:s}}var Ql=[".postcssrc.js",".postcssrc.mjs",".postcssrc.cjs",".postcssrc.ts",".postcssrc.mts",".postcssrc.cts","postcss.config.js","postcss.config.mjs","postcss.config.cjs","postcss.config.ts","postcss.config.mts","postcss.config.cts"];async function Zl(e){for(let t of Ql){let r=Ft.resolve(e,t);try{return await G.access(r),r}catch{}}return null}var Xl=[".postcssrc",".postcssrc.json"];async function ea(e){for(let t of Xl){let r=Ft.resolve(e,t);try{return await G.access(r),r}catch{}}return null}async function ta(e){let t=await G.readFile(e,"utf-8");return t.includes("tailwindcss:")&&!(t.includes("require")||t.includes("import "))}function nt(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}import ra from"node:fs/promises";import ia from"node:path";async function rn(e){let t=ia.resolve(e,"package.json");try{(await ra.readFile(t,"utf-8")).includes("prettier-plugin-tailwindcss")&&(await se(e).add(["prettier-plugin-tailwindcss@latest"]),N(`Updated package: ${v("prettier-plugin-tailwindcss")}`,{prefix:"\u21B3 "}))}catch{}}import na from"mri";function on(e,t=process.argv.slice(2)){let r=na(t),n={_:r._};for(let[i,{type:l,alias:a,default:s=l==="boolean"?!1:null}]of Object.entries(e)){if(n[i]=s,a){let o=a.slice(1);r[o]!==void 0&&(n[i]=nn(r[o],l))}{let o=i.slice(2);r[o]!==void 0&&(n[i]=nn(r[o],l))}}return n}function nn(e,t){switch(t){case"string":return at(e);case"boolean":return ot(e);case"number":return lt(e);case"boolean | string":return ot(e)??at(e);case"number | string":return lt(e)??at(e);case"boolean | number":return ot(e)??lt(e);case"boolean | number | string":return ot(e)??lt(e)??at(e);default:throw new Error(`Unhandled type: ${t}`)}}function ot(e){if(e===!0||e===!1)return e;if(e==="true")return!0;if(e==="false")return!1}function lt(e){if(typeof e=="number")return e;{let t=Number(e);if(!Number.isNaN(t))return t}}function at(e){return`${e}`}import{execSync as oa}from"node:child_process";function Lt(){try{return oa("git status --porcelain",{encoding:"utf-8"}).trim()!==""}catch(e){return!e?.toString?.().includes("not a git repository")}}import{normalizePath as la}from"@tailwindcss/node";import aa from"braces";import Mt from"node:path";function ln(e){return aa(e.pattern,{expand:!0}).map(t=>{let r={...e},[n,i]=sa(t),l=la(e.base);n!==null?r.base=Mt.posix.join(l,n):r.base=l,i===null?r.pattern="**/*":r.pattern=i;let a=Mt.basename(r.base);return a.includes(".")&&(r.pattern=a,r.base=Mt.dirname(r.base)),r})}function sa(e){if(!e.includes("*"))return[e,null];let t=null;for(let i=0;i<e.length;i++){let l=e[i];if(l==="/"&&(t=i),l==="*"||l==="!")break}if(t===null)return[null,e];let r=e.slice(0,t).trim(),n=e.slice(t+1).trim();return[r||null,n||null]}import ua from"node:fs/promises";async function an(e,t){try{let r=Zt(`${e}/package.json`,t);if(!r)return null;let{version:n}=JSON.parse(await ua.readFile(r,"utf8"));return n}catch{return null}}var cn={"--config":{type:"string",description:"Path to the configuration file",alias:"-c"},"--help":{type:"boolean",description:"Display usage information",alias:"-h"},"--force":{type:"boolean",description:"Force the migration",alias:"-f"},"--version":{type:"boolean",description:"Display the version number",alias:"-v"}},st=on(cn);st["--help"]&&(tr({usage:["npx @tailwindcss/upgrade"],options:cn}),process.exit(0));async function pa(){let e=process.cwd();Q(Oe()),Q();let t=[];st["--force"]||Lt()&&(T("Git directory is not clean. Please stash or commit your changes before migrating."),I(`You may use the ${v("--force")} flag to silence this warning and perform the migration.`),process.exit(1));let r=await an("tailwindcss",e);r&&Number(r.split(".")[0])!==3&&(T(`Tailwind CSS v${r} found. The migration tool can only be run on v3 projects.`),process.exit(1));{let n=st._.map(o=>ca.resolve(e,o));n.length===0&&(I("Searching for CSS files in the current directory and its subdirectories\u2026"),n=await sn(["**/*.css"],{absolute:!0,gitignore:!0})),n=n.filter(o=>o.endsWith(".css"));let i=await Promise.allSettled(n.map(o=>ie.load(o)));for(let o of i)o.status==="rejected"&&T(`${o.reason?.message??o.reason}`,{prefix:"\u21B3 "});let l=i.filter(o=>o.status==="fulfilled").map(o=>o.value);try{await Ii(l)}catch(o){T(`${o?.message??o}`,{prefix:"\u21B3 "})}try{await Ui(l,{configPath:st["--config"],base:e})}catch(o){T(`${o?.message??o}`,{prefix:"\u21B3 "})}l.some(o=>o.isTailwindRoot)&&I("Migrating JavaScript configuration files\u2026");let a=new Map,s=new Map;for(let o of l){if(!o.isTailwindRoot)continue;let u=await Oi(o.linkedConfigPath,{base:e});a.set(o,u);let c=await Gi(u.designSystem,u.configFilePath,e);s.set(o,c),c!==null&&t.push(()=>un.rm(u.configFilePath)),c!==null&&N(`Migrated configuration file: ${v(O(u.configFilePath,e))}`,{prefix:"\u21B3 "})}a.size>0&&I("Migrating templates\u2026");for(let o of a.values()){let u=new Set;for(let f of o.globs.flatMap(p=>ln(p))){let p=await sn([f.pattern],{absolute:!0,gitignore:!0,cwd:f.base});for(let d of p)u.add(d)}let c=Array.from(u);c.sort(),await Promise.allSettled(c.map(f=>Jr(o.designSystem,o.userConfig,f))),N(`Migrated templates for configuration file: ${v(O(o.configFilePath,e))}`,{prefix:"\u21B3 "})}l.length>0&&I("Migrating stylesheets\u2026"),await Promise.all(l.map(async o=>{try{let u=a.get(o),c=s.get(o);if(!u){for(let f of o.ancestors())if(f.isTailwindRoot){u??=a.get(f),c??=s.get(f);break}}await Di(o,{...u,jsConfigMigration:c})}catch(u){T(`${u?.message??u} in ${v(O(o.file,e))}`,{prefix:"\u21B3 "})}}));try{await ji(l)}catch(o){T(`${o?.message??o}`,{prefix:"\u21B3 "})}for(let o of l)for(let u of o.importRules){if(!u.raws.tailwind_injected_layer)continue;let c=l.find(f=>f.id===u.raws.tailwind_destination_sheet_id);c&&c.containsRule(f=>f.type==="atrule"&&f.name==="utility")&&(u.params=u.params.replace(/ layer\([^)]+\)/,"").trim())}for(let o of l)await fa([Yt(),qt()]).process(o.root,{from:o.file});for(let o of l)o.file&&(await un.writeFile(o.file,o.root.toString()),o.isTailwindRoot&&N(`Migrated stylesheet: ${v(O(o.file,e))}`,{prefix:"\u21B3 "}))}await tn(e),I("Updating dependencies\u2026"),await rn(e);try{await se(e).add(["tailwindcss@next"]),N(`Updated package: ${v("tailwindcss")}`,{prefix:"\u21B3 "})}catch{}await Promise.allSettled(t.map(n=>n())),Lt()?N("Verify the changes and commit them to your repository."):N("No changes were made to your repository.")}pa().then(()=>process.exit(0)).catch(e=>{console.error(e),process.exit(1)});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tailwindcss/upgrade",
|
|
3
|
-
"version": "0.0.0-insiders.
|
|
3
|
+
"version": "0.0.0-insiders.f014108",
|
|
4
4
|
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"prettier": "3.5.0",
|
|
36
36
|
"tree-sitter": "^0.22.4",
|
|
37
37
|
"tree-sitter-typescript": "^0.23.2",
|
|
38
|
-
"@tailwindcss/node": "0.0.0-insiders.
|
|
39
|
-
"@tailwindcss/oxide": "0.0.0-insiders.
|
|
40
|
-
"tailwindcss": "0.0.0-insiders.
|
|
38
|
+
"@tailwindcss/node": "0.0.0-insiders.f014108",
|
|
39
|
+
"@tailwindcss/oxide": "0.0.0-insiders.f014108",
|
|
40
|
+
"tailwindcss": "0.0.0-insiders.f014108"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/braces": "^3.0.5",
|