@turbo/workspaces 2.10.2 → 2.10.3-canary.2

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-D5eeCKcP.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.10.2`,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({projectRoot:l})]),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`},{pm:`nub`,label:`nub`}].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-BJEZ1fnI.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.10.3-canary.2`,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({projectRoot:l})]),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`},{pm:`nub`,label:`nub`}].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-Bdm99LFE.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.10.2`,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({projectRoot:m})]),_;_=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`},{pm:`nub`,label:`nub`}].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-CDJXSJDb.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.10.3-canary.2`,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({projectRoot:m})]),_;_=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`},{pm:`nub`,label:`nub`}].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)});
@@ -42,5 +42,5 @@ ${e.format(t)}
42
42
 
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}),Jl=o((exports,t)=>{let n=K(),r=require(`path`),i=Ul().mkdirsSync,a=Gl().utimesMillisSync,o=Kl();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
- 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}),Yl=o((exports,t)=>{let n=jt().fromCallback;t.exports={copy:n(ql()),copySync:Jl()}}),Xl=o((exports,t)=>{let n=K(),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}),Zl=o((exports,t)=>{let n=K(),r=jt().fromCallback,i=Xl();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}}),Ql=o((exports,t)=>{let n=jt().fromPromise,r=Bl(),i=require(`path`),a=Ul(),o=Zl(),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}}),$l=o((exports,t)=>{let n=jt().fromCallback,r=require(`path`),i=K(),a=Ul();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}}),eu=o((exports,t)=>{let n=jt().fromCallback,r=require(`path`),i=K(),a=Ul(),o=Wl().pathExists,{areIdentical:s}=Kl();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}}),tu=o((exports,t)=>{let n=require(`path`),r=K(),i=Wl().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}}),nu=o((exports,t)=>{let n=K();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}}),ru=o((exports,t)=>{let n=jt().fromCallback,r=require(`path`),i=Bl(),a=Ul(),o=a.mkdirs,s=a.mkdirsSync,c=tu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=nu(),f=d.symlinkType,p=d.symlinkTypeSync,m=Wl().pathExists,{areIdentical:h}=Kl();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}}),iu=o((exports,t)=>{let{createFile:n,createFileSync:r}=$l(),{createLink:i,createLinkSync:a}=eu(),{createSymlink:o,createSymlinkSync:s}=ru();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}}),au=o((exports,t)=>{let n=Nt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),ou=o((exports,t)=>{let n=jt().fromCallback,r=K(),i=require(`path`),a=Ul(),o=Wl().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}}),su=o((exports,t)=>{let{stringify:n}=Mt(),{outputFile:r}=ou();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),cu=o((exports,t)=>{let{stringify:n}=Mt(),{outputFileSync:r}=ou();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),lu=o((exports,t)=>{let n=jt().fromPromise,r=au();r.outputJson=n(su()),r.outputJsonSync=cu(),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}),uu=o((exports,t)=>{let n=K(),r=require(`path`),i=Yl().copy,a=Zl().remove,o=Ul().mkdirp,s=Wl().pathExists,c=Kl();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}),du=o((exports,t)=>{let n=K(),r=require(`path`),i=Yl().copySync,a=Zl().removeSync,o=Ul().mkdirpSync,s=Kl();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}),fu=o((exports,t)=>{let n=jt().fromCallback;t.exports={move:n(uu()),moveSync:du()}}),pu=o((exports,t)=>{t.exports={...Bl(),...Yl(),...Ql(),...iu(),...lu(),...Ul(),...fu(),...ou(),...Wl(),...Zl()}}),mu=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},hu=c(pu());const gu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,_u=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`]),vu=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function yu({workspaceRoot:e}){let t=d.default.join(e,`package.json`);try{return(0,hu.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new mu(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new mu(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function bu({workspaceRoot:e}){let t=yu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=gu.exec(n);if(e){let t=e.groups?.manager;return xu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Su("`devEngines` must be an object containing `packageManager`");if(!r||!(`packageManager`in r))return;let a=r.packageManager;if(!a||typeof a!=`object`||Array.isArray(a))throw Su("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Su('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Su("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Su("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Su("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Su("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!xu(o))throw Su("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, or `nub`");if(!(`version`in a))throw Su("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Su("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Su("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Su("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!vu.test(s)||j.default.valid(s)===null)throw Su("`devEngines.packageManager.version` must be an exact semantic version");return o}function xu(e){return typeof e==`string`&&_u.has(e)}function Su(e){return new mu(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Cu(e){if(!e)return;let t=gu.exec(e),n=t?.groups?.manager;return xu(n)?n:void 0}function wu({packageJson:e,packageManager:t,version:n}){delete e.packageManager;let r=e.devEngines&&typeof e.devEngines==`object`&&!Array.isArray(e.devEngines)?e.devEngines:{};e.devEngines={...r,packageManager:{name:t,version:n}}}function Tu({packageJson:e,packageManager:t}){Cu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Eu(n)&&n.name===t&&delete e.devEngines?.packageManager}function Eu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&xu(e.name)&&`version`in e&&typeof e.version==`string`}function Du({workspaceRoot:e}){let t=yu({workspaceRoot:e}),n=d.default.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Ou({workspaceRoot:e}){let t=d.default.join(e,`pnpm-workspace.yaml`);if((0,hu.existsSync)(t))try{let e=h.default.load((0,hu.readFileSync)(t,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new mu(`failed to parse ${t}`,{type:`pnpm-workspace_parse_error`})}return[]}function ku({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 Au({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function ju({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}=Du({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:d.default.join(t,`node_modules`)}}})}const Mu=[{manager:`bun`,lockfiles:[`bun.lock`,`bun.lockb`]},{manager:`pnpm`,lockfiles:[`pnpm-lock.yaml`]},{manager:`yarn`,lockfiles:[`yarn.lock`]},{manager:`npm`,lockfiles:[`package-lock.json`]}];function Nu({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Mu)if(n.some(t=>(0,hu.existsSync)(d.default.join(e,t))))return t;return`npm`}function Pu({workspaceRoot:e}){let t=Nu({workspaceRoot:e});switch(t){case`bun`:return(0,hu.existsSync)(d.default.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return`pnpm-lock.yaml`;case`yarn`:return`yarn.lock`;case`npm`:return`package-lock.json`}}function Fu({directory:e}){let t=d.default.resolve(process.cwd(),e);return{exists:(0,hu.existsSync)(t),absolute:t}}function Iu({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 Lu({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 Ru({project:e,options:t}){t?.dry||(0,hu.rmSync)(e.paths.lockfile,{force:!0})}async function zu({project:e,options:t}){if(!t?.dry&&(0,hu.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,hu.writeFile)(d.default.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,hu.rmSync)(e.paths.lockfile,{force:!0})}}var Bu=c(pu());function Vu({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 Hu({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=yu({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}=Vu({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 Uu=c(pu());const Wu={name:`npm`,lock:`package-lock.json`};async function Gu(e){let t=d.default.join(e.workspaceRoot,Wu.lock),n=bu({workspaceRoot:e.workspaceRoot});return Uu.default.existsSync(t)||n===Wu.name}async function Ku(e){let t=await Gu(e);if(!t)throw new mu(`Not an npm project`,{type:`package_manager-unexpected`});let n=yu(e),{name:r,description:i}=Du(e),a=Au({workspaces:n.workspaces});return{name:r,description:i,packageManager:Wu.name,paths:ku({root:e.workspaceRoot,lockFile:Wu.lock}),workspaceData:{globs:a,workspaces:ju({workspaceGlobs:a,...e})}}}async function qu(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Iu({packageManager:Wu.name,action:`create`,project:t}));let o=yu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),wu({packageJson:o,packageManager:r.name,version: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||Uu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Hu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Hu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Uu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Ju(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Iu({packageManager:Wu.name,action:`remove`,project:t}));let a=yu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Wu.name} package manager declarations in ${t.name} root "package.json"`),Tu({packageJson:a,packageManager:Wu.name}),!r?.dry){Uu.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=>Uu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new mu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Yu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Uu.default.rmSync(t.paths.lockfile,{force:!0})}async function Xu(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Ru({project:t,options:n});break;case`bun`:Ru({project:t,options:n});break;case`npm`:break;case`yarn`:Ru({project:t,options:n});break;case`nub`:Ru({project:t,options:n});break}}const Zu={detect:Gu,read:Ku,create:qu,remove:Ju,clean:Yu,convertLock:Xu};var Qu=c(pu());const $u={name:`pnpm`,lock:`pnpm-lock.yaml`};async function ed(e){let t=d.default.join(e.workspaceRoot,$u.lock),n=d.default.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=bu({workspaceRoot:e.workspaceRoot});return Qu.default.existsSync(t)||Qu.default.existsSync(n)||r===$u.name}async function td(e){let t=await ed(e);if(!t)throw new mu(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Du(e);return{name:n,description:r,packageManager:$u.name,paths:ku({root:e.workspaceRoot,lockFile:$u.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Ou(e),workspaces:ju({workspaceGlobs:Ou(e),...e})}}}async function nd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Iu({action:`create`,packageManager:$u.name,project:t}));let o=yu({workspaceRoot:t.paths.root});if(r.rootHeader(),wu({packageJson:o,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(Qu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),a&&(r.rootStep(`adding "pnpm-workspace.yaml"`),Qu.default.writeFileSync(d.default.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
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}),Yl=o((exports,t)=>{let n=jt().fromCallback;t.exports={copy:n(ql()),copySync:Jl()}}),Xl=o((exports,t)=>{let n=K(),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}),Zl=o((exports,t)=>{let n=K(),r=jt().fromCallback,i=Xl();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}}),Ql=o((exports,t)=>{let n=jt().fromPromise,r=Bl(),i=require(`path`),a=Ul(),o=Zl(),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}}),$l=o((exports,t)=>{let n=jt().fromCallback,r=require(`path`),i=K(),a=Ul();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}}),eu=o((exports,t)=>{let n=jt().fromCallback,r=require(`path`),i=K(),a=Ul(),o=Wl().pathExists,{areIdentical:s}=Kl();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}}),tu=o((exports,t)=>{let n=require(`path`),r=K(),i=Wl().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}}),nu=o((exports,t)=>{let n=K();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}}),ru=o((exports,t)=>{let n=jt().fromCallback,r=require(`path`),i=Bl(),a=Ul(),o=a.mkdirs,s=a.mkdirsSync,c=tu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=nu(),f=d.symlinkType,p=d.symlinkTypeSync,m=Wl().pathExists,{areIdentical:h}=Kl();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}}),iu=o((exports,t)=>{let{createFile:n,createFileSync:r}=$l(),{createLink:i,createLinkSync:a}=eu(),{createSymlink:o,createSymlinkSync:s}=ru();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}}),au=o((exports,t)=>{let n=Nt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),ou=o((exports,t)=>{let n=jt().fromCallback,r=K(),i=require(`path`),a=Ul(),o=Wl().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}}),su=o((exports,t)=>{let{stringify:n}=Mt(),{outputFile:r}=ou();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),cu=o((exports,t)=>{let{stringify:n}=Mt(),{outputFileSync:r}=ou();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),lu=o((exports,t)=>{let n=jt().fromPromise,r=au();r.outputJson=n(su()),r.outputJsonSync=cu(),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}),uu=o((exports,t)=>{let n=K(),r=require(`path`),i=Yl().copy,a=Zl().remove,o=Ul().mkdirp,s=Wl().pathExists,c=Kl();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}),du=o((exports,t)=>{let n=K(),r=require(`path`),i=Yl().copySync,a=Zl().removeSync,o=Ul().mkdirpSync,s=Kl();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}),fu=o((exports,t)=>{let n=jt().fromCallback;t.exports={move:n(uu()),moveSync:du()}}),pu=o((exports,t)=>{t.exports={...Bl(),...Yl(),...Ql(),...iu(),...lu(),...Ul(),...fu(),...ou(),...Wl(),...Zl()}}),mu=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},hu=c(pu());const gu=/^(?!_)(?<manager>.+)@(?<version>.+)$/,_u=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`]),vu=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function yu({workspaceRoot:e}){let t=d.default.join(e,`package.json`);try{return(0,hu.readJsonSync)(t,`utf8`)}catch(t){if(t&&typeof t==`object`&&`code`in t){if(t.code===`ENOENT`)throw new mu(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new mu(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function bu({workspaceRoot:e}){let t=yu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=gu.exec(n);if(e){let t=e.groups?.manager;return xu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Su("`devEngines` must be an object containing `packageManager`");if(!r||!(`packageManager`in r))return;let a=r.packageManager;if(!a||typeof a!=`object`||Array.isArray(a))throw Su("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Su('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Su("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Su("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Su("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Su("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!xu(o))throw Su("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, or `nub`");if(!(`version`in a))throw Su("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Su("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Su("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Su("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!vu.test(s)||j.default.valid(s)===null)throw Su("`devEngines.packageManager.version` must be an exact semantic version");return o}function xu(e){return typeof e==`string`&&_u.has(e)}function Su(e){return new mu(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Cu(e){if(!e)return;let t=gu.exec(e),n=t?.groups?.manager;return xu(n)?n:void 0}function wu({packageJson:e,packageManager:t,version:n}){let r=j.default.valid(n)??n;delete e.packageManager;let i=e.devEngines&&typeof e.devEngines==`object`&&!Array.isArray(e.devEngines)?e.devEngines:{};e.devEngines={...i,packageManager:{name:t,version:r}}}function Tu({packageJson:e,packageManager:t}){Cu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;Eu(n)&&n.name===t&&delete e.devEngines?.packageManager}function Eu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&xu(e.name)&&`version`in e&&typeof e.version==`string`}function Du({workspaceRoot:e}){let t=yu({workspaceRoot:e}),n=d.default.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Ou({workspaceRoot:e}){let t=d.default.join(e,`pnpm-workspace.yaml`);if((0,hu.existsSync)(t))try{let e=h.default.load((0,hu.readFileSync)(t,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new mu(`failed to parse ${t}`,{type:`pnpm-workspace_parse_error`})}return[]}function ku({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 Au({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function ju({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}=Du({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:d.default.join(t,`node_modules`)}}})}const Mu=[{manager:`bun`,lockfiles:[`bun.lock`,`bun.lockb`]},{manager:`pnpm`,lockfiles:[`pnpm-lock.yaml`]},{manager:`yarn`,lockfiles:[`yarn.lock`]},{manager:`npm`,lockfiles:[`package-lock.json`]}];function Nu({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Mu)if(n.some(t=>(0,hu.existsSync)(d.default.join(e,t))))return t;return`npm`}function Pu({workspaceRoot:e}){let t=Nu({workspaceRoot:e});switch(t){case`bun`:return(0,hu.existsSync)(d.default.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return`pnpm-lock.yaml`;case`yarn`:return`yarn.lock`;case`npm`:return`package-lock.json`}}function Fu({directory:e}){let t=d.default.resolve(process.cwd(),e);return{exists:(0,hu.existsSync)(t),absolute:t}}function Iu({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 Lu({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 Ru({project:e,options:t}){t?.dry||(0,hu.rmSync)(e.paths.lockfile,{force:!0})}async function zu({project:e,options:t}){if(!t?.dry&&(0,hu.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,hu.writeFile)(d.default.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,hu.rmSync)(e.paths.lockfile,{force:!0})}}var Bu=c(pu());function Vu({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 Hu({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=yu({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}=Vu({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 Uu=c(pu());const Wu={name:`npm`,lock:`package-lock.json`};async function Gu(e){let t=d.default.join(e.workspaceRoot,Wu.lock),n=bu({workspaceRoot:e.workspaceRoot});return Uu.default.existsSync(t)||n===Wu.name}async function Ku(e){let t=await Gu(e);if(!t)throw new mu(`Not an npm project`,{type:`package_manager-unexpected`});let n=yu(e),{name:r,description:i}=Du(e),a=Au({workspaces:n.workspaces});return{name:r,description:i,packageManager:Wu.name,paths:ku({root:e.workspaceRoot,lockFile:Wu.lock}),workspaceData:{globs:a,workspaces:ju({workspaceGlobs:a,...e})}}}async function qu(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Iu({packageManager:Wu.name,action:`create`,project:t}));let o=yu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),wu({packageJson:o,packageManager:r.name,version: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||Uu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Hu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Hu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Uu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function Ju(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Iu({packageManager:Wu.name,action:`remove`,project:t}));let a=yu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Wu.name} package manager declarations in ${t.name} root "package.json"`),Tu({packageJson:a,packageManager:Wu.name}),!r?.dry){Uu.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=>Uu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new mu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Yu(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Uu.default.rmSync(t.paths.lockfile,{force:!0})}async function Xu(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Ru({project:t,options:n});break;case`bun`:Ru({project:t,options:n});break;case`npm`:break;case`yarn`:Ru({project:t,options:n});break;case`nub`:Ru({project:t,options:n});break}}const Zu={detect:Gu,read:Ku,create:qu,remove:Ju,clean:Yu,convertLock:Xu};var Qu=c(pu());const $u={name:`pnpm`,lock:`pnpm-lock.yaml`};async function ed(e){let t=d.default.join(e.workspaceRoot,$u.lock),n=d.default.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=bu({workspaceRoot:e.workspaceRoot});return Qu.default.existsSync(t)||Qu.default.existsSync(n)||r===$u.name}async function td(e){let t=await ed(e);if(!t)throw new mu(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Du(e);return{name:n,description:r,packageManager:$u.name,paths:ku({root:e.workspaceRoot,lockFile:$u.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Ou(e),workspaces:ju({workspaceGlobs:Ou(e),...e})}}}async function nd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Iu({action:`create`,packageManager:$u.name,project:t}));let o=yu({workspaceRoot:t.paths.root});if(r.rootHeader(),wu({packageJson:o,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(Qu.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),a&&(r.rootStep(`adding "pnpm-workspace.yaml"`),Qu.default.writeFileSync(d.default.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
46
46
  `)}`))),a){Hu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Hu({workspace:e,project:t,to:n,logger:r,options:i})}}async function rd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Iu({action:`remove`,packageManager:$u.name,project:t}));let a=yu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||Qu.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${$u.name} package manager declarations in ${t.name} root "package.json"`),Tu({packageJson:a,packageManager:$u.name}),!r?.dry){Qu.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=>Qu.default.rm(e,{recursive:!0,force:!0})))}catch{throw new mu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function id(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Qu.default.rmSync(t.paths.lockfile,{force:!0})}async function ad(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${$u.lock}`)},a=async()=>{if(!n?.dry&&Qu.default.existsSync(t.paths.lockfile))try{await(0,b.default)($u.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Ru({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await zu({project:t,options:n}),await a(),Qu.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;case`nub`:Ru({project:t,options:n});break}}const od={detect:ed,read:td,create:nd,remove:rd,clean:id,convertLock:ad};var sd=c(pu());const cd={name:`yarn`,lock:`yarn.lock`};async function ld(e){let t=d.default.join(e.workspaceRoot,cd.lock),n=bu({workspaceRoot:e.workspaceRoot});return sd.default.existsSync(t)||n===cd.name}async function ud(e){let t=await ld(e);if(!t)throw new mu(`Not a yarn project`,{type:`package_manager-unexpected`});let n=yu(e),{name:r,description:i}=Du(e),a=Au({workspaces:n.workspaces});return{name:r,description:i,packageManager:cd.name,paths:ku({root:e.workspaceRoot,lockFile:cd.lock}),workspaceData:{globs:a,workspaces:ju({workspaceGlobs:a,...e})}}}async function dd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;r.mainStep(Iu({packageManager:cd.name,action:`create`,project:t}));let o=yu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),wu({packageJson:o,packageManager:n.name,version: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||sd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Hu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Hu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||sd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function fd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Iu({packageManager:cd.name,action:`remove`,project:t}));let a=yu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${cd.name} package manager declarations in ${t.name} root "package.json"`),Tu({packageJson:a,packageManager:cd.name}),!r?.dry){sd.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=>sd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new mu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function pd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||sd.default.rmSync(t.paths.lockfile,{force:!0})}async function md(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${d.default.relative(t.paths.root,t.paths.lockfile)} to ${cd.lock}`)};switch(t.packageManager){case`pnpm`:Ru({project:t,options:n});break;case`bun`:i(),await zu({project:t,options:n});break;case`npm`:Ru({project:t,options:n});break;case`yarn`:break;case`nub`:Ru({project:t,options:n});break}}const hd={detect:ld,read:ud,create:dd,remove:fd,clean:pd,convertLock:md};var gd=c(pu());const _d={name:`bun`,lock:`bun.lockb`};async function vd(e){let t=d.default.join(e.workspaceRoot,_d.lock),n=bu({workspaceRoot:e.workspaceRoot});return gd.default.existsSync(t)||n===_d.name}async function yd(e){let t=await vd(e);if(!t)throw new mu(`Not a bun project`,{type:`package_manager-unexpected`});let n=yu(e),{name:r,description:i}=Du(e),a=Au({workspaces:n.workspaces});return{name:r,description:i,packageManager:_d.name,paths:ku({root:e.workspaceRoot,lockFile:_d.lock}),workspaceData:{globs:a,workspaces:ju({workspaceGlobs:a,...e})}}}async function bd(e){let{project:t,to:n,logger:r,options:i}=e,a=t.workspaceData.globs.length>0;if(!Lu({project:t}))throw new mu(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Iu({packageManager:_d.name,action:`create`,project:t}));let o=yu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),wu({packageJson:o,packageManager:n.name,version: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||gd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Hu({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)Hu({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||gd.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function xd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Iu({packageManager:_d.name,action:`remove`,project:t}));let a=yu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${_d.name} package manager declarations in ${t.name} root "package.json"`),Tu({packageJson:a,packageManager:_d.name}),!r?.dry){gd.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=>gd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new mu(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Sd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||gd.default.rmSync(t.paths.lockfile,{force:!0})}async function Cd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Ru({project:t,options:n});break;case`bun`:break;case`npm`:Ru({project:t,options:n});break;case`yarn`:Ru({project:t,options:n});break;case`nub`:Ru({project:t,options:n});break}}const wd={detect:vd,read:yd,create:bd,remove:xd,clean:Sd,convertLock:Cd};var Td=c(pu());const Ed={name:`nub`,lock:`package-lock.json`},Dd={npm:Zu,pnpm:od,yarn:hd,bun:wd};async function Od(e){let t=bu({workspaceRoot:e.workspaceRoot});return t===Ed.name}async function kd(e){let t=await Od(e);if(!t)throw new mu(`Not a nub project`,{type:`package_manager-unexpected`});let n=Nu({workspaceRoot:e.workspaceRoot}),r=Dd[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:Ed.name}}let i=yu(e),{name:a,description:o}=Du(e),s=Pu({workspaceRoot:e.workspaceRoot}),c=Ou(e),l=n===`pnpm`&&c.length>0?c:Au({workspaces:i.workspaces});return{name:a,description:o,packageManager:Ed.name,paths:ku({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:ju({workspaceGlobs:l,...e})}}}async function Ad(e){let{project:t,options:n,to:r,logger:i}=e,a=t.workspaceData.globs.length>0;i.mainStep(Iu({packageManager:Ed.name,action:`create`,project:t}));let o=yu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${d.default.relative(t.paths.root,t.paths.packageJson)}`),wu({packageJson:o,packageManager:r.name,version: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||Td.default.writeJSONSync(t.paths.packageJson,o,{spaces:2}),Hu({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)Hu({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Td.default.writeJSONSync(t.paths.packageJson,o,{spaces:2})}async function jd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Iu({packageManager:Ed.name,action:`remove`,project:t}));let a=yu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Ed.name} package manager declarations in ${t.name} root "package.json"`),Tu({packageJson:a,packageManager:Ed.name}),!r?.dry){Td.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=>Td.default.rm(e,{recursive:!0,force:!0})))}catch{throw new mu(`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 ${d.default.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Td.default.rmSync(t.paths.lockfile,{force:!0})}async function Nd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Ru({project:t,options:n});break;case`npm`:case`nub`:break}}const Pd={detect:Od,read:kd,create:Ad,remove:jd,clean:Md,convertLock:Nd},Fd={nub:Pd,pnpm:od,yarn:hd,npm:Zu,bun:wd};async function Id({root:e}){let{exists:t,absolute:n}=Fu({directory:e});if(!t)throw new mu(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(Fd))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new mu("Could not determine package manager. Add `devEngines.packageManager` or legacy `packageManager` to `package.json`, or ensure a lockfile is present.",{type:`package_manager-unable_to_detect`})}const Ld={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}],nub:[{name:`nub`,template:`nub`,command:`nub`,installArgs:[`install`],version:`latest`,executable:`nub`,semver:`*`,default:!0}]};function Rd(e){let{version:t,name:n}=e;return t?Ld[n].find(e=>(0,j.satisfies)(t,e.semver)):Ld[n].find(e=>e.default)}async function zd(e){let{to:t,logger:n,options:r}=e,i=n??new zl(r),a=Rd(t);if(!a)throw new mu(`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 Bd({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 mu(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!t.version)throw new mu(`${t.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let i=t;r?.ignoreUnchangedPackageManager||await Fd[e.packageManager].remove({project:e,to:i,logger:n,options:r}),await Fd[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 Fd[i.name].convertLock({project:e,to:i,logger:n,options:r}),await zd({project:e,to:i,logger:n,options:r})),n.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==t.name&&await Fd[e.packageManager].clean({project:e,logger:n,options:r})}Object.defineProperty(exports,`ConvertError`,{enumerable:!0,get:function(){return mu}}),Object.defineProperty(exports,`Logger`,{enumerable:!0,get:function(){return zl}}),Object.defineProperty(exports,`MANAGERS`,{enumerable:!0,get:function(){return Fd}}),Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`convertProject`,{enumerable:!0,get:function(){return Bd}}),Object.defineProperty(exports,`createNotifyUpdate`,{enumerable:!0,get:function(){return Ll}}),Object.defineProperty(exports,`directoryInfo`,{enumerable:!0,get:function(){return Fu}}),Object.defineProperty(exports,`getAvailablePackageManagers`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`getPackageManagerMeta`,{enumerable:!0,get:function(){return Rd}}),Object.defineProperty(exports,`getWorkspaceDetails`,{enumerable:!0,get:function(){return Id}}),Object.defineProperty(exports,`install`,{enumerable:!0,get:function(){return zd}}),Object.defineProperty(exports,`log`,{enumerable:!0,get:function(){return ht}});
@@ -42,5 +42,5 @@ ${e.format(t)}
42
42
 
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}),su=z((exports,t)=>{let n=J(),r=V(`path`),i=nu().mkdirsSync,a=iu().utimesMillisSync,o=au();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
- 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}),cu=z((exports,t)=>{let n=Ht().fromCallback;t.exports={copy:n(ou()),copySync:su()}}),lu=z((exports,t)=>{let n=J(),r=V(`path`),i=V(`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}),uu=z((exports,t)=>{let n=J(),r=Ht().fromCallback,i=lu();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}}),du=z((exports,t)=>{let n=Ht().fromPromise,r=$l(),i=V(`path`),a=nu(),o=uu(),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}}),fu=z((exports,t)=>{let n=Ht().fromCallback,r=V(`path`),i=J(),a=nu();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}}),pu=z((exports,t)=>{let n=Ht().fromCallback,r=V(`path`),i=J(),a=nu(),o=ru().pathExists,{areIdentical:s}=au();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}}),mu=z((exports,t)=>{let n=V(`path`),r=J(),i=ru().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}}),hu=z((exports,t)=>{let n=J();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}}),gu=z((exports,t)=>{let n=Ht().fromCallback,r=V(`path`),i=$l(),a=nu(),o=a.mkdirs,s=a.mkdirsSync,c=mu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=hu(),f=d.symlinkType,p=d.symlinkTypeSync,m=ru().pathExists,{areIdentical:h}=au();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}}),_u=z((exports,t)=>{let{createFile:n,createFileSync:r}=fu(),{createLink:i,createLinkSync:a}=pu(),{createSymlink:o,createSymlinkSync:s}=gu();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}}),vu=z((exports,t)=>{let n=Wt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),yu=z((exports,t)=>{let n=Ht().fromCallback,r=J(),i=V(`path`),a=nu(),o=ru().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}}),bu=z((exports,t)=>{let{stringify:n}=Ut(),{outputFile:r}=yu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),xu=z((exports,t)=>{let{stringify:n}=Ut(),{outputFileSync:r}=yu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),Su=z((exports,t)=>{let n=Ht().fromPromise,r=vu();r.outputJson=n(bu()),r.outputJsonSync=xu(),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}),Cu=z((exports,t)=>{let n=J(),r=V(`path`),i=cu().copy,a=uu().remove,o=nu().mkdirp,s=ru().pathExists,c=au();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}),wu=z((exports,t)=>{let n=J(),r=V(`path`),i=cu().copySync,a=uu().removeSync,o=nu().mkdirpSync,s=au();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}),Tu=z((exports,t)=>{let n=Ht().fromCallback;t.exports={move:n(Cu()),moveSync:wu()}}),Eu=z((exports,t)=>{t.exports={...$l(),...cu(),...du(),..._u(),...Su(),...nu(),...Tu(),...yu(),...ru(),...uu()}}),Du=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Ou=B(Eu());const ku=/^(?!_)(?<manager>.+)@(?<version>.+)$/,Au=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`]),ju=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function Mu({workspaceRoot:e}){let t=a.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 Du(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new Du(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function Nu({workspaceRoot:e}){let t=Mu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=ku.exec(n);if(e){let t=e.groups?.manager;return Pu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Fu("`devEngines` must be an object containing `packageManager`");if(!r||!(`packageManager`in r))return;let a=r.packageManager;if(!a||typeof a!=`object`||Array.isArray(a))throw Fu("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Fu('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Fu("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Fu("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Fu("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Fu("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Pu(o))throw Fu("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, or `nub`");if(!(`version`in a))throw Fu("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Fu("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Fu("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Fu("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!ju.test(s)||N.valid(s)===null)throw Fu("`devEngines.packageManager.version` must be an exact semantic version");return o}function Pu(e){return typeof e==`string`&&Au.has(e)}function Fu(e){return new Du(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Iu(e){if(!e)return;let t=ku.exec(e),n=t?.groups?.manager;return Pu(n)?n:void 0}function Lu({packageJson:e,packageManager:t,version:n}){delete e.packageManager;let r=e.devEngines&&typeof e.devEngines==`object`&&!Array.isArray(e.devEngines)?e.devEngines:{};e.devEngines={...r,packageManager:{name:t,version:n}}}function Ru({packageJson:e,packageManager:t}){Iu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;zu(n)&&n.name===t&&delete e.devEngines?.packageManager}function zu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Pu(e.name)&&`version`in e&&typeof e.version==`string`}function Bu({workspaceRoot:e}){let t=Mu({workspaceRoot:e}),n=a.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Vu({workspaceRoot:e}){let t=a.join(e,`pnpm-workspace.yaml`);if((0,Ou.existsSync)(t))try{let e=h.load((0,Ou.readFileSync)(t,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new Du(`failed to parse ${t}`,{type:`pnpm-workspace_parse_error`})}return[]}function Hu({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 Uu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function Wu({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}=Bu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:a.join(t,`node_modules`)}}})}const Gu=[{manager:`bun`,lockfiles:[`bun.lock`,`bun.lockb`]},{manager:`pnpm`,lockfiles:[`pnpm-lock.yaml`]},{manager:`yarn`,lockfiles:[`yarn.lock`]},{manager:`npm`,lockfiles:[`package-lock.json`]}];function Ku({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Gu)if(n.some(t=>(0,Ou.existsSync)(a.join(e,t))))return t;return`npm`}function qu({workspaceRoot:e}){let t=Ku({workspaceRoot:e});switch(t){case`bun`:return(0,Ou.existsSync)(a.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return`pnpm-lock.yaml`;case`yarn`:return`yarn.lock`;case`npm`:return`package-lock.json`}}function Ju({directory:e}){let t=a.resolve(process.cwd(),e);return{exists:(0,Ou.existsSync)(t),absolute:t}}function Yu({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 Xu({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 Zu({project:e,options:t}){t?.dry||(0,Ou.rmSync)(e.paths.lockfile,{force:!0})}async function Qu({project:e,options:t}){if(!t?.dry&&(0,Ou.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,Ou.writeFile)(a.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Ou.rmSync)(e.paths.lockfile,{force:!0})}}var $u=B(Eu());function ed({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 td({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=Mu({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}=ed({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||$u.default.writeJSONSync(n.paths.packageJson,s,{spaces:2})}var nd=B(Eu());const rd={name:`npm`,lock:`package-lock.json`};async function id(e){let t=a.join(e.workspaceRoot,rd.lock),n=Nu({workspaceRoot:e.workspaceRoot});return nd.default.existsSync(t)||n===rd.name}async function ad(e){let t=await id(e);if(!t)throw new Du(`Not an npm project`,{type:`package_manager-unexpected`});let n=Mu(e),{name:r,description:i}=Bu(e),a=Uu({workspaces:n.workspaces});return{name:r,description:i,packageManager:rd.name,paths:Hu({root:e.workspaceRoot,lockFile:rd.lock}),workspaceData:{globs:a,workspaces:Wu({workspaceGlobs:a,...e})}}}async function od(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(Yu({packageManager:rd.name,action:`create`,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Lu({packageJson:s,packageManager:r.name,version:r.version}),o){i.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,n?.dry||nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),td({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)td({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function sd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Yu({packageManager:rd.name,action:`remove`,project:t}));let a=Mu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${rd.name} package manager declarations in ${t.name} root "package.json"`),Ru({packageJson:a,packageManager:rd.name}),!r?.dry){nd.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=>nd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Du(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function cd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||nd.default.rmSync(t.paths.lockfile,{force:!0})}async function ld(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Zu({project:t,options:n});break;case`bun`:Zu({project:t,options:n});break;case`npm`:break;case`yarn`:Zu({project:t,options:n});break;case`nub`:Zu({project:t,options:n});break}}const ud={detect:id,read:ad,create:od,remove:sd,clean:cd,convertLock:ld};var dd=B(Eu());const fd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function pd(e){let t=a.join(e.workspaceRoot,fd.lock),n=a.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Nu({workspaceRoot:e.workspaceRoot});return dd.default.existsSync(t)||dd.default.existsSync(n)||r===fd.name}async function md(e){let t=await pd(e);if(!t)throw new Du(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Bu(e);return{name:n,description:r,packageManager:fd.name,paths:Hu({root:e.workspaceRoot,lockFile:fd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Vu(e),workspaces:Wu({workspaceGlobs:Vu(e),...e})}}}async function hd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(Yu({action:`create`,packageManager:fd.name,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(r.rootHeader(),Lu({packageJson:s,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(dd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),o&&(r.rootStep(`adding "pnpm-workspace.yaml"`),dd.default.writeFileSync(a.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
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}),cu=z((exports,t)=>{let n=Ht().fromCallback;t.exports={copy:n(ou()),copySync:su()}}),lu=z((exports,t)=>{let n=J(),r=V(`path`),i=V(`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}),uu=z((exports,t)=>{let n=J(),r=Ht().fromCallback,i=lu();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}}),du=z((exports,t)=>{let n=Ht().fromPromise,r=$l(),i=V(`path`),a=nu(),o=uu(),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}}),fu=z((exports,t)=>{let n=Ht().fromCallback,r=V(`path`),i=J(),a=nu();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}}),pu=z((exports,t)=>{let n=Ht().fromCallback,r=V(`path`),i=J(),a=nu(),o=ru().pathExists,{areIdentical:s}=au();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}}),mu=z((exports,t)=>{let n=V(`path`),r=J(),i=ru().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}}),hu=z((exports,t)=>{let n=J();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}}),gu=z((exports,t)=>{let n=Ht().fromCallback,r=V(`path`),i=$l(),a=nu(),o=a.mkdirs,s=a.mkdirsSync,c=mu(),l=c.symlinkPaths,u=c.symlinkPathsSync,d=hu(),f=d.symlinkType,p=d.symlinkTypeSync,m=ru().pathExists,{areIdentical:h}=au();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}}),_u=z((exports,t)=>{let{createFile:n,createFileSync:r}=fu(),{createLink:i,createLinkSync:a}=pu(),{createSymlink:o,createSymlinkSync:s}=gu();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}}),vu=z((exports,t)=>{let n=Wt();t.exports={readJson:n.readFile,readJsonSync:n.readFileSync,writeJson:n.writeFile,writeJsonSync:n.writeFileSync}}),yu=z((exports,t)=>{let n=Ht().fromCallback,r=J(),i=V(`path`),a=nu(),o=ru().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}}),bu=z((exports,t)=>{let{stringify:n}=Ut(),{outputFile:r}=yu();async function i(e,t,i={}){let a=n(t,i);await r(e,a,i)}t.exports=i}),xu=z((exports,t)=>{let{stringify:n}=Ut(),{outputFileSync:r}=yu();function i(e,t,i){let a=n(t,i);r(e,a,i)}t.exports=i}),Su=z((exports,t)=>{let n=Ht().fromPromise,r=vu();r.outputJson=n(bu()),r.outputJsonSync=xu(),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}),Cu=z((exports,t)=>{let n=J(),r=V(`path`),i=cu().copy,a=uu().remove,o=nu().mkdirp,s=ru().pathExists,c=au();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}),wu=z((exports,t)=>{let n=J(),r=V(`path`),i=cu().copySync,a=uu().removeSync,o=nu().mkdirpSync,s=au();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}),Tu=z((exports,t)=>{let n=Ht().fromCallback;t.exports={move:n(Cu()),moveSync:wu()}}),Eu=z((exports,t)=>{t.exports={...$l(),...cu(),...du(),..._u(),...Su(),...nu(),...Tu(),...yu(),...ru(),...uu()}}),Du=class e extends Error{type;constructor(t,n){super(t),this.name=`ConvertError`,this.type=n?.type??`unknown`,Error.captureStackTrace(this,e)}},Ou=B(Eu());const ku=/^(?!_)(?<manager>.+)@(?<version>.+)$/,Au=new Set([`npm`,`pnpm`,`yarn`,`bun`,`nub`]),ju=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function Mu({workspaceRoot:e}){let t=a.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 Du(`no "package.json" found at ${e}`,{type:`package_json-missing`});if(t.code===`EJSONPARSE`)throw new Du(`failed to parse "package.json" at ${e}`,{type:`package_json-parse_error`})}throw Error(`unexpected error reading "package.json" at ${e}`)}}function Nu({workspaceRoot:e}){let t=Mu({workspaceRoot:e}),{packageManager:n,devEngines:r}=t;if(n){try{let e=ku.exec(n);if(e){let t=e.groups?.manager;return Pu(t)?t:void 0}}catch{}return}let i=Object.hasOwn(t,`devEngines`);if(i&&(!r||typeof r!=`object`||Array.isArray(r)))throw Fu("`devEngines` must be an object containing `packageManager`");if(!r||!(`packageManager`in r))return;let a=r.packageManager;if(!a||typeof a!=`object`||Array.isArray(a))throw Fu("`devEngines.packageManager` must be an object");if(Object.keys(a).length===0)throw Fu('expected `{ "name": "pnpm", "version": "9.12.3" }`');if(!(`name`in a))throw Fu("`devEngines.packageManager.name` is required");let{name:o}=a;if(typeof o!=`string`)throw Fu("`devEngines.packageManager.name` must be a string");if(o.length===0)throw Fu("`devEngines.packageManager.name` must not be empty");if(o.trim()!==o)throw Fu("`devEngines.packageManager.name` must not contain leading or trailing whitespace");if(!Pu(o))throw Fu("`devEngines.packageManager.name` must be one of `npm`, `pnpm`, `yarn`, `bun`, or `nub`");if(!(`version`in a))throw Fu("`devEngines.packageManager.version` is required");let{version:s}=a;if(typeof s!=`string`)throw Fu("`devEngines.packageManager.version` must be a string");if(s.length===0)throw Fu("`devEngines.packageManager.version` must not be empty");if(s.trim()!==s)throw Fu("`devEngines.packageManager.version` must not contain leading or trailing whitespace");if(!ju.test(s)||N.valid(s)===null)throw Fu("`devEngines.packageManager.version` must be an exact semantic version");return o}function Pu(e){return typeof e==`string`&&Au.has(e)}function Fu(e){return new Du(`Invalid \`devEngines.packageManager\` field in package.json: ${e}`,{type:`package_manager-unable_to_detect`})}function Iu(e){if(!e)return;let t=ku.exec(e),n=t?.groups?.manager;return Pu(n)?n:void 0}function Lu({packageJson:e,packageManager:t,version:n}){let r=N.valid(n)??n;delete e.packageManager;let i=e.devEngines&&typeof e.devEngines==`object`&&!Array.isArray(e.devEngines)?e.devEngines:{};e.devEngines={...i,packageManager:{name:t,version:r}}}function Ru({packageJson:e,packageManager:t}){Iu(e.packageManager)===t&&delete e.packageManager;let n=e.devEngines?.packageManager;zu(n)&&n.name===t&&delete e.devEngines?.packageManager}function zu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`name`in e&&Pu(e.name)&&`version`in e&&typeof e.version==`string`}function Bu({workspaceRoot:e}){let t=Mu({workspaceRoot:e}),n=a.basename(e),{name:r=n,description:i}=t;return{name:r,description:i}}function Vu({workspaceRoot:e}){let t=a.join(e,`pnpm-workspace.yaml`);if((0,Ou.existsSync)(t))try{let e=h.load((0,Ou.readFileSync)(t,`utf8`));if(e instanceof Object&&`packages`in e&&Array.isArray(e.packages))return e.packages}catch{throw new Du(`failed to parse ${t}`,{type:`pnpm-workspace_parse_error`})}return[]}function Hu({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 Uu({workspaces:e}){return e?Array.isArray(e)?e:`packages`in e?e.packages??[]:[]:[]}function Wu({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}=Bu({workspaceRoot:t});return{name:n,description:r,paths:{root:t,packageJson:e,nodeModules:a.join(t,`node_modules`)}}})}const Gu=[{manager:`bun`,lockfiles:[`bun.lock`,`bun.lockb`]},{manager:`pnpm`,lockfiles:[`pnpm-lock.yaml`]},{manager:`yarn`,lockfiles:[`yarn.lock`]},{manager:`npm`,lockfiles:[`package-lock.json`]}];function Ku({workspaceRoot:e}){for(let{manager:t,lockfiles:n}of Gu)if(n.some(t=>(0,Ou.existsSync)(a.join(e,t))))return t;return`npm`}function qu({workspaceRoot:e}){let t=Ku({workspaceRoot:e});switch(t){case`bun`:return(0,Ou.existsSync)(a.join(e,`bun.lock`))?`bun.lock`:`bun.lockb`;case`pnpm`:return`pnpm-lock.yaml`;case`yarn`:return`yarn.lock`;case`npm`:return`package-lock.json`}}function Ju({directory:e}){let t=a.resolve(process.cwd(),e);return{exists:(0,Ou.existsSync)(t),absolute:t}}function Yu({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 Xu({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 Zu({project:e,options:t}){t?.dry||(0,Ou.rmSync)(e.paths.lockfile,{force:!0})}async function Qu({project:e,options:t}){if(!t?.dry&&(0,Ou.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,Ou.writeFile)(a.join(e.paths.root,`yarn.lock`),t)}catch{}finally{(0,Ou.rmSync)(e.paths.lockfile,{force:!0})}}var $u=B(Eu());function ed({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 td({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=Mu({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}=ed({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||$u.default.writeJSONSync(n.paths.packageJson,s,{spaces:2})}var nd=B(Eu());const rd={name:`npm`,lock:`package-lock.json`};async function id(e){let t=a.join(e.workspaceRoot,rd.lock),n=Nu({workspaceRoot:e.workspaceRoot});return nd.default.existsSync(t)||n===rd.name}async function ad(e){let t=await id(e);if(!t)throw new Du(`Not an npm project`,{type:`package_manager-unexpected`});let n=Mu(e),{name:r,description:i}=Bu(e),a=Uu({workspaces:n.workspaces});return{name:r,description:i,packageManager:rd.name,paths:Hu({root:e.workspaceRoot,lockFile:rd.lock}),workspaceData:{globs:a,workspaces:Wu({workspaceGlobs:a,...e})}}}async function od(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(Yu({packageManager:rd.name,action:`create`,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Lu({packageJson:s,packageManager:r.name,version:r.version}),o){i.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,n?.dry||nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),td({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)td({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||nd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function sd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Yu({packageManager:rd.name,action:`remove`,project:t}));let a=Mu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${rd.name} package manager declarations in ${t.name} root "package.json"`),Ru({packageJson:a,packageManager:rd.name}),!r?.dry){nd.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=>nd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Du(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function cd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||nd.default.rmSync(t.paths.lockfile,{force:!0})}async function ld(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Zu({project:t,options:n});break;case`bun`:Zu({project:t,options:n});break;case`npm`:break;case`yarn`:Zu({project:t,options:n});break;case`nub`:Zu({project:t,options:n});break}}const ud={detect:id,read:ad,create:od,remove:sd,clean:cd,convertLock:ld};var dd=B(Eu());const fd={name:`pnpm`,lock:`pnpm-lock.yaml`};async function pd(e){let t=a.join(e.workspaceRoot,fd.lock),n=a.join(e.workspaceRoot,`pnpm-workspace.yaml`),r=Nu({workspaceRoot:e.workspaceRoot});return dd.default.existsSync(t)||dd.default.existsSync(n)||r===fd.name}async function md(e){let t=await pd(e);if(!t)throw new Du(`Not a pnpm project`,{type:`package_manager-unexpected`});let{name:n,description:r}=Bu(e);return{name:n,description:r,packageManager:fd.name,paths:Hu({root:e.workspaceRoot,lockFile:fd.lock,workspaceConfig:`pnpm-workspace.yaml`}),workspaceData:{globs:Vu(e),workspaces:Wu({workspaceGlobs:Vu(e),...e})}}}async function hd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(Yu({action:`create`,packageManager:fd.name,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(r.rootHeader(),Lu({packageJson:s,packageManager:n.name,version:n.version}),r.rootStep(`adding "devEngines.packageManager" field to ${t.name} root "package.json"`),i?.dry||(dd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),o&&(r.rootStep(`adding "pnpm-workspace.yaml"`),dd.default.writeFileSync(a.join(t.paths.root,`pnpm-workspace.yaml`),`packages:\n${t.workspaceData.globs.map(e=>` - "${e}"`).join(`
46
46
  `)}`))),o){td({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)td({workspace:e,project:t,to:n,logger:r,options:i})}}async function gd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Yu({action:`remove`,packageManager:fd.name,project:t}));let a=Mu({workspaceRoot:t.paths.root});if(t.paths.workspaceConfig&&i&&(n.subStep(`removing "pnpm-workspace.yaml"`),r?.dry||dd.default.rmSync(t.paths.workspaceConfig,{force:!0})),n.subStep(`removing ${fd.name} package manager declarations in ${t.name} root "package.json"`),Ru({packageJson:a,packageManager:fd.name}),!r?.dry){dd.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=>dd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Du(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function _d(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||dd.default.rmSync(t.paths.lockfile,{force:!0})}async function vd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${fd.lock}`)},o=async()=>{if(!n?.dry&&dd.default.existsSync(t.paths.lockfile))try{await b(fd.name,[`import`],{stdio:`ignore`,cwd:t.paths.root,preferLocal:!0,shell:process.platform===`win32`})}catch{}finally{Zu({project:t,options:n})}};switch(t.packageManager){case`pnpm`:break;case`bun`:i(),await Qu({project:t,options:n}),await o(),dd.default.rmSync(a.join(t.paths.root,`yarn.lock`),{force:!0});break;case`npm`:i(),await o();break;case`yarn`:i(),await o();break;case`nub`:Zu({project:t,options:n});break}}const yd={detect:pd,read:md,create:hd,remove:gd,clean:_d,convertLock:vd};var bd=B(Eu());const xd={name:`yarn`,lock:`yarn.lock`};async function Sd(e){let t=a.join(e.workspaceRoot,xd.lock),n=Nu({workspaceRoot:e.workspaceRoot});return bd.default.existsSync(t)||n===xd.name}async function Cd(e){let t=await Sd(e);if(!t)throw new Du(`Not a yarn project`,{type:`package_manager-unexpected`});let n=Mu(e),{name:r,description:i}=Bu(e),a=Uu({workspaces:n.workspaces});return{name:r,description:i,packageManager:xd.name,paths:Hu({root:e.workspaceRoot,lockFile:xd.lock}),workspaceData:{globs:a,workspaces:Wu({workspaceGlobs:a,...e})}}}async function wd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;r.mainStep(Yu({packageManager:xd.name,action:`create`,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Lu({packageJson:s,packageManager:n.name,version:n.version}),o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||bd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),td({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)td({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||bd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Td(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Yu({packageManager:xd.name,action:`remove`,project:t}));let a=Mu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${xd.name} package manager declarations in ${t.name} root "package.json"`),Ru({packageJson:a,packageManager:xd.name}),!r?.dry){bd.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=>bd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Du(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Ed(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||bd.default.rmSync(t.paths.lockfile,{force:!0})}async function Dd(e){let{project:t,options:n,logger:r}=e,i=()=>{r.subStep(`converting ${a.relative(t.paths.root,t.paths.lockfile)} to ${xd.lock}`)};switch(t.packageManager){case`pnpm`:Zu({project:t,options:n});break;case`bun`:i(),await Qu({project:t,options:n});break;case`npm`:Zu({project:t,options:n});break;case`yarn`:break;case`nub`:Zu({project:t,options:n});break}}const Od={detect:Sd,read:Cd,create:wd,remove:Td,clean:Ed,convertLock:Dd};var kd=B(Eu());const Ad={name:`bun`,lock:`bun.lockb`};async function jd(e){let t=a.join(e.workspaceRoot,Ad.lock),n=Nu({workspaceRoot:e.workspaceRoot});return kd.default.existsSync(t)||n===Ad.name}async function Md(e){let t=await jd(e);if(!t)throw new Du(`Not a bun project`,{type:`package_manager-unexpected`});let n=Mu(e),{name:r,description:i}=Bu(e),a=Uu({workspaces:n.workspaces});return{name:r,description:i,packageManager:Ad.name,paths:Hu({root:e.workspaceRoot,lockFile:Ad.lock}),workspaceData:{globs:a,workspaces:Wu({workspaceGlobs:a,...e})}}}async function Nd(e){let{project:t,to:n,logger:r,options:i}=e,o=t.workspaceData.globs.length>0;if(!Xu({project:t}))throw new Du(`Unable to convert project to bun - workspace globs unsupported`,{type:`bun-workspace_glob_error`});r.mainStep(Yu({packageManager:Ad.name,action:`create`,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(r.rootHeader(),r.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Lu({packageJson:s,packageManager:n.name,version:n.version}),o){r.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,i?.dry||kd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),td({workspace:{name:`root`,paths:t.paths},project:t,to:n,logger:r,options:i}),r.workspaceHeader();for(let e of t.workspaceData.workspaces)td({workspace:e,project:t,to:n,logger:r,options:i})}else i?.dry||kd.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(Yu({packageManager:Ad.name,action:`remove`,project:t}));let a=Mu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${Ad.name} package manager declarations in ${t.name} root "package.json"`),Ru({packageJson:a,packageManager:Ad.name}),!r?.dry){kd.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=>kd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Du(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Fd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||kd.default.rmSync(t.paths.lockfile,{force:!0})}async function Id(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:Zu({project:t,options:n});break;case`bun`:break;case`npm`:Zu({project:t,options:n});break;case`yarn`:Zu({project:t,options:n});break;case`nub`:Zu({project:t,options:n});break}}const Ld={detect:jd,read:Md,create:Nd,remove:Pd,clean:Fd,convertLock:Id};var Rd=B(Eu());const zd={name:`nub`,lock:`package-lock.json`},Bd={npm:ud,pnpm:yd,yarn:Od,bun:Ld};async function Vd(e){let t=Nu({workspaceRoot:e.workspaceRoot});return t===zd.name}async function Hd(e){let t=await Vd(e);if(!t)throw new Du(`Not a nub project`,{type:`package_manager-unexpected`});let n=Ku({workspaceRoot:e.workspaceRoot}),r=Bd[n];if(await r.detect(e)){let t=await r.read(e);return{...t,packageManager:zd.name}}let i=Mu(e),{name:a,description:o}=Bu(e),s=qu({workspaceRoot:e.workspaceRoot}),c=Vu(e),l=n===`pnpm`&&c.length>0?c:Uu({workspaces:i.workspaces});return{name:a,description:o,packageManager:zd.name,paths:Hu({root:e.workspaceRoot,lockFile:s,workspaceConfig:n===`pnpm`&&c.length>0?`pnpm-workspace.yaml`:void 0}),workspaceData:{globs:l,workspaces:Wu({workspaceGlobs:l,...e})}}}async function Ud(e){let{project:t,options:n,to:r,logger:i}=e,o=t.workspaceData.globs.length>0;i.mainStep(Yu({packageManager:zd.name,action:`create`,project:t}));let s=Mu({workspaceRoot:t.paths.root});if(i.rootHeader(),i.rootStep(`adding "devEngines.packageManager" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),Lu({packageJson:s,packageManager:r.name,version:r.version}),o){i.rootStep(`adding "workspaces" field to ${a.relative(t.paths.root,t.paths.packageJson)}`),s.workspaces=t.workspaceData.globs,n?.dry||Rd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2}),td({workspace:{name:`root`,paths:t.paths},project:t,to:r,logger:i,options:n}),i.workspaceHeader();for(let e of t.workspaceData.workspaces)td({workspace:e,project:t,to:r,logger:i,options:n})}else n?.dry||Rd.default.writeJSONSync(t.paths.packageJson,s,{spaces:2})}async function Wd(e){let{project:t,logger:n,options:r}=e,i=t.workspaceData.globs.length>0;n.mainStep(Yu({packageManager:zd.name,action:`remove`,project:t}));let a=Mu({workspaceRoot:t.paths.root});if(i&&(n.subStep(`removing "workspaces" field in ${t.name} root "package.json"`),delete a.workspaces),n.subStep(`removing ${zd.name} package manager declarations in ${t.name} root "package.json"`),Ru({packageJson:a,packageManager:zd.name}),!r?.dry){Rd.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=>Rd.default.rm(e,{recursive:!0,force:!0})))}catch{throw new Du(`Failed to remove node_modules`,{type:`error_removing_node_modules`})}}}async function Gd(e){let{project:t,logger:n,options:r}=e;n.subStep(`removing ${a.relative(t.paths.root,t.paths.lockfile)}`),r?.dry||Rd.default.rmSync(t.paths.lockfile,{force:!0})}async function Kd(e){let{project:t,options:n}=e;switch(t.packageManager){case`pnpm`:case`bun`:case`yarn`:Zu({project:t,options:n});break;case`npm`:case`nub`:break}}const qd={detect:Vd,read:Hd,create:Ud,remove:Wd,clean:Gd,convertLock:Kd},Jd={nub:qd,pnpm:yd,yarn:Od,npm:ud,bun:Ld};async function Yd({root:e}){let{exists:t,absolute:n}=Ju({directory:e});if(!t)throw new Du(`Could not find directory at ${n}. Ensure the directory exists.`,{type:`invalid_directory`});for(let{detect:e,read:t}of Object.values(Jd))if(await e({workspaceRoot:n}))return t({workspaceRoot:n});throw new Du("Could not determine package manager. Add `devEngines.packageManager` or legacy `packageManager` to `package.json`, or ensure a lockfile is present.",{type:`package_manager-unable_to_detect`})}const Xd={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}],nub:[{name:`nub`,template:`nub`,command:`nub`,installArgs:[`install`],version:`latest`,executable:`nub`,semver:`*`,default:!0}]};function Zd(e){let{version:t,name:n}=e;return t?Xd[n].find(e=>P(t,e.semver)):Xd[n].find(e=>e.default)}async function Qd(e){let{to:t,logger:n,options:r}=e,i=n??new Ql(r),a=Zd(t);if(!a)throw new Du(`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 $d({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 Du(`You are already using this package manager`,{type:`package_manager-already_in_use`});if(!n.version)throw new Du(`${n.name} is not installed, or could not be located`,{type:`package_manager-could_not_be_found`})}let a=n;i?.ignoreUnchangedPackageManager||await Jd[e.packageManager].remove({project:e,to:a,logger:r,options:i}),await Jd[a.name].create({project:e,to:a,logger:r,options:i}),r.mainStep(`Installing dependencies`),i?.skipInstall?r.subStep(t.yellow(`Skipping install`)):(await Jd[a.name].convertLock({project:e,to:a,logger:r,options:i}),await Qd({project:e,to:a,logger:r,options:i})),r.mainStep(`Cleaning up ${e.packageManager} workspaces`),e.packageManager!==n.name&&await Jd[e.packageManager].clean({project:e,logger:r,options:i})}export{Du as ConvertError,Ql as Logger,Jd as MANAGERS,$d as convertProject,Xl as createNotifyUpdate,Ju as directoryInfo,Vt as getAvailablePackageManagers,Zd as getPackageManagerMeta,Yd as getWorkspaceDetails,Qd as install,Et as log};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const e=require(`./convert-D5eeCKcP.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({projectRoot:t})]);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-BJEZ1fnI.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({projectRoot:t})]);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-Bdm99LFE.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({projectRoot:e})]);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-CDJXSJDb.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({projectRoot:e})]);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 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAmBD,iBAAS,cAAc,CAAC,EACtB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,WAAW,CAwBd;AAED,iBAAS,0BAA0B,CAAC,EAClC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,cAAc,GAAG,SAAS,CAiH7B;AA8BD,iBAAS,4BAA4B,CAAC,EACpC,WAAW,EACX,cAAc,EACd,OAAO,EACR,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAeP;AAED,iBAAS,+BAA+B,CAAC,EACvC,WAAW,EACX,cAAc,EACf,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,IAAI,CAeP;AAgBD,iBAAS,gBAAgB,CAAC,EACxB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,aAAa,CAUhB;AAED,iBAAS,iBAAiB,CAAC,EACzB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,KAAK,CAAC,MAAM,CAAC,CAqBhB;AAED,iBAAS,WAAW,CAAC,EACnB,IAAI,EACJ,QAAQ,EACR,eAAe,EAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;;;;;;EAcA;AAED,iBAAS,sBAAsB,CAAC,EAC9B,UAAU,EACX,EAAE;IACD,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,GAAG,KAAK,CAAC,MAAM,CAAC,CAchB;AAED,iBAAS,gBAAgB,CAAC,EACxB,aAAa,EACb,cAAc,EACf,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,KAAK,CAAC,SAAS,CAAC,CAgCnB;AAED,KAAK,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAY7D,iBAAS,4BAA4B,CAAC,EACpC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,sBAAsB,CAYzB;AAED,iBAAS,yBAAyB,CAAC,EACjC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAoBT;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAG1D;AAED,iBAAS,WAAW,CAAC,EACnB,cAAc,EACd,MAAM,EACN,OAAO,EACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,UAKA;AAED;;;;;;;;GAQG;AACH,iBAAS,6BAA6B,CAAC,EACrC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAuBV;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,QAKA;AAED,iBAAe,iBAAiB,CAAC,EAC/B,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,iBAkBA;AAED,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EAClB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACR,MAAM,SAAS,CAAC;AAGjB,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAmBD,iBAAS,cAAc,CAAC,EACtB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,WAAW,CAwBd;AAED,iBAAS,0BAA0B,CAAC,EAClC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,cAAc,GAAG,SAAS,CAiH7B;AA8BD,iBAAS,4BAA4B,CAAC,EACpC,WAAW,EACX,cAAc,EACd,OAAO,EACR,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAgBP;AAED,iBAAS,+BAA+B,CAAC,EACvC,WAAW,EACX,cAAc,EACf,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,IAAI,CAeP;AAgBD,iBAAS,gBAAgB,CAAC,EACxB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,aAAa,CAUhB;AAED,iBAAS,iBAAiB,CAAC,EACzB,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,KAAK,CAAC,MAAM,CAAC,CAqBhB;AAED,iBAAS,WAAW,CAAC,EACnB,IAAI,EACJ,QAAQ,EACR,eAAe,EAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;;;;;;EAcA;AAED,iBAAS,sBAAsB,CAAC,EAC9B,UAAU,EACX,EAAE;IACD,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,GAAG,KAAK,CAAC,MAAM,CAAC,CAchB;AAED,iBAAS,gBAAgB,CAAC,EACxB,aAAa,EACb,cAAc,EACf,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,KAAK,CAAC,SAAS,CAAC,CAgCnB;AAED,KAAK,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAY7D,iBAAS,4BAA4B,CAAC,EACpC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,sBAAsB,CAYzB;AAED,iBAAS,yBAAyB,CAAC,EACjC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAoBT;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAG1D;AAED,iBAAS,WAAW,CAAC,EACnB,cAAc,EACd,MAAM,EACN,OAAO,EACR,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,UAKA;AAED;;;;;;;;GAQG;AACH,iBAAS,6BAA6B,CAAC,EACrC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAuBV;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,QAKA;AAED,iBAAe,iBAAiB,CAAC,EAC/B,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,iBAkBA;AAED,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turbo/workspaces",
3
- "version": "2.10.2",
3
+ "version": "2.10.3-canary.2",
4
4
  "description": "Tools for working with package managers",
5
5
  "homepage": "https://turborepo.dev",
6
6
  "bugs": {