@turbo/workspaces 2.9.9-canary.4 → 2.9.9

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/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const e=require(`./convert-DowjKq2E.js`),t=e.__toESM(require(`picocolors`)),n=e.__toESM(require(`commander`)),r=e.__toESM(require(`node:path`)),i=e.__toESM(require(`@inquirer/prompts`));var a=`@turbo/workspaces`,o=`2.9.9-canary.4`,s=`Tools for working with package managers`,c=`https://turborepo.dev`,l={url:`https://github.com/vercel/turborepo/issues`},u=`MIT`,d={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-workspaces`},f=`dist/cli.js`,p=[`dist`],m=`dist/index.js`,h=`dist/index.mjs`,g=`dist/index.d.ts`,_={access:`public`},v={build:`tsdown && tsc -p tsconfig.build.json`,dev:`tsdown --watch`,test:`jest`,"check-types":`tsc --noEmit`,"lint:prettier":`prettier -c . --cache --ignore-path=../../.prettierignore`},y={"@inquirer/prompts":`^7.10.1`,commander:`10.0.0`,execa:`5.1.1`,"fast-glob":`3.2.12`,"fs-extra":`10.1.0`,"gradient-string":`2.0.1`,"js-yaml":`4.1.1`,ora:`4.1.1`,picocolors:`1.0.1`,semver:`7.6.2`,"update-check":`1.5.4`},b={"@jest/globals":`30.3.0`,"@turbo/test-utils":`workspace:*`,"@turbo/tsconfig":`workspace:*`,"@turbo/utils":`workspace:*`,"@types/fs-extra":`9.0.13`,"@types/gradient-string":`1.1.2`,"@types/js-yaml":`4.0.5`,"@types/node":`18.17.4`,"@types/semver":`7.5.8`,jest:`30.3.0`,"ts-jest":`29.4.9`,tsdown:`0.12.0`,typescript:`5.5.4`},x={name:a,version:o,description:s,homepage:c,bugs:l,license:u,repository:d,bin:f,files:p,main:m,module:h,types:g,publishConfig:_,scripts:v,dependencies:y,devDependencies:b};async function S(n){let a=new e.Logger;a.hero();let o=n;o||(o=await(0,i.input)({message:`Where is the root of the repo?`,default:`.`,validate:n=>{let{exists:r,absolute:i}=e.directoryInfo({directory:n});return r?!0:`Directory ${t.default.dim(`(${i})`)} does not exist`},transformer:e=>e.trim()}),o=o.trim());let{exists:s,absolute:c}=e.directoryInfo({directory:o});if(!s)return a.error(`Directory ${t.default.dim(`(${c})`)} does not exist`),process.exit(1);let l=await e.getWorkspaceDetails({root:c}),u=l.workspaceData.workspaces.length,d=u>0,f={};for(let e of l.workspaceData.workspaces){let t=r.default.relative(c,e.paths.root),n=t.split(r.default.sep)[0];n in f||(f[n]=[]),f[n].push(e)}let p=e=>`${e.name} (${t.default.italic(`./${r.default.relative(c,e.paths.root)}`)})`,m=({number:e,dir:n,workspaces:r})=>{a.indented(2,`${e}. ${t.default.bold(n)}`);for(let[e,t]of r.entries())a.indented(3,`${e+1}. ${p(t)}`)};if(a.header(`Repository Summary`),a.indented(1,`${t.default.underline(l.name)}:`),a.indented(1,`Package Manager: ${t.default.bold(t.default.italic(l.packageManager))}`),d){a.indented(1,`Workspaces (${t.default.bold(u.toString())}):`);for(let[e,t]of Object.keys(f).entries())m({number:e+1,workspaces:f[t],dir:t});a.blankLine()}}function C({packageManager:e,currentWorkspaceManger:t,availablePackageManagers:n}){return t===e?`already in use`:n[e]?!1:`not installed`}async function w(n,r,a){let o=new e.Logger(a);o.hero(),o.header(`Welcome, let's convert your project.`),o.blankLine();let s=n;s||(s=await(0,i.input)({message:`Where is the root of your repo?`,default:`.`,validate:n=>{let{exists:r,absolute:i}=e.directoryInfo({directory:n});return r?!0:`Directory ${t.default.dim(`(${i})`)} does not exist`},transformer:e=>e.trim()}),s=s.trim());let{exists:c,absolute:l}=e.directoryInfo({directory:s});if(!c)return o.error(`Directory ${t.default.dim(`(${l})`)} does not exist`),process.exit(1);let[u,d]=await Promise.all([e.getWorkspaceDetails({root:l}),e.getAvailablePackageManagers()]),f;f=r&&Object.keys(d).includes(r)?r:await(0,i.select)({message:`Convert from ${u.packageManager} to:`,choices:[{pm:`npm`,label:`npm`},{pm:`pnpm`,label:`pnpm`},{pm:`yarn`,label:`yarn`},{pm:`bun`,label:`Bun (beta)`}].map(({pm:e,label:t})=>({name:t,value:e,disabled:C({packageManager:e,currentWorkspaceManger:u.packageManager,availablePackageManagers:d})}))}),await e.convertProject({project:u,convertTo:{name:f,version:d[f]},logger:o,options:a})}const T=e.createNotifyUpdate({packageInfo:x}),E=new n.Command;E.name(`@turbo/workspaces`).description(`Tools for working with package manager workspaces`).version(x.version,`-v, --version`,`output the current version`),E.command(`convert`).description(`Convert project between workspace managers`).argument(`[path]`,`Project root`).argument(`[package-manager]`,`Package manager to convert to`).option(`--skip-install`,`Do not run a package manager install after conversion`,!1).option(`--ignore-unchanged-package-manager`,`Prevent script failure if the package manager is unchanged`,!1).option(`--dry`,`Dry run (no changes are made to files)`,!1).option(`--force`,`Bypass Git safety checks and forcibly run conversion`,!1).action(w),E.command(`summary`).description(`Display a summary of the specified project`).argument(`[path]`,`Project root`).action(S),E.parseAsync().then(()=>T()).catch(async n=>{e.log(),n instanceof e.ConvertError?e.log(t.default.red(n.message)):(e.log(t.default.red(`Unexpected error. Please report it as a bug:`)),e.log(n)),e.log(),await T(1)});
2
+ const e=require(`./convert-DZTyk3Od.js`),t=e.__toESM(require(`picocolors`)),n=e.__toESM(require(`commander`)),r=e.__toESM(require(`node:path`)),i=e.__toESM(require(`@inquirer/prompts`));var a=`@turbo/workspaces`,o=`2.9.9`,s=`Tools for working with package managers`,c=`https://turborepo.dev`,l={url:`https://github.com/vercel/turborepo/issues`},u=`MIT`,d={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-workspaces`},f=`dist/cli.js`,p=[`dist`],m=`dist/index.js`,h=`dist/index.mjs`,g=`dist/index.d.ts`,_={access:`public`},v={build:`tsdown && tsc -p tsconfig.build.json`,dev:`tsdown --watch`,test:`jest`,"check-types":`tsc --noEmit`,"lint:prettier":`prettier -c . --cache --ignore-path=../../.prettierignore`},y={"@inquirer/prompts":`^7.10.1`,commander:`10.0.0`,execa:`5.1.1`,"fast-glob":`3.2.12`,"fs-extra":`10.1.0`,"gradient-string":`2.0.1`,"js-yaml":`4.1.1`,ora:`4.1.1`,picocolors:`1.0.1`,semver:`7.6.2`,"update-check":`1.5.4`},b={"@jest/globals":`30.3.0`,"@turbo/test-utils":`workspace:*`,"@turbo/tsconfig":`workspace:*`,"@turbo/utils":`workspace:*`,"@types/fs-extra":`9.0.13`,"@types/gradient-string":`1.1.2`,"@types/js-yaml":`4.0.5`,"@types/node":`18.17.4`,"@types/semver":`7.5.8`,jest:`30.3.0`,"ts-jest":`29.4.9`,tsdown:`0.12.0`,typescript:`5.5.4`},x={name:a,version:o,description:s,homepage:c,bugs:l,license:u,repository:d,bin:f,files:p,main:m,module:h,types:g,publishConfig:_,scripts:v,dependencies:y,devDependencies:b};async function S(n){let a=new e.Logger;a.hero();let o=n;o||(o=await(0,i.input)({message:`Where is the root of the repo?`,default:`.`,validate:n=>{let{exists:r,absolute:i}=e.directoryInfo({directory:n});return r?!0:`Directory ${t.default.dim(`(${i})`)} does not exist`},transformer:e=>e.trim()}),o=o.trim());let{exists:s,absolute:c}=e.directoryInfo({directory:o});if(!s)return a.error(`Directory ${t.default.dim(`(${c})`)} does not exist`),process.exit(1);let l=await e.getWorkspaceDetails({root:c}),u=l.workspaceData.workspaces.length,d=u>0,f={};for(let e of l.workspaceData.workspaces){let t=r.default.relative(c,e.paths.root),n=t.split(r.default.sep)[0];n in f||(f[n]=[]),f[n].push(e)}let p=e=>`${e.name} (${t.default.italic(`./${r.default.relative(c,e.paths.root)}`)})`,m=({number:e,dir:n,workspaces:r})=>{a.indented(2,`${e}. ${t.default.bold(n)}`);for(let[e,t]of r.entries())a.indented(3,`${e+1}. ${p(t)}`)};if(a.header(`Repository Summary`),a.indented(1,`${t.default.underline(l.name)}:`),a.indented(1,`Package Manager: ${t.default.bold(t.default.italic(l.packageManager))}`),d){a.indented(1,`Workspaces (${t.default.bold(u.toString())}):`);for(let[e,t]of Object.keys(f).entries())m({number:e+1,workspaces:f[t],dir:t});a.blankLine()}}function C({packageManager:e,currentWorkspaceManger:t,availablePackageManagers:n}){return t===e?`already in use`:n[e]?!1:`not installed`}async function w(n,r,a){let o=new e.Logger(a);o.hero(),o.header(`Welcome, let's convert your project.`),o.blankLine();let s=n;s||(s=await(0,i.input)({message:`Where is the root of your repo?`,default:`.`,validate:n=>{let{exists:r,absolute:i}=e.directoryInfo({directory:n});return r?!0:`Directory ${t.default.dim(`(${i})`)} does not exist`},transformer:e=>e.trim()}),s=s.trim());let{exists:c,absolute:l}=e.directoryInfo({directory:s});if(!c)return o.error(`Directory ${t.default.dim(`(${l})`)} does not exist`),process.exit(1);let[u,d]=await Promise.all([e.getWorkspaceDetails({root:l}),e.getAvailablePackageManagers()]),f;f=r&&Object.keys(d).includes(r)?r:await(0,i.select)({message:`Convert from ${u.packageManager} to:`,choices:[{pm:`npm`,label:`npm`},{pm:`pnpm`,label:`pnpm`},{pm:`yarn`,label:`yarn`},{pm:`bun`,label:`Bun (beta)`}].map(({pm:e,label:t})=>({name:t,value:e,disabled:C({packageManager:e,currentWorkspaceManger:u.packageManager,availablePackageManagers:d})}))}),await e.convertProject({project:u,convertTo:{name:f,version:d[f]},logger:o,options:a})}const T=e.createNotifyUpdate({packageInfo:x}),E=new n.Command;E.name(`@turbo/workspaces`).description(`Tools for working with package manager workspaces`).version(x.version,`-v, --version`,`output the current version`),E.command(`convert`).description(`Convert project between workspace managers`).argument(`[path]`,`Project root`).argument(`[package-manager]`,`Package manager to convert to`).option(`--skip-install`,`Do not run a package manager install after conversion`,!1).option(`--ignore-unchanged-package-manager`,`Prevent script failure if the package manager is unchanged`,!1).option(`--dry`,`Dry run (no changes are made to files)`,!1).option(`--force`,`Bypass Git safety checks and forcibly run conversion`,!1).action(w),E.command(`summary`).description(`Display a summary of the specified project`).argument(`[path]`,`Project root`).action(S),E.parseAsync().then(()=>T()).catch(async n=>{e.log(),n instanceof e.ConvertError?e.log(t.default.red(n.message)):(e.log(t.default.red(`Unexpected error. Please report it as a bug:`)),e.log(n)),e.log(),await T(1)});
package/dist/cli.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{ConvertError as e,Logger as t,convertProject as n,createNotifyUpdate as r,directoryInfo as i,getAvailablePackageManagers as a,getWorkspaceDetails as o,log as s}from"./convert-CwrF6JOS.mjs";import c from"picocolors";import{Command as l}from"commander";import u from"node:path";import{input as d,select as f}from"@inquirer/prompts";var p=`@turbo/workspaces`,m=`2.9.9-canary.4`,h=`Tools for working with package managers`,g=`https://turborepo.dev`,_={url:`https://github.com/vercel/turborepo/issues`},v=`MIT`,y={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-workspaces`},b=`dist/cli.js`,x=[`dist`],S=`dist/index.js`,C=`dist/index.mjs`,w=`dist/index.d.ts`,T={access:`public`},E={build:`tsdown && tsc -p tsconfig.build.json`,dev:`tsdown --watch`,test:`jest`,"check-types":`tsc --noEmit`,"lint:prettier":`prettier -c . --cache --ignore-path=../../.prettierignore`},D={"@inquirer/prompts":`^7.10.1`,commander:`10.0.0`,execa:`5.1.1`,"fast-glob":`3.2.12`,"fs-extra":`10.1.0`,"gradient-string":`2.0.1`,"js-yaml":`4.1.1`,ora:`4.1.1`,picocolors:`1.0.1`,semver:`7.6.2`,"update-check":`1.5.4`},O={"@jest/globals":`30.3.0`,"@turbo/test-utils":`workspace:*`,"@turbo/tsconfig":`workspace:*`,"@turbo/utils":`workspace:*`,"@types/fs-extra":`9.0.13`,"@types/gradient-string":`1.1.2`,"@types/js-yaml":`4.0.5`,"@types/node":`18.17.4`,"@types/semver":`7.5.8`,jest:`30.3.0`,"ts-jest":`29.4.9`,tsdown:`0.12.0`,typescript:`5.5.4`},k={name:p,version:m,description:h,homepage:g,bugs:_,license:v,repository:y,bin:b,files:x,main:S,module:C,types:w,publishConfig:T,scripts:E,dependencies:D,devDependencies:O};async function A(e){let n=new t;n.hero();let r=e;r||(r=await d({message:`Where is the root of the repo?`,default:`.`,validate:e=>{let{exists:t,absolute:n}=i({directory:e});return t?!0:`Directory ${c.dim(`(${n})`)} does not exist`},transformer:e=>e.trim()}),r=r.trim());let{exists:a,absolute:s}=i({directory:r});if(!a)return n.error(`Directory ${c.dim(`(${s})`)} does not exist`),process.exit(1);let l=await o({root:s}),f=l.workspaceData.workspaces.length,p=f>0,m={};for(let e of l.workspaceData.workspaces){let t=u.relative(s,e.paths.root),n=t.split(u.sep)[0];n in m||(m[n]=[]),m[n].push(e)}let h=e=>`${e.name} (${c.italic(`./${u.relative(s,e.paths.root)}`)})`,g=({number:e,dir:t,workspaces:r})=>{n.indented(2,`${e}. ${c.bold(t)}`);for(let[e,t]of r.entries())n.indented(3,`${e+1}. ${h(t)}`)};if(n.header(`Repository Summary`),n.indented(1,`${c.underline(l.name)}:`),n.indented(1,`Package Manager: ${c.bold(c.italic(l.packageManager))}`),p){n.indented(1,`Workspaces (${c.bold(f.toString())}):`);for(let[e,t]of Object.keys(m).entries())g({number:e+1,workspaces:m[t],dir:t});n.blankLine()}}function j({packageManager:e,currentWorkspaceManger:t,availablePackageManagers:n}){return t===e?`already in use`:n[e]?!1:`not installed`}async function M(e,r,s){let l=new t(s);l.hero(),l.header(`Welcome, let's convert your project.`),l.blankLine();let u=e;u||(u=await d({message:`Where is the root of your repo?`,default:`.`,validate:e=>{let{exists:t,absolute:n}=i({directory:e});return t?!0:`Directory ${c.dim(`(${n})`)} does not exist`},transformer:e=>e.trim()}),u=u.trim());let{exists:p,absolute:m}=i({directory:u});if(!p)return l.error(`Directory ${c.dim(`(${m})`)} does not exist`),process.exit(1);let[h,g]=await Promise.all([o({root:m}),a()]),_;_=r&&Object.keys(g).includes(r)?r:await f({message:`Convert from ${h.packageManager} to:`,choices:[{pm:`npm`,label:`npm`},{pm:`pnpm`,label:`pnpm`},{pm:`yarn`,label:`yarn`},{pm:`bun`,label:`Bun (beta)`}].map(({pm:e,label:t})=>({name:t,value:e,disabled:j({packageManager:e,currentWorkspaceManger:h.packageManager,availablePackageManagers:g})}))}),await n({project:h,convertTo:{name:_,version:g[_]},logger:l,options:s})}const N=r({packageInfo:k}),P=new l;P.name(`@turbo/workspaces`).description(`Tools for working with package manager workspaces`).version(k.version,`-v, --version`,`output the current version`),P.command(`convert`).description(`Convert project between workspace managers`).argument(`[path]`,`Project root`).argument(`[package-manager]`,`Package manager to convert to`).option(`--skip-install`,`Do not run a package manager install after conversion`,!1).option(`--ignore-unchanged-package-manager`,`Prevent script failure if the package manager is unchanged`,!1).option(`--dry`,`Dry run (no changes are made to files)`,!1).option(`--force`,`Bypass Git safety checks and forcibly run conversion`,!1).action(M),P.command(`summary`).description(`Display a summary of the specified project`).argument(`[path]`,`Project root`).action(A),P.parseAsync().then(()=>N()).catch(async t=>{s(),t instanceof e?s(c.red(t.message)):(s(c.red(`Unexpected error. Please report it as a bug:`)),s(t)),s(),await N(1)});
2
+ import{ConvertError as e,Logger as t,convertProject as n,createNotifyUpdate as r,directoryInfo as i,getAvailablePackageManagers as a,getWorkspaceDetails as o,log as s}from"./convert-9DAWjfTd.mjs";import c from"picocolors";import{Command as l}from"commander";import u from"node:path";import{input as d,select as f}from"@inquirer/prompts";var p=`@turbo/workspaces`,m=`2.9.9`,h=`Tools for working with package managers`,g=`https://turborepo.dev`,_={url:`https://github.com/vercel/turborepo/issues`},v=`MIT`,y={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-workspaces`},b=`dist/cli.js`,x=[`dist`],S=`dist/index.js`,C=`dist/index.mjs`,w=`dist/index.d.ts`,T={access:`public`},E={build:`tsdown && tsc -p tsconfig.build.json`,dev:`tsdown --watch`,test:`jest`,"check-types":`tsc --noEmit`,"lint:prettier":`prettier -c . --cache --ignore-path=../../.prettierignore`},D={"@inquirer/prompts":`^7.10.1`,commander:`10.0.0`,execa:`5.1.1`,"fast-glob":`3.2.12`,"fs-extra":`10.1.0`,"gradient-string":`2.0.1`,"js-yaml":`4.1.1`,ora:`4.1.1`,picocolors:`1.0.1`,semver:`7.6.2`,"update-check":`1.5.4`},O={"@jest/globals":`30.3.0`,"@turbo/test-utils":`workspace:*`,"@turbo/tsconfig":`workspace:*`,"@turbo/utils":`workspace:*`,"@types/fs-extra":`9.0.13`,"@types/gradient-string":`1.1.2`,"@types/js-yaml":`4.0.5`,"@types/node":`18.17.4`,"@types/semver":`7.5.8`,jest:`30.3.0`,"ts-jest":`29.4.9`,tsdown:`0.12.0`,typescript:`5.5.4`},k={name:p,version:m,description:h,homepage:g,bugs:_,license:v,repository:y,bin:b,files:x,main:S,module:C,types:w,publishConfig:T,scripts:E,dependencies:D,devDependencies:O};async function A(e){let n=new t;n.hero();let r=e;r||(r=await d({message:`Where is the root of the repo?`,default:`.`,validate:e=>{let{exists:t,absolute:n}=i({directory:e});return t?!0:`Directory ${c.dim(`(${n})`)} does not exist`},transformer:e=>e.trim()}),r=r.trim());let{exists:a,absolute:s}=i({directory:r});if(!a)return n.error(`Directory ${c.dim(`(${s})`)} does not exist`),process.exit(1);let l=await o({root:s}),f=l.workspaceData.workspaces.length,p=f>0,m={};for(let e of l.workspaceData.workspaces){let t=u.relative(s,e.paths.root),n=t.split(u.sep)[0];n in m||(m[n]=[]),m[n].push(e)}let h=e=>`${e.name} (${c.italic(`./${u.relative(s,e.paths.root)}`)})`,g=({number:e,dir:t,workspaces:r})=>{n.indented(2,`${e}. ${c.bold(t)}`);for(let[e,t]of r.entries())n.indented(3,`${e+1}. ${h(t)}`)};if(n.header(`Repository Summary`),n.indented(1,`${c.underline(l.name)}:`),n.indented(1,`Package Manager: ${c.bold(c.italic(l.packageManager))}`),p){n.indented(1,`Workspaces (${c.bold(f.toString())}):`);for(let[e,t]of Object.keys(m).entries())g({number:e+1,workspaces:m[t],dir:t});n.blankLine()}}function j({packageManager:e,currentWorkspaceManger:t,availablePackageManagers:n}){return t===e?`already in use`:n[e]?!1:`not installed`}async function M(e,r,s){let l=new t(s);l.hero(),l.header(`Welcome, let's convert your project.`),l.blankLine();let u=e;u||(u=await d({message:`Where is the root of your repo?`,default:`.`,validate:e=>{let{exists:t,absolute:n}=i({directory:e});return t?!0:`Directory ${c.dim(`(${n})`)} does not exist`},transformer:e=>e.trim()}),u=u.trim());let{exists:p,absolute:m}=i({directory:u});if(!p)return l.error(`Directory ${c.dim(`(${m})`)} does not exist`),process.exit(1);let[h,g]=await Promise.all([o({root:m}),a()]),_;_=r&&Object.keys(g).includes(r)?r:await f({message:`Convert from ${h.packageManager} to:`,choices:[{pm:`npm`,label:`npm`},{pm:`pnpm`,label:`pnpm`},{pm:`yarn`,label:`yarn`},{pm:`bun`,label:`Bun (beta)`}].map(({pm:e,label:t})=>({name:t,value:e,disabled:j({packageManager:e,currentWorkspaceManger:h.packageManager,availablePackageManagers:g})}))}),await n({project:h,convertTo:{name:_,version:g[_]},logger:l,options:s})}const N=r({packageInfo:k}),P=new l;P.name(`@turbo/workspaces`).description(`Tools for working with package manager workspaces`).version(k.version,`-v, --version`,`output the current version`),P.command(`convert`).description(`Convert project between workspace managers`).argument(`[path]`,`Project root`).argument(`[package-manager]`,`Package manager to convert to`).option(`--skip-install`,`Do not run a package manager install after conversion`,!1).option(`--ignore-unchanged-package-manager`,`Prevent script failure if the package manager is unchanged`,!1).option(`--dry`,`Dry run (no changes are made to files)`,!1).option(`--force`,`Bypass Git safety checks and forcibly run conversion`,!1).action(M),P.command(`summary`).description(`Display a summary of the specified project`).argument(`[path]`,`Project root`).action(A),P.parseAsync().then(()=>N()).catch(async t=>{s(),t instanceof e?s(c.red(t.message)):(s(c.red(`Unexpected error. Please report it as a bug:`)),s(t)),s(),await N(1)});
@@ -43,4 +43,4 @@ ${e.format(t)}
43
43
  see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0001`),s.checkPaths(e,t,`copy`,n,(i,a)=>{if(i)return r(i);let{srcStat:o,destStat:c}=a;s.checkParentPaths(e,o,t,`copy`,i=>i?r(i):n.filter?u(l,c,e,t,n,r):l(c,e,t,n,r))})}function l(e,t,n,o,s){let c=r.dirname(n);a(c,(r,a)=>{if(r)return s(r);if(a)return f(e,t,n,o,s);i(c,r=>r?s(r):f(e,t,n,o,s))})}function u(e,t,n,r,i,a){Promise.resolve(i.filter(n,r)).then(o=>o?e(t,n,r,i,a):a(),e=>a(e))}function d(e,t,n,r,i){return r.filter?u(f,e,t,n,r,i):f(e,t,n,r,i)}function f(e,t,r,i,a){let o=i.dereference?n.stat:n.lstat;o(t,(n,o)=>n?a(n):o.isDirectory()?S(o,e,t,r,i,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?p(o,e,t,r,i,a):o.isSymbolicLink()?D(e,t,r,i,a):o.isSocket()?a(Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(Error(`Cannot copy a FIFO pipe: ${t}`)):a(Error(`Unknown file: ${t}`)))}function p(e,t,n,r,i,a){return t?m(e,n,r,i,a):h(e,n,r,i,a)}function m(e,t,r,i,a){if(i.overwrite)n.unlink(r,n=>n?a(n):h(e,t,r,i,a));else if(i.errorOnExist)return a(Error(`'${r}' already exists`));else return a()}function h(e,t,r,i,a){n.copyFile(t,r,n=>n?a(n):i.preserveTimestamps?g(e.mode,t,r,a):b(r,e.mode,a))}function g(e,t,n,r){return _(e)?v(n,e,i=>i?r(i):y(e,t,n,r)):y(e,t,n,r)}function _(e){return(e&128)==0}function v(e,t,n){return b(e,t|128,n)}function y(e,t,n,r){x(t,n,t=>t?r(t):b(n,e,r))}function b(e,t,r){return n.chmod(e,t,r)}function x(e,t,r){n.stat(e,(e,n)=>e?r(e):o(t,n.atime,n.mtime,r))}function S(e,t,n,r,i,a){return t?w(n,r,i,a):C(e.mode,n,r,i,a)}function C(e,t,r,i,a){n.mkdir(r,n=>{if(n)return a(n);w(t,r,i,t=>t?a(t):b(r,e,a))})}function w(e,t,r,i){n.readdir(e,(n,a)=>n?i(n):T(a,e,t,r,i))}function T(e,t,n,r,i){let a=e.pop();return a?E(e,a,t,n,r,i):i()}function E(e,t,n,i,a,o){let c=r.join(n,t),l=r.join(i,t);s.checkPaths(c,l,`copy`,a,(t,r)=>{if(t)return o(t);let{destStat:s}=r;d(s,c,l,a,t=>t?o(t):T(e,n,i,a,o))})}function D(e,t,i,a,o){n.readlink(t,(t,c)=>{if(t)return o(t);if(a.dereference&&(c=r.resolve(process.cwd(),c)),e)n.readlink(i,(t,l)=>t?t.code===`EINVAL`||t.code===`UNKNOWN`?n.symlink(c,i,o):o(t):(a.dereference&&(l=r.resolve(process.cwd(),l)),s.isSrcSubdir(c,l)?o(Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)):e.isDirectory()&&s.isSrcSubdir(l,c)?o(Error(`Cannot overwrite '${l}' with '${c}'.`)):O(c,i,o)));else return n.symlink(c,i,o)})}function O(e,t,r){n.unlink(t,i=>i?r(i):n.symlink(e,t,r))}t.exports=c}),Zl=R((exports,t)=>{let n=q(),r=B(`path`),i=Kl().mkdirsSync,a=Jl().utimesMillisSync,o=Yl();function s(e,t,n){typeof n==`function`&&(n={filter:n}),n||={},n.clobber=`clobber`in n?!!n.clobber:!0,n.overwrite=`overwrite`in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch===`ia32`&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
44
44
 
45
45
  see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0002`);let{srcStat:r,destStat:i}=o.checkPathsSync(e,t,`copy`,n);return o.checkParentPathsSync(e,r,t,`copy`),c(i,e,t,n)}function c(e,t,a,o){if(o.filter&&!o.filter(t,a))return;let s=r.dirname(a);return n.existsSync(s)||i(s),u(e,t,a,o)}function l(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return u(e,t,n,r)}function u(e,t,r,i){let a=i.dereference?n.statSync:n.lstatSync,o=a(t);if(o.isDirectory())return y(o,e,t,r,i);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return d(o,e,t,r,i);if(o.isSymbolicLink())return C(e,t,r,i);throw o.isSocket()?Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?Error(`Cannot copy a FIFO pipe: ${t}`):Error(`Unknown file: ${t}`)}function d(e,t,n,r,i){return t?f(e,n,r,i):p(e,n,r,i)}function f(e,t,r,i){if(i.overwrite)return n.unlinkSync(r),p(e,t,r,i);if(i.errorOnExist)throw Error(`'${r}' already exists`)}function p(e,t,r,i){return n.copyFileSync(t,r),i.preserveTimestamps&&m(e.mode,t,r),_(r,e.mode)}function m(e,t,n){return h(e)&&g(n,e),v(t,n)}function h(e){return(e&128)==0}function g(e,t){return _(e,t|128)}function _(e,t){return n.chmodSync(e,t)}function v(e,t){let r=n.statSync(e);return a(t,r.atime,r.mtime)}function y(e,t,n,r,i){return t?x(n,r,i):b(e.mode,n,r,i)}function b(e,t,r,i){return n.mkdirSync(r),x(t,r,i),_(r,e)}function x(e,t,r){n.readdirSync(e).forEach(n=>S(n,e,t,r))}function S(e,t,n,i){let a=r.join(t,e),s=r.join(n,e),{destStat:c}=o.checkPathsSync(a,s,`copy`,i);return l(c,a,s,i)}function C(e,t,i,a){let s=n.readlinkSync(t);if(a.dereference&&(s=r.resolve(process.cwd(),s)),e){let e;try{e=n.readlinkSync(i)}catch(e){if(e.code===`EINVAL`||e.code===`UNKNOWN`)return n.symlinkSync(s,i);throw e}if(a.dereference&&(e=r.resolve(process.cwd(),e)),o.isSrcSubdir(s,e))throw Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`);if(n.statSync(i).isDirectory()&&o.isSrcSubdir(e,s))throw Error(`Cannot overwrite '${e}' with '${s}'.`);return w(s,i)}else return n.symlinkSync(s,i)}function w(e,t){return n.unlinkSync(t),n.symlinkSync(e,t)}t.exports=s}),Ql=R((exports,t)=>{let n=Nt().fromCallback;t.exports={copy:n(Xl()),copySync:Zl()}}),$l=R((exports,t)=>{let n=q(),r=B(`path`),i=B(`assert`),a=process.platform===`win32`;function o(e){let t=[`unlink`,`chmod`,`stat`,`lstat`,`rmdir`,`readdir`];t.forEach(t=>{e[t]=e[t]||n[t],t+=`Sync`,e[t]=e[t]||n[t]}),e.maxBusyTries=e.maxBusyTries||3}function s(e,t,n){let r=0;typeof t==`function`&&(n=t,t={}),i(e,`rimraf: missing path`),i.strictEqual(typeof e,`string`,`rimraf: path should be a string`),i.strictEqual(typeof n,`function`,`rimraf: callback function required`),i(t,`rimraf: invalid options argument provided`),i.strictEqual(typeof t,`object`,`rimraf: options should be object`),o(t),c(e,t,function i(a){if(a){if((a.code===`EBUSY`||a.code===`ENOTEMPTY`||a.code===`EPERM`)&&r<t.maxBusyTries){r++;let n=r*100;return setTimeout(()=>c(e,t,i),n)}a.code===`ENOENT`&&(a=null)}n(a)})}function c(e,t,n){i(e),i(t),i(typeof n==`function`),t.lstat(e,(r,i)=>{if(r&&r.code===`ENOENT`)return n(null);if(r&&r.code===`EPERM`&&a)return l(e,t,r,n);if(i&&i.isDirectory())return d(e,t,r,n);t.unlink(e,r=>{if(r){if(r.code===`ENOENT`)return n(null);if(r.code===`EPERM`)return a?l(e,t,r,n):d(e,t,r,n);if(r.code===`EISDIR`)return d(e,t,r,n)}return n(r)})})}function l(e,t,n,r){i(e),i(t),i(typeof r==`function`),t.chmod(e,438,i=>{i?r(i.code===`ENOENT`?null:n):t.stat(e,(i,a)=>{i?r(i.code===`ENOENT`?null:n):a.isDirectory()?d(e,t,n,r):t.unlink(e,r)})})}function u(e,t,n){let r;i(e),i(t);try{t.chmodSync(e,438)}catch(e){if(e.code===`ENOENT`)return;throw n}try{r=t.statSync(e)}catch(e){if(e.code===`ENOENT`)return;throw n}r.isDirectory()?m(e,t,n):t.unlinkSync(e)}function d(e,t,n,r){i(e),i(t),i(typeof r==`function`),t.rmdir(e,i=>{i&&(i.code===`ENOTEMPTY`||i.code===`EEXIST`||i.code===`EPERM`)?f(e,t,r):i&&i.code===`ENOTDIR`?r(n):r(i)})}function f(e,t,n){i(e),i(t),i(typeof n==`function`),t.readdir(e,(i,a)=>{if(i)return n(i);let o=a.length,c;if(o===0)return t.rmdir(e,n);a.forEach(i=>{s(r.join(e,i),t,r=>{if(!c){if(r)return n(c=r);--o===0&&t.rmdir(e,n)}})})})}function p(e,t){let n;t||={},o(t),i(e,`rimraf: missing path`),i.strictEqual(typeof e,`string`,`rimraf: path should be a string`),i(t,`rimraf: missing options`),i.strictEqual(typeof t,`object`,`rimraf: options should be object`);try{n=t.lstatSync(e)}catch(n){if(n.code===`ENOENT`)return;n.code===`EPERM`&&a&&u(e,t,n)}try{n&&n.isDirectory()?m(e,t,null):t.unlinkSync(e)}catch(n){if(n.code===`ENOENT`)return;if(n.code===`EPERM`)return a?u(e,t,n):m(e,t,n);if(n.code!==`EISDIR`)throw n;m(e,t,n)}}function m(e,t,n){i(e),i(t);try{t.rmdirSync(e)}catch(r){if(r.code===`ENOTDIR`)throw n;if(r.code===`ENOTEMPTY`||r.code===`EEXIST`||r.code===`EPERM`)h(e,t);else if(r.code!==`ENOENT`)throw r}}function h(e,t){if(i(e),i(t),t.readdirSync(e).forEach(n=>p(r.join(e,n),t)),a){let n=Date.now();do try{let n=t.rmdirSync(e,t);return n}catch{}while(Date.now()-n<500)}else{let n=t.rmdirSync(e,t);return n}}t.exports=s,s.sync=p}),eu=R((exports,t)=>{let n=q(),r=Nt().fromCallback,i=$l();function a(e,t){if(n.rm)return n.rm(e,{recursive:!0,force:!0},t);i(e,t)}function o(e){if(n.rmSync)return n.rmSync(e,{recursive:!0,force:!0});i.sync(e)}t.exports={remove:r(a),removeSync:o}}),tu=R((exports,t)=>{let n=Nt().fromPromise,r=Ul(),i=B(`path`),a=Kl(),o=eu(),s=n(async function(e){let t;try{t=await r.readdir(e)}catch{return a.mkdirs(e)}return Promise.all(t.map(t=>o.remove(i.join(e,t))))});function c(e){let t;try{t=r.readdirSync(e)}catch{return a.mkdirsSync(e)}t.forEach(t=>{t=i.join(e,t),o.removeSync(t)})}t.exports={emptyDirSync:c,emptydirSync:c,emptyDir:s,emptydir:s}}),nu=R((exports,t)=>{let n=Nt().fromCallback,r=B(`path`),i=q(),a=Kl();function o(e,t){function n(){i.writeFile(e,``,e=>{if(e)return t(e);t()})}i.stat(e,(o,s)=>{if(!o&&s.isFile())return t();let c=r.dirname(e);i.stat(c,(e,r)=>{if(e)return e.code===`ENOENT`?a.mkdirs(c,e=>{if(e)return t(e);n()}):t(e);r.isDirectory()?n():i.readdir(c,e=>{if(e)return t(e)})})})}function s(e){let t;try{t=i.statSync(e)}catch{}if(t&&t.isFile())return;let n=r.dirname(e);try{i.statSync(n).isDirectory()||i.readdirSync(n)}catch(e){if(e&&e.code===`ENOENT`)a.mkdirsSync(n);else throw e}i.writeFileSync(e,``)}t.exports={createFile:n(o),createFileSync:s}}),ru=R((exports,t)=>{let n=Nt().fromCallback,r=B(`path`),i=q(),a=Kl(),o=ql().pathExists,{areIdentical:s}=Yl();function c(e,t,n){function c(e,t){i.link(e,t,e=>{if(e)return n(e);n(null)})}i.lstat(t,(l,u)=>{i.lstat(e,(i,l)=>{if(i)return i.message=i.message.replace(`lstat`,`ensureLink`),n(i);if(u&&s(l,u))return n(null);let d=r.dirname(t);o(d,(r,i)=>{if(r)return n(r);if(i)return c(e,t);a.mkdirs(d,r=>{if(r)return n(r);c(e,t)})})})})}function l(e,t){let n;try{n=i.lstatSync(t)}catch{}try{let t=i.lstatSync(e);if(n&&s(t,n))return}catch(e){throw e.message=e.message.replace(`lstat`,`ensureLink`),e}let o=r.dirname(t),c=i.existsSync(o);return c||a.mkdirsSync(o),i.linkSync(e,t)}t.exports={createLink:n(c),createLinkSync:l}}),iu=R((exports,t)=>{let n=B(`path`),r=q(),i=ql().pathExists;function a(e,t,a){if(n.isAbsolute(e))return r.lstat(e,t=>t?(t.message=t.message.replace(`lstat`,`ensureSymlink`),a(t)):a(null,{toCwd:e,toDst:e}));{let o=n.dirname(t),s=n.join(o,e);return i(s,(t,i)=>t?a(t):i?a(null,{toCwd:s,toDst:e}):r.lstat(e,t=>t?(t.message=t.message.replace(`lstat`,`ensureSymlink`),a(t)):a(null,{toCwd:e,toDst:n.relative(o,e)})))}}function o(e,t){let i;if(n.isAbsolute(e)){if(i=r.existsSync(e),!i)throw Error(`absolute srcpath does not exist`);return{toCwd:e,toDst:e}}else{let a=n.dirname(t),o=n.join(a,e);if(i=r.existsSync(o),i)return{toCwd:o,toDst:e};if(i=r.existsSync(e),!i)throw Error(`relative srcpath does not exist`);return{toCwd:e,toDst:n.relative(a,e)}}}t.exports={symlinkPaths:a,symlinkPathsSync:o}}),au=R((exports,t)=>{let n=q();function r(e,t,r){if(r=typeof t==`function`?t:r,t=typeof t==`function`?!1:t,t)return r(null,t);n.lstat(e,(e,n)=>{if(e)return r(null,`file`);t=n&&n.isDirectory()?`dir`:`file`,r(null,t)})}function i(e,t){let r;if(t)return t;try{r=n.lstatSync(e)}catch{return`file`}return r&&r.isDirectory()?`dir`:`file`}t.exports={symlinkType:r,symlinkTypeSync:i}}),ou=R((exports,t)=>{let n=Nt().fromCallback,r=B(`path`),i=Ul(),a=Kl(),o=a.mkdirs,s=a.mkdirsSync,c=iu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=au(),f=d.symlinkType,p=d.symlinkTypeSync,m=ql().pathExists,{areIdentical:h}=Yl();function g(e,t,n,r){r=typeof n==`function`?n:r,n=typeof n==`function`?!1:n,i.lstat(t,(a,o)=>{!a&&o.isSymbolicLink()?Promise.all([i.stat(e),i.stat(t)]).then(([i,a])=>{if(h(i,a))return r(null);_(e,t,n,r)}):_(e,t,n,r)})}function _(e,t,n,a){l(e,t,(s,c)=>{if(s)return a(s);e=c.toDst,f(c.toCwd,n,(n,s)=>{if(n)return a(n);let c=r.dirname(t);m(c,(n,r)=>{if(n)return a(n);if(r)return i.symlink(e,t,s,a);o(c,n=>{if(n)return a(n);i.symlink(e,t,s,a)})})})})}function v(e,t,n){let a;try{a=i.lstatSync(t)}catch{}if(a&&a.isSymbolicLink()){let n=i.statSync(e),r=i.statSync(t);if(h(n,r))return}let o=u(e,t);e=o.toDst,n=p(o.toCwd,n);let c=r.dirname(t),l=i.existsSync(c);return l||s(c),i.symlinkSync(e,t,n)}t.exports={createSymlink:n(g),createSymlinkSync:v}}),su=R((exports,t)=>{let{createFile:n,createFileSync:r}=nu(),{createLink:i,createLinkSync:a}=ru(),{createSymlink:o,createSymlinkSync:s}=ou();t.exports={createFile:n,createFileSync:r,ensureFile:n,ensureFileSync:r,createLink:i,createLinkSync:a,ensureLink:i,ensureLinkSync:a,createSymlink:o,createSymlinkSync:s,ensureSymlink:o,ensureSymlinkSync:s}}),cu=R((exports,t)=>{let n=Ft();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),lu=R((exports,t)=>{let n=Nt().fromCallback,r=q(),i=B(`path`),a=Kl(),o=ql().pathExists;function s(e,t,n,s){typeof n==`function`&&(s=n,n=`utf8`);let c=i.dirname(e);o(c,(i,o)=>{if(i)return s(i);if(o)return r.writeFile(e,t,n,s);a.mkdirs(c,i=>{if(i)return s(i);r.writeFile(e,t,n,s)})})}function c(e,...t){let n=i.dirname(e);if(r.existsSync(n))return r.writeFileSync(e,...t);a.mkdirsSync(n),r.writeFileSync(e,...t)}t.exports={outputFile:n(s),outputFileSync:c}}),uu=R((exports,t)=>{let{stringify:n}=Pt(),{outputFile:r}=lu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),du=R((exports,t)=>{let{stringify:n}=Pt(),{outputFileSync:r}=lu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),fu=R((exports,t)=>{let n=Nt().fromPromise,r=cu();r.outputJson=n(uu()),r.outputJsonSync=du(),r.outputJSON=r.outputJson,r.outputJSONSync=r.outputJsonSync,r.writeJSON=r.writeJson,r.writeJSONSync=r.writeJsonSync,r.readJSON=r.readJson,r.readJSONSync=r.readJsonSync,t.exports=r}),pu=R((exports,t)=>{let n=q(),r=B(`path`),i=Ql().copy,a=eu().remove,o=Kl().mkdirp,s=ql().pathExists,c=Yl();function l(e,t,n,i){typeof n==`function`&&(i=n,n={}),n||={};let a=n.overwrite||n.clobber||!1;c.checkPaths(e,t,`move`,n,(n,s)=>{if(n)return i(n);let{srcStat:l,isChangingCase:f=!1}=s;c.checkParentPaths(e,l,t,`move`,n=>{if(n)return i(n);if(u(t))return d(e,t,a,f,i);o(r.dirname(t),n=>n?i(n):d(e,t,a,f,i))})})}function u(e){let t=r.dirname(e),n=r.parse(t);return n.root===t}function d(e,t,n,r,i){if(r)return f(e,t,n,i);if(n)return a(t,r=>r?i(r):f(e,t,n,i));s(t,(r,a)=>r?i(r):a?i(Error(`dest already exists.`)):f(e,t,n,i))}function f(e,t,r,i){n.rename(e,t,n=>n?n.code===`EXDEV`?p(e,t,r,i):i(n):i())}function p(e,t,n,r){let o={overwrite:n,errorOnExist:!0};i(e,t,o,t=>t?r(t):a(e,r))}t.exports=l}),mu=R((exports,t)=>{let n=q(),r=B(`path`),i=Ql().copySync,a=eu().removeSync,o=Kl().mkdirpSync,s=Yl();function c(e,t,n){n||={};let i=n.overwrite||n.clobber||!1,{srcStat:a,isChangingCase:c=!1}=s.checkPathsSync(e,t,`move`,n);return s.checkParentPathsSync(e,a,t,`move`),l(t)||o(r.dirname(t)),u(e,t,i,c)}function l(e){let t=r.dirname(e),n=r.parse(t);return n.root===t}function u(e,t,r,i){if(i)return d(e,t,r);if(r)return a(t),d(e,t,r);if(n.existsSync(t))throw Error(`dest already exists.`);return d(e,t,r)}function d(e,t,r){try{n.renameSync(e,t)}catch(n){if(n.code!==`EXDEV`)throw n;return f(e,t,r)}}function f(e,t,n){let r={overwrite:n,errorOnExist:!0};return i(e,t,r),a(e)}t.exports=c}),hu=R((exports,t)=>{let n=Nt().fromCallback;t.exports={move:n(pu()),moveSync:mu()}}),gu=R((exports,t)=>{t.exports={...Ul(),...Ql(),...tu(),...su(),...fu(),...Kl(),...hu(),...lu(),...ql(),...eu()}}),_u=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},vu=z(gu());const yu=/^(?!_)(?<manager>.+)@(?<version>.+)$/;function bu({workspaceRoot:e}){let t=a.join(e,`package.json`);try{return(0,vu.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new _u(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new _u(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function xu({workspaceRoot:e}){let{packageManager:t}=bu({workspaceRoot:e});if(t)try{let e=yu.exec(t);if(e){let[t,n]=e;return n}}catch{}}function Su({workspaceRoot:e}){let t=bu({workspaceRoot:e}),n=a.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Cu({workspaceRoot:e}){let t=a.join(e,`pnpm-workspace.yaml`);if((0,vu.existsSync)(t))try{let e=h.load((0,vu.readFileSync)(t,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new _u(`failed to parse ${t}`,{type:`pnpm-workspace_parse_error`})}return[]}function wu({root:e,lockFile:t,workspaceConfig:n}){let r=t=>a.join(e,t),i={root:e,lockfile:r(t),packageJson:r(`package.json`),nodeModules:r(`node_modules`)};return n&&(i.workspaceConfig=r(n)),i}function Tu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function Eu({workspaceRoot:e,workspaceGlobs:t}){if(!t)return[];let n=t.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1));return t.filter(e=>!e.startsWith(`!`)).flatMap(t=>{let r=[`${t}/package.json`];return g(r,{onlyFiles:!0,absolute:!0,cwd:e,ignore:[`**/node_modules/**`,...n]})}).map(e=>{let t=a.dirname(e),{name:n,description:r}=Su({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:a.join(t,`node_modules`)}}})}function Du({directory:e}){let t=a.resolve(process.cwd(),e);return{exists:(0,vu.existsSync)(t),absolute:t}}function Ou({packageManager:e,action:t,project:n}){let r=n.workspaceData.globs.length>0;return`${t===`remove`?`Removing`:`Adding`} ${e} ${r?`workspaces`:``} ${t===`remove`?`from`:`to`} ${n.name}`}function ku({project:e}){let t=e=>{if(e.includes(`*`)){if(e.includes(`**`))return!1;let t=e.split(`/`).slice(0,-1).join(`/`);if(t.includes(`*`))return!1}return![`!`,`[`,`]`,`{`,`}`].some(t=>e.includes(t))};return e.workspaceData.globs.every(t)}function Au({project:e,options:t}){t?.dry||(0,vu.rmSync)(e.paths.lockfile,{force:!0})}async function ju({project:e,options:t}){if(!t?.dry&&(0,vu.existsSync)(e.paths.lockfile))try{let{stdout:t}=await b(`bun`,[`bun.lockb`],{stdin:`ignore`,cwd:e.paths.root,preferLocal:!0,shell:process.platform===`win32`});await(0,vu.writeFile)(a.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,vu.rmSync)(e.paths.lockfile,{force:!0})}}var Mu=z(gu());function Nu({dependencyList:e,project:t,to:n}){let r=[];for(let i of t.workspaceData.workspaces){let{name:t}=i;if(e[t]){let i=e[t],a=i.startsWith(`workspace:`)?i.slice(10):i;e[t]=n.name===`pnpm`?`workspace:${a}`:a,r.push(t)}}return{dependencyList:e,updated:r}}function Pu({project:e,workspace:n,to:r,logger:i,options:o}){if([`yarn`,`npm`,`bun`].includes(r.name)&&[`yarn`,`npm`,`bun`].includes(e.packageManager))return;let s=bu({workspaceRoot:n.paths.root}),c={dependencies:[],devDependencies:[],peerDependencies:[],optionalDependencies:[]},l=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`];for(let t of l){let n=s[t];if(n){let{updated:i,dependencyList:a}=Nu({dependencyList:n,project:e,to:r});s[t]=a,c[t]=i}}let u=e=>{let n=c[e].length;if(n>0)return`${t.green(n.toString())} ${e}`},d=l.map(u).filter(Boolean),f=`./${a.relative(e.paths.root,n.paths.packageJson)}`;if(d.length>=1){let e=`updating`;for(let[t,n]of d.entries())d.length===1?e+=` ${n} in ${f}`:t===d.length-1?e+=`and ${n} in ${f}`:e+=` ${n}, `;i.workspaceStep(e)}else i.workspaceStep(`no workspace dependencies found in ${f}`);o?.dry||Mu.default.writeJSONSync(n.paths.packageJson,s,{spaces:2})}var Fu=z(gu());const Iu={name:`pnpm`,lock:`pnpm-lock.yaml`};async function Lu(e){let t=a.join(e.workspaceRoot,Iu.lock),n=a.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=xu({workspaceRoot:e.workspaceRoot});return Fu.default.existsSync(t)||Fu.default.existsSync(n)||r===Iu.name}async function Ru(e){let t=await Lu(e);if(!t)throw new _u(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Su(e);return{name:n,description:r,packageManager:Iu.name,paths:wu({root:e.workspaceRoot,lockFile:Iu.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Cu(e),workspaces:Eu({workspaceGlobs:Cu(e),...e})}}}async function zu(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(Ou({action:`create`,packageManager:Iu.name,project:t}));let s=bu({workspaceRoot:t.paths.root});if(r.rootHeader(),s.packageManager=`${n.name}@${n.version}`,r.rootStep(`adding "packageManager" field to ${t.name} root "package.json"`),i?.dry||(Fu.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),o&&(r.rootStep(`adding "pnpm-workspace.yaml"`),Fu.default.writeFileSync(a.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
46
- `)}`))),o){Pu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:n,logger:r,options:i})}}async function Bu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({action:`remove`,packageManager:Iu.name,project:t}));let a=bu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||Fu.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Fu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Fu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Vu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Fu.default.rmSync(t.paths.lockfile,{force:!0})}async function Hu(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${Iu.lock}`)},o=async()=>{if(!n?.dry&&Fu.default.existsSync(t.paths.lockfile))try{await b(Iu.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Au({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await ju({project:t,options:n}),await o(),Fu.default.rmSync(a.join(t.paths.root,`yarn.lock`),{force:!0});break;case`npm`:i(),await o();break;case`yarn`:i(),await o();break}}const Uu={detect:Lu,read:Ru,create:zu,remove:Bu,clean:Vu,convertLock:Hu};var Wu=z(gu());const Gu={name:`npm`,lock:`package-lock.json`};async function Ku(e){let t=a.join(e.workspaceRoot,Gu.lock),n=xu({workspaceRoot:e.workspaceRoot});return Wu.default.existsSync(t)||n===Gu.name}async function qu(e){let t=await Ku(e);if(!t)throw new _u(`Not an npm project`,{type:`package_manager-unexpected`});let n=bu(e),{name:r,description:i}=Su(e),a=Tu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Gu.name,paths:wu({root:e.workspaceRoot,lockFile:Gu.lock}),workspaceData:{globs:a,workspaces:Eu({workspaceGlobs:a,...e})}}}async function Ju(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(Ou({packageManager:Gu.name,action:`create`,project:t}));let s=bu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.packageManager=`${r.name}@${r.version}`,o){i.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,n?.dry||Wu.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),Pu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Wu.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Yu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({packageManager:Gu.name,action:`remove`,project:t}));let a=bu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Wu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Wu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Xu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Wu.default.rmSync(t.paths.lockfile,{force:!0})}async function Zu(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Au({project:t,options:n});break;case`bun`:Au({project:t,options:n});break;case`npm`:break;case`yarn`:Au({project:t,options:n});break}}const Qu={detect:Ku,read:qu,create:Ju,remove:Yu,clean:Xu,convertLock:Zu};var $u=z(gu());const ed={name:`yarn`,lock:`yarn.lock`};async function td(e){let t=a.join(e.workspaceRoot,ed.lock),n=xu({workspaceRoot:e.workspaceRoot});return $u.default.existsSync(t)||n===ed.name}async function nd(e){let t=await td(e);if(!t)throw new _u(`Not a yarn project`,{type:`package_manager-unexpected`});let n=bu(e),{name:r,description:i}=Su(e),a=Tu({workspaces:n.workspaces});return{name:r,description:i,packageManager:ed.name,paths:wu({root:e.workspaceRoot,lockFile:ed.lock}),workspaceData:{globs:a,workspaces:Eu({workspaceGlobs:a,...e})}}}async function rd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(Ou({packageManager:ed.name,action:`create`,project:t}));let s=bu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.packageManager=`${n.name}@${n.version}`,o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||$u.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),Pu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||$u.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function id(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({packageManager:ed.name,action:`remove`,project:t}));let a=bu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){$u.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>$u.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function ad(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||$u.default.rmSync(t.paths.lockfile,{force:!0})}async function od(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${ed.lock}`)};switch(t.packageManager){case`pnpm`:Au({project:t,options:n});break;case`bun`:i(),await ju({project:t,options:n});break;case`npm`:Au({project:t,options:n});break;case`yarn`:break}}const sd={detect:td,read:nd,create:rd,remove:id,clean:ad,convertLock:od};var cd=z(gu());const ld={name:`bun`,lock:`bun.lockb`};async function ud(e){let t=a.join(e.workspaceRoot,ld.lock),n=xu({workspaceRoot:e.workspaceRoot});return cd.default.existsSync(t)||n===ld.name}async function dd(e){let t=await ud(e);if(!t)throw new _u(`Not a bun project`,{type:`package_manager-unexpected`});let n=bu(e),{name:r,description:i}=Su(e),a=Tu({workspaces:n.workspaces});return{name:r,description:i,packageManager:ld.name,paths:wu({root:e.workspaceRoot,lockFile:ld.lock}),workspaceData:{globs:a,workspaces:Eu({workspaceGlobs:a,...e})}}}async function fd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!ku({project:t}))throw new _u(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Ou({packageManager:ld.name,action:`create`,project:t}));let s=bu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.packageManager=`${n.name}@${n.version}`,o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||cd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),Pu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||cd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function pd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({packageManager:ld.name,action:`remove`,project:t}));let a=bu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){cd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>cd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function md(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||cd.default.rmSync(t.paths.lockfile,{force:!0})}async function hd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Au({project:t,options:n});break;case`bun`:break;case`npm`:Au({project:t,options:n});break;case`yarn`:Au({project:t,options:n});break}}const gd={detect:ud,read:dd,create:fd,remove:pd,clean:md,convertLock:hd},_d={pnpm:Uu,yarn:sd,npm:Qu,bun:gd};async function vd({root:e}){let{exists:t,absolute:n}=Du({directory:e});if(!t)throw new _u(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(_d))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new _u("Could not determine package manager. Add `packageManager` to `package.json` or ensure a lockfile is present.",{type:`package_manager-unable_to_detect`})}const yd={npm:[{name:`npm`,template:`npm`,command:`npm`,installArgs:[`install`],version:`latest`,executable:`npx`,semver:`*`,default:!0}],pnpm:[{name:`pnpm6`,template:`pnpm`,command:`pnpm`,installArgs:[`install`],version:`latest-6`,executable:`pnpx`,semver:`6.x`},{name:`pnpm`,template:`pnpm`,command:`pnpm`,installArgs:[`install`,`--fix-lockfile`],version:`latest`,executable:`pnpm dlx`,semver:`>=7`,default:!0}],yarn:[{name:`yarn`,template:`yarn`,command:`yarn`,installArgs:[`install`],version:`1.x`,executable:`npx`,semver:`<2`,default:!0},{name:`berry`,template:`berry`,command:`yarn`,installArgs:[`install`,`--no-immutable`],version:`stable`,executable:`yarn dlx`,semver:`>=2`}],bun:[{name:`bun`,template:`bun`,command:`bun`,installArgs:[`install`],version:`latest`,executable:`bunx`,semver:`^1.0.1`,default:!0}]};function bd(e){let{version:t,name:n}=e;return t?yd[n].find(e=>N(t,e.semver)):yd[n].find(e=>e.default)}async function xd(e){let{to:t,logger:n,options:r}=e,i=n??new Hl(r),a=bd(t);if(!a)throw new _u(`Unsupported package manager version.`,{type:`package_manager-unsupported_version`});if(i.subStep(`running "${a.command} ${a.installArgs.join(` `)}"`),!r?.dry){let t;i.interactive&&(t=_({text:`installing dependencies...`,spinner:{frames:i.installerFrames()}}).start());try{await b(a.command,a.installArgs,{cwd:e.project.paths.root,preferLocal:!0,shell:process.platform===`win32`,stdin:`ignore`}),t&&t.stop(),i.subStep(`dependencies installed`)}catch(e){throw i.subStepFailure(`failed to install dependencies`),e}}}async function Sd({project:e,convertTo:n,logger:r,options:i}){if(r.header(`Converting project from ${e.packageManager} to ${n.name}.`),!i?.ignoreUnchangedPackageManager){if(e.packageManager===n.name)throw new _u(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new _u(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await _d[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await _d[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await _d[a.name].convertLock({project:e,to:a,logger:r,options:i}),await xd({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await _d[e.packageManager].clean({project:e,logger:r})}export{_u as ConvertError,Hl as Logger,_d as MANAGERS,Sd as convertProject,Bl as createNotifyUpdate,Du as directoryInfo,Mt as getAvailablePackageManagers,bd as getPackageManagerMeta,vd as getWorkspaceDetails,xd as install,Et as log};
46
+ `)}`))),o){Pu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:n,logger:r,options:i})}}async function Bu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({action:`remove`,packageManager:Iu.name,project:t}));let a=bu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||Fu.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Fu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Fu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Vu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Fu.default.rmSync(t.paths.lockfile,{force:!0})}async function Hu(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${Iu.lock}`)},o=async()=>{if(!n?.dry&&Fu.default.existsSync(t.paths.lockfile))try{await b(Iu.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Au({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await ju({project:t,options:n}),await o(),Fu.default.rmSync(a.join(t.paths.root,`yarn.lock`),{force:!0});break;case`npm`:i(),await o();break;case`yarn`:i(),await o();break}}const Uu={detect:Lu,read:Ru,create:zu,remove:Bu,clean:Vu,convertLock:Hu};var Wu=z(gu());const Gu={name:`npm`,lock:`package-lock.json`};async function Ku(e){let t=a.join(e.workspaceRoot,Gu.lock),n=xu({workspaceRoot:e.workspaceRoot});return Wu.default.existsSync(t)||n===Gu.name}async function qu(e){let t=await Ku(e);if(!t)throw new _u(`Not an npm project`,{type:`package_manager-unexpected`});let n=bu(e),{name:r,description:i}=Su(e),a=Tu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Gu.name,paths:wu({root:e.workspaceRoot,lockFile:Gu.lock}),workspaceData:{globs:a,workspaces:Eu({workspaceGlobs:a,...e})}}}async function Ju(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(Ou({packageManager:Gu.name,action:`create`,project:t}));let s=bu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.packageManager=`${r.name}@${r.version}`,o){i.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,n?.dry||Wu.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),Pu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Wu.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Yu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({packageManager:Gu.name,action:`remove`,project:t}));let a=bu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Wu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Wu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Xu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Wu.default.rmSync(t.paths.lockfile,{force:!0})}async function Zu(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Au({project:t,options:n});break;case`bun`:Au({project:t,options:n});break;case`npm`:break;case`yarn`:Au({project:t,options:n});break}}const Qu={detect:Ku,read:qu,create:Ju,remove:Yu,clean:Xu,convertLock:Zu};var $u=z(gu());const ed={name:`yarn`,lock:`yarn.lock`};async function td(e){let t=a.join(e.workspaceRoot,ed.lock),n=xu({workspaceRoot:e.workspaceRoot});return $u.default.existsSync(t)||n===ed.name}async function nd(e){let t=await td(e);if(!t)throw new _u(`Not a yarn project`,{type:`package_manager-unexpected`});let n=bu(e),{name:r,description:i}=Su(e),a=Tu({workspaces:n.workspaces});return{name:r,description:i,packageManager:ed.name,paths:wu({root:e.workspaceRoot,lockFile:ed.lock}),workspaceData:{globs:a,workspaces:Eu({workspaceGlobs:a,...e})}}}async function rd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(Ou({packageManager:ed.name,action:`create`,project:t}));let s=bu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.packageManager=`${n.name}@${n.version}`,o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||$u.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),Pu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||$u.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function id(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({packageManager:ed.name,action:`remove`,project:t}));let a=bu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){$u.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>$u.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function ad(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||$u.default.rmSync(t.paths.lockfile,{force:!0})}async function od(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${ed.lock}`)};switch(t.packageManager){case`pnpm`:Au({project:t,options:n});break;case`bun`:i(),await ju({project:t,options:n});break;case`npm`:Au({project:t,options:n});break;case`yarn`:break}}const sd={detect:td,read:nd,create:rd,remove:id,clean:ad,convertLock:od};var cd=z(gu());const ld={name:`bun`,lock:`bun.lockb`};async function ud(e){let t=a.join(e.workspaceRoot,ld.lock),n=xu({workspaceRoot:e.workspaceRoot});return cd.default.existsSync(t)||n===ld.name}async function dd(e){let t=await ud(e);if(!t)throw new _u(`Not a bun project`,{type:`package_manager-unexpected`});let n=bu(e),{name:r,description:i}=Su(e),a=Tu({workspaces:n.workspaces});return{name:r,description:i,packageManager:ld.name,paths:wu({root:e.workspaceRoot,lockFile:ld.lock}),workspaceData:{globs:a,workspaces:Eu({workspaceGlobs:a,...e})}}}async function fd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!ku({project:t}))throw new _u(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Ou({packageManager:ld.name,action:`create`,project:t}));let s=bu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.packageManager=`${n.name}@${n.version}`,o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||cd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),Pu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Pu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||cd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function pd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Ou({packageManager:ld.name,action:`remove`,project:t}));let a=bu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){cd.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>cd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new _u(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function md(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||cd.default.rmSync(t.paths.lockfile,{force:!0})}async function hd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Au({project:t,options:n});break;case`bun`:break;case`npm`:Au({project:t,options:n});break;case`yarn`:Au({project:t,options:n});break}}const gd={detect:ud,read:dd,create:fd,remove:pd,clean:md,convertLock:hd},_d={pnpm:Uu,yarn:sd,npm:Qu,bun:gd};async function vd({root:e}){let{exists:t,absolute:n}=Du({directory:e});if(!t)throw new _u(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(_d))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new _u("Could not determine package manager. Add `packageManager` to `package.json` or ensure a lockfile is present.",{type:`package_manager-unable_to_detect`})}const yd={npm:[{name:`npm`,template:`npm`,command:`npm`,installArgs:[`install`],version:`latest`,executable:`npx`,semver:`*`,default:!0}],pnpm:[{name:`pnpm6`,template:`pnpm`,command:`pnpm`,installArgs:[`install`],version:`latest-6`,executable:`pnpx`,semver:`6.x`},{name:`pnpm`,template:`pnpm`,command:`pnpm`,installArgs:[`install`,`--fix-lockfile`],version:`latest`,executable:`pnpm dlx`,semver:`>=7`,default:!0}],yarn:[{name:`yarn`,template:`yarn`,command:`yarn`,installArgs:[`install`],version:`1.x`,executable:`npx`,semver:`<2`,default:!0},{name:`berry`,template:`berry`,command:`yarn`,installArgs:[`install`,`--no-immutable`],version:`stable`,executable:`yarn dlx`,semver:`>=2`}],bun:[{name:`bun`,template:`bun`,command:`bun`,installArgs:[`install`],version:`latest`,executable:`bunx`,semver:`^1.0.1`,default:!0}]};function bd(e){let{version:t,name:n}=e;return t?yd[n].find(e=>N(t,e.semver)):yd[n].find(e=>e.default)}async function xd(e){let{to:t,logger:n,options:r}=e,i=n??new Hl(r),a=bd(t);if(!a)throw new _u(`Unsupported package manager version.`,{type:`package_manager-unsupported_version`});if(i.subStep(`running "${a.command} ${a.installArgs.join(` `)}"`),!r?.dry){let t;i.interactive&&(t=_({text:`installing dependencies...`,spinner:{frames:i.installerFrames()}}).start());try{await b(a.command,a.installArgs,{cwd:e.project.paths.root,preferLocal:!0,shell:process.platform===`win32`,stdin:`ignore`}),t&&t.stop(),i.subStep(`dependencies installed`)}catch(e){throw i.subStepFailure(`failed to install dependencies`),e}}}async function Sd({project:e,convertTo:n,logger:r,options:i}){if(r.header(`Converting project from ${e.packageManager} to ${n.name}.`),!i?.ignoreUnchangedPackageManager){if(e.packageManager===n.name)throw new _u(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new _u(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await _d[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await _d[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await _d[a.name].convertLock({project:e,to:a,logger:r,options:i}),await xd({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await _d[e.packageManager].clean({project:e,logger:r,options:i})}export{_u as ConvertError,Hl as Logger,_d as MANAGERS,Sd as convertProject,Bl as createNotifyUpdate,Du as directoryInfo,Mt as getAvailablePackageManagers,bd as getPackageManagerMeta,vd as getWorkspaceDetails,xd as install,Et as log};
@@ -43,4 +43,4 @@ ${e.format(t)}
43
43
  see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0001`),s.checkPaths(e,t,`copy`,n,(i,a)=>{if(i)return r(i);let{srcStat:o,destStat:c}=a;s.checkParentPaths(e,o,t,`copy`,i=>i?r(i):n.filter?u(l,c,e,t,n,r):l(c,e,t,n,r))})}function l(e,t,n,o,s){let c=r.dirname(n);a(c,(r,a)=>{if(r)return s(r);if(a)return f(e,t,n,o,s);i(c,r=>r?s(r):f(e,t,n,o,s))})}function u(e,t,n,r,i,a){Promise.resolve(i.filter(n,r)).then(o=>o?e(t,n,r,i,a):a(),e=>a(e))}function d(e,t,n,r,i){return r.filter?u(f,e,t,n,r,i):f(e,t,n,r,i)}function f(e,t,r,i,a){let o=i.dereference?n.stat:n.lstat;o(t,(n,o)=>n?a(n):o.isDirectory()?S(o,e,t,r,i,a):o.isFile()||o.isCharacterDevice()||o.isBlockDevice()?p(o,e,t,r,i,a):o.isSymbolicLink()?D(e,t,r,i,a):o.isSocket()?a(Error(`Cannot copy a socket file: ${t}`)):o.isFIFO()?a(Error(`Cannot copy a FIFO pipe: ${t}`)):a(Error(`Unknown file: ${t}`)))}function p(e,t,n,r,i,a){return t?m(e,n,r,i,a):h(e,n,r,i,a)}function m(e,t,r,i,a){if(i.overwrite)n.unlink(r,n=>n?a(n):h(e,t,r,i,a));else if(i.errorOnExist)return a(Error(`'${r}' already exists`));else return a()}function h(e,t,r,i,a){n.copyFile(t,r,n=>n?a(n):i.preserveTimestamps?g(e.mode,t,r,a):b(r,e.mode,a))}function g(e,t,n,r){return _(e)?v(n,e,i=>i?r(i):y(e,t,n,r)):y(e,t,n,r)}function _(e){return(e&128)==0}function v(e,t,n){return b(e,t|128,n)}function y(e,t,n,r){x(t,n,t=>t?r(t):b(n,e,r))}function b(e,t,r){return n.chmod(e,t,r)}function x(e,t,r){n.stat(e,(e,n)=>e?r(e):o(t,n.atime,n.mtime,r))}function S(e,t,n,r,i,a){return t?w(n,r,i,a):C(e.mode,n,r,i,a)}function C(e,t,r,i,a){n.mkdir(r,n=>{if(n)return a(n);w(t,r,i,t=>t?a(t):b(r,e,a))})}function w(e,t,r,i){n.readdir(e,(n,a)=>n?i(n):T(a,e,t,r,i))}function T(e,t,n,r,i){let a=e.pop();return a?E(e,a,t,n,r,i):i()}function E(e,t,n,i,a,o){let c=r.join(n,t),l=r.join(i,t);s.checkPaths(c,l,`copy`,a,(t,r)=>{if(t)return o(t);let{destStat:s}=r;d(s,c,l,a,t=>t?o(t):T(e,n,i,a,o))})}function D(e,t,i,a,o){n.readlink(t,(t,c)=>{if(t)return o(t);if(a.dereference&&(c=r.resolve(process.cwd(),c)),e)n.readlink(i,(t,l)=>t?t.code===`EINVAL`||t.code===`UNKNOWN`?n.symlink(c,i,o):o(t):(a.dereference&&(l=r.resolve(process.cwd(),l)),s.isSrcSubdir(c,l)?o(Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)):e.isDirectory()&&s.isSrcSubdir(l,c)?o(Error(`Cannot overwrite '${l}' with '${c}'.`)):O(c,i,o)));else return n.symlink(c,i,o)})}function O(e,t,r){n.unlink(t,i=>i?r(i):n.symlink(e,t,r))}t.exports=c}),zl=o((exports,t)=>{let n=q(),r=require(`path`),i=Pl().mkdirsSync,a=Il().utimesMillisSync,o=Ll();function s(e,t,n){typeof n==`function`&&(n={filter:n}),n||={},n.clobber=`clobber`in n?!!n.clobber:!0,n.overwrite=`overwrite`in n?!!n.overwrite:n.clobber,n.preserveTimestamps&&process.arch===`ia32`&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
44
44
 
45
45
  see https://github.com/jprichardson/node-fs-extra/issues/269`,`Warning`,`fs-extra-WARN0002`);let{srcStat:r,destStat:i}=o.checkPathsSync(e,t,`copy`,n);return o.checkParentPathsSync(e,r,t,`copy`),c(i,e,t,n)}function c(e,t,a,o){if(o.filter&&!o.filter(t,a))return;let s=r.dirname(a);return n.existsSync(s)||i(s),u(e,t,a,o)}function l(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return u(e,t,n,r)}function u(e,t,r,i){let a=i.dereference?n.statSync:n.lstatSync,o=a(t);if(o.isDirectory())return y(o,e,t,r,i);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return d(o,e,t,r,i);if(o.isSymbolicLink())return C(e,t,r,i);throw o.isSocket()?Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?Error(`Cannot copy a FIFO pipe: ${t}`):Error(`Unknown file: ${t}`)}function d(e,t,n,r,i){return t?f(e,n,r,i):p(e,n,r,i)}function f(e,t,r,i){if(i.overwrite)return n.unlinkSync(r),p(e,t,r,i);if(i.errorOnExist)throw Error(`'${r}' already exists`)}function p(e,t,r,i){return n.copyFileSync(t,r),i.preserveTimestamps&&m(e.mode,t,r),_(r,e.mode)}function m(e,t,n){return h(e)&&g(n,e),v(t,n)}function h(e){return(e&128)==0}function g(e,t){return _(e,t|128)}function _(e,t){return n.chmodSync(e,t)}function v(e,t){let r=n.statSync(e);return a(t,r.atime,r.mtime)}function y(e,t,n,r,i){return t?x(n,r,i):b(e.mode,n,r,i)}function b(e,t,r,i){return n.mkdirSync(r),x(t,r,i),_(r,e)}function x(e,t,r){n.readdirSync(e).forEach(n=>S(n,e,t,r))}function S(e,t,n,i){let a=r.join(t,e),s=r.join(n,e),{destStat:c}=o.checkPathsSync(a,s,`copy`,i);return l(c,a,s,i)}function C(e,t,i,a){let s=n.readlinkSync(t);if(a.dereference&&(s=r.resolve(process.cwd(),s)),e){let e;try{e=n.readlinkSync(i)}catch(e){if(e.code===`EINVAL`||e.code===`UNKNOWN`)return n.symlinkSync(s,i);throw e}if(a.dereference&&(e=r.resolve(process.cwd(),e)),o.isSrcSubdir(s,e))throw Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`);if(n.statSync(i).isDirectory()&&o.isSrcSubdir(e,s))throw Error(`Cannot overwrite '${e}' with '${s}'.`);return w(s,i)}else return n.symlinkSync(s,i)}function w(e,t){return n.unlinkSync(t),n.symlinkSync(e,t)}t.exports=s}),Bl=o((exports,t)=>{let n=xt().fromCallback;t.exports={copy:n(Rl()),copySync:zl()}}),Vl=o((exports,t)=>{let n=q(),r=require(`path`),i=require(`assert`),a=process.platform===`win32`;function o(e){let t=[`unlink`,`chmod`,`stat`,`lstat`,`rmdir`,`readdir`];t.forEach(t=>{e[t]=e[t]||n[t],t+=`Sync`,e[t]=e[t]||n[t]}),e.maxBusyTries=e.maxBusyTries||3}function s(e,t,n){let r=0;typeof t==`function`&&(n=t,t={}),i(e,`rimraf: missing path`),i.strictEqual(typeof e,`string`,`rimraf: path should be a string`),i.strictEqual(typeof n,`function`,`rimraf: callback function required`),i(t,`rimraf: invalid options argument provided`),i.strictEqual(typeof t,`object`,`rimraf: options should be object`),o(t),c(e,t,function i(a){if(a){if((a.code===`EBUSY`||a.code===`ENOTEMPTY`||a.code===`EPERM`)&&r<t.maxBusyTries){r++;let n=r*100;return setTimeout(()=>c(e,t,i),n)}a.code===`ENOENT`&&(a=null)}n(a)})}function c(e,t,n){i(e),i(t),i(typeof n==`function`),t.lstat(e,(r,i)=>{if(r&&r.code===`ENOENT`)return n(null);if(r&&r.code===`EPERM`&&a)return l(e,t,r,n);if(i&&i.isDirectory())return d(e,t,r,n);t.unlink(e,r=>{if(r){if(r.code===`ENOENT`)return n(null);if(r.code===`EPERM`)return a?l(e,t,r,n):d(e,t,r,n);if(r.code===`EISDIR`)return d(e,t,r,n)}return n(r)})})}function l(e,t,n,r){i(e),i(t),i(typeof r==`function`),t.chmod(e,438,i=>{i?r(i.code===`ENOENT`?null:n):t.stat(e,(i,a)=>{i?r(i.code===`ENOENT`?null:n):a.isDirectory()?d(e,t,n,r):t.unlink(e,r)})})}function u(e,t,n){let r;i(e),i(t);try{t.chmodSync(e,438)}catch(e){if(e.code===`ENOENT`)return;throw n}try{r=t.statSync(e)}catch(e){if(e.code===`ENOENT`)return;throw n}r.isDirectory()?m(e,t,n):t.unlinkSync(e)}function d(e,t,n,r){i(e),i(t),i(typeof r==`function`),t.rmdir(e,i=>{i&&(i.code===`ENOTEMPTY`||i.code===`EEXIST`||i.code===`EPERM`)?f(e,t,r):i&&i.code===`ENOTDIR`?r(n):r(i)})}function f(e,t,n){i(e),i(t),i(typeof n==`function`),t.readdir(e,(i,a)=>{if(i)return n(i);let o=a.length,c;if(o===0)return t.rmdir(e,n);a.forEach(i=>{s(r.join(e,i),t,r=>{if(!c){if(r)return n(c=r);--o===0&&t.rmdir(e,n)}})})})}function p(e,t){let n;t||={},o(t),i(e,`rimraf: missing path`),i.strictEqual(typeof e,`string`,`rimraf: path should be a string`),i(t,`rimraf: missing options`),i.strictEqual(typeof t,`object`,`rimraf: options should be object`);try{n=t.lstatSync(e)}catch(n){if(n.code===`ENOENT`)return;n.code===`EPERM`&&a&&u(e,t,n)}try{n&&n.isDirectory()?m(e,t,null):t.unlinkSync(e)}catch(n){if(n.code===`ENOENT`)return;if(n.code===`EPERM`)return a?u(e,t,n):m(e,t,n);if(n.code!==`EISDIR`)throw n;m(e,t,n)}}function m(e,t,n){i(e),i(t);try{t.rmdirSync(e)}catch(r){if(r.code===`ENOTDIR`)throw n;if(r.code===`ENOTEMPTY`||r.code===`EEXIST`||r.code===`EPERM`)h(e,t);else if(r.code!==`ENOENT`)throw r}}function h(e,t){if(i(e),i(t),t.readdirSync(e).forEach(n=>p(r.join(e,n),t)),a){let n=Date.now();do try{let n=t.rmdirSync(e,t);return n}catch{}while(Date.now()-n<500)}else{let n=t.rmdirSync(e,t);return n}}t.exports=s,s.sync=p}),Hl=o((exports,t)=>{let n=q(),r=xt().fromCallback,i=Vl();function a(e,t){if(n.rm)return n.rm(e,{recursive:!0,force:!0},t);i(e,t)}function o(e){if(n.rmSync)return n.rmSync(e,{recursive:!0,force:!0});i.sync(e)}t.exports={remove:r(a),removeSync:o}}),Ul=o((exports,t)=>{let n=xt().fromPromise,r=jl(),i=require(`path`),a=Pl(),o=Hl(),s=n(async function(e){let t;try{t=await r.readdir(e)}catch{return a.mkdirs(e)}return Promise.all(t.map(t=>o.remove(i.join(e,t))))});function c(e){let t;try{t=r.readdirSync(e)}catch{return a.mkdirsSync(e)}t.forEach(t=>{t=i.join(e,t),o.removeSync(t)})}t.exports={emptyDirSync:c,emptydirSync:c,emptyDir:s,emptydir:s}}),Wl=o((exports,t)=>{let n=xt().fromCallback,r=require(`path`),i=q(),a=Pl();function o(e,t){function n(){i.writeFile(e,``,e=>{if(e)return t(e);t()})}i.stat(e,(o,s)=>{if(!o&&s.isFile())return t();let c=r.dirname(e);i.stat(c,(e,r)=>{if(e)return e.code===`ENOENT`?a.mkdirs(c,e=>{if(e)return t(e);n()}):t(e);r.isDirectory()?n():i.readdir(c,e=>{if(e)return t(e)})})})}function s(e){let t;try{t=i.statSync(e)}catch{}if(t&&t.isFile())return;let n=r.dirname(e);try{i.statSync(n).isDirectory()||i.readdirSync(n)}catch(e){if(e&&e.code===`ENOENT`)a.mkdirsSync(n);else throw e}i.writeFileSync(e,``)}t.exports={createFile:n(o),createFileSync:s}}),Gl=o((exports,t)=>{let n=xt().fromCallback,r=require(`path`),i=q(),a=Pl(),o=Fl().pathExists,{areIdentical:s}=Ll();function c(e,t,n){function c(e,t){i.link(e,t,e=>{if(e)return n(e);n(null)})}i.lstat(t,(l,u)=>{i.lstat(e,(i,l)=>{if(i)return i.message=i.message.replace(`lstat`,`ensureLink`),n(i);if(u&&s(l,u))return n(null);let d=r.dirname(t);o(d,(r,i)=>{if(r)return n(r);if(i)return c(e,t);a.mkdirs(d,r=>{if(r)return n(r);c(e,t)})})})})}function l(e,t){let n;try{n=i.lstatSync(t)}catch{}try{let t=i.lstatSync(e);if(n&&s(t,n))return}catch(e){throw e.message=e.message.replace(`lstat`,`ensureLink`),e}let o=r.dirname(t),c=i.existsSync(o);return c||a.mkdirsSync(o),i.linkSync(e,t)}t.exports={createLink:n(c),createLinkSync:l}}),Kl=o((exports,t)=>{let n=require(`path`),r=q(),i=Fl().pathExists;function a(e,t,a){if(n.isAbsolute(e))return r.lstat(e,t=>t?(t.message=t.message.replace(`lstat`,`ensureSymlink`),a(t)):a(null,{toCwd:e,toDst:e}));{let o=n.dirname(t),s=n.join(o,e);return i(s,(t,i)=>t?a(t):i?a(null,{toCwd:s,toDst:e}):r.lstat(e,t=>t?(t.message=t.message.replace(`lstat`,`ensureSymlink`),a(t)):a(null,{toCwd:e,toDst:n.relative(o,e)})))}}function o(e,t){let i;if(n.isAbsolute(e)){if(i=r.existsSync(e),!i)throw Error(`absolute srcpath does not exist`);return{toCwd:e,toDst:e}}else{let a=n.dirname(t),o=n.join(a,e);if(i=r.existsSync(o),i)return{toCwd:o,toDst:e};if(i=r.existsSync(e),!i)throw Error(`relative srcpath does not exist`);return{toCwd:e,toDst:n.relative(a,e)}}}t.exports={symlinkPaths:a,symlinkPathsSync:o}}),ql=o((exports,t)=>{let n=q();function r(e,t,r){if(r=typeof t==`function`?t:r,t=typeof t==`function`?!1:t,t)return r(null,t);n.lstat(e,(e,n)=>{if(e)return r(null,`file`);t=n&&n.isDirectory()?`dir`:`file`,r(null,t)})}function i(e,t){let r;if(t)return t;try{r=n.lstatSync(e)}catch{return`file`}return r&&r.isDirectory()?`dir`:`file`}t.exports={symlinkType:r,symlinkTypeSync:i}}),Jl=o((exports,t)=>{let n=xt().fromCallback,r=require(`path`),i=jl(),a=Pl(),o=a.mkdirs,s=a.mkdirsSync,c=Kl(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=ql(),f=d.symlinkType,p=d.symlinkTypeSync,m=Fl().pathExists,{areIdentical:h}=Ll();function g(e,t,n,r){r=typeof n==`function`?n:r,n=typeof n==`function`?!1:n,i.lstat(t,(a,o)=>{!a&&o.isSymbolicLink()?Promise.all([i.stat(e),i.stat(t)]).then(([i,a])=>{if(h(i,a))return r(null);_(e,t,n,r)}):_(e,t,n,r)})}function _(e,t,n,a){l(e,t,(s,c)=>{if(s)return a(s);e=c.toDst,f(c.toCwd,n,(n,s)=>{if(n)return a(n);let c=r.dirname(t);m(c,(n,r)=>{if(n)return a(n);if(r)return i.symlink(e,t,s,a);o(c,n=>{if(n)return a(n);i.symlink(e,t,s,a)})})})})}function v(e,t,n){let a;try{a=i.lstatSync(t)}catch{}if(a&&a.isSymbolicLink()){let n=i.statSync(e),r=i.statSync(t);if(h(n,r))return}let o=u(e,t);e=o.toDst,n=p(o.toCwd,n);let c=r.dirname(t),l=i.existsSync(c);return l||s(c),i.symlinkSync(e,t,n)}t.exports={createSymlink:n(g),createSymlinkSync:v}}),Yl=o((exports,t)=>{let{createFile:n,createFileSync:r}=Wl(),{createLink:i,createLinkSync:a}=Gl(),{createSymlink:o,createSymlinkSync:s}=Jl();t.exports={createFile:n,createFileSync:r,ensureFile:n,ensureFileSync:r,createLink:i,createLinkSync:a,ensureLink:i,ensureLinkSync:a,createSymlink:o,createSymlinkSync:s,ensureSymlink:o,ensureSymlinkSync:s}}),Xl=o((exports,t)=>{let n=Ct();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),Zl=o((exports,t)=>{let n=xt().fromCallback,r=q(),i=require(`path`),a=Pl(),o=Fl().pathExists;function s(e,t,n,s){typeof n==`function`&&(s=n,n=`utf8`);let c=i.dirname(e);o(c,(i,o)=>{if(i)return s(i);if(o)return r.writeFile(e,t,n,s);a.mkdirs(c,i=>{if(i)return s(i);r.writeFile(e,t,n,s)})})}function c(e,...t){let n=i.dirname(e);if(r.existsSync(n))return r.writeFileSync(e,...t);a.mkdirsSync(n),r.writeFileSync(e,...t)}t.exports={outputFile:n(s),outputFileSync:c}}),Ql=o((exports,t)=>{let{stringify:n}=St(),{outputFile:r}=Zl();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),$l=o((exports,t)=>{let{stringify:n}=St(),{outputFileSync:r}=Zl();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),eu=o((exports,t)=>{let n=xt().fromPromise,r=Xl();r.outputJson=n(Ql()),r.outputJsonSync=$l(),r.outputJSON=r.outputJson,r.outputJSONSync=r.outputJsonSync,r.writeJSON=r.writeJson,r.writeJSONSync=r.writeJsonSync,r.readJSON=r.readJson,r.readJSONSync=r.readJsonSync,t.exports=r}),tu=o((exports,t)=>{let n=q(),r=require(`path`),i=Bl().copy,a=Hl().remove,o=Pl().mkdirp,s=Fl().pathExists,c=Ll();function l(e,t,n,i){typeof n==`function`&&(i=n,n={}),n||={};let a=n.overwrite||n.clobber||!1;c.checkPaths(e,t,`move`,n,(n,s)=>{if(n)return i(n);let{srcStat:l,isChangingCase:f=!1}=s;c.checkParentPaths(e,l,t,`move`,n=>{if(n)return i(n);if(u(t))return d(e,t,a,f,i);o(r.dirname(t),n=>n?i(n):d(e,t,a,f,i))})})}function u(e){let t=r.dirname(e),n=r.parse(t);return n.root===t}function d(e,t,n,r,i){if(r)return f(e,t,n,i);if(n)return a(t,r=>r?i(r):f(e,t,n,i));s(t,(r,a)=>r?i(r):a?i(Error(`dest already exists.`)):f(e,t,n,i))}function f(e,t,r,i){n.rename(e,t,n=>n?n.code===`EXDEV`?p(e,t,r,i):i(n):i())}function p(e,t,n,r){let o={overwrite:n,errorOnExist:!0};i(e,t,o,t=>t?r(t):a(e,r))}t.exports=l}),nu=o((exports,t)=>{let n=q(),r=require(`path`),i=Bl().copySync,a=Hl().removeSync,o=Pl().mkdirpSync,s=Ll();function c(e,t,n){n||={};let i=n.overwrite||n.clobber||!1,{srcStat:a,isChangingCase:c=!1}=s.checkPathsSync(e,t,`move`,n);return s.checkParentPathsSync(e,a,t,`move`),l(t)||o(r.dirname(t)),u(e,t,i,c)}function l(e){let t=r.dirname(e),n=r.parse(t);return n.root===t}function u(e,t,r,i){if(i)return d(e,t,r);if(r)return a(t),d(e,t,r);if(n.existsSync(t))throw Error(`dest already exists.`);return d(e,t,r)}function d(e,t,r){try{n.renameSync(e,t)}catch(n){if(n.code!==`EXDEV`)throw n;return f(e,t,r)}}function f(e,t,n){let r={overwrite:n,errorOnExist:!0};return i(e,t,r),a(e)}t.exports=c}),ru=o((exports,t)=>{let n=xt().fromCallback;t.exports={move:n(tu()),moveSync:nu()}}),iu=o((exports,t)=>{t.exports={...jl(),...Bl(),...Ul(),...Yl(),...eu(),...Pl(),...ru(),...Zl(),...Fl(),...Hl()}}),au=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},ou=c(iu());const su=/^(?!_)(?<manager>.+)@(?<version>.+)$/;function cu({workspaceRoot:e}){let t=d.default.join(e,`package.json`);try{return(0,ou.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new au(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new au(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function lu({workspaceRoot:e}){let{packageManager:t}=cu({workspaceRoot:e});if(t)try{let e=su.exec(t);if(e){let[t,n]=e;return n}}catch{}}function uu({workspaceRoot:e}){let t=cu({workspaceRoot:e}),n=d.default.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function du({workspaceRoot:e}){let t=d.default.join(e,`pnpm-workspace.yaml`);if((0,ou.existsSync)(t))try{let e=h.default.load((0,ou.readFileSync)(t,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new au(`failed to parse ${t}`,{type:`pnpm-workspace_parse_error`})}return[]}function fu({root:e,lockFile:t,workspaceConfig:n}){let r=t=>d.default.join(e,t),i={root:e,lockfile:r(t),packageJson:r(`package.json`),nodeModules:r(`node_modules`)};return n&&(i.workspaceConfig=r(n)),i}function pu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function mu({workspaceRoot:e,workspaceGlobs:t}){if(!t)return[];let n=t.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1));return t.filter(e=>!e.startsWith(`!`)).flatMap(t=>{let r=[`${t}/package.json`];return(0,g.sync)(r,{onlyFiles:!0,absolute:!0,cwd:e,ignore:[`**/node_modules/**`,...n]})}).map(e=>{let t=d.default.dirname(e),{name:n,description:r}=uu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:d.default.join(t,`node_modules`)}}})}function hu({directory:e}){let t=d.default.resolve(process.cwd(),e);return{exists:(0,ou.existsSync)(t),absolute:t}}function gu({packageManager:e,action:t,project:n}){let r=n.workspaceData.globs.length>0;return`${t===`remove`?`Removing`:`Adding`} ${e} ${r?`workspaces`:``} ${t===`remove`?`from`:`to`} ${n.name}`}function _u({project:e}){let t=e=>{if(e.includes(`*`)){if(e.includes(`**`))return!1;let t=e.split(`/`).slice(0,-1).join(`/`);if(t.includes(`*`))return!1}return![`!`,`[`,`]`,`{`,`}`].some(t=>e.includes(t))};return e.workspaceData.globs.every(t)}function vu({project:e,options:t}){t?.dry||(0,ou.rmSync)(e.paths.lockfile,{force:!0})}async function yu({project:e,options:t}){if(!t?.dry&&(0,ou.existsSync)(e.paths.lockfile))try{let{stdout:t}=await(0,b.default)(`bun`,[`bun.lockb`],{stdin:`ignore`,cwd:e.paths.root,preferLocal:!0,shell:process.platform===`win32`});await(0,ou.writeFile)(d.default.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,ou.rmSync)(e.paths.lockfile,{force:!0})}}var bu=c(iu());function xu({dependencyList:e,project:t,to:n}){let r=[];for(let i of t.workspaceData.workspaces){let{name:t}=i;if(e[t]){let i=e[t],a=i.startsWith(`workspace:`)?i.slice(10):i;e[t]=n.name===`pnpm`?`workspace:${a}`:a,r.push(t)}}return{dependencyList:e,updated:r}}function Su({project:e,workspace:t,to:n,logger:r,options:i}){if([`yarn`,`npm`,`bun`].includes(n.name)&&[`yarn`,`npm`,`bun`].includes(e.packageManager))return;let a=cu({workspaceRoot:t.paths.root}),o={dependencies:[],devDependencies:[],peerDependencies:[],optionalDependencies:[]},s=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`];for(let t of s){let r=a[t];if(r){let{updated:i,dependencyList:s}=xu({dependencyList:r,project:e,to:n});a[t]=s,o[t]=i}}let c=e=>{let t=o[e].length;if(t>0)return`${l.default.green(t.toString())} ${e}`},u=s.map(c).filter(Boolean),f=`./${d.default.relative(e.paths.root,t.paths.packageJson)}`;if(u.length>=1){let e=`updating`;for(let[t,n]of u.entries())u.length===1?e+=` ${n} in ${f}`:t===u.length-1?e+=`and ${n} in ${f}`:e+=` ${n}, `;r.workspaceStep(e)}else r.workspaceStep(`no workspace dependencies found in ${f}`);i?.dry||bu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2})}var Cu=c(iu());const wu={name:`pnpm`,lock:`pnpm-lock.yaml`};async function Tu(e){let t=d.default.join(e.workspaceRoot,wu.lock),n=d.default.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=lu({workspaceRoot:e.workspaceRoot});return Cu.default.existsSync(t)||Cu.default.existsSync(n)||r===wu.name}async function Eu(e){let t=await Tu(e);if(!t)throw new au(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=uu(e);return{name:n,description:r,packageManager:wu.name,paths:fu({root:e.workspaceRoot,lockFile:wu.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:du(e),workspaces:mu({workspaceGlobs:du(e),...e})}}}async function Du(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(gu({action:`create`,packageManager:wu.name,project:t}));let o=cu({workspaceRoot:t.paths.root});if(r.rootHeader(),o.packageManager=`${n.name}@${n.version}`,r.rootStep(`adding "packageManager" field to ${t.name} root "package.json"`),i?.dry||(Cu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),a&&(r.rootStep(`adding "pnpm-workspace.yaml"`),Cu.default.writeFileSync(d.default.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
46
- `)}`))),a){Su({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:n,logger:r,options:i})}}async function Ou(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({action:`remove`,packageManager:wu.name,project:t}));let a=cu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||Cu.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Cu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Cu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function ku(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Cu.default.rmSync(t.paths.lockfile,{force:!0})}async function Au(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${wu.lock}`)},a=async()=>{if(!n?.dry&&Cu.default.existsSync(t.paths.lockfile))try{await(0,b.default)(wu.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{vu({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await yu({project:t,options:n}),await a(),Cu.default.rmSync(d.default.join(t.paths.root,`yarn.lock`),{force:!0});break;case`npm`:i(),await a();break;case`yarn`:i(),await a();break}}const ju={detect:Tu,read:Eu,create:Du,remove:Ou,clean:ku,convertLock:Au};var Mu=c(iu());const Nu={name:`npm`,lock:`package-lock.json`};async function Pu(e){let t=d.default.join(e.workspaceRoot,Nu.lock),n=lu({workspaceRoot:e.workspaceRoot});return Mu.default.existsSync(t)||n===Nu.name}async function Fu(e){let t=await Pu(e);if(!t)throw new au(`Not an npm project`,{type:`package_manager-unexpected`});let n=cu(e),{name:r,description:i}=uu(e),a=pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Nu.name,paths:fu({root:e.workspaceRoot,lockFile:Nu.lock}),workspaceData:{globs:a,workspaces:mu({workspaceGlobs:a,...e})}}}async function Iu(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(gu({packageManager:Nu.name,action:`create`,project:t}));let o=cu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.packageManager=`${r.name}@${r.version}`,a){i.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,n?.dry||Mu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Su({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Mu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Lu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({packageManager:Nu.name,action:`remove`,project:t}));let a=cu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Mu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Mu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ru(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Mu.default.rmSync(t.paths.lockfile,{force:!0})}async function zu(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:vu({project:t,options:n});break;case`bun`:vu({project:t,options:n});break;case`npm`:break;case`yarn`:vu({project:t,options:n});break}}const Bu={detect:Pu,read:Fu,create:Iu,remove:Lu,clean:Ru,convertLock:zu};var Vu=c(iu());const Hu={name:`yarn`,lock:`yarn.lock`};async function Uu(e){let t=d.default.join(e.workspaceRoot,Hu.lock),n=lu({workspaceRoot:e.workspaceRoot});return Vu.default.existsSync(t)||n===Hu.name}async function Wu(e){let t=await Uu(e);if(!t)throw new au(`Not a yarn project`,{type:`package_manager-unexpected`});let n=cu(e),{name:r,description:i}=uu(e),a=pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Hu.name,paths:fu({root:e.workspaceRoot,lockFile:Hu.lock}),workspaceData:{globs:a,workspaces:mu({workspaceGlobs:a,...e})}}}async function Gu(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(gu({packageManager:Hu.name,action:`create`,project:t}));let o=cu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.packageManager=`${n.name}@${n.version}`,a){r.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,i?.dry||Vu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Su({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Vu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Ku(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({packageManager:Hu.name,action:`remove`,project:t}));let a=cu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Vu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Vu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function qu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Vu.default.rmSync(t.paths.lockfile,{force:!0})}async function Ju(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${Hu.lock}`)};switch(t.packageManager){case`pnpm`:vu({project:t,options:n});break;case`bun`:i(),await yu({project:t,options:n});break;case`npm`:vu({project:t,options:n});break;case`yarn`:break}}const Yu={detect:Uu,read:Wu,create:Gu,remove:Ku,clean:qu,convertLock:Ju};var Xu=c(iu());const Zu={name:`bun`,lock:`bun.lockb`};async function Qu(e){let t=d.default.join(e.workspaceRoot,Zu.lock),n=lu({workspaceRoot:e.workspaceRoot});return Xu.default.existsSync(t)||n===Zu.name}async function $u(e){let t=await Qu(e);if(!t)throw new au(`Not a bun project`,{type:`package_manager-unexpected`});let n=cu(e),{name:r,description:i}=uu(e),a=pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Zu.name,paths:fu({root:e.workspaceRoot,lockFile:Zu.lock}),workspaceData:{globs:a,workspaces:mu({workspaceGlobs:a,...e})}}}async function ed(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!_u({project:t}))throw new au(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(gu({packageManager:Zu.name,action:`create`,project:t}));let o=cu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.packageManager=`${n.name}@${n.version}`,a){r.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,i?.dry||Xu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Su({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Xu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function td(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({packageManager:Zu.name,action:`remove`,project:t}));let a=cu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Xu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Xu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function nd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Xu.default.rmSync(t.paths.lockfile,{force:!0})}async function rd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:vu({project:t,options:n});break;case`bun`:break;case`npm`:vu({project:t,options:n});break;case`yarn`:vu({project:t,options:n});break}}const id={detect:Qu,read:$u,create:ed,remove:td,clean:nd,convertLock:rd},ad={pnpm:ju,yarn:Yu,npm:Bu,bun:id};async function od({root:e}){let{exists:t,absolute:n}=hu({directory:e});if(!t)throw new au(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(ad))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new au("Could not determine package manager. Add `packageManager` to `package.json` or ensure a lockfile is present.",{type:`package_manager-unable_to_detect`})}const sd={npm:[{name:`npm`,template:`npm`,command:`npm`,installArgs:[`install`],version:`latest`,executable:`npx`,semver:`*`,default:!0}],pnpm:[{name:`pnpm6`,template:`pnpm`,command:`pnpm`,installArgs:[`install`],version:`latest-6`,executable:`pnpx`,semver:`6.x`},{name:`pnpm`,template:`pnpm`,command:`pnpm`,installArgs:[`install`,`--fix-lockfile`],version:`latest`,executable:`pnpm dlx`,semver:`>=7`,default:!0}],yarn:[{name:`yarn`,template:`yarn`,command:`yarn`,installArgs:[`install`],version:`1.x`,executable:`npx`,semver:`<2`,default:!0},{name:`berry`,template:`berry`,command:`yarn`,installArgs:[`install`,`--no-immutable`],version:`stable`,executable:`yarn dlx`,semver:`>=2`}],bun:[{name:`bun`,template:`bun`,command:`bun`,installArgs:[`install`],version:`latest`,executable:`bunx`,semver:`^1.0.1`,default:!0}]};function cd(e){let{version:t,name:n}=e;return t?sd[n].find(e=>(0,j.satisfies)(t,e.semver)):sd[n].find(e=>e.default)}async function ld(e){let{to:t,logger:n,options:r}=e,i=n??new Al(r),a=cd(t);if(!a)throw new au(`Unsupported package manager version.`,{type:`package_manager-unsupported_version`});if(i.subStep(`running "${a.command} ${a.installArgs.join(` `)}"`),!r?.dry){let t;i.interactive&&(t=(0,_.default)({text:`installing dependencies...`,spinner:{frames:i.installerFrames()}}).start());try{await(0,b.default)(a.command,a.installArgs,{cwd:e.project.paths.root,preferLocal:!0,shell:process.platform===`win32`,stdin:`ignore`}),t&&t.stop(),i.subStep(`dependencies installed`)}catch(e){throw i.subStepFailure(`failed to install dependencies`),e}}}async function ud({project:e,convertTo:t,logger:n,options:r}){if(n.header(`Converting project from ${e.packageManager} to ${t.name}.`),!r?.ignoreUnchangedPackageManager){if(e.packageManager===t.name)throw new au(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!t.version)throw new au(`${t.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let i=t;r?.ignoreUnchangedPackageManager||await ad[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await ad[i.name].create({project:e,to:i,logger:n,options:r}),n.mainStep(`Installing dependencies`),r?.skipInstall?n.subStep(l.default.yellow(`Skipping install`)):(await ad[i.name].convertLock({project:e,to:i,logger:n,options:r}),await ld({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await ad[e.packageManager].clean({project:e,logger:n})}Object.defineProperty(exports,`ConvertError`,{enumerable:!0,get:function(){return au}}),Object.defineProperty(exports,`Logger`,{enumerable:!0,get:function(){return Al}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return ad}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return ud}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Ol}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return hu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return cd}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return od}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return ld}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return mt}});
46
+ `)}`))),a){Su({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:n,logger:r,options:i})}}async function Ou(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({action:`remove`,packageManager:wu.name,project:t}));let a=cu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||Cu.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Cu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Cu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function ku(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Cu.default.rmSync(t.paths.lockfile,{force:!0})}async function Au(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${wu.lock}`)},a=async()=>{if(!n?.dry&&Cu.default.existsSync(t.paths.lockfile))try{await(0,b.default)(wu.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{vu({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await yu({project:t,options:n}),await a(),Cu.default.rmSync(d.default.join(t.paths.root,`yarn.lock`),{force:!0});break;case`npm`:i(),await a();break;case`yarn`:i(),await a();break}}const ju={detect:Tu,read:Eu,create:Du,remove:Ou,clean:ku,convertLock:Au};var Mu=c(iu());const Nu={name:`npm`,lock:`package-lock.json`};async function Pu(e){let t=d.default.join(e.workspaceRoot,Nu.lock),n=lu({workspaceRoot:e.workspaceRoot});return Mu.default.existsSync(t)||n===Nu.name}async function Fu(e){let t=await Pu(e);if(!t)throw new au(`Not an npm project`,{type:`package_manager-unexpected`});let n=cu(e),{name:r,description:i}=uu(e),a=pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Nu.name,paths:fu({root:e.workspaceRoot,lockFile:Nu.lock}),workspaceData:{globs:a,workspaces:mu({workspaceGlobs:a,...e})}}}async function Iu(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(gu({packageManager:Nu.name,action:`create`,project:t}));let o=cu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.packageManager=`${r.name}@${r.version}`,a){i.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,n?.dry||Mu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Su({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Mu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Lu(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({packageManager:Nu.name,action:`remove`,project:t}));let a=cu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Mu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Mu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ru(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Mu.default.rmSync(t.paths.lockfile,{force:!0})}async function zu(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:vu({project:t,options:n});break;case`bun`:vu({project:t,options:n});break;case`npm`:break;case`yarn`:vu({project:t,options:n});break}}const Bu={detect:Pu,read:Fu,create:Iu,remove:Lu,clean:Ru,convertLock:zu};var Vu=c(iu());const Hu={name:`yarn`,lock:`yarn.lock`};async function Uu(e){let t=d.default.join(e.workspaceRoot,Hu.lock),n=lu({workspaceRoot:e.workspaceRoot});return Vu.default.existsSync(t)||n===Hu.name}async function Wu(e){let t=await Uu(e);if(!t)throw new au(`Not a yarn project`,{type:`package_manager-unexpected`});let n=cu(e),{name:r,description:i}=uu(e),a=pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Hu.name,paths:fu({root:e.workspaceRoot,lockFile:Hu.lock}),workspaceData:{globs:a,workspaces:mu({workspaceGlobs:a,...e})}}}async function Gu(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(gu({packageManager:Hu.name,action:`create`,project:t}));let o=cu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.packageManager=`${n.name}@${n.version}`,a){r.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,i?.dry||Vu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Su({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Vu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Ku(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({packageManager:Hu.name,action:`remove`,project:t}));let a=cu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Vu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Vu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function qu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Vu.default.rmSync(t.paths.lockfile,{force:!0})}async function Ju(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${Hu.lock}`)};switch(t.packageManager){case`pnpm`:vu({project:t,options:n});break;case`bun`:i(),await yu({project:t,options:n});break;case`npm`:vu({project:t,options:n});break;case`yarn`:break}}const Yu={detect:Uu,read:Wu,create:Gu,remove:Ku,clean:qu,convertLock:Ju};var Xu=c(iu());const Zu={name:`bun`,lock:`bun.lockb`};async function Qu(e){let t=d.default.join(e.workspaceRoot,Zu.lock),n=lu({workspaceRoot:e.workspaceRoot});return Xu.default.existsSync(t)||n===Zu.name}async function $u(e){let t=await Qu(e);if(!t)throw new au(`Not a bun project`,{type:`package_manager-unexpected`});let n=cu(e),{name:r,description:i}=uu(e),a=pu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Zu.name,paths:fu({root:e.workspaceRoot,lockFile:Zu.lock}),workspaceData:{globs:a,workspaces:mu({workspaceGlobs:a,...e})}}}async function ed(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!_u({project:t}))throw new au(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(gu({packageManager:Zu.name,action:`create`,project:t}));let o=cu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.packageManager=`${n.name}@${n.version}`,a){r.rootStep(`adding "workspaces" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),o.workspaces=t.workspaceData.globs,i?.dry||Xu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Su({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Su({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||Xu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function td(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(gu({packageManager:Zu.name,action:`remove`,project:t}));let a=cu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing "packageManager" field in ${t.name} root "package.json"`),delete a.packageManager,!r?.dry){Xu.default.writeJSONSync(t.paths.packageJson,a,{spaces:2});let e=[t.paths.nodeModules,...t.workspaceData.workspaces.map(e=>e.paths.nodeModules)];try{n.subStep(`removing "node_modules"`),await Promise.all(e.map(e=>Xu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new au(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function nd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Xu.default.rmSync(t.paths.lockfile,{force:!0})}async function rd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:vu({project:t,options:n});break;case`bun`:break;case`npm`:vu({project:t,options:n});break;case`yarn`:vu({project:t,options:n});break}}const id={detect:Qu,read:$u,create:ed,remove:td,clean:nd,convertLock:rd},ad={pnpm:ju,yarn:Yu,npm:Bu,bun:id};async function od({root:e}){let{exists:t,absolute:n}=hu({directory:e});if(!t)throw new au(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(ad))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new au("Could not determine package manager. Add `packageManager` to `package.json` or ensure a lockfile is present.",{type:`package_manager-unable_to_detect`})}const sd={npm:[{name:`npm`,template:`npm`,command:`npm`,installArgs:[`install`],version:`latest`,executable:`npx`,semver:`*`,default:!0}],pnpm:[{name:`pnpm6`,template:`pnpm`,command:`pnpm`,installArgs:[`install`],version:`latest-6`,executable:`pnpx`,semver:`6.x`},{name:`pnpm`,template:`pnpm`,command:`pnpm`,installArgs:[`install`,`--fix-lockfile`],version:`latest`,executable:`pnpm dlx`,semver:`>=7`,default:!0}],yarn:[{name:`yarn`,template:`yarn`,command:`yarn`,installArgs:[`install`],version:`1.x`,executable:`npx`,semver:`<2`,default:!0},{name:`berry`,template:`berry`,command:`yarn`,installArgs:[`install`,`--no-immutable`],version:`stable`,executable:`yarn dlx`,semver:`>=2`}],bun:[{name:`bun`,template:`bun`,command:`bun`,installArgs:[`install`],version:`latest`,executable:`bunx`,semver:`^1.0.1`,default:!0}]};function cd(e){let{version:t,name:n}=e;return t?sd[n].find(e=>(0,j.satisfies)(t,e.semver)):sd[n].find(e=>e.default)}async function ld(e){let{to:t,logger:n,options:r}=e,i=n??new Al(r),a=cd(t);if(!a)throw new au(`Unsupported package manager version.`,{type:`package_manager-unsupported_version`});if(i.subStep(`running "${a.command} ${a.installArgs.join(` `)}"`),!r?.dry){let t;i.interactive&&(t=(0,_.default)({text:`installing dependencies...`,spinner:{frames:i.installerFrames()}}).start());try{await(0,b.default)(a.command,a.installArgs,{cwd:e.project.paths.root,preferLocal:!0,shell:process.platform===`win32`,stdin:`ignore`}),t&&t.stop(),i.subStep(`dependencies installed`)}catch(e){throw i.subStepFailure(`failed to install dependencies`),e}}}async function ud({project:e,convertTo:t,logger:n,options:r}){if(n.header(`Converting project from ${e.packageManager} to ${t.name}.`),!r?.ignoreUnchangedPackageManager){if(e.packageManager===t.name)throw new au(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!t.version)throw new au(`${t.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let i=t;r?.ignoreUnchangedPackageManager||await ad[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await ad[i.name].create({project:e,to:i,logger:n,options:r}),n.mainStep(`Installing dependencies`),r?.skipInstall?n.subStep(l.default.yellow(`Skipping install`)):(await ad[i.name].convertLock({project:e,to:i,logger:n,options:r}),await ld({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await ad[e.packageManager].clean({project:e,logger:n,options:r})}Object.defineProperty(exports,`ConvertError`,{enumerable:!0,get:function(){return au}}),Object.defineProperty(exports,`Logger`,{enumerable:!0,get:function(){return Al}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return ad}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return ud}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Ol}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return hu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return cd}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return od}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return ld}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return mt}});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const e=require(`./convert-DowjKq2E.js`);async function t({root:t,to:n,options:r}){let i=new e.Logger({...r,interactive:!1}),[a,o]=await Promise.all([e.getWorkspaceDetails({root:t}),e.getAvailablePackageManagers()]);await e.convertProject({project:a,convertTo:{name:n,version:o[n]},logger:i,options:r})}exports.ConvertError=e.ConvertError,exports.MANAGERS=e.MANAGERS,exports.convert=t,exports.getPackageManagerMeta=e.getPackageManagerMeta,exports.getWorkspaceDetails=e.getWorkspaceDetails,exports.install=e.install;
1
+ const e=require(`./convert-DZTyk3Od.js`);async function t({root:t,to:n,options:r}){let i=new e.Logger({...r,interactive:!1}),[a,o]=await Promise.all([e.getWorkspaceDetails({root:t}),e.getAvailablePackageManagers()]);await e.convertProject({project:a,convertTo:{name:n,version:o[n]},logger:i,options:r})}exports.ConvertError=e.ConvertError,exports.MANAGERS=e.MANAGERS,exports.convert=t,exports.getPackageManagerMeta=e.getPackageManagerMeta,exports.getWorkspaceDetails=e.getWorkspaceDetails,exports.install=e.install;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{ConvertError as e,Logger as t,MANAGERS as n,convertProject as r,getAvailablePackageManagers as i,getPackageManagerMeta as a,getWorkspaceDetails as o,install as s}from"./convert-CwrF6JOS.mjs";async function c({root:e,to:n,options:a}){let s=new t({...a,interactive:!1}),[c,l]=await Promise.all([o({root:e}),i()]);await r({project:c,convertTo:{name:n,version:l[n]},logger:s,options:a})}export{e as ConvertError,n as MANAGERS,c as convert,a as getPackageManagerMeta,o as getWorkspaceDetails,s as install};
1
+ import{ConvertError as e,Logger as t,MANAGERS as n,convertProject as r,getAvailablePackageManagers as i,getPackageManagerMeta as a,getWorkspaceDetails as o,install as s}from"./convert-9DAWjfTd.mjs";async function c({root:e,to:n,options:a}){let s=new t({...a,interactive:!1}),[c,l]=await Promise.all([o({root:e}),i()]);await r({project:c,convertTo:{name:n,version:l[n]},logger:s,options:a})}export{e as ConvertError,n as MANAGERS,c as convert,a as getPackageManagerMeta,o as getWorkspaceDetails,s as install};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turbo/workspaces",
3
- "version": "2.9.9-canary.4",
3
+ "version": "2.9.9",
4
4
  "description": "Tools for working with package managers",
5
5
  "homepage": "https://turborepo.dev",
6
6
  "bugs": {
@@ -47,8 +47,8 @@
47
47
  "tsdown": "0.12.0",
48
48
  "typescript": "5.5.4",
49
49
  "@turbo/test-utils": "0.0.0",
50
- "@turbo/tsconfig": "0.0.0",
51
- "@turbo/utils": "0.0.0"
50
+ "@turbo/utils": "0.0.0",
51
+ "@turbo/tsconfig": "0.0.0"
52
52
  },
53
53
  "scripts": {
54
54
  "build": "tsdown && tsc -p tsconfig.build.json",